#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cpu.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/m8820x.h"
#include "thirdparty/m8820x_pte.h"
Go to the source code of this file.
Functions | |
void | m8820x_mark_page_as_modified (struct cpu *cpu, struct m8820x_cmmu *cmmu, uint32_t apr, uint32_t vaddr) |
int | m88k_translate_v2p (struct cpu *cpu, uint64_t vaddr64, uint64_t *return_paddr, int flags) |
void m8820x_mark_page_as_modified | ( | struct cpu * | cpu, |
struct m8820x_cmmu * | cmmu, | ||
uint32_t | apr, | ||
uint32_t | vaddr | ||
) |
Definition at line 59 of file memory_m88k.cc.
References BE32_TO_HOST, cpu::byte_order, EMUL_LITTLE_ENDIAN, LE32_TO_HOST, cpu::mem, memory_paddr_to_hostaddr(), PG_M, and PG_U.
Referenced by m88k_translate_v2p().
int m88k_translate_v2p | ( | struct cpu * | cpu, |
uint64_t | vaddr64, | ||
uint64_t * | return_paddr, | ||
int | flags | ||
) |
Definition at line 103 of file memory_m88k.cc.
References APR_V, m8820x_cmmu::batc, BATC_PROT, BATC_SO, BATC_V, BE32_TO_HOST, cpu::byte_order, cpu::cd, m88k_cpu::cmmu, CMMU_PFAR, CMMU_PFSR, CMMU_PFSR_PFAULT, CMMU_PFSR_SFAULT, CMMU_PFSR_SUCCESS, CMMU_PFSR_SUPER, CMMU_PFSR_WRITE, CMMU_SAPR, CMMU_UAPR, m88k_cpu::cr, EMUL_LITTLE_ENDIAN, fatal(), FLAG_INSTR, FLAG_NOEXCEPTIONS, FLAG_WRITEFLAG, instr, cpu::invalidate_translation_caches, INVALIDATE_VADDR, LE32_TO_HOST, m8820x_mark_page_as_modified(), M8820X_PATC_SUPERVISOR_BIT, cpu::m88k, M88K_CR_PSR, m88k_exception(), M88K_EXCEPTION_DATA_ACCESS, M88K_EXCEPTION_INSTRUCTION_ACCESS, M88K_PSR_MODE, cpu::mem, memory_paddr_to_hostaddr(), MEMORY_USER_ACCESS, N_M88200_BATC_REGS, N_M88200_PATC_ENTRIES, m8820x_cmmu::patc_p_and_supervisorbit, m8820x_cmmu::patc_update_index, m8820x_cmmu::patc_v_and_control, PG_M, PG_PROT, PG_RO, PG_SO, PG_U, PG_V, m8820x_cmmu::reg, SG_RO, SG_SO, and SG_V.