linux/arch/powerpc/platforms/pseries
Paul Mackerras 6b243fcfb5 powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
This changes the way that we support the new ISA v3.00 HPTE format.
Instead of adapting everything that uses HPTE values to handle either
the old format or the new format, depending on which CPU we are on,
we now convert explicitly between old and new formats if necessary
in the low-level routines that actually access HPTEs in memory.
This limits the amount of code that needs to know about the new
format and makes the conversions explicit.  This is OK because the
old format contains all the information that is in the new format.

This also fixes operation under a hypervisor, because the H_ENTER
hypercall (and other hypercalls that deal with HPTEs) will continue
to require the HPTE value to be supplied in the old format.  At
present the kernel will not boot in HPT mode on POWER9 under a
hypervisor.

This fixes and partially reverts commit 50de596de8
("powerpc/mm/hash: Add support for Power9 Hash", 2016-04-29).

Fixes: 50de596de8 ("powerpc/mm/hash: Add support for Power9 Hash")
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-11-16 15:43:25 +11:00
..
cmm.c powerpc/pseries: Fix error return value in cmm_mem_going_offline() 2016-07-05 23:58:52 +10:00
dlpar.c powerpc/pseries: fix memory leak in queue_hotplug_event() error path 2016-09-20 16:17:54 +10:00
dtl.c powerpc: Replace __get_cpu_var uses 2014-11-03 12:12:32 +11:00
eeh_pseries.c powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
event_sources.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
firmware.c powerpc: Move FW feature probing out of pseries probe() 2016-07-21 18:56:13 +10:00
hotplug-cpu.c powerpc/pseries: Remove MPIC from pseries cpu hotplug 2016-06-14 13:58:27 +10:00
hotplug-memory.c powerpc: Fix unused function warning 'lmb_to_memblock' 2016-08-09 16:52:00 +10:00
hvCall_inst.c powerpc: Replace __get_cpu_var uses 2014-11-03 12:12:32 +11:00
hvCall.S powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define 2015-04-09 09:40:29 +02:00
hvconsole.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
hvcserver.c powerpc/pseries/hvcserver: don't memset pi_buff if it is null 2015-10-09 08:03:03 +11:00
io_event_irq.c powerpc: Various typo fixes 2016-06-14 13:58:26 +10:00
iommu.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
Kconfig powerpc/pseries: Drop always true CONFIG_PSERIES_MSI 2015-10-15 20:31:56 +11:00
kexec.c powerpc/pseries: Remove MPIC from pseries kexec 2016-06-14 13:58:27 +10:00
lpar.c powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format 2016-11-16 15:43:25 +11:00
lparcfg.c powerpc/mm/radix: Isolate hash table function from pseries guest code 2016-05-11 21:53:46 +10:00
Makefile powerpc/pseries: Drop always true CONFIG_PSERIES_MSI 2015-10-15 20:31:56 +11:00
mobility.c powerpc: Update of_remove_property() call sites to remove null checking 2016-05-11 21:54:04 +10:00
msi.c powerpc: Remove all usages of NO_IRQ 2016-09-20 20:57:12 +10:00
nvram.c powerpc/pseries: Remove unused pstore headers in nvram.c 2016-06-14 16:05:35 +10:00
of_helpers.c powerpc/pseries: Correct string length in pseries_of_derive_parent() 2015-10-28 12:08:18 +09:00
of_helpers.h powerpc/pseries: extract of_helpers module 2015-10-05 21:11:24 +11:00
offline_states.h powerpc/smp: soft-replugged CPUs must go back to start_secondary 2011-04-01 15:37:09 +11:00
pci_dlpar.c powerpc/pseries: use pci_host_bridge.release_fn() to kfree(phb) 2016-08-22 11:09:33 +10:00
pci.c powerpc/pseries: use pci_host_bridge.release_fn() to kfree(phb) 2016-08-22 11:09:33 +10:00
power.c powerpc/sparse: Include headers containing prototypes 2016-06-16 22:40:19 +10:00
pseries_energy.c powerpc/sparse: make some things static 2016-06-16 22:23:11 +10:00
pseries.h powerpc: Move FW feature probing out of pseries probe() 2016-07-21 18:56:13 +10:00
ras.c powerpc/pseries: Add support for hotplug interrupt source 2016-07-19 20:12:30 +10:00
reconfig.c powerpc: Update of_remove_property() call sites to remove null checking 2016-05-11 21:54:04 +10:00
rng.c powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
scanlog.c powerpc/sparse: Make a bunch of things static 2016-09-13 17:35:47 +10:00
setup.c powerpc updates for 4.9 2016-10-07 20:19:31 -07:00
smp.c powerpc/pseries: Remove MPIC from pseries smp 2016-06-14 13:58:26 +10:00
suspend.c powerpc/pseries: Switch pseries drivers to use machine_xxx_initcall() 2014-07-28 14:11:26 +10:00