memory.h 676 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include "common/common_types.h"
  7. #include "core/hle/kernel/process.h"
  8. namespace Kernel {
  9. class VMManager;
  10. struct MemoryRegionInfo {
  11. u32 base; // Not an address, but offset from start of FCRAM
  12. u32 size;
  13. u32 used;
  14. std::shared_ptr<std::vector<u8>> linear_heap_memory;
  15. };
  16. void MemoryInit(u32 mem_type);
  17. void MemoryShutdown();
  18. MemoryRegionInfo* GetMemoryRegion(MemoryRegion region);
  19. }
  20. namespace Memory {
  21. void Init();
  22. void InitLegacyAddressSpace(Kernel::VMManager& address_space);
  23. } // namespace