mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-23 07:12:46 +01:00
Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.
This fixes building the tests
This commit is contained in:
parent
f18a176b60
commit
3bde97ea05
1 changed files with 14 additions and 4 deletions
|
@ -3,20 +3,30 @@
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
|
#include "core/memory.h"
|
||||||
#include "core/memory_setup.h"
|
#include "core/memory_setup.h"
|
||||||
#include "tests/core/arm/arm_test_common.h"
|
#include "tests/core/arm/arm_test_common.h"
|
||||||
|
|
||||||
namespace ArmTests {
|
namespace ArmTests {
|
||||||
|
|
||||||
|
static Memory::PageTable page_table;
|
||||||
|
|
||||||
TestEnvironment::TestEnvironment(bool mutable_memory_)
|
TestEnvironment::TestEnvironment(bool mutable_memory_)
|
||||||
: mutable_memory(mutable_memory_), test_memory(std::make_shared<TestMemory>(this)) {
|
: 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() {
|
TestEnvironment::~TestEnvironment() {
|
||||||
Memory::UnmapRegion(0x80000000, 0x80000000);
|
Memory::UnmapRegion(page_table, 0x80000000, 0x80000000);
|
||||||
Memory::UnmapRegion(0x00000000, 0x80000000);
|
Memory::UnmapRegion(page_table, 0x00000000, 0x80000000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestEnvironment::SetMemory64(VAddr vaddr, u64 value) {
|
void TestEnvironment::SetMemory64(VAddr vaddr, u64 value) {
|
||||||
|
|
Loading…
Reference in a new issue