summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/common/block/cpu/car/cache_as_ram.S12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/soc/intel/common/block/cpu/car/cache_as_ram.S b/src/soc/intel/common/block/cpu/car/cache_as_ram.S
index 74957aba9f..784e8ca0ae 100644
--- a/src/soc/intel/common/block/cpu/car/cache_as_ram.S
+++ b/src/soc/intel/common/block/cpu/car/cache_as_ram.S
@@ -514,15 +514,15 @@ find_llc_subleaf:
subl $0x01, %eax
set_eviction_mask:
- mov %ebx, %ecx /* back up number of ways */
- mov %eax, %ebx /* back up the non-eviction mask*/
+ mov %ebx, %edi /* back up number of ways */
+ mov %eax, %esi /* back up the non-eviction mask*/
#if CONFIG(CAR_HAS_SF_MASKS)
- mov %ecx, %edi /* use number of ways to prepare SF mask */
/*
* SF mask is programmed with the double number of bits than
* the number of ways
*/
mov $0x01, %eax
+ mov %edi, %ecx
shl %cl, %eax
shl %cl, %eax
subl $0x01, %eax /* contains SF mask */
@@ -533,7 +533,6 @@ set_eviction_mask:
movl $IA32_CR_SF_QOS_MASK_1, %ecx
xorl %edx, %edx
wrmsr
- mov %edi, %ecx /* restore number of ways */
#endif
/*
* Program MSR 0xC91 IA32_L3_MASK_1
@@ -542,10 +541,11 @@ set_eviction_mask:
* - If this bit is '1' - the way is not protected from eviction
*/
mov $0x1, %eax
+ mov %edi, %ecx
shl %cl, %eax
subl $0x01, %eax
mov %eax, %ecx
- mov %ebx, %eax
+ mov %esi, %eax
xor $~0, %eax /* invert 32 bits */
and %ecx, %eax
@@ -558,7 +558,7 @@ set_eviction_mask:
* - If this bit is '0' - the way is protected from eviction
* - If this bit is '1' - the way is not protected from eviction
*/
- mov %ebx, %eax
+ mov %esi, %eax
movl $IA32_L3_MASK_2, %ecx
xorl %edx, %edx
wrmsr