Port-amd64 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