include/cpu/x86: Simplify en/dis cache functions

Implementation of enable/disable cache functions aren't complex,
simply drop cr0 variable usage, still maintains good readablity.

Signed-off-by: Himanshu Sahdev <himanshu.sahdev@intel.com>
Change-Id: I81688e8bbb073e1d09ecf63f3f33e1651dbd778e
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75552
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
Himanshu Sahdev 2023-05-31 15:50:21 +05:30 committed by Felix Singer
parent 21e61847c4
commit 7315b4064d
1 changed files with 2 additions and 8 deletions

View File

@ -47,10 +47,7 @@ void clflush_region(const uintptr_t start, const size_t size);
*/ */
static __always_inline void enable_cache(void) static __always_inline void enable_cache(void)
{ {
CRx_TYPE cr0; write_cr0(read_cr0() & ~(CR0_CD | CR0_NW));
cr0 = read_cr0();
cr0 &= ~(CR0_CD | CR0_NW);
write_cr0(cr0);
} }
/* /*
@ -66,10 +63,7 @@ static __always_inline bool self_snooping_supported(void)
static __always_inline void disable_cache(void) static __always_inline void disable_cache(void)
{ {
/* Disable and write back the cache */ /* Disable and write back the cache */
CRx_TYPE cr0; write_cr0(read_cr0() | CR0_CD);
cr0 = read_cr0();
cr0 |= CR0_CD;
write_cr0(cr0);
if (!self_snooping_supported()) if (!self_snooping_supported())
wbinvd(); wbinvd();
} }