void paging_enable( physaddr_t addr ) { uint32_t cr0; i386_set_cr3( addr ); cr0 = i386_get_cr0( ); cr0 |= PAGING_CR0_PG; i386_set_cr0( cr0 ); paging_enabled = 1; }
void _CPU_disable_cache(void) { unsigned int regCr0; regCr0 = i386_get_cr0(); regCr0 |= CR0_PAGE_LEVEL_CACHE_DISABLE; regCr0 |= CR0_NO_WRITE_THROUGH; i386_set_cr0( regCr0 ); rtems_cache_flush_entire_data(); }
void _CPU_enable_cache(void) { unsigned int regCr0; regCr0 = i386_get_cr0(); regCr0 &= ~(CR0_PAGE_LEVEL_CACHE_DISABLE); regCr0 &= ~(CR0_NO_WRITE_THROUGH); i386_set_cr0( regCr0 ); /*rtems_cache_flush_entire_data();*/ }