diff options
Diffstat (limited to 'src/cpu/intel/car/non-evict')
-rw-r--r-- | src/cpu/intel/car/non-evict/cache_as_ram.S | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/cpu/intel/car/non-evict/cache_as_ram.S b/src/cpu/intel/car/non-evict/cache_as_ram.S index 2ac660c9aa..d47fa725f1 100644 --- a/src/cpu/intel/car/non-evict/cache_as_ram.S +++ b/src/cpu/intel/car/non-evict/cache_as_ram.S @@ -43,15 +43,16 @@ wait_for_sipi: post_code(POST_SOC_CLEAR_FIXED_MTRRS) /* Clear/disable fixed MTRRs */ - mov $fixed_mtrr_list_size, %ebx + mov $fixed_mtrr_list, %ebx xor %eax, %eax xor %edx, %edx clear_fixed_mtrr: - add $-2, %ebx - movzwl fixed_mtrr_list(%ebx), %ecx + movzwl (%ebx), %ecx wrmsr - jnz clear_fixed_mtrr + add $2, %ebx + cmp $fixed_mtrr_list_end, %ebx + jl clear_fixed_mtrr /* Zero out all variable range MTRRs. */ movl $MTRR_CAP_MSR, %ecx @@ -256,6 +257,6 @@ fixed_mtrr_list: .word MTRR_FIX_4K_E8000 .word MTRR_FIX_4K_F0000 .word MTRR_FIX_4K_F8000 -fixed_mtrr_list_size = . - fixed_mtrr_list +fixed_mtrr_list_end: _cache_as_ram_setup_end: |