Attention is currently required from: Arthur Heymans, Lance Zhao, Tim Wawrzynczak. Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/62573 )
Change subject: coreboot_tables.c: Expose the ACPI RSDP ......................................................................
Patch Set 2:
(1 comment)
File src/commonlib/include/commonlib/coreboot_tables.h:
https://review.coreboot.org/c/coreboot/+/62573/comment/5fe7c811_6d8c10e9 PS1, Line 586: uint64_t
(in C pointers are aligned, right?)
Says who? x86 supports misaligned everything by design! The compilers just keep trying to shave off every possible bit everywhere making every assumption they possibly can.... that is so frustrating...
The spec says so, I think, at least indirectly, and the warnings that we disable ^^
``` Among the invalid values for dereferencing a pointer by the unary * operator are a null pointer, an address inappropriately aligned for the type of object pointed to, and the address of an object after the end of its lifetime. ```
So strictly speaking pointers don't have to be aligned but the objects. IMO, beside the GNU extensions, it's sound and save. If this is really becoming an issue it's our fault.