There's more usage of ACPI QWORD data types here [1] in the Sandybridge code.
Regards, Felix
[1] https://github.com/coreboot/coreboot/blob/main/src/northbridge/intel/sandybr...
On 03/04/2024 23:03, Felix Held wrote:
Hi,
I think there was some comment in the code that Windows XP doesn't support the ACPI QWORD data type. coreboot uses QWORD ACPI type in the DSDT. Try if locally reverting this patch [1] will change anything. Since coreboot uses a much newer ACPI version than 1, the resulting DSDT should be correct regarding this and it's likely an OS bug if that local revert fixes things.
Regards, Felix
[1] https://review.coreboot.org/c/coreboot/+/79096
On 03/04/2024 22:06, Rudolf Marek wrote:
Hi again,
Dne 02. 04. 24 v 22:37 Rudolf Marek napsal(a):
Hi
Dne 02. 04. 24 v 21:12 Grayson Guarino napsal(a):
Do you have any suggestions for how I can further attempt to debug this? I'm struggling to find the release where ACPI v1.0 compatibility was officially dropped, so if it is not 09eb8d0c9b, let me know and I will attempt to rebuild and flash again.
Likely using windbg debugging windows kernel over serial line and some checked build of windows would help to debug that. The coreboot booted windows XP first time december 2008 (well that is a blast from the past!) using some of my patches/email attached below. Please try to check what were the tables versions (you will need coreboot SVN)
I'm not a windows expert. I think windows often checks if sizeof(acpitable) matches expected sizeof() defined in the ACPI specs. So, if you trying with ACPI 1.0 make sure to actually change sizes of the table structures, otherwise it won't work. Also make sure you don't get caught in the mess of RSDP and 1.0 https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#root...
I think I had to fix FACS table size to make windows happy... (see rest of email/patches).
So according to https://github.com/MicrosoftDocs/windows-driver-docs/blob/staging/windows-dr...
Your stop code means that windows failed to load DSDT -> "ACPI failed to load DDB." You need to make sure that you generate AML bytecode which is OK for windows. I remember there was something about 32-bit vs 64-bit integers or QWORDS.... I would suggest to try to see how the DSDT mentioned in the previous email looked like.
Maybe some 64-bit arithmetic is a problem... also try to find some microsoft document on what windows xp actually expects - I suspect it wants ACPI 1.0b.
Thanks, Rudolf
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org