[coreboot] [PATCH] workaround for "An unexpected error (805262864) occurred at line 1768 of d:\xpclient\base\boot\setup\arcdisp.c"
scott at notabs.org
Wed May 18 08:40:08 CEST 2011
The attached patch works around a Windows XP or Server 2003 setup
failure where an error message such as:
"An unexpected error (805262864) occurred at line 1768 of
The value 805262864 varies, and is the physical address, in decimal,
of one of the ACPI tables.
Tested on Persimmon. Others abuild tested only.
Signed-off-by: Scott Duplichan <scott at notabs.org>
Detailed explanation: The error message is displayed when a 1024 dword
page table array used by setupldr runs out of space. This table is used
for mapping various physical addresses, such as those of ACPI tables
(a separate table identity maps the lower 16MB used by setupldr code
and data). Setupldr only looks at ACPI tables (FACP) to determine make
and model of the system. The make and model of the system is needed when
setupldr scans the good/bad bios lists contained in txtsetup.sif. The
good/bad bios lists are used to bypass installation of the ACPI enabled
kernel on certain systems known to have ACPI problems. The code loop
that scans the lists creates a new mapping each time it reads an ACPI
table, and never frees mappings. The code uses FACP OEM ID to determine
the system model. The code sequentially reads tables listed in the RSDT
array until the FACP is found. Each read consumes one page table entry.
If more that 4 tables precede the FACP in the RSDT array, the 1024
entry page table array will run out of space before the good/bad bios
list processing completes. BIOS can work around this Windows XP/Server
2003 limitation by placing the FACP early in the RSDT array.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 21959 bytes
Desc: not available
More information about the coreboot