From 7315b4064ddaaaaafff8c571053590d9fef89908 Mon Sep 17 00:00:00 2001 From: Himanshu Sahdev Date: Wed, 31 May 2023 15:50:21 +0530 Subject: [PATCH] include/cpu/x86: Simplify en/dis cache functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implementation of enable/disable cache functions aren't complex, simply drop cr0 variable usage, still maintains good readablity. Signed-off-by: Himanshu Sahdev Change-Id: I81688e8bbb073e1d09ecf63f3f33e1651dbd778e Reviewed-on: https://review.coreboot.org/c/coreboot/+/75552 Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) Reviewed-by: Jérémy Compostella Reviewed-by: Subrata Banik --- src/include/cpu/x86/cache.h | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/include/cpu/x86/cache.h b/src/include/cpu/x86/cache.h index d4d9160252..dcc96b6626 100644 --- a/src/include/cpu/x86/cache.h +++ b/src/include/cpu/x86/cache.h @@ -47,10 +47,7 @@ void clflush_region(const uintptr_t start, const size_t size); */ static __always_inline void enable_cache(void) { - CRx_TYPE cr0; - cr0 = read_cr0(); - cr0 &= ~(CR0_CD | CR0_NW); - write_cr0(cr0); + write_cr0(read_cr0() & ~(CR0_CD | CR0_NW)); } /* @@ -66,10 +63,7 @@ static __always_inline bool self_snooping_supported(void) static __always_inline void disable_cache(void) { /* Disable and write back the cache */ - CRx_TYPE cr0; - cr0 = read_cr0(); - cr0 |= CR0_CD; - write_cr0(cr0); + write_cr0(read_cr0() | CR0_CD); if (!self_snooping_supported()) wbinvd(); }