Attention is currently required from: Rizwan Qureshi, Subrata Banik, Angel Pons. Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/48344 )
Change subject: soc/intel/common/block/cpu: Introduce CAR_HAS_YMM Kconfig ......................................................................
Patch Set 9:
(6 comments)
File src/soc/intel/common/block/cpu/Kconfig:
https://review.coreboot.org/c/coreboot/+/48344/comment/e35e3f46_5b7ba20c PS9, Line 73: CAR_HAS_YMM suggestion: `CAR_HAS_L3_PROTECTED_WAYS`
https://review.coreboot.org/c/coreboot/+/48344/comment/a939a51f_af6d88df PS9, Line 80: SF snoop filter
File src/soc/intel/common/block/cpu/car/cache_as_ram.S:
https://review.coreboot.org/c/coreboot/+/48344/comment/2abc40dc_20d8d127 PS9, Line 542: #if CONFIG(CAR_HAS_YMM) This code also uses rdmsr/wrmsr and so has to use `ecx`, therefore its value must be saved first. IOW, the current structure allows you to select CAR_HAS_YMM but not CAR_HAS_SF_MASKS, and in that case, `edi` would not contain the expected backed up number of ways when you try to restore from it on line 554. Therefore, you need to save it again here too, i.e.: ``` mov %ecx, %edi ```
https://review.coreboot.org/c/coreboot/+/48344/comment/1625272d_10def34d PS9, Line 543: /* Set MSR 0x1892 IA32_CR_SF_QOS_MASK_2 = (2^(no, of data ways) - 1) */ can you also add a clarification that this value is also the non-eviction mask?
https://review.coreboot.org/c/coreboot/+/48344/comment/e4683c33_248e9125 PS9, Line 550: mov %ebx, %eax : xorl %edx, %edx IIUC, these registers should still contain these values (I don't think wrmsr should have changed these registers, just read them)
File src/soc/intel/common/block/cpu/car/exit_car.S:
https://review.coreboot.org/c/coreboot/+/48344/comment/6b144226_70f5bcd7 PS9, Line 102: mov $0x00000, %eax `xorl %eax, %eax`