[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/3] target-m68k: add movem, BCD and CAS instruct
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PATCH v2 0/3] target-m68k: add movem, BCD and CAS instructions |
Date: |
Wed, 2 Nov 2016 22:15:16 +0100 |
This series is another subset of the series I sent in May:
https://lists.gnu.org/archive/html/qemu-devel/2016-05/msg00501.html
This subset contains reworked patches for:
- abcd/nbcd/sbcd: remove inline, delay write back to memory and
use only 3 digits (and extract it from the bifield patch as
it was squashed into it)
- movem: delay the update of the registers to the end of the load
sequence to be able to restart the operation in case of page
fault, and manage the 68020+ <-> 68000/68010 special case
- cas/cas2: rewrite according Richard's comments,
and use cmpxchg() in cas.
I've checked it doesn't break coldfire support:
http://wiki.qemu.org/download/coldfire-test-0.1.tar.bz2
but it can't boot a 680x0 processor kernel.
v2:
- movem: don't use temp variable mask2
- bcd: delay register write back
fix bcd_add() to add X
define bcd_sub() instead of bsd_neg()
- cas2: make it atomic with "parallel_cpus" and
cpu_loop_exit_atomic() (and 64bit cmpxchg()
if possible)
Richard: This series doesn't use your "areg writeback" series,
but if you resend your series (with cmpm patches squashed
and the fix for writeback_mask), I will rebase this series
on top of yours.
Thanks,
Laurent
Laurent Vivier (3):
target-m68k: add abcd/sbcd/nbcd
target-m68k: implement 680x0 movem
target-m68k: add cas/cas2 ops
target-m68k/helper.h | 2 +
target-m68k/op_helper.c | 133 +++++++++++++
target-m68k/translate.c | 481 ++++++++++++++++++++++++++++++++++++++++++++++--
3 files changed, 599 insertions(+), 17 deletions(-)
--
2.7.4
- [Qemu-devel] [PATCH v2 0/3] target-m68k: add movem, BCD and CAS instructions,
Laurent Vivier <=