/* * ======== Memory_cacheWbInvAll ======== */ Void Memory_cacheWbInvAll() { Log_print0(Diags_ENTRY, "[+E] Memory_cacheWbInvAll> Enter()"); //#ifdef xdc_target__isaCompatible_64P Cache_wbInvAll(); //#endif Log_print0(Diags_EXIT, "Memory_cacheWbInvAll> return"); }
/* * ======== Mmu_disable ======== * Function to disable the MMU. */ Void Mmu_disable() { UInt16 type; UInt key; /* if MMU is alreay disabled, just return */ if (!(Mmu_isEnabled())) { return; } key = Hwi_disable(); /* get the current enabled bits */ type = Cache_getEnabled(); if (type & Cache_Type_L1D) { /* writeback invalidate all data cache */ Cache_wbInvAll(); /* drain the write buffer */ Cache_wait(); /* disable the L1 data cache */ Cache_disable(Cache_Type_L1D); } if (type & Cache_Type_L1P) { /* invalidate all L1 program cache */ Cache_invL1pAll(); /* disable L1P cache */ Cache_disable(Cache_Type_L1P); } /* disables the MMU */ Mmu_disableAsm(); /* set cache back to initial settings */ Cache_enable(type); Hwi_restore(key); }