mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-02-19 06:49:38 +00:00
A64: Match A32 page_table code
Here we increase the similarity between the A64 and A32 front-ends in terms of their page_table handling code. In this commit, we: * Reserve and use r14 as a register to store the page_table pointer. * Align the code to be more similar in structure. * Add a conf member to A32EmitContext. * Remove scratch argument from EmitVAddrLookup.
This commit is contained in:
@@ -33,8 +33,12 @@ static RunCodeCallbacks GenRunCodeCallbacks(A64::UserCallbacks* cb, CodePtr (*Lo
|
||||
};
|
||||
}
|
||||
|
||||
static std::function<void(BlockOfCode&)> GenRCP(const A64::UserConfig&) {
|
||||
return [](BlockOfCode&){};
|
||||
static std::function<void(BlockOfCode&)> GenRCP(const A64::UserConfig& conf) {
|
||||
return [conf](BlockOfCode& code) {
|
||||
if (conf.page_table) {
|
||||
code.mov(code.r14, Common::BitCast<u64>(conf.page_table));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
struct Jit::Impl final {
|
||||
|
||||
Reference in New Issue
Block a user