On 17.03.2009 16:47, Myles Watson wrote:
2009/3/17 Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net:
Hi,
I believe I should not getting the following ACPI debug message (and similar messages) with only 2 GB RAM installed: evregion-0398 [00] ev_address_space_dispa: Handler ffff8800773c9ae0 (@ffffffff803a9598) Address 0000000100000128 [SystemMemory] evregion-0398 [00] ev_address_space_dispa: Handler ffff8800773c9ae0 (@ffffffff803a9598) Address 0000000100000131 [SystemMemory]
The address in that message is 128/131 bytes above the 4 GB boundary. /proc/iomem says no device lives there. AFAICS that means ACPI tries to access nonexisting memory.
The machine boots fine, but once I plug in 4 GB RAM, ACPI still tries to access the address above although real memory lives at that location and booting fails with the following messages: ACPI Error (exregion-0164): Could not map memory at 0000000100000128, size ED7 [20070126] ACPI Exception (evregion-0420): AE_NO_MEMORY, Returned by Handler for [SystemMemory] [20070126] ACPI Exception (dswexec-0462): AE_NO_MEMORY, While resolving operands for [LGreater] [20070126] ACPI Error (psparse-0537): Method parse/execution failed [_SB_.PCI0.STCR.PMRY.PMST._STA] (Node ffff81013fa524f0), AE_NO_MEMORY ACPI Error (uteval-0233): Method execution failed [_SB_.PCI0.STCR.PMRY.PMST._STA] (Node ffff81013fa524f0), AE_NO_MEMORY [...] ACPI Error (exregion-0164): Could not map memory at 0000000100000131, size ECE [20070126] ACPI Exception (evregion-0420): AE_NO_MEMORY, Returned by Handler for [SystemMemory] [20070126] ACPI Error (psparse-0537): Method parse/execution failed [_GPE._L1F] (Node ffff81013fa52330), AE_NO_MEMORY ACPI Exception (evgpe-0577): AE_NO_MEMORY, while evaluating GPE method [_L1F] [20070126]
The factory BIOS does not exhibit this behaviour.
Interesting is that the addresses above 4 GB look like they are offsets to 0xffffffff, i.e. they all seem to be 4G-1+offset.
Attached are: minicom_2009-03-17T053516.cap (coreboot+Linux, 2 GB) minicom_2009-03-17T054446.cap (BIOS+Linux, 2 GB)
The following kernel parameters were used to improve debugging: mminit_loglevel=4 acpi.debug_level=0x10807
It looks like it is using memory-mapped PCI configuration. What is PCBA? Have you inserted some Store (..., Debug) lines and run it to see where the values are coming up wrong?
Problem found. We explicitly enable MMCONFIG in the RS690 code twice, then we disable it and hope that coreboot reenables MMCONFIG accesses. That never happens. Crude workaround posted in the thread [coreboot] [PATCH] Fix RS690 MMCONFIG access
ACPI: * FACS ACPI: * DSDT ACPI: * DSDT @ 000f0748 Length 26a4 ACPI: * FADT
I expected to see an MCFG here. I know you don't need it, but it would be easy to add if you have Memory-mapped configuration set up correctly. I was going to check the address.
Ah yes, another TODO item.
Thanks for your suggestions.
Regards, Carl-Daniel