Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

ACPI mapping wrong memory



Hello,
I ran into a problem here, where NetBSD wouldn't boot as Xen dom0.
I tracked it down to ACPI requesting a mapping to a memory area
no allocated to the dom0: the address is just above 4GB.
This looks wrong to me, because such adresss wouldn't work with i386 anyway.
The attached patch got NetBSD/Xen working for me, but with these messages:

mainbus0 (root)
acpi_md_OsMapMemory 0x40e len 2
acpi_md_OsMapMemory 0x9d800 len 1024
acpi_md_OsMapMemory 0xe0000 len 131072
acpi_md_OsMapMemory 0xfacd0 len 36
acpi_md_OsMapMemory 0xd7e70100 len 36
acpi_md_OsMapMemory 0xd7e70100 len 132
acpi_md_OsMapMemory 0xd7e70290 len 36
acpi_md_OsMapMemory 0xd7e70290 len 244
acpi_md_OsMapMemory 0xd7e707c0 len 36
acpi_md_OsMapMemory 0xd7e94000 len 36
acpi_md_OsMapMemory 0xd7e70390 len 36
acpi_md_OsMapMemory 0xd7e70600 len 36
acpi_md_OsMapMemory 0xd7e94040 len 36
acpi_md_OsMapMemory 0xd7e7a7c0 len 36
acpi_md_OsMapMemory 0xd7e7a800 len 36
acpi_md_OsMapMemory 0xd7e7adc0 len 36
acpi_md_OsMapMemory 0xd7e7ae30 len 36
acpi_md_OsMapMemory 0xd7e80360 len 36
acpi_md_OsMapMemory 0xd7e804f0 len 36
acpi_md_OsMapMemory 0xd7e80520 len 36
acpi_md_OsMapMemory 0xd7e806d0 len 36
acpi_md_OsMapMemory 0xd7e707c0 len 26369
acpi_md_OsMapMemory 0xd7e7ae30 len 21796
acpi_md_OsMapMemory 0x40e len 2
acpi_md_OsMapMemory 0x9d800 len 1024
acpi_md_OsMapMemory 0xe0000 len 131072
acpi_md_OsMapMemory 0xfacd0 len 36
acpi_md_OsMapMemory 0xd7e70100 len 36
acpi_md_OsMapMemory 0xd7e70290 len 36
acpi_md_OsMapMemory 0xd7e94000 len 64
acpi_md_OsMapMemory 0xd7e70390 len 624
cpu0 at mainbus0 apid 32: AMD Opteron(tm) Processor 6282 SE              , id 
0x600f12
[...]
ioapic0 at mainbus0 apid 0
ioapic1 at mainbus0 apid 1
ioapic2 at mainbus0 apid 2
acpi_md_OsMapMemory 0xd7e70290 len 36
acpi0 at mainbus0: Intel ACPICA 20110623
acpi_md_OsMapMemory 0x40e len 2
acpi_md_OsMapMemory 0x9d800 len 1024
acpi_md_OsMapMemory 0xe0000 len 131072
acpi_md_OsMapMemory 0xfacd0 len 36
acpi_md_OsMapMemory 0xd7e70100 len 36
acpi_md_OsMapMemory 0xd7e70290 len 36
acpi_md_OsMapMemory 0xd7e94065 len 254
acpi_md_OsMapMemory 0xefae0 len 124
acpi_md_OsMapMemory 0xe008800a len 4086
acpi_md_OsMapMemory 0x100000128 len 727
ACPI Error: Could not map memory at 0x0000000100000128, size 727 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.PRID.P_D0._STA] 
(Node 0xfffffe9012ef30a8), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.PRID.P_D0._STA] (Node 
0xfffffe9012ef30a8), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0x100000228 len 471
ACPI Error: Could not map memory at 0x0000000100000228, size 471 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.PRID.P_D1._STA] 
(Node 0xfffffe9012ef31f8), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.PRID.P_D1._STA] (Node 
0xfffffe9012ef31f8), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0x1000001a8 len 599
ACPI Error: Could not map memory at 0x00000001000001A8, size 599 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.SECD.S_D0._STA] 
(Node 0xfffffe9012ef34f8), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.SECD.S_D0._STA] (Node 
0xfffffe9012ef34f8), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0x1000002a8 len 343
ACPI Error: Could not map memory at 0x00000001000002A8, size 343 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.SECD.S_D1._STA] 
(Node 0xfffffe9012ef3648), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.SECD.S_D1._STA] (Node 
0xfffffe9012ef3648), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0xd7e94064 len 255
acpi_md_OsMapMemory 0x100000128 len 727
ACPI Error: Could not map memory at 0x0000000100000128, size 727 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.PRID.P_D0._STA] 
(Node 0xfffffe9012ef30a8), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.PRID.P_D0._STA] (Node 
0xfffffe9012ef30a8), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0x100000228 len 471
ACPI Error: Could not map memory at 0x0000000100000228, size 471 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.PRID.P_D1._STA] 
(Node 0xfffffe9012ef31f8), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.PRID.P_D1._STA] (Node 
0xfffffe9012ef31f8), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0x1000001a8 len 599
ACPI Error: Could not map memory at 0x00000001000001A8, size 599 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.SECD.S_D0._STA] 
(Node 0xfffffe9012ef34f8), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.SECD.S_D0._STA] (Node 
0xfffffe9012ef34f8), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0x1000002a8 len 343
ACPI Error: Could not map memory at 0x00000001000002A8, size 343 
(20110623/exregion-197)
ACPI Exception: AE_NO_MEMORY, Returned by Handler for [SystemMemory] 
(20110623/evregion-522)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SATA.SECD.S_D1._STA] 
(Node 0xfffffe9012ef3648), AE_NO_MEMORY (20110623/psparse-560)
ACPI Error: Method execution failed [\_SB_.PCI0.SATA.SECD.S_D1._STA] (Node 
0xfffffe9012ef3648), AE_NO_MEMORY (20110623/uteval-114)
acpi_md_OsMapMemory 0xd7e7a7c0 len 56
hpet0 at acpi0: high precision event timer (mem 0xfed00000-0xfed00400)


There is a SATA controller in this system but disabled in BIOS,
which may explain the problem. Would this be a BIOS bug ?
Would there be a clean way to fix this ?

the output of acpidump -dt is at:
http://www.netbsd.org/~bouyer/acpi.dt.gz

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--
Index: acpi/acpi_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/acpi/acpi_machdep.c,v
retrieving revision 1.3
diff -u -p -u -r1.3 acpi_machdep.c
--- acpi/acpi_machdep.c 30 Jan 2012 21:47:24 -0000      1.3
+++ acpi/acpi_machdep.c 21 Apr 2012 20:38:07 -0000
@@ -189,6 +189,11 @@ acpi_md_OsMapMemory(ACPI_PHYSICAL_ADDRES
 {
        int rv;
 
+       printf("acpi_md_OsMapMemory 0x%" PRIx64 " len %d\n",
+           (uint64_t)PhysicalAddress, Length);
+       if ((PhysicalAddress+Length) > 0xffffffff)
+               return AE_NO_MEMORY;
+
        rv = _x86_memio_map(x86_bus_space_mem, PhysicalAddress,
            Length, 0, (bus_space_handle_t *)LogicalAddress);
 


Home | Main Index | Thread Index | Old Index