qemu-patch-raspberry4/target-sparc
Richard Henderson cb21b4da6c target-sparc: Allow 4-byte alignment on fp mem ops
The cpu is allowed to require stricter alignment on these 8- and 16-byte
operations, and the OS is required to fix up the accesses as necessary,
so the previous code was not wrong.

However, we can easily handle this misalignment for all direct 8-byte
operations and for direct 16-byte loads.

We must retain 16-byte alignment for 16-byte stores, so that we don't have
to probe for writability of a second page before performing the first of
two 8-byte stores.  We also retain 8-byte alignment for no-fault loads,
since they are rare and it's not worth extending the helpers for this.

Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <rth@twiddle.net>
2016-10-31 14:46:47 -06:00
..
asi.h target-sparc: Add UA2005 defines to asi.h 2016-07-12 11:02:22 -07:00
cc_helper.c coccinelle: Remove unnecessary variables for function return value 2016-06-20 16:38:13 +02:00
cpu-qom.h target-sparc: make cpu-qom.h not target specific 2016-05-19 16:41:34 +02:00
cpu.c exec: move cpu_exec_init() calls to realize functions 2016-10-24 17:29:16 -02:00
cpu.h target-sparc: Add MMU_PHYS_IDX 2016-10-31 09:46:25 -06:00
fop_helper.c target-sparc: Use cpu_loop_exit_restore from helper_check_ieee_exceptions 2016-07-12 11:02:58 -07:00
gdbstub.c qemu-common: push cpu.h inclusion out of qemu-common.h 2016-05-19 16:42:29 +02:00
helper.c target-sparc: Introduce cpu_raise_exception_ra 2016-10-31 09:46:25 -06:00
helper.h target-sparc: Implement ldqf and stqf inline 2016-10-31 14:46:47 -06:00
int32_helper.c log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
int64_helper.c target-sparc: fix Trap Based Address Register behavior for sparc64 2016-04-15 09:30:40 +01:00
ldst_helper.c target-sparc: Implement ldqf and stqf inline 2016-10-31 14:46:47 -06:00
machine.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
Makefile.objs monitor: remove target-specific code from monitor.c 2015-09-16 17:33:32 +02:00
mmu_helper.c target-sparc: Add MMU_PHYS_IDX 2016-10-31 09:46:25 -06:00
monitor.c sparc: Clean up includes 2016-01-29 15:07:22 +00:00
TODO fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
trace-events trace-events: fix first line comment in trace-events 2016-08-12 10:36:01 +01:00
translate.c target-sparc: Allow 4-byte alignment on fp mem ops 2016-10-31 14:46:47 -06:00
vis_helper.c sparc: Clean up includes 2016-01-29 15:07:22 +00:00
win_helper.c target-sparc: Introduce cpu_raise_exception_ra 2016-10-31 09:46:25 -06:00