[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/6] target/m68k: supervisor mode (part 2)
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PATCH 0/6] target/m68k: supervisor mode (part 2) |
Date: |
Tue, 9 Jan 2018 00:10:42 +0100 |
This series introduces the MC68040 MMU.
But first of all, we need to modify the prototype
of tlb_fill() and handle_mmu_fault handler to pass
the size of the access. MC68040 stores this value
in the exception stack frame.
Following patches add:
- MMU page table and fault handlers,
- Transparent Translation Registers
- instruction "moves" to move data
between user and kernel space
- instructions pflush/ptest, to flush TLB and
convert virtual address to physical address
- "info tlb" HMP command
I have tested it doesn't break QEMU linux-user mode
emulation and coldfire softmmu machine.
With the help of these patches I'm able to start
a debian etch-m68k, but the following patches
are still missing in master:
- m68k softfloat series
- Quadra 800 machine emulation series
(VIA emulation, Nubus emulation,
ESCC control/data address bit selector,
video card emulation, ESP Pseudo-DMA,
SWIM floppy controller, Apple Sound Chip
emulation, and some big-endian fixes for
dp8393x)
Laurent Vivier (6):
accel/tcg: add size paremeter in tlb_fill()
target/m68k: add MC68040 MMU
target/m68k: add Transparent Translation
target/m68k: add moves
target/m68k: add pflush/ptest
target/m68k: add HMP command "info tlb"
accel/tcg/cputlb.c | 13 +-
accel/tcg/softmmu_template.h | 14 +-
accel/tcg/user-exec.c | 2 +-
hmp-commands-info.hx | 2 +-
include/exec/exec-all.h | 6 +-
include/qom/cpu.h | 2 +-
target/alpha/cpu.h | 2 +-
target/alpha/helper.c | 4 +-
target/alpha/mem_helper.c | 6 +-
target/arm/cpu.c | 4 +-
target/arm/op_helper.c | 4 +-
target/cris/cpu.h | 2 +-
target/cris/helper.c | 4 +-
target/cris/op_helper.c | 6 +-
target/hppa/cpu.h | 3 +-
target/hppa/helper.c | 2 +-
target/hppa/op_helper.c | 2 +-
target/i386/cpu.h | 2 +-
target/i386/excp_helper.c | 4 +-
target/i386/mem_helper.c | 6 +-
target/lm32/cpu.h | 2 +-
target/lm32/helper.c | 2 +-
target/lm32/op_helper.c | 6 +-
target/m68k/cpu.c | 4 +-
target/m68k/cpu.h | 129 +++++++-
target/m68k/helper.c | 673 +++++++++++++++++++++++++++++++++++++++++-
target/m68k/helper.h | 4 +
target/m68k/monitor.c | 22 ++
target/m68k/op_helper.c | 102 ++++++-
target/m68k/qregs.def | 2 +
target/m68k/translate.c | 112 +++++++
target/microblaze/cpu.h | 2 +-
target/microblaze/helper.c | 4 +-
target/microblaze/op_helper.c | 6 +-
target/mips/helper.c | 2 +-
target/mips/internal.h | 2 +-
target/mips/op_helper.c | 10 +-
target/moxie/cpu.h | 2 +-
target/moxie/helper.c | 10 +-
target/nios2/cpu.h | 2 +-
target/nios2/helper.c | 6 +-
target/nios2/mmu.c | 6 +-
target/openrisc/cpu.h | 2 +-
target/openrisc/mmu.c | 8 +-
target/openrisc/mmu_helper.c | 6 +-
target/ppc/cpu.h | 2 +-
target/ppc/mmu_helper.c | 4 +-
target/ppc/user_only_helper.c | 2 +-
target/s390x/excp_helper.c | 4 +-
target/s390x/internal.h | 2 +-
target/s390x/mem_helper.c | 8 +-
target/sh4/cpu.h | 2 +-
target/sh4/helper.c | 4 +-
target/sh4/op_helper.c | 6 +-
target/sparc/cpu.h | 2 +-
target/sparc/ldst_helper.c | 6 +-
target/sparc/mmu_helper.c | 6 +-
target/tilegx/cpu.c | 4 +-
target/tricore/op_helper.c | 4 +-
target/unicore32/cpu.h | 2 +-
target/unicore32/helper.c | 2 +-
target/unicore32/op_helper.c | 6 +-
target/unicore32/softmmu.c | 2 +-
target/xtensa/op_helper.c | 4 +-
64 files changed, 1156 insertions(+), 132 deletions(-)
--
2.14.3
- [Qemu-devel] [PATCH 0/6] target/m68k: supervisor mode (part 2),
Laurent Vivier <=
- [Qemu-devel] [PATCH 3/6] target/m68k: add Transparent Translation, Laurent Vivier, 2018/01/08
- [Qemu-devel] [PATCH 5/6] target/m68k: add pflush/ptest, Laurent Vivier, 2018/01/08
- [Qemu-devel] [PATCH 4/6] target/m68k: add moves, Laurent Vivier, 2018/01/08
- [Qemu-devel] [PATCH 2/6] target/m68k: add MC68040 MMU, Laurent Vivier, 2018/01/08
- [Qemu-devel] [PATCH 6/6] target/m68k: add HMP command "info tlb", Laurent Vivier, 2018/01/08