diff options
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/misc.C | 8 | ||||
-rw-r--r-- | src/kernel/terminate.C | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/kernel/misc.C b/src/kernel/misc.C index 6d7e866f6..542e34c64 100644 --- a/src/kernel/misc.C +++ b/src/kernel/misc.C @@ -35,10 +35,12 @@ #include <kernel/vmmmgr.H> // INITIAL_MEM_SIZE #include <kernel/memstate.H> #include <kernel/intmsghandler.H> +#include <kernel/hbdescriptor.H> extern "C" void kernel_shutdown(size_t, uint64_t, uint64_t, uint64_t) NO_RETURN; +extern HB_Descriptor kernel_hbDescriptor; namespace KernelMisc { @@ -438,7 +440,6 @@ namespace KernelMisc namespace KernelMemState { - void setMemScratchReg(MemLocation i_location, MemSize i_size) { @@ -448,11 +449,12 @@ namespace KernelMemState l_MemData.reserved = 0; l_MemData.memSize = i_size; + isync(); + kernel_hbDescriptor.kernelMemoryState = l_MemData.Scratch6Data; KernelMisc::updateScratchReg(MMIO_SCRATCH_MEMORY_STATE, l_MemData.Scratch6Data); + lwsync(); } - - }; diff --git a/src/kernel/terminate.C b/src/kernel/terminate.C index bbb8d4aa9..0bfd5e8dd 100644 --- a/src/kernel/terminate.C +++ b/src/kernel/terminate.C @@ -41,7 +41,8 @@ HB_TI_DataArea kernel_TIDataArea; HB_Descriptor kernel_hbDescriptor = { &kernel_TIDataArea, - &KernelIpc::ipc_data_area + &KernelIpc::ipc_data_area, + 0 }; |