citra-emu
/
citra-canary
Archived
1
0
Fork 0

Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.

This fixes building the tests
This commit is contained in:
Subv 2017-08-07 14:30:01 -05:00
parent f18a176b60
commit 3bde97ea05
1 changed files with 14 additions and 4 deletions

View File

@ -3,20 +3,30 @@
// Refer to the license.txt file included.
#include "core/core.h"
#include "core/memory.h"
#include "core/memory_setup.h"
#include "tests/core/arm/arm_test_common.h"
namespace ArmTests {
static Memory::PageTable page_table;
TestEnvironment::TestEnvironment(bool mutable_memory_)
: mutable_memory(mutable_memory_), test_memory(std::make_shared<TestMemory>(this)) {
Memory::MapIoRegion(0x00000000, 0x80000000, test_memory);
Memory::MapIoRegion(0x80000000, 0x80000000, test_memory);
page_table.pointers.fill(nullptr);
page_table.attributes.fill(Memory::PageType::Unmapped);
page_table.cached_res_count.fill(0);
Memory::MapIoRegion(page_table, 0x00000000, 0x80000000, test_memory);
Memory::MapIoRegion(page_table, 0x80000000, 0x80000000, test_memory);
Memory::current_page_table = &page_table;
}
TestEnvironment::~TestEnvironment() {
Memory::UnmapRegion(0x80000000, 0x80000000);
Memory::UnmapRegion(0x00000000, 0x80000000);
Memory::UnmapRegion(page_table, 0x80000000, 0x80000000);
Memory::UnmapRegion(page_table, 0x00000000, 0x80000000);
}
void TestEnvironment::SetMemory64(VAddr vaddr, u64 value) {