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