qemu/hw/ppc
David Gibson 1114e712c9 target-ppc: Helper to determine page size information from hpte alone
h_enter() in the spapr code needs to know the page size of the HPTE it's
about to insert.  Unlike other paths that do this, it doesn't have access
to the SLB, so at the moment it determines this with some open-coded
tests which assume POWER7 or POWER8 page size encodings.

To make this more flexible add ppc_hash64_hpte_page_shift_noslb() to
determine both the "base" page size per segment, and the individual
effective page size from an HPTE alone.

This means that the spapr code should now be able to handle any page size
listed in the env->sps table.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Alexander Graf <agraf@suse.de>
2016-01-30 23:49:27 +11:00
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
e500.h PPC: e500 pci host: Add support for ATMUs 2015-01-07 16:16:24 +01:00
e500plat.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mac_newworld.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mac_oldworld.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mac.h macio: use the existing IDEDMA aiocb to hold the active DMA aiocb 2016-01-30 23:37:25 +11:00
Makefile.objs ppc/spapr: Implement H_RANDOM hypercall in QEMU 2015-09-23 10:51:11 +10:00
mpc8544_guts.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
mpc8544ds.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc4xx_devs.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc4xx_pci.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405_boards.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405_uc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc440_bamboo.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc_booke.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
ppce500_spin.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
prep.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_drc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_events.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_hcall.c target-ppc: Helper to determine page size information from hpte alone 2016-01-30 23:49:27 +11:00
spapr_iommu.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_pci_vfio.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_pci.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_rng.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_rtas.c pseries: Clean up error handling in spapr_rtas_register() 2016-01-30 23:37:37 +11:00
spapr_rtc.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr_vio.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00
spapr.c pseries: Clean up error reporting in htab migration functions 2016-01-30 23:37:37 +11:00
virtex_ml507.c ppc: Clean up includes 2016-01-29 15:07:22 +00:00