diff options
| author | 2020-01-19 01:49:30 +0100 | |
|---|---|---|
| committer | 2021-06-11 17:27:06 +0200 | |
| commit | 621f3f5f47bf9619148cc0ab7ed315e05abf79d7 (patch) | |
| tree | d2008e290ac507772b5f1d3b019472fc416278f2 /src/core/arm | |
| parent | tests: Add tests for host memory (diff) | |
| download | yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.gz yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.xz yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.zip | |
core: Make use of fastmem
Diffstat (limited to 'src/core/arm')
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 1 | ||||
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_64.cpp | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index cea7f0fb1..fb128f735 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp | |||
| @@ -128,6 +128,7 @@ std::shared_ptr<Dynarmic::A32::Jit> ARM_Dynarmic_32::MakeJit(Common::PageTable* | |||
| 128 | if (page_table) { | 128 | if (page_table) { |
| 129 | config.page_table = reinterpret_cast<std::array<std::uint8_t*, NUM_PAGE_TABLE_ENTRIES>*>( | 129 | config.page_table = reinterpret_cast<std::array<std::uint8_t*, NUM_PAGE_TABLE_ENTRIES>*>( |
| 130 | page_table->pointers.data()); | 130 | page_table->pointers.data()); |
| 131 | config.fastmem_pointer = page_table->fastmem_arena; | ||
| 131 | } | 132 | } |
| 132 | config.absolute_offset_page_table = true; | 133 | config.absolute_offset_page_table = true; |
| 133 | config.page_table_pointer_mask_bits = Common::PageTable::ATTRIBUTE_BITS; | 134 | config.page_table_pointer_mask_bits = Common::PageTable::ATTRIBUTE_BITS; |
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 63193dcb1..b0ac8cf8a 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp | |||
| @@ -160,6 +160,10 @@ std::shared_ptr<Dynarmic::A64::Jit> ARM_Dynarmic_64::MakeJit(Common::PageTable* | |||
| 160 | config.absolute_offset_page_table = true; | 160 | config.absolute_offset_page_table = true; |
| 161 | config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128; | 161 | config.detect_misaligned_access_via_page_table = 16 | 32 | 64 | 128; |
| 162 | config.only_detect_misalignment_via_page_table_on_page_boundary = true; | 162 | config.only_detect_misalignment_via_page_table_on_page_boundary = true; |
| 163 | |||
| 164 | config.fastmem_pointer = page_table->fastmem_arena; | ||
| 165 | config.fastmem_address_space_bits = address_space_bits; | ||
| 166 | config.silently_mirror_fastmem = false; | ||
| 163 | } | 167 | } |
| 164 | 168 | ||
| 165 | // Multi-process state | 169 | // Multi-process state |