On Thu, Jun 13, 2024 at 2:59 PM J. Alexander Jacocks <jjaco...@mac.com> wrote:
> On Thu, Jun 13, 2024 at 2:55 PM Alexander Jacocks <jjaco...@gmail.com> > wrote: > >> On Thu, Jun 13, 2024 at 10:04 AM Manuel Bouyer <bou...@antioche.eu.org> >> wrote: >> >>> On Thu, Jun 13, 2024 at 09:58:34AM -0400, Alexander Jacocks wrote: >>> > >>> > > On Jun 13, 2024, at 8:44?AM, Manuel Bouyer <bou...@antioche.eu.org> >>> wrote: >>> > > >>> > > ?On Thu, Jun 13, 2024 at 08:39:37AM -0400, Alexander Jacocks wrote: >>> > >> >>> > >>>> On Jun 13, 2024, at 5:51?AM, Manuel Bouyer < >>> bou...@antioche.eu.org> wrote: >>> > >>> >>> > >>> ?On Wed, Jun 12, 2024 at 10:29:59AM -0400, Alexander Jacocks wrote: >>> > >>>> And it was pointed out to me that my paste of the DMA error was >>> incorrect. >>> > >>>> Here is the correct log: >>> > >>>> [ 1.000004] pci0 at mainbus0 bus 0: configuration mode 1 >>> > >>>> [ 1.000004] pci0: i/o space, memory space enabled, rd/line, >>> rd/mult, >>> > >>>> wr/inv ok >>> > >>>> [ 1.000004] pchb0 at pci0 dev 0 function 0: Silicon >>> Integrated System >>> > >>>> 5597/5598 Host Bridge (rev. 0x10) >>> > >>>> [ 1.000004] pcib0 at pci0 dev 1 function 0: Silicon >>> Integrated System >>> > >>>> 85C503 or 5597/5598 ISA Bridge (rev. 0x01) >>> > >>>> [ 1.000004] siside0 at pci0 dev 1 function 1 >>> > >>>> [ 1.000004] siside0: Silicon Integrated Systems 5597/5598 IDE >>> > >>>> controller (rev. 0xd0) >>> > >>>> [ 1.000004] siside0: bus-master DMA support present, but >>> unused >>> > >>>> (couldn't map registers) >>> > >>> >>> > >>> The problem here is that the DMA registers are not mappable, so >>> can't be >>> > >>> used by the driver. Some BIOS settings (like PnP support) may >>> affect this. >>> > >>> >>> > >>>> [ 1.000004] siside0: secondary channel ignored (disabled) >>> > >>>> I tried simply forcing DMA on by adding the 0x0001 flag to the >>> pciide >>> > >>>> driver, with a minor mod to the GENERIC kernel, but it didn't >>> change the >>> > >>>> behavior any. I also attempted to add in a Maxtor SATA-150 PCI >>> IDE >>> > >>> >>> > >>> Yes, that won't work in this case. >>> > >> >>> > >> Interesting. I was able to verify that Windows 98SE is able to >>> enable DMA support, even with the current BIOS settings. This BIOS is >>> pretty limited in what can be configured, unfortunately. >>> > > >>> > > From memory, win98 was the "PnP OS". it had to be disabled for >>> others. >>> > > >>> > >> >>> > >> Would disabling ACPI and enabling APM possibly help? Since this >>> board clearly has a broken ACPI configuration, that seems like a >>> possibility. >>> > > >>> > > No APM is something different >>> > > >>> > >>> > And PNP is currently disabled, as much as is possible. Is there >>> anything else that I can try to do to make the registers mappable? >>> >>> Can you send the output of a pcictl dump for this device ? >> >> >> Manuel, >> >> Here are the PCI devices in the system: >> >> 586ve$ sudo pcictl pci0 list -N >> 000:00:0: Silicon Integrated System 5597/5598 Host Bridge (host bridge, >> revision 0x10) [pchb0] >> 000:01:0: Silicon Integrated System 85C503 or 5597/5598 ISA Bridge (ISA >> bridge, revision 0x01) [pcib0] >> 000:01:1: Silicon Integrated System 5597/5598 IDE Controller (IDE mass >> storage, interface 0x8a, revision 0xd0) [siside0] >> 000:01:2: Silicon Integrated System 5597/5598 USB Host Controller (USB >> serial bus, OHCI, revision 0x10) [ohci0] >> 000:02:0: Silicon Integrated System 900 10/100 Ethernet (ethernet >> network, revision 0x02) [sip0] >> 000:08:0: Silicon Integrated System 5597/5598 Integrated VGA (VGA >> display, revision 0x68) [vga0] >> >> And here is the dump: >> >> 586ve$ pcictl pci0 list| awk -F: '{print "pcictl pci0 dump -b "$1" -d >> "$2}'|sort -u | sh >> PCI configuration registers: >> Common header: >> 0x00: 0x55971039 0x22000007 0x06000010 0x00001000 >> >> Vendor Name: Silicon Integrated System (0x1039) >> Device Name: 5597/5598 Host Bridge (0x5597) >> Command register: 0x0007 >> I/O space accesses: on >> Memory space accesses: on >> Bus mastering: on >> Special cycles: off >> MWI transactions: off >> Palette snooping: off >> Parity error checking: off >> Address/data stepping: off >> System error (SERR): off >> Fast back-to-back transactions: off >> Interrupt disable: off >> Status register: 0x2200 >> Immediate Readiness: off >> Interrupt status: inactive >> Capability List support: off >> 66 MHz capable: off >> User Definable Features (UDF) support: off >> Fast back-to-back capable: off >> Data parity error detected: off >> DEVSEL timing: medium (0x1) >> Slave signaled Target Abort: off >> Master received Target Abort: off >> Master received Master Abort: on >> Asserted System Error (SERR): off >> Parity error detected: off >> Class Name: bridge (0x06) >> Subclass Name: host (0x00) >> Interface: 0x00 >> Revision ID: 0x10 >> BIST: 0x00 >> Header Type: 0x00 (0x00) >> Latency Timer: 0x10 >> Cache Line Size: 0bytes (0x00) >> >> Type 0 ("normal" device) header: >> 0x10: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x20: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x30: 0x00000000 0x00000000 0x00000000 0x00000000 >> >> Base address register at 0x10 >> not implemented >> Base address register at 0x14 >> not implemented >> Base address register at 0x18 >> not implemented >> Base address register at 0x1c >> not implemented >> Base address register at 0x20 >> not implemented >> Base address register at 0x24 >> not implemented >> Cardbus CIS Pointer: 0x00000000 >> Subsystem vendor ID: 0x0000 >> Subsystem ID: 0x0000 >> Expansion ROM Base Address Register: 0x00000000 >> base: 0x00000000 >> Expansion ROM Enable: off >> Validation Status: Validation not supported >> Validation Details: 0x0 >> Reserved @ 0x34: 0x00000000 >> Reserved @ 0x38: 0x00000000 >> Maximum Latency: 0x00 >> Minimum Grant: 0x00 >> Interrupt pin: 0x00 (none) >> Interrupt line: 0x00 >> >> Device-dependent header: >> 0x40: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x50: 0x1e70eac0 0x11a32a01 0x0003ff08 0x00000000 >> 0x60: 0x0303e6ea 0xff00ff00 0xff00ff00 0x782000c0 >> 0x70: 0x00008088 0x00808888 0x00000000 0x00000000 >> 0x80: 0xffcec458 0x40100040 0xffff0000 0x00000000 >> 0x90: 0x00000002 0x00000000 0x00000000 0xffff0000 >> 0xa0: 0x80ffffff 0x00000000 0x00000000 0x00000000 >> 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 >> PCI configuration registers: >> Common header: >> 0x00: 0x00081039 0x02000007 0x06010001 0x00800000 >> >> Vendor Name: Silicon Integrated System (0x1039) >> Device Name: 85C503 or 5597/5598 ISA Bridge (0x0008) >> Command register: 0x0007 >> I/O space accesses: on >> Memory space accesses: on >> Bus mastering: on >> Special cycles: off >> MWI transactions: off >> Palette snooping: off >> Parity error checking: off >> Address/data stepping: off >> System error (SERR): off >> Fast back-to-back transactions: off >> Interrupt disable: off >> Status register: 0x0200 >> Immediate Readiness: off >> Interrupt status: inactive >> Capability List support: off >> 66 MHz capable: off >> User Definable Features (UDF) support: off >> Fast back-to-back capable: off >> Data parity error detected: off >> DEVSEL timing: medium (0x1) >> Slave signaled Target Abort: off >> Master received Target Abort: off >> Master received Master Abort: off >> Asserted System Error (SERR): off >> Parity error detected: off >> Class Name: bridge (0x06) >> Subclass Name: ISA (0x01) >> Interface: 0x00 >> Revision ID: 0x01 >> BIST: 0x00 >> Header Type: 0x00+multifunction (0x80) >> Latency Timer: 0x00 >> Cache Line Size: 0bytes (0x00) >> >> Type 0 ("normal" device) header: >> 0x10: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x20: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x30: 0x00000000 0x00000000 0x00000000 0x00000000 >> >> Base address register at 0x10 >> not implemented >> Base address register at 0x14 >> not implemented >> Base address register at 0x18 >> not implemented >> Base address register at 0x1c >> not implemented >> Base address register at 0x20 >> not implemented >> Base address register at 0x24 >> not implemented >> Cardbus CIS Pointer: 0x00000000 >> Subsystem vendor ID: 0x0000 >> Subsystem ID: 0x0000 >> Expansion ROM Base Address Register: 0x00000000 >> base: 0x00000000 >> Expansion ROM Enable: off >> Validation Status: Validation not supported >> Validation Details: 0x0 >> Reserved @ 0x34: 0x00000000 >> Reserved @ 0x38: 0x00000000 >> Maximum Latency: 0x00 >> Minimum Grant: 0x00 >> Interrupt pin: 0x00 (none) >> Interrupt line: 0x00 >> >> Device-dependent header: >> 0x40: 0x0b800ffa 0x06006480 0x0f1000ff 0x01042011 >> 0x50: 0x01022811 0x0a670a62 0x00122e9c 0x000004a8 >> 0x60: 0x004f8032 0x80015b00 0x00120000 0x00001c20 >> 0x70: 0x0000001e 0xa325a321 0x00000000 0x00000000 >> 0x80: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x90: 0x00003f00 0x00000000 0x00000000 0x00000000 >> 0xa0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 >> PCI configuration registers: >> Common header: >> 0x00: 0x09001039 0x02900107 0x02000002 0x0000d000 >> >> Vendor Name: Silicon Integrated System (0x1039) >> Device Name: 900 10/100 Ethernet (0x0900) >> Command register: 0x0107 >> I/O space accesses: on >> Memory space accesses: on >> Bus mastering: on >> Special cycles: off >> MWI transactions: off >> Palette snooping: off >> Parity error checking: off >> Address/data stepping: off >> System error (SERR): on >> Fast back-to-back transactions: off >> Interrupt disable: off >> Status register: 0x0290 >> Immediate Readiness: off >> Interrupt status: inactive >> Capability List support: on >> 66 MHz capable: off >> User Definable Features (UDF) support: off >> Fast back-to-back capable: on >> Data parity error detected: off >> DEVSEL timing: medium (0x1) >> Slave signaled Target Abort: off >> Master received Target Abort: off >> Master received Master Abort: off >> Asserted System Error (SERR): off >> Parity error detected: off >> Class Name: network (0x02) >> Subclass Name: ethernet (0x00) >> Interface: 0x00 >> Revision ID: 0x02 >> BIST: 0x00 >> Header Type: 0x00 (0x00) >> Latency Timer: 0xd0 >> Cache Line Size: 0bytes (0x00) >> >> Type 0 ("normal" device) header: >> 0x10: 0x00004001 0x60000000 0x00000000 0x00000000 >> 0x20: 0x00000000 0x00000000 0x00000000 0x09001039 >> 0x30: 0x00000000 0x00000040 0x00000000 0x0b34010f >> >> Base address register at 0x10 >> type: I/O >> base: 0x00004000 >> Base address register at 0x14 >> type: 32-bit nonprefetchable memory >> base: 0x60000000 >> Base address register at 0x18 >> not implemented >> Base address register at 0x1c >> not implemented >> Base address register at 0x20 >> not implemented >> Base address register at 0x24 >> not implemented >> Cardbus CIS Pointer: 0x00000000 >> Subsystem vendor ID: 0x1039 >> Subsystem ID: 0x0900 >> Expansion ROM Base Address Register: 0x00000000 >> base: 0x00000000 >> Expansion ROM Enable: off >> Validation Status: Validation not supported >> Validation Details: 0x0 >> Capability list pointer: 0x40 >> Reserved @ 0x38: 0x00000000 >> Maximum Latency: 0x0b >> Minimum Grant: 0x34 >> Interrupt pin: 0x01 (pin A) >> Interrupt line: 0x0f >> >> Capability register at 0x40 >> type: 0x01 (Power Management) >> >> PCI Power Management Capabilities Register >> Capabilities register: 0xfe01 >> Version: 1.0 >> PME# clock: off >> Device specific initialization: off >> 3.3V auxiliary current: self-powered >> D1 power management state support: on >> D2 power management state support: on >> PME# support D0: on >> PME# support D1: on >> PME# support D2: on >> PME# support D3 hot: on >> PME# support D3 cold: on >> Control/status register: 0x00000000 >> Power state: D0 >> PCI Express reserved: off >> No soft reset: off >> PME# assertion: disabled >> Data Select: 0 >> Data Scale: 0 >> PME# status: off >> Bridge Support Extensions register: 0x00 >> B2/B3 support: off >> Bus Power/Clock Control Enable: off >> Data register: 0x00 >> >> Device-dependent header: >> 0x40: 0xfe010001 0x00000000 0x00000000 0x00000000 >> 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x80: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xa0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 >> 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 >> pcictl: "08" is not a number >> > > And here is the IDE controller: > > 586ve$ pcictl pci0 dump -b 000 -d 01 -f 1 > PCI configuration registers: > Common header: > 0x00: 0x55131039 0x00000001 0x01018ad0 0x00800000 > > Vendor Name: Silicon Integrated System (0x1039) > Device Name: 5597/5598 IDE Controller (0x5513) > Command register: 0x0001 > I/O space accesses: on > Memory space accesses: off > Bus mastering: off > Special cycles: off > MWI transactions: off > Palette snooping: off > Parity error checking: off > Address/data stepping: off > System error (SERR): off > Fast back-to-back transactions: off > Interrupt disable: off > Status register: 0x0000 > Immediate Readiness: off > Interrupt status: inactive > Capability List support: off > 66 MHz capable: off > User Definable Features (UDF) support: off > Fast back-to-back capable: off > Data parity error detected: off > DEVSEL timing: fast (0x0) > Slave signaled Target Abort: off > Master received Target Abort: off > Master received Master Abort: off > Asserted System Error (SERR): off > Parity error detected: off > Class Name: mass storage (0x01) > Subclass Name: IDE (0x01) > Interface: 0x8a > Revision ID: 0xd0 > BIST: 0x00 > Header Type: 0x00+multifunction (0x80) > Latency Timer: 0x00 > Cache Line Size: 0bytes (0x00) > > Type 0 ("normal" device) header: > 0x10: 0x00002001 0x00002101 0x00002201 0x00002301 > 0x20: 0xfd64ffa1 0x00000000 0x00000000 0x1d97af69 > 0x30: 0x00000000 0x00000000 0x00000000 0x00000100 > > Base address register at 0x10 > type: I/O > base: 0x00002000 > Base address register at 0x14 > type: I/O > base: 0x00002100 > Base address register at 0x18 > type: I/O > base: 0x00002200 > Base address register at 0x1c > type: I/O > base: 0x00002300 > Base address register at 0x20 > type: I/O > base: 0xfd64ffa0 > Base address register at 0x24 > not implemented > Cardbus CIS Pointer: 0x00000000 > Subsystem vendor ID: 0xaf69 > Subsystem ID: 0x1d97 > Expansion ROM Base Address Register: 0x00000000 > base: 0x00000000 > Expansion ROM Enable: off > Validation Status: Validation not supported > Validation Details: 0x0 > Reserved @ 0x34: 0x00000000 > Reserved @ 0x38: 0x00000000 > Maximum Latency: 0x00 > Minimum Grant: 0x00 > Interrupt pin: 0x01 (pin A) > Interrupt line: 0x00 > > Device-dependent header: > 0x40: 0x00000301 0x00000000 0x03220700 0x02000200 > 0x50: 0x000d0200 0x00000000 0x00000000 0x00000000 > 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 > 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 > 0x80: 0x00000000 0x00000000 0x00000000 0x00000000 > 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 > 0xa0: 0x00000000 0x00000000 0x00000000 0x00000000 > 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 > 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 > 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 > 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 > 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 > > - Alex > Did this reveal any clues to the source of the problem? Thanks! - Alex