mirror of
https://github.com/mii443/qemu.git
synced 2025-12-12 05:18:37 +00:00
cpu: Add per-cpu address space
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
@@ -96,6 +96,7 @@ void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end,
|
||||
int is_cpu_write_access);
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
void tcg_cpu_address_space_init(CPUState *cpu, AddressSpace *as);
|
||||
/* cputlb.c */
|
||||
void tlb_flush_page(CPUArchState *env, target_ulong addr);
|
||||
void tlb_flush(CPUArchState *env, int flush_global);
|
||||
|
||||
@@ -122,7 +122,8 @@ static inline DATA_TYPE glue(io_read, SUFFIX)(CPUArchState *env,
|
||||
uintptr_t retaddr)
|
||||
{
|
||||
uint64_t val;
|
||||
MemoryRegion *mr = iotlb_to_region(&address_space_memory, physaddr);
|
||||
CPUState *cpu = ENV_GET_CPU(env);
|
||||
MemoryRegion *mr = iotlb_to_region(cpu->as, physaddr);
|
||||
|
||||
physaddr = (physaddr & TARGET_PAGE_MASK) + addr;
|
||||
env->mem_io_pc = retaddr;
|
||||
@@ -328,7 +329,8 @@ static inline void glue(io_write, SUFFIX)(CPUArchState *env,
|
||||
target_ulong addr,
|
||||
uintptr_t retaddr)
|
||||
{
|
||||
MemoryRegion *mr = iotlb_to_region(&address_space_memory, physaddr);
|
||||
CPUState *cpu = ENV_GET_CPU(env);
|
||||
MemoryRegion *mr = iotlb_to_region(cpu->as, physaddr);
|
||||
|
||||
physaddr = (physaddr & TARGET_PAGE_MASK) + addr;
|
||||
if (mr != &io_mem_rom && mr != &io_mem_notdirty && !can_do_io(env)) {
|
||||
|
||||
Reference in New Issue
Block a user