mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 03:18:55 +02:00
[dynarmic, jit] add address mapping checks for jit service
Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
parent
e9f4541069
commit
7e0cc4aac3
2 changed files with 3 additions and 1 deletions
|
|
@ -226,7 +226,7 @@ void ArmDynarmic64::MakeJit(Common::PageTable* page_table, std::size_t address_s
|
||||||
config.only_detect_misalignment_via_page_table_on_page_boundary = true;
|
config.only_detect_misalignment_via_page_table_on_page_boundary = true;
|
||||||
|
|
||||||
config.fastmem_pointer = page_table->fastmem_arena ?
|
config.fastmem_pointer = page_table->fastmem_arena ?
|
||||||
std::optional<uintptr_t>{reinterpret_cast<uintptr_t>(page_table->fastmem_arena)} :
|
std::optional<uintptr_t>{uintptr_t(page_table->fastmem_arena)} :
|
||||||
std::nullopt;
|
std::nullopt;
|
||||||
config.fastmem_address_space_bits = std::uint32_t(address_space_bits);
|
config.fastmem_address_space_bits = std::uint32_t(address_space_bits);
|
||||||
config.silently_mirror_fastmem = false;
|
config.silently_mirror_fastmem = false;
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,8 @@ public:
|
||||||
mapped_ranges{mapped_ranges_}, parent{parent_} {}
|
mapped_ranges{mapped_ranges_}, parent{parent_} {}
|
||||||
|
|
||||||
std::optional<std::uint32_t> MemoryReadCode(VAddr vaddr) override {
|
std::optional<std::uint32_t> MemoryReadCode(VAddr vaddr) override {
|
||||||
|
if (!memory.IsValidVirtualAddressRange(vaddr, sizeof(u32)))
|
||||||
|
return std::nullopt;
|
||||||
static_assert(Core::Memory::YUZU_PAGESIZE == Dynarmic::CODE_PAGE_SIZE);
|
static_assert(Core::Memory::YUZU_PAGESIZE == Dynarmic::CODE_PAGE_SIZE);
|
||||||
auto const aligned_vaddr = vaddr & ~Core::Memory::YUZU_PAGEMASK;
|
auto const aligned_vaddr = vaddr & ~Core::Memory::YUZU_PAGEMASK;
|
||||||
if (last_code_addr != aligned_vaddr) {
|
if (last_code_addr != aligned_vaddr) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue