Kernel: pass in MemorySystem
This commit is contained in:
parent
6992f76acf
commit
8118be6615
6 changed files with 17 additions and 7 deletions
|
@ -176,7 +176,7 @@ System::ResultStatus System::Init(EmuWindow& emu_window, u32 system_mode) {
|
|||
|
||||
timing = std::make_unique<Timing>();
|
||||
|
||||
kernel = std::make_unique<Kernel::KernelSystem>(system_mode);
|
||||
kernel = std::make_unique<Kernel::KernelSystem>(*memory, system_mode);
|
||||
|
||||
if (Settings::values.use_cpu_jit) {
|
||||
#ifdef ARCHITECTURE_x86_64
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
namespace Kernel {
|
||||
|
||||
/// Initialize the kernel
|
||||
KernelSystem::KernelSystem(u32 system_mode) {
|
||||
KernelSystem::KernelSystem(Memory::MemorySystem& memory, u32 system_mode) : memory(memory) {
|
||||
MemoryInit(system_mode);
|
||||
|
||||
resource_limits = std::make_unique<ResourceLimitList>(*this);
|
||||
|
|
|
@ -23,6 +23,10 @@ namespace SharedPage {
|
|||
class Handler;
|
||||
}
|
||||
|
||||
namespace Memory {
|
||||
class MemorySystem;
|
||||
}
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
class AddressArbiter;
|
||||
|
@ -73,7 +77,7 @@ using SharedPtr = boost::intrusive_ptr<T>;
|
|||
|
||||
class KernelSystem {
|
||||
public:
|
||||
explicit KernelSystem(u32 system_mode);
|
||||
explicit KernelSystem(Memory::MemorySystem& memory, u32 system_mode);
|
||||
~KernelSystem();
|
||||
|
||||
/**
|
||||
|
@ -220,6 +224,8 @@ public:
|
|||
/// Map of named ports managed by the kernel, which can be retrieved using the ConnectToPort
|
||||
std::unordered_map<std::string, SharedPtr<ClientPort>> named_ports;
|
||||
|
||||
Memory::MemorySystem& memory;
|
||||
|
||||
private:
|
||||
void MemoryInit(u32 mem_type);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue