Attention is currently required from: Arthur Heymans, Cliff Huang, Lance Zhao, Martin L Roth, Maximilian Brune, Nico Huber, Patrick Rudolph, Tim Wawrzynczak.
David Milosevic has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/78071?usp=email )
Change subject: acpi: Add PPTT support ......................................................................
Patch Set 19:
(2 comments)
File src/acpi/acpi_pptt.c:
https://review.coreboot.org/c/coreboot/+/78071/comment/42d69a21_ca96631c : PS17, Line 131: cache_reference_t cache_refs[CONFIG_ACPI_PPTT_MAX_CACHES]; Our current platform code makes sure to point to the same `struct pptt_cache` object whenever two caches share the same `next_level`. For instance, for the qemu-sbsa board we have this
``` /* * L2 cache (LLC) */ struct pptt_cache l2 = {
.next_level = NULL };
/* * L1I cache */ struct pptt_cache l1i = {
.next_level = &l2 };
/* * L1D cache */ struct pptt_cache l1d = {
.next_level = &l2 };
/* * private resources of a cpu core. Same for * each core. */ struct pptt_cpu_resources core_resources = {
.cache = &l1i,
.next = &(struct pptt_cpu_resources) {
.cache = &l1d, .next = NULL } }; ```
I think we can leave it for the platform code. I dont see a relevant advantage from deduplicating caches within the ACPI generation code.
Maybe we could add a small note for the user, that the PPTT code is sensitive to the pointers you pass in.
Is this not more appropriate to declare this in setup_topology so that all siblings can reuse it? Now you create these references for each call of new_pptt_cpu. return reference_for_cache in pptt_cache if !0?
I have moved the cache list to `setup_topology`, so this is done. Keeping the discussion open though, in case someone wants reply. Otherwise feel free to mark as done.
File src/include/acpi/acpi.h:
https://review.coreboot.org/c/coreboot/+/78071/comment/a43fdcbc_52a3816c : PS3, Line 1442: structures
Nothing on my end, but this is not my thread ;)
Okay, then I think we can close this.