void
OSEnableOverlayArena(uint32_t unk,
                     be_val<uint32_t> *addr,
                     be_val<uint32_t> *size)
{
   if (!sOverlayArenaEnabled) {
      auto bounds = kernel::initialiseOverlayArena();
      sOverlayArenaBase = bounds.start;
      sOverlayArenaSize = bounds.size;
      sOverlayArenaEnabled = true;
   }

   OSGetOverlayArenaRange(addr, size);
}
void
OSEnableOverlayArena(uint32_t unk,
                     be_val<uint32_t> *addr,
                     be_val<uint32_t> *size)
{
   if (!sOverlayArenaEnabled) {
      if (!mem::commit(mem::OverlayArenaBase, mem::OverlayArenaSize)) {
         decaf_abort("Failed to allocate loader overlay memory");
      }

      sOverlayArenaEnabled = true;
   }

   OSGetOverlayArenaRange(addr, size);
}