diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-05-21 19:03:21 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-05-21 19:03:21 +0000 |
commit | 665285f217b3fce3b0b7e69f76972a3475ba063b (patch) | |
tree | dee4e1cb3f22676d1a118a812caa4cc6531b3117 /c/src/lib/libcpu/i386/cache.c | |
parent | 2010-05-21 Vinu Rajashekhar <vinutheraj@gmail.com> (diff) | |
download | rtems-665285f217b3fce3b0b7e69f76972a3475ba063b.tar.bz2 |
2010-05-21 Vinu Rajashekhar <vinutheraj@gmail.com>
* cache.c, page.c: Use masks and shift operations instead of
bit-fields.
Diffstat (limited to 'c/src/lib/libcpu/i386/cache.c')
-rw-r--r-- | c/src/lib/libcpu/i386/cache.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/c/src/lib/libcpu/i386/cache.c b/c/src/lib/libcpu/i386/cache.c index 5f764b14bf..a409af78ed 100644 --- a/c/src/lib/libcpu/i386/cache.c +++ b/c/src/lib/libcpu/i386/cache.c @@ -9,12 +9,12 @@ #include "cache_.h" void _CPU_disable_cache(void) { - cr0 regCr0; + unsigned int regCr0; - regCr0.i = i386_get_cr0(); - regCr0.cr0.page_level_cache_disable = 1; - regCr0.cr0.no_write_through = 1; - i386_set_cr0( regCr0.i ); + regCr0 = i386_get_cr0(); + regCr0 |= CR0_PAGE_LEVEL_CACHE_DISABLE; + regCr0 |= CR0_NO_WRITE_THROUGH; + i386_set_cr0( regCr0 ); rtems_cache_flush_entire_data(); } @@ -23,12 +23,12 @@ void _CPU_disable_cache(void) { */ void _CPU_enable_cache(void) { - cr0 regCr0; + unsigned int regCr0; - regCr0.i = i386_get_cr0(); - regCr0.cr0.page_level_cache_disable = 0; - regCr0.cr0.no_write_through = 0; - i386_set_cr0( regCr0.i ); + regCr0 = i386_get_cr0(); + regCr0 &= ~(CR0_PAGE_LEVEL_CACHE_DISABLE); + regCr0 &= ~(CR0_NO_WRITE_THROUGH); + i386_set_cr0( regCr0 ); /*rtems_cache_flush_entire_data();*/ } |