Hi !
You need to know it exactly, right ? Think so.
Now here's a list that makes it easier to look in 95s underwear during boot :-)
Checkpoints
The following Stage 1 checkpoints are output to the async port only
cp Description
0110 Check processor
0120 Rom checksum
0130 Check power on values for memory controller registers
0140 Check local registers on processor card
0150 Check JTAG device ID and static capture
0160 Check L2 cache
0170 Check L1 cache
0180 Check memory controller registers
0181 Test memory address bus on processor card
0190 Check power on values for DMA controller registers
0191 Check DMA controller registers
0192 Initialize DMA controller static capture
0193 Test DMA transfers
0210 Check BIU controller registers capture
0220 Verify JTAG cycle capture on LEPB
0230 Verify error detection and enable detection for parity errors
0240 Verify ECC logic of the Memory Controller and Memory Data Bus Buffers 0250 Verify DMA transfer
0260 L1 cache snoop test
0270 L2 cache snoop test
Anyway, looks like I got most of it right: https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
On 25.08.2022 10:42, Tomas Slavotinek wrote:
Anyway, looks like I got most of it right:
https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
I'll update the page later.
I wonder I about the source of this info. It's not in any of the
references we have. Time to ping Peter I guess...
https://ardent-tool.com/complex/T4.html#Address_Mux
The primary chip used in this implementation only requires 39 bits of
data in the ECC mode, 32 data bits and 7 check bits. Therefore, the only support required for DQ39 in this implementation is to tri-state the multiplexed logic outputs when a 40 bit ECC memory module is being
addressed. This prevents contention at the DRAM's output on DQ39.
Tomas Slavotinek wrote:
On 25.08.2022 10:42, Tomas Slavotinek wrote:
Anyway, looks like I got most of it right:
https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
I'll update the page later.
I wonder I about the source of this info. It's not in any of the
references we have. Time to ping Peter I guess...
On 25.08.2022 10:42, Tomas Slavotinek wrote:
Anyway, looks like I got most of it right:
https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
I'll update the page later.
I wonder I about the source of this info. It's not in any of the
references we have. Time to ping Peter I guess...
Peter doesn't recall where it came from, but I don't blame him... this
was 25 years ago. Oof!
Anyway, iirc some of the listed SDL CP codes that don't exist in the T4
POST code are used in the T3 codebase... (yes, the T3 complex has a
serial diagnostic link too, but the implementation is different and the header is not populated on production boards).
I'll check how closely it matches the T3 POST code base when I get back
to the firmware shenanigans.
On 25.08.2022 10:48, Tomas Slavotinek wrote:
On 25.08.2022 10:42, Tomas Slavotinek wrote:
Anyway, looks like I got most of it right:
https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
I'll update the page later.
I wonder I about the source of this info. It's not in any of the
references we have. Time to ping Peter I guess...
Expanded and moved to a separate page: https://ardent-tool.com/trouble/cp_codes_sdl.html
I can also confirm that the SynchroStream chip has a JTAG interface. It doesn't appear to be on the same chain with the CPU or the C5/C8 cache
set - at least not on the "N" complex.
No time to probe the Type 3 complex, but it probably has a JTAG chain
between all the major chips. That would explain the significantly larger
JTAG data set in the T3 ROM.
On 25.08.2022 16:19, Tomas Slavotinek wrote:
Peter doesn't recall where it came from, but I don't blame him... this
was 25 years ago. Oof!
Anyway, iirc some of the listed SDL CP codes that don't exist in the
T4 POST code are used in the T3 codebase... (yes, the T3 complex has a
serial diagnostic link too, but the implementation is different and
the header is not populated on production boards).
I'll check how closely it matches the T3 POST code base when I get
back to the firmware shenanigans.
On 25.08.2022 10:48, Tomas Slavotinek wrote:
On 25.08.2022 10:42, Tomas Slavotinek wrote:
Anyway, looks like I got most of it right:
https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
I'll update the page later.
I wonder I about the source of this info. It's not in any of the
references we have. Time to ping Peter I guess...
All this also reminded me of the AMD K6 experiment I've done some time
ago. It failed on one of the tests that were now identified to use the
JTAG interface.
I don't have the code fully reversed but looks like they are doing an
awful lot of bitbanging there. TCK is pulsed from the code with no
explicit SW delay. So, now I wonder whether there really was a critical communication failure on the local/system bus or if this was just a
timing issue on the JTAG bus because of the CPU's ability to execute the loops significantly faster... (sure, we are limited by the timing of the local and system buses - 60/66 and 40 MHz, but JTAG from this era is
usually clocked even lower - 10-20 MHz maybe? The TCK signal goes
through a PAL, so it's possible that they are doing some synchronization there, but idk... will have to probulate it with a logic analyzer.
But don't get your hopes up. It's quite likely that there will be more problems down the road with the K6 if we push it past the JTAG tests.
But it makes me curious. I'll definitely revisit this at some point and
try bypassing the tests...
On 30.08.2022 2:09, Tomas Slavotinek wrote:
Expanded and moved to a separate page: https://ardent-tool.com/trouble/cp_codes_sdl.html
I can also confirm that the SynchroStream chip has a JTAG interface. It doesn't appear to be on the same chain with the CPU or the C5/C8 cache
set - at least not on the "N" complex.
No time to probe the Type 3 complex, but it probably has a JTAG chain between all the major chips. That would explain the significantly larger JTAG data set in the T3 ROM.
On 25.08.2022 16:19, Tomas Slavotinek wrote:
Peter doesn't recall where it came from, but I don't blame him... this
was 25 years ago. Oof!
Anyway, iirc some of the listed SDL CP codes that don't exist in the
T4 POST code are used in the T3 codebase... (yes, the T3 complex has a
serial diagnostic link too, but the implementation is different and
the header is not populated on production boards).
I'll check how closely it matches the T3 POST code base when I get
back to the firmware shenanigans.
On 25.08.2022 10:48, Tomas Slavotinek wrote:
On 25.08.2022 10:42, Tomas Slavotinek wrote:
Anyway, looks like I got most of it right:
https://ardent-tool.com/complex/T4.html#SDL_POST_Diag
I'll update the page later.
I wonder I about the source of this info. It's not in any of the
references we have. Time to ping Peter I guess...
On Monday, August 29, 2022 at 5:18:46 PM UTC-7, Tomas Slavotinek wrote:Overdrives do.
All this also reminded me of the AMD K6 experiment I've done some timeTomas,
ago. It failed on one of the tests that were now identified to use the
JTAG interface.
I don't have the code fully reversed but looks like they are doing an
awful lot of bitbanging there. TCK is pulsed from the code with no
explicit SW delay. So, now I wonder whether there really was a critical
communication failure on the local/system bus or if this was just a
timing issue on the JTAG bus because of the CPU's ability to execute the
loops significantly faster... (sure, we are limited by the timing of the
local and system buses - 60/66 and 40 MHz, but JTAG from this era is
usually clocked even lower - 10-20 MHz maybe? The TCK signal goes
through a PAL, so it's possible that they are doing some synchronization
there, but idk... will have to probulate it with a logic analyzer.
But don't get your hopes up. It's quite likely that there will be more
problems down the road with the K6 if we push it past the JTAG tests.
But it makes me curious. I'll definitely revisit this at some point and
try bypassing the tests...
Which K6 did you try? I've been meaning to test out an Evergreen Spectra I recently acquired on one of my Ys. I was hopeful that since it offloaded the power to a separate connector that it wouldn't require the same level of modifications that the
-ShaneI believe it was a regular K6-266 (non -II/-III) with the PowerLeap
Further, the P5 and P54C chips can be configured to a C5/C8 mode (the
cache chipset used on all T4 complexes). This modifies the driving
capability of certain pins IIRC. At least some of the P55C MMX chips
still have this capability, but most if not all of them were not tested
in this configuration by Intel. That's another potential problem...
On 30.08.2022 23:55, Tomas Slavotinek wrote:
Further, the P5 and P54C chips can be configured to a C5/C8 mode (the
cache chipset used on all T4 complexes). This modifies the driving
capability of certain pins IIRC. At least some of the P55C MMX chips
still have this capability, but most if not all of them were not
tested in this configuration by Intel. That's another potential
problem...
I've added some basic info on the C5/C8 chipset here: https://ardent-tool.com/complex/T4.html#C5C8
A random thought since you are looking in these directions.. The P54 is supposed to be a glueless SMP https://www.youtube.com/watch?v=-VkFyGPiy7E&list=PLQsxaNhYv8daltwYEVnbMdaJ35YFg-6vv&index=8
I wonder if this could be finagled onto single socket carrier with a
crazy interposer. I guess the hard part would be bringing the AP
online, not sure if that could be done after POST or would require major
BIOS rework.
I'll read through the Pentium manuals again when I have time... so far
I've been ignoring the SMP-related chapters for the most part.
Pentium MMX (P55C) not only introduced the split voltage design but also dropped support for the legacy 5 V clock. Most interposers probably
don't level-shift the clock. This won't damage the chip, despite it
being beyond the absolute maximum voltage, but it may compromise the
clock integrity.
On 30.08.2022 23:55, Tomas Slavotinek wrote:
Pentium MMX (P55C) not only introduced the split voltage design but
also dropped support for the legacy 5 V clock. Most interposers
probably don't level-shift the clock. This won't damage the chip,
despite it being beyond the absolute maximum voltage, but it may
compromise the clock integrity.
Hmm, maybe some interposers actually take care of the clock level-shifting: https://patents.google.com/patent/US5938769
Though the proposed method with a simple resistor to ground is far from ideal. It may cause more trouble then good...
https://patents.google.com/patent/US5938769
Is this the shift?
In accordance with still a further aspect of the present invention, the
CPU escalating adapter with multivoltage and multiple frequency
selection further includes a programmable array logic (PAL) for
converting a part of control signals of the CPU.
U2 GAL16V8
Inputs (I think)
ADS*
BA20M*
HRESET
HA20
HINIT
M/IO*
Outputs
F0-7
F8 TA20M*
Pin numbers don't seem to make sense.
It's more like loading the clock line down
TA20M signal
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 407 |
Nodes: | 16 (2 / 14) |
Uptime: | 13:37:13 |
Calls: | 8,554 |
Calls today: | 6 |
Files: | 13,219 |
Messages: | 5,925,563 |