VOGONS


C440GX and 700mhz Xeons

Topic actions

First post, by drpogi

User metadata
Rank Newbie
Rank
Newbie

Hi,

Just re-acquired (still mad I let go of my old one many years ago) a C440GX motherboard. I have some 400mhz 1mb P2 Xeons that work fine with it, boots to FreeBSD and I can do all my usual things.

I grabbed some 2.8v 700mhz 2mb P3 Xeons, and they aren't working so well. BIOS recognizes them as 'Pentium Pro 400mhz'; if I go into setup it shows the correct CPU ID (6A1), but shows 256kb cache and clock rate is blank. At the end of POST I get:

8163: Unable to apply BIOS Update for Processor #1
8162: Unable to apply BIOS Update for Processor #2
8162: Unable to apply BIOS Update for Processor #2

(Yes, the second line is repeated) If I continue, FreeBSD boots, detects a P3 400mhz, runs stable, and performs about the same as the P2 Xeons. I've updated the BIOS to 8.1 and BMC to 1.07; didn't help.

I don't know what to do to get these running at 700mhz, any ideas?

Reply 1 of 13, by drpogi

User metadata
Rank Newbie
Rank
Newbie

Some pictures also. I've got 2gb of unbuffered CL2 RAM and a pair of 147gb Seagate Cheetahs on an Intel SRC32 Raid controller, 256mb cache.

Reply 2 of 13, by drpogi

User metadata
Rank Newbie
Rank
Newbie

A small amount of progress. The system now shows "Pentium Pro 700mhz", I didn't do anything other than leave the system powered off for a while. When I came back it was running at 700mhz instead of 400mhz. I still get the "Unable to apply BIOS Update" error messages at the end of POST. I booted into FreeBSD, it also reports 700mhz. I timed a kernel compile, it completed only a few seconds faster than my L440GX 600mhz Katmai setup. So the 700s still aren't running as they should.

I'm now trying to add hte 6a1 (700mhz 2mb) microcode to the BIOS. It's a Phoenix BIOS, so I'm playing around with cbrom195.exe. The C440GX BIOS is split into multiple files labeled P08-108.{BIO, BI1, ... BIA}, but cbrom seems to want a single file to work with. I'm about to go wrestle with that some more.

I'm using a Win XP live CD on the C440GX system to run cbrom (I only have OSX and FreeBSD here otherwise). It happens to have CPUZ as well, and people always want to see that so I took a picture. It looks as expected, nothing funny to me.

Reply 3 of 13, by drpogi

User metadata
Rank Newbie
Rank
Newbie

Made some progress! The "Unable to apply BIOS Update" errors are now gone. I modified the BIOS to include the 6a1 microcode and flashed it onto the system. Here's my steps:

1. Grab the 6a1 microcode from https://github.com/platomav/CPUMicrocodes/tree/master/Intel

2. Grab the LGA775 (yes, really) microcode swapper from https://github.com/ChipCE/LGA775-Phoenix-bios … crocode-swapper

3. I made a small hack to force the microcode swapper to always memcpy 2kb of the microcode; it was reading a length parameter from the input files which for the C440GX BIOS / 6a1 microcode was set to 0. The code compiled with a few harmless warnings using OSX's xcode clang, I expect it should compile and run on FreeBSD and Linux also. (no idea about windows)

4. Cat the C440GX BIOS files (P08-0108.*, starting with .BIO and ending with .BIA) into one file.

5. Run the microcode swapper on the combined BIOS file. Use the undocumented '-unsafe' option. I replaced slot 5, CPUID 671, with the 6a1 code from step 1. BTW, does anyone know which Xeon products were CPUID 671? cpu-world only shows AMD products for this CPUID.

6. Split the modified BIOS file back into separate files sized 65696 bytes each. They must be named the same as the original, P08-0108.*

7. Flash the modified BIOS, do the usual settings reset and configuration.

The BIOS still reports "Pentium Pro 700mhz" at POST and still reports 6a1, 256kb cache for both processors in the settings. But, there are otherwise no more errors or holdups on boot. Curiously dmesg now identifies a specifically PIII Xeon, instead of the more generic 'PIII/Celeron/Xeon'.

Performance in FreeBSD is unchanged with this modified BIOS: these 2mb 700s take 5m30s to compile my FreeBSD 6.4 kernel, while my dual Katmai 600mhz takes 5m33s.

The plot thickens! Next, I booted into linux (from scratch!) to see what cpuinfo says:

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 10
model name : Pentium III (Cascades)
stepping : 1
cpu MHz : 697.210
cache size : 2048 KB
physical id : 0
siblings : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1376.25

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 10
model name : Pentium III (Cascades)
stepping : 1
cpu MHz : 697.210
cache size : 32 KB
physical id : 0
siblings : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1384.44

Weird! One CPU has 2mb cache, the other has 32kb cache.

And that's where I have to leave it for now, I haven't had time to research and tinker further. I might find something to run pinned to each CPU and compare performance.

Does anybody know what I can do to get the 2mb cache showing up right on the second CPU?

Reply 4 of 13, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
drpogi wrote on Yesterday, 20:10:

Weird! One CPU has 2mb cache, the other has 32kb cache.

I might find something to run pinned to each CPU and compare performance.

Does anybody know what I can do to get the 2mb cache showing up right on the second CPU?

My SIV utility has Menu->Machine->CPU D+W Benchmark which will benchmark both CPUs and Menu->Hardware->Cache Latency->Cache-<n> which will measure the cache latency.

If you do Menu->File->Save Local and post the two save files I should be able to tell what's happening with the second CPU L2 cache, Menu->Hardware->CPU Detail->CPU Control Register 0 might be enough.

drpogi wrote on Yesterday, 20:10:

5. BTW, does anyone know which Xeon products were CPUID 671? cpu-world only shows AMD products for this CPUID.

CPUID 0671 would be an Intel Pentium III Xeon (Tanner) engineering sample, such as SL2XU is CPUID 0672 and SL385 is CPUID 0673.

Reply 6 of 13, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
PARKE wrote on Today, 09:37:
drpogi wrote on Yesterday, 20:10:

5. ><cut
BTW, does anyone know which Xeon products were CPUID 671? cpu-world only shows AMD products for this CPUID.

There is one listed but it looks like a qualification sample
https://www.cpu-world.com/sspec/QZ/QZUL.html

I expect the CPUID 0671 listed is an error, looking further it says as below so clearly it's incorrect as Core 2 (Penryn) is CPUID 1067<n>.

Architecture / Microarchitecture / Other
CPUID 0671h
Processor core Penryn
Manufacturing technology 0.045 micron
The number of cores 2
L2 cache size ? 6 MB

CPUID 0671 is an Intel Pentium III Xeon (Tanner) [A1] and must exist as there is CPU µCode for it in update.sys.

file.php?id=223785

Reply 7 of 13, by PARKE

User metadata
Rank Oldbie
Rank
Oldbie

Interesting, thank you.

Reply 8 of 13, by Jackhead

User metadata
Rank Oldbie
Rank
Oldbie

I tryed the same some weeks ago. Ending up that the C440GX support max the 550MHz Xeons in Dual setup.

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - A5x86 X5 P75 - 64MB - AHA-2842A VLB - ET4000W32P VLB - CT2230 - GUS ACE - MPU-401AT with YucatanFX
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 9 of 13, by drpogi

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on Today, 08:16:

If you do Menu->File->Save Local and post the two save files I should be able to tell what's happening with the second CPU L2 cache, Menu->Hardware->CPU Detail->CPU Control Register 0 might be enough.

Thank you so much! Here you go. I just grabbed the two files, next I'll go through your tool more (which is amazing) and try the benchmarks as suggested. Looks like they're in the file though.

Reply 10 of 13, by drpogi

User metadata
Rank Newbie
Rank
Newbie

I appreciate everyone's responses. Yes, I'm near giving up on this too. SIV confirms the cache on the second processor is missing/inactive. I physically swapped the two processors to rule out a problem with one of them; this had no affect (missing cache does not follow physical processors, stays on second motherboard CPU slot).

I looked through the BIOS file with a hex editor on the off chance I might see some sort of table I can mess with, no luck. Looking through all the strings, I don't even see a 'Pentium' reference in the file. There's clearly more to the BIOS CPU support than the microcode, and maybe not even located in the BIOS update/flash file.

Attached are some SIV screenshots. On the second processor it's showing no L2 cache at all, poor dhrystone/wheststone results, and poor cache latencies that don't reflect a multi-level hierarchy at all.

Reply 11 of 13, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
drpogi wrote on Today, 13:58:

Looks like they're in the file though.

Yes they are and looking at [Cache-1 Latency] it looks like all the L1 + L2 caches are disabled as the times are way longer than the [Cache-0 Latency] times.

file.php?id=223802

When running W2K one on my systems is the same, see Windows 2000 Disablded the CPU-1 Cache, does anyone know how to fix this please?, but it works fine when running NT4 !

Reply 12 of 13, by drpogi

User metadata
Rank Newbie
Rank
Newbie

Thanks again for your help! Unfortunately I don't normally use Windows at all, I'm a unix guy. I'm using this system for programming hobby work instead of gaming. Like W2K, neither FreeBSD nor Linux appear to work right. Which is unfortunate, what I'm seeing benchmarking my own single-threaded code on this 700mhz unit is fantastic.

I believe if anyone at Intel was willing to update the C440GX BIOS, they would have done it (I'm retired from Intel, but I didn't work on anything related to this stuff and have no insider info). I tried both cbrom and a Phoenix BIOS editor utility, neither will open/edit the C440GX BIOS.

With nothing left to try, I'm deciding between going back to the L440GX Katmai 600mhz setup that's been working great, or tracking down some 2mb 550s.

Reply 13 of 13, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
drpogi wrote on Today, 15:09:

I believe if anyone at Intel was willing to update the C440GX BIOS, they would have done it

I have 2 x SL3CF in my Intel MS440GX, below you can see how they compare speed wise.

file.php?id=223816

When I tried the 2 x SL49P the system would not even post. Rumour has it that there in an Intel internal BIOS, see Re: My Ongoing Retro Rig Project - Xeon Prime