summaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 9d87045a0..66634596d 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -29,15 +29,12 @@ namespace Core::Memory {
29struct Memory::Impl { 29struct Memory::Impl {
30 explicit Impl(Core::System& system_) : system{system_} {} 30 explicit Impl(Core::System& system_) : system{system_} {}
31 31
32 void SetCurrentPageTable(Kernel::Process& process) { 32 void SetCurrentPageTable(Kernel::Process& process, u32 core_id) {
33 current_page_table = &process.PageTable().PageTableImpl(); 33 current_page_table = &process.PageTable().PageTableImpl();
34 34
35 const std::size_t address_space_width = process.PageTable().GetAddressSpaceWidth(); 35 const std::size_t address_space_width = process.PageTable().GetAddressSpaceWidth();
36 36
37 system.ArmInterface(0).PageTableChanged(*current_page_table, address_space_width); 37 system.ArmInterface(core_id).PageTableChanged(*current_page_table, address_space_width);
38 system.ArmInterface(1).PageTableChanged(*current_page_table, address_space_width);
39 system.ArmInterface(2).PageTableChanged(*current_page_table, address_space_width);
40 system.ArmInterface(3).PageTableChanged(*current_page_table, address_space_width);
41 } 38 }
42 39
43 void MapMemoryRegion(Common::PageTable& page_table, VAddr base, u64 size, PAddr target) { 40 void MapMemoryRegion(Common::PageTable& page_table, VAddr base, u64 size, PAddr target) {
@@ -689,8 +686,8 @@ struct Memory::Impl {
689Memory::Memory(Core::System& system) : impl{std::make_unique<Impl>(system)} {} 686Memory::Memory(Core::System& system) : impl{std::make_unique<Impl>(system)} {}
690Memory::~Memory() = default; 687Memory::~Memory() = default;
691 688
692void Memory::SetCurrentPageTable(Kernel::Process& process) { 689void Memory::SetCurrentPageTable(Kernel::Process& process, u32 core_id) {
693 impl->SetCurrentPageTable(process); 690 impl->SetCurrentPageTable(process, core_id);
694} 691}
695 692
696void Memory::MapMemoryRegion(Common::PageTable& page_table, VAddr base, u64 size, PAddr target) { 693void Memory::MapMemoryRegion(Common::PageTable& page_table, VAddr base, u64 size, PAddr target) {