Date: Sun, 25 Aug 1996 18:33:17 -0400 (EDT) From: Chuck Robey <chuckr@glue.umd.edu> To: Thomas Sparrevohn <staff@kyklopen.ping.dk> Cc: freebsd-current@freebsd.org Subject: Re: My Gumby 82439HX diffs Message-ID: <Pine.OSF.3.95.960825182536.28383B-100000@skipper.eng.umd.edu> In-Reply-To: <Pine.BSI.3.95.960818003546.491A-100000@kyklopen>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 18 Aug 1996, Thomas Sparrevohn wrote: > > > Thanks to everybody that responded. But I must have hit my head with a > brick and the M_EN's was wrong. Please try this patch it contains the > registerdump for the 82439HX and the 82371SB. The only real difference > between the 82371SB and the 82371FB that concerns the registers dumped > is the APIC select field. I saw some requests for this patch again, so I'm reposting it with my comments. If you reboot normally, there is no change, but if you reboot -v, well here is what I got (and I'm very pleased with): exiting on signal 15 R# Output Type: Open drain output, Global TXC disabled Cache: 512K pipelined-burst, NA Disable: disabled, Extended Cacheability disabled, SCFMI disabled, L1 enabled Speculative Leadoff enabled, Turn-around Insertion enabled, Memory Address Drive Strength: 12mA/12mA, 64 Mbit mode disabled Hole: None, EDO Detect mode disabled, DRAM Refrest Rate 66Mhz Turbo Read Leadoff disabled, DRAM Read Burst Timing: x-2-2-2/x-3-3-3, DRAM Write Burst Timing: x-2-2-2, Fast RAS to CAS Delay: 2 clocks, DRAM leadoff Timing: Read 6, Write 5, Precharge 3, Refresh 4 chip1 <Intel 82371SB (Triton II) PCI-ISA bridge> rev 0 on pci0:7:0 DMA Reserved Page Register Aliasing disabled 8-Bit I/O Recovery: enabled I/O Recovery Timing: 8-bit 1 clocks, 16-bit 1 clocks APIC Chip Select: enabled Extended BIOS: enabled Lower BIOS: enabled Coprocessor IRQ13: enabled Mouse IRQ12: disabled BIOSCS# Write Protect: disabled Keyboard Controller Address Location: enabled RTC Address Location: enabled Interrupt Routing: A: IRQ10, B: IRQ11, C: disabled, D: disabled MB0: disabled, MB1: I'm not competent in this area of code, so I can't commit it, but I hope someone else does. > > This is the new patch. > > Regards > Thomas > > *** pcisupport.c#ctm Thu Aug 15 21:42:23 1996 > --- pcisupport.c Sun Aug 18 00:32:12 1996 > *************** > *** 131,136 **** > --- 131,140 ---- > return ("Intel 82437 (Triton) PCI cache memory controller"); > case 0x122e8086: > return ("Intel 82371 (Triton) PCI-ISA bridge"); > + case 0x12508086: > + return ("Intel 82439HX (Triton II) PCI cache memory controller"); > + case 0x70008086: > + return ("Intel 82371SB (Triton II) PCI-ISA bridge"); > case 0x04961039: > return ("SiS 85c496"); > case 0x04061039: > *************** > *** 463,468 **** > --- 467,562 ---- > { 0 } > }; > > + static const struct condmsg conf82439hx[] = > + { > + /* PCON -- PCI Control Register */ > + { 0x00, 0x00, 0x00, M_TR, "\tDRAM ECC/Parity:" }, > + { 0x50, 0x80, 0x80, M_EQ, " ECC" }, > + { 0x50, 0x80, 0x00, M_EQ, " Parity" }, > + { 0x00, 0x00, 0x00, M_TR, ", ECC Test " }, > + { 0x50, 0x40, 0x40, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tShutdown to Port 92 " }, > + { 0x50, 0x20, 0x20, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ", Dual Processor NA# " }, > + { 0x50, 0x10, 0x10, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tPeer Concurrency " }, > + { 0x50, 0x08, 0x08, M_EN, 0 }, > + /* XXX I am not sure thats the SERR# output type is usefull */ > + { 0x00, 0x00, 0x00, M_TR, ", SERR# Output Type:" }, > + { 0x50, 0x04, 0x04, M_EQ, " Normal output" }, > + { 0x50, 0x04, 0x00, M_EQ, " Open drain output" }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tGlobal TXC " }, > + { 0x50, 0x01, 0x01, M_EN, 0 }, > + > + /* CC -- Cache Control Regsiter */ > + { 0x00, 0x00, 0x00, M_TR, "\n\tCache:" }, > + { 0x52, 0xc0, 0x80, M_EQ, " 512K" }, > + { 0x52, 0xc0, 0x40, M_EQ, " 256K" }, > + { 0x52, 0xc0, 0x00, M_EQ, " NO" }, > + { 0x52, 0x30, 0x00, M_EQ, " pipelined-burst" }, > + { 0x52, 0x30, 0x10, M_EQ, " reserved" }, > + { 0x52, 0x30, 0x20, M_EQ, " reserved" }, > + { 0x52, 0x30, 0x30, M_EQ, " dual-bank pipelined-burst" }, > + { 0x00, 0x00, 0x00, M_TR, ", NA Disable: " }, > + { 0x52, 0x04, 0x04, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tExtended Cacheability " }, > + { 0x52, 0x04, 0x04, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ", SCFMI "}, > + { 0x52, 0x02, 0x02, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ", L1 " }, > + { 0x52, 0x01, 0x01, M_EN, 0 }, > + > + /* DRAMEC -- DRAM Extended Control Register */ > + { 0x00, 0x00, 0x00, M_TR, "\n\tSpeculative Leadoff " }, > + { 0x56, 0x10, 0x10, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ", Turn-around Insertion " }, > + { 0x56, 0x08, 0x08, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tMemory Address Drive Strength: " }, > + { 0x56, 0x06, 0x00, M_EQ, "8mA/8mA" }, > + { 0x56, 0x06, 0x02, M_EQ, "8mA/12mA" }, > + { 0x56, 0x06, 0x04, M_EQ, "12mA/8mA" }, > + { 0x56, 0x06, 0x06, M_EQ, "12mA/12mA" }, > + { 0x00, 0x00, 0x00, M_TR, ", 64 Mbit mode " }, > + { 0x56, 0x01, 0x01, M_EN, 0 }, > + > + /* DRAMC - DRAM Control Register */ > + { 0x00, 0x00, 0x00, M_TR, "\n\tHole: " }, > + { 0x57, 0xc0, 0x00, M_EQ, "None" }, > + { 0x57, 0xc0, 0x40, M_EQ, "512KB - 640KB" }, > + { 0x00, 0x00, 0x00, M_TR, ", EDO Detect mode " }, > + { 0x57, 0x04, 0x04, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tDRAM Refrest Rate " }, > + { 0x57, 0x07, 0x00, M_EQ, "Disabled" }, > + { 0x57, 0x07, 0x01, M_EQ, "50Mhz" }, > + { 0x57, 0x07, 0x02, M_EQ, "60Mhz" }, > + { 0x57, 0x07, 0x03, M_EQ, "66Mhz" }, > + > + /* DRAMT -- DRAM Timing Register */ > + { 0x00, 0x00, 0x00, M_TR, "\n\tTurbo Read Leadoff " }, > + { 0x58, 0x80, 0x80, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tDRAM Read Burst Timing: " }, > + { 0x58, 0x60, 0x00, M_EQ, "x-4-4-4/x-4-4-4" }, > + { 0x58, 0x60, 0x20, M_EQ, "x-3-3-3/x-4-4-4" }, > + { 0x58, 0x60, 0x40, M_EQ, "x-2-2-2/x-3-3-3" }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tDRAM Write Burst Timing: " }, > + { 0x58, 0x18, 0x00, M_EQ, "x-4-4-4" }, > + { 0x58, 0x18, 0x08, M_EQ, "x-3-3-3" }, > + { 0x58, 0x18, 0x10, M_EQ, "x-2-2-2" }, > + { 0x00, 0x00, 0x00, M_TR, ",\n\tFast RAS to CAS Delay: " }, > + { 0x58, 0x04, 0x00, M_EQ, "3" }, > + { 0x58, 0x04, 0x04, M_EQ, "2" }, > + { 0x00, 0x00, 0x00, M_TR, " clocks,\n\tDRAM leadoff Timing: " }, > + { 0x58, 0x03, 0x00, M_EQ, "Read 7, Write 6, Precharge 3, Refresh 4" }, > + { 0x58, 0x03, 0x01, M_EQ, "Read 6, Write 5, Precharge 3, Refresh 4" }, > + { 0x58, 0x03, 0x02, M_EQ, "Read 7, Write 6, Precharge 4, Refresh 5" }, > + { 0x58, 0x03, 0x03, M_EQ, "Read 6, Write 5, Precharge 4, Refresh 5" }, > + { 0x00, 0x00, 0x00, M_TR, "\n" }, > + > + /* end marker */ > + { 0 } > + > + }; > + > static const struct condmsg conf82371fb[] = > { > /* IORT -- ISA I/O Recovery Timer Register */ > *************** > *** 528,533 **** > --- 622,707 ---- > { 0 } > }; > > + /* The 82371fb and the 82371sb are allmost identical in > + function 0, but a few registers values are different */ > + > + static const struct condmsg conf82371sb[] = > + { > + /* IORT -- ISA I/O Recovery Timer Register */ > + { 0x00, 0x00, 0x00, M_TR, "\tDMA Reserved Page Register Aliasing " }, > + { 0x4c, 0x80, 0x80, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\t8-Bit I/O Recovery: " }, > + { 0x4c, 0x40, 0x40, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tI/O Recovery Timing: 8-bit " }, > + { 0x4c, 0x40, 0x00, M_EQ, "3.5" }, > + { 0x4c, 0x78, 0x48, M_EQ, "1" }, > + { 0x4c, 0x78, 0x50, M_EQ, "2" }, > + { 0x4c, 0x78, 0x58, M_EQ, "3" }, > + { 0x4c, 0x78, 0x60, M_EQ, "4" }, > + { 0x4c, 0x78, 0x68, M_EQ, "5" }, > + { 0x4c, 0x78, 0x70, M_EQ, "6" }, > + { 0x4c, 0x78, 0x78, M_EQ, "7" }, > + { 0x4c, 0x78, 0x40, M_EQ, "8" }, > + { 0x00, 0x00, 0x00, M_TR, " clocks, 16-bit " }, > + { 0x4c, 0x04, 0x00, M_EQ, "3.5" }, > + { 0x4c, 0x07, 0x05, M_EQ, "1" }, > + { 0x4c, 0x07, 0x06, M_EQ, "2" }, > + { 0x4c, 0x07, 0x07, M_EQ, "3" }, > + { 0x4c, 0x07, 0x04, M_EQ, "4" }, > + { 0x00, 0x00, 0x00, M_TR, " clocks\n" }, > + > + /* XBCS -- X-Bus Chip Select Register 4e-4f in PIIX3 */ > + { 0x00, 0x00, 0x00, M_TR, "\tAPIC Chip Select: " }, > + { 0x4f, 0x01, 0x01, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tExtended BIOS: " }, > + { 0x4e, 0x80, 0x80, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tLower BIOS: " }, > + { 0x4e, 0x40, 0x40, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tCoprocessor IRQ13: " }, > + { 0x4e, 0x20, 0x20, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tMouse IRQ12: " }, > + { 0x4e, 0x10, 0x10, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tBIOSCS# Write Protect: " }, > + { 0x4e, 0x04, 0x04, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tKeyboard Controller Address Location: " }, > + { 0x4e, 0x02, 0x02, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n\tRTC Address Location: " }, > + { 0x4e, 0x01, 0x01, M_EN, 0 }, > + { 0x00, 0x00, 0x00, M_TR, "\n" }, > + > + { 0x00, 0x00, 0x00, M_TR, "\tInterrupt Routing: " }, > + #define PIRQ(x, n) \ > + { 0x00, 0x00, 0x00, M_TR, n ": " }, \ > + { x, 0x80, 0x80, M_EQ, "disabled" }, \ > + { x, 0xc0, 0x40, M_EQ, "[shared] " }, \ > + { x, 0x8f, 0x03, M_EQ, "IRQ3" }, \ > + { x, 0x8f, 0x04, M_EQ, "IRQ4" }, \ > + { x, 0x8f, 0x05, M_EQ, "IRQ5" }, \ > + { x, 0x8f, 0x06, M_EQ, "IRQ6" }, \ > + { x, 0x8f, 0x07, M_EQ, "IRQ7" }, \ > + { x, 0x8f, 0x09, M_EQ, "IRQ9" }, \ > + { x, 0x8f, 0x0a, M_EQ, "IRQ10" }, \ > + { x, 0x8f, 0x0b, M_EQ, "IRQ11" }, \ > + { x, 0x8f, 0x0c, M_EQ, "IRQ12" }, \ > + { x, 0x8f, 0x0e, M_EQ, "IRQ14" }, \ > + { x, 0x8f, 0x0f, M_EQ, "IRQ15" } > + > + /* Interrupt routing */ > + PIRQ(0x60, "A"), > + PIRQ(0x61, ", B"), > + PIRQ(0x62, ", C"), > + PIRQ(0x63, ", D"), > + PIRQ(0x70, "\n\t\tMB0"), > + PIRQ(0x71, ", MB1"), > + > + { 0x00, 0x00, 0x00, M_TR, "\n" }, > + > + #undef PIRQ > + > + /* XXX - do DMA routing, too? */ > + { 0 } > + }; > + > #if 0 /* xxx not used */ > static const struct condmsg conf82371fb2[] = > { > *************** > *** 615,620 **** > --- 789,800 ---- > break; > case 0x122e8086: > writeconfig (config_id, conf82371fb); > + break; > + case 0x12508086: > + writeconfig (config_id, conf82439hx); > + break; > + case 0x70008086: > + writeconfig (config_id, conf82371sb); > break; > #if 0 > case 0x00011011: /* DEC 21050 */ > > > > ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@eng.umd.edu | communications topic, C programming, and Unix. 9120 Edmonston Ct #302 | Greenbelt, MD 20770 | I run Journey2 and n3lxx, both FreeBSD (301) 220-2114 | version 2.2 current -- and great FUN! ----------------------------+-----------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.OSF.3.95.960825182536.28383B-100000>