Attention is currently required from: Jérémy Compostella.
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/81449?usp=email )
Change subject: [WIP]arch/x86/car.ld: Drop the mrc_var section ......................................................................
Patch Set 1: Code-Review-2
(1 comment)
Patchset:
PS1:
I found one occurence where it might be indirectly used.
#+caption: coreboot::src/northbridge/intel/sandybridge/raminit_mrc.c #+begin_src c -n 234 #define DCACHE_RAM_MRC_VAR_BASE (CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE \ + CONFIG_DCACHE_RAM_MRC_VAR_SIZE - 0x4000) #+end_src
#+caption: coreboot::src/northbridge/intel/sandybridge/raminit_mrc.c #+begin_src c -n 416 /* Sanity check mrc_var location by verifying a known field */ mrc_var = (void *)DCACHE_RAM_MRC_VAR_BASE; if (mrc_var->tx_byte == pei_data.tx_byte_ptr) { printk(BIOS_DEBUG, "MRC_VAR pool occupied [%08x,%08x]\n", mrc_var->pool_base, mrc_var->pool_base + mrc_var->pool_used); #+end_src
But I am still a bit puzzled by the way the math is done in this file I am not familiar with and curious why they don't access the region through its symbol
I think the code predates the elf section. The section was added to be able to unify CAR setup on all targets that support the non-evict MSR, to know how the MTRR needs to be set up. Now that I'm writing this, it's obvious that it's going to break those platforms ^^