lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 09 Oct 2007 18:01:48 -0600
From:	Robert Hancock <hancockr@...w.ca>
To:	linux-kernel <linux-kernel@...r.kernel.org>,
	ide <linux-ide@...r.kernel.org>
Subject: Invalid PnP ACPI reserved MMIO areas on Supermicro boards

Some people with certain Supermicro boards (at least the H8DCE, it 
seems) have reported that the sata_nv driver fails to attach to some of 
the controllers due to resource conflicts:

https://bugzilla.redhat.com/show_bug.cgi?id=280641
https://bugzilla.redhat.com/show_bug.cgi?id=313491

Essentially since about 2.6.22 or so (before which we apparently didn't 
handle PnpACPI reserved MMIO regions?) we get:

pnp: 00:09: iomem range 0xdfefd000-0xdfefd3ff has been reserved
pnp: 00:09: iomem range 0xdfefe000-0xdfefe3ff has been reserved

when the CK804 SATA controllers have as their BIOS-assigned resources:

80:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller 
(rev f3) (prog-if 85 [Master SecO PriO])
	Subsystem: Super Micro Computer Inc Unknown device 1011
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 46
	Region 0: I/O ports at e400 [size=8]
	Region 1: I/O ports at e000 [size=4]
	Region 2: I/O ports at dc00 [size=8]
	Region 3: I/O ports at d800 [size=4]
	Region 4: I/O ports at d400 [size=16]
	Region 5: Memory at dfefd000 (32-bit, non-prefetchable)

and

80:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller 
(rev f3) (prog-if 85 [Master SecO PriO])
	Subsystem: Super Micro Computer Inc Unknown device 1011
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 45
	Region 0: I/O ports at f800 [size=8]
	Region 1: I/O ports at f400 [size=4]
	Region 2: I/O ports at f000 [size=8]
	Region 3: I/O ports at ec00 [size=4]
	Region 4: I/O ports at e800 [size=16]
	Region 5: Memory at dfefe000 (32-bit, non-prefetchable) [size=4K]

And so of course we get:

sata_nv 0000:80:07.0: Using ADMA mode
PCI: Unable to reserve mem region #6:1000@...fd000 for device 0000:80:07.0
ACPI: PCI interrupt for device 0000:80:07.0 disabled
sata_nv: probe of 0000:80:07.0 failed with error -16
ACPI: PCI Interrupt Link [LT2E] enabled at IRQ 45
ACPI: PCI Interrupt 0000:80:08.0[A] -> Link [LT2E] -> GSI 45 (level, 
low) -> IRQ 45
sata_nv 0000:80:08.0: Using ADMA mode
PCI: Unable to reserve mem region #6:1000@...fe000 for device 0000:80:08.0
ACPI: PCI interrupt for device 0000:80:08.0 disabled
sata_nv: probe of 0000:80:08.0 failed with error -16

So essentially the BIOS has erroneously reserved the SATA controller's 
BARs in the ACPI motherboard resources, preventing the driver from 
attaching to the device.

Any ideas on what we can do about this?

-Get Supermicro to fix the BIOS - already tried, it seems
-System-specific quirk to ignore these resource reservations?
-Try to move the PCI resources if they conflict with the ACPI resource 
reservations?

I wonder how Windows deals with this, if it even does on these boards?

-- 
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@...pamshaw.ca
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ