qemu/target-ppc
David Gibson bcd8123003 target-ppc: Rework ppc_store_slb
ppc_store_slb updates the SLB for PPC cpus with 64-bit hash MMUs.
Currently it takes two parameters, which contain values encoded as the
register arguments to the slbmte instruction, one register contains the
ESID portion of the SLBE and also the slot number, the other contains the
VSID portion of the SLBE.

We're shortly going to want to do some SLB updates from other code where
it is more convenient to supply the slot number and ESID separately, so
rework this function and its callers to work this way.

As a bonus, this slightly simplifies the emulation of segment registers for
when running a 32-bit OS on a 64-bit CPU.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Alexander Graf <agraf@suse.de>
2016-01-30 23:37:38 +11:00
..
arch_dump.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
cpu-models.c target-ppc: Use sensible POWER8/POWER8E versions 2016-01-30 23:36:16 +11:00
cpu-models.h target-ppc: Use sensible POWER8/POWER8E versions 2016-01-30 23:36:16 +11:00
cpu-qom.h dump: qemunotes aren't commonly needed 2016-01-15 14:40:24 +00:00
cpu.h target-ppc: rename and export maybe_bswap_register() 2016-01-30 23:37:37 +11:00
dfp_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
excp_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
fpu_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
gdbstub.c target-ppc: rename and export maybe_bswap_register() 2016-01-30 23:37:37 +11:00
helper_regs.h PPC: Only enter MSR_POW when no interrupts pending 2014-04-08 11:20:05 +02:00
helper.h target-ppc: Introduce tbegin 2015-01-07 16:16:27 +01:00
int_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
kvm_ppc.h target-ppc: Remove unused kvmppc_read_segment_page_sizes() stub 2016-01-30 23:37:38 +11:00
kvm-stub.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
kvm.c target-ppc: Rework ppc_store_slb 2016-01-30 23:37:38 +11:00
machine.c target-ppc: use cpu_write_xer() helper in cpu_post_load 2016-01-30 23:36:16 +11:00
Makefile.objs kvm_ppc: remove kvmppc_timer_hack 2015-09-20 22:48:38 +02:00
mem_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mfrom_table_gen.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mfrom_table.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
misc_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mmu_helper.c target-ppc: Rework ppc_store_slb 2016-01-30 23:37:38 +11:00
mmu-hash32.c target-ppc: Convert mmu-hash{32,64}.[ch] from CPUPPCState to PowerPCCPU 2016-01-30 23:37:38 +11:00
mmu-hash32.h target-ppc: Convert mmu-hash{32,64}.[ch] from CPUPPCState to PowerPCCPU 2016-01-30 23:37:38 +11:00
mmu-hash64.c target-ppc: Rework ppc_store_slb 2016-01-30 23:37:38 +11:00
mmu-hash64.h target-ppc: Rework ppc_store_slb 2016-01-30 23:37:38 +11:00
monitor.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
timebase_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
translate_init.c target-ppc: gdbstub: Add VSX support 2016-01-30 23:37:38 +11:00
translate.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
user_only_helper.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00