Remove MMU hacks
Unicorn has included some ugly hacks to provide a envirement where vaddr == paddr. These hacks where to use the full 64 bit mappings on x86 without init the mmu and some memory redirect for MIPS. The UC_TLB_CPU mode defaults to vaddr == paddr, therfor these hacks aren't required anymore.
This commit is contained in:
@@ -10253,7 +10253,6 @@ static void ppc_cpu_class_init(struct uc_struct *uc, CPUClass *oc)
|
||||
cc->do_unaligned_access = ppc_cpu_do_unaligned_access;
|
||||
cc->get_phys_page_debug = ppc_cpu_get_phys_page_debug;
|
||||
cc->tcg_initialize = ppc_translate_init;
|
||||
cc->tlb_fill = ppc_cpu_tlb_fill;
|
||||
cc->tlb_fill_cpu = ppc_cpu_tlb_fill;
|
||||
cc->cpu_exec_enter = ppc_cpu_exec_enter;
|
||||
cc->cpu_exec_exit = ppc_cpu_exec_exit;
|
||||
|
||||
@@ -77,21 +77,6 @@ static inline int uc_ppc_store_msr(CPUPPCState *env, target_ulong value,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint64_t ppc_mem_redirect(uint64_t address)
|
||||
{
|
||||
/* // kseg0 range masks off high address bit
|
||||
if (address >= 0x80000000 && address <= 0x9fffffff)
|
||||
return address & 0x7fffffff;
|
||||
|
||||
// kseg1 range masks off top 3 address bits
|
||||
if (address >= 0xa0000000 && address <= 0xbfffffff) {
|
||||
return address & 0x1fffffff;
|
||||
}*/
|
||||
|
||||
// no redirect
|
||||
return address;
|
||||
}
|
||||
|
||||
static void ppc_set_pc(struct uc_struct *uc, uint64_t address)
|
||||
{
|
||||
((CPUPPCState *)uc->cpu->env_ptr)->nip = address;
|
||||
@@ -435,7 +420,6 @@ void ppc_uc_init(struct uc_struct *uc)
|
||||
uc->release = ppc_release;
|
||||
uc->set_pc = ppc_set_pc;
|
||||
uc->get_pc = ppc_get_pc;
|
||||
uc->mem_redirect = ppc_mem_redirect;
|
||||
uc->cpus_init = ppc_cpus_init;
|
||||
uc->cpu_context_size = offsetof(CPUPPCState, uc);
|
||||
uc_common_init(uc);
|
||||
|
||||
Reference in New Issue
Block a user