Attention is currently required from: Angel Pons, Arthur Heymans, Cliff Huang, David Milosevic, Lance Zhao, Martin L Roth, Maximilian Brune, Patrick Rudolph, Tim Wawrzynczak.
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/78071?usp=email )
Change subject: acpi: Add PPTT support ......................................................................
Patch Set 22:
(2 comments)
File src/acpi/acpi_pptt.c:
https://review.coreboot.org/c/coreboot/+/78071/comment/979d23c9_454403f3 : PS17, Line 131: cache_reference_t cache_refs[CONFIG_ACPI_PPTT_MAX_CACHES];
Looks like https://uefi. […]
Well, QEMU-SBSA is a rather simple example, with a homogenuous hierarchy and caches known at compile time. I just wonder how it will look like for a more complex setup when one has to allocate `struct pptt_cache` nodes at runtime. Then it would be harder to reuse the nodes and their pointers. But I guess we can handle that if/when the time comes.
File src/include/acpi/acpi.h:
https://review.coreboot.org/c/coreboot/+/78071/comment/1e014ee7_d84a9707 : PS21, Line 1448: u32 size_valid : 1; : u32 n_sets_valid : 1; : u32 associativity_valid : 1; : u32 alloc_type_valid : 1; : u32 cache_type_valid : 1; : u32 write_policy_valid : 1; : u32 line_size_valid : 1; : u32 cache_id_valid : 1; : u32 reserved : 24;
Are bitfields portable? Or can they break depending on endianness?
Bitfields or not, unless the table is defined to be in host endianness, all serialization of multi-byte words would break with a different endianness. Not sure about ACPI. I think we decided some time ago not to care about big-endian anymore (I disagree, but much of our code is broken in that regard anyway. If we'd ever start from scratch, I wouldn't use structs for serialization).