From: Laurent Vivier <laurent@vivier.eu>
To: qemu-devel@nongnu.org
Cc: Thomas Huth <huth@tuxfamily.org>, Laurent Vivier <laurent@vivier.eu>
Subject: [Qemu-devel] [PATCH v2 0/7] target/m68k: supervisor mode (part 2)
Date: Sat, 13 Jan 2018 01:43:31 +0100 [thread overview]
Message-ID: <20180113004338.16867-1-laurent@vivier.eu> (raw)
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)
v2: use "0" for the access size when we don't know
the size of the access
move mmu_fault to CPUM68KState
set TARGET_PAGE_BITS to 12 to avoid tlb_add_large_page() path
use -page_size to mask address instead of TARGET_PAGE_MASK
add ACCESS_DEBUG to not update page table USED/MODIFIED bits
on gdb access
rename ACCESS_INT to ACCESS_DATA
add index parameter to gen_load()/gen_store()
copy bit 2 of SFC and DFC to tb->flags to
inline memory access in moves decoder
change ACCESS_PTEST value because of new ACCESS_DEBUG
Laurent Vivier (7):
accel/tcg: add size paremeter in tlb_fill()
target/m68k: add MC68040 MMU
target/m68k: add Transparent Translation
target/m68k: add index parameter to gen_load()/gen_store() and Co.
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 | 145 +++++++++-
target/m68k/helper.c | 604 +++++++++++++++++++++++++++++++++++++++++-
target/m68k/helper.h | 2 +
target/m68k/monitor.c | 22 ++
target/m68k/op_helper.c | 101 ++++++-
target/m68k/qregs.def | 2 +
target/m68k/translate.c | 247 ++++++++++++-----
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, 1166 insertions(+), 201 deletions(-)
--
2.14.3
next reply other threads:[~2018-01-13 0:43 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-13 0:43 Laurent Vivier [this message]
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 1/7] accel/tcg: add size paremeter in tlb_fill() Laurent Vivier
2018-01-15 18:07 ` Richard Henderson
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 2/7] target/m68k: add MC68040 MMU Laurent Vivier
2018-01-15 18:16 ` Richard Henderson
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 3/7] target/m68k: add Transparent Translation Laurent Vivier
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 4/7] target/m68k: add index parameter to gen_load()/gen_store() and Co Laurent Vivier
2018-01-15 18:28 ` Richard Henderson
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 5/7] target/m68k: add moves Laurent Vivier
2018-01-15 18:37 ` Richard Henderson
2018-01-16 17:48 ` Laurent Vivier
2018-01-16 20:06 ` Richard Henderson
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 6/7] target/m68k: add pflush/ptest Laurent Vivier
2018-01-13 0:43 ` [Qemu-devel] [PATCH v2 7/7] target/m68k: add HMP command "info tlb" Laurent Vivier
2018-01-13 1:11 ` [Qemu-devel] [PATCH v2 0/7] target/m68k: supervisor mode (part 2) no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180113004338.16867-1-laurent@vivier.eu \
--to=laurent@vivier.eu \
--cc=huth@tuxfamily.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).