linux-stable/arch/powerpc/include/asm
Paul Mackerras 0f296829b5 KVM: PPC: Book3S PR: Allow guest to use 1TB segments
With this, the guest can use 1TB segments as well as 256MB segments.
Since we now have the situation where a single emulated guest segment
could correspond to multiple shadow segments (as the shadow segments
are still 256MB segments), this adds a new kvmppc_mmu_flush_segment()
to scan for all shadow segments that need to be removed.

This restructures the guest HPT (hashed page table) lookup code to
use the correct hashing and matching functions for HPTEs within a
1TB segment.  We use the standard hpt_hash() function instead of
open-coding the hash calculation, and we use HPTE_V_COMPARE() with
an AVPN value that has the B (segment size) field included.  The
calculation of avpn is done a little earlier since it doesn't change
in the loop starting at the do_second label.

The computation in kvmppc_mmu_book3s_64_esid_to_vsid() changes so that
it returns a 256MB VSID even if the guest SLB entry is a 1TB entry.
This is because the users of this function are creating 256MB SLB
entries.  We set a new VSID_1T flag so that entries created from 1T
segments don't collide with entries from 256MB segments.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-06-30 03:33:22 +02:00
..
8xx_immap.h powerpc: Fix multicast problem in fs_enet driver 2011-04-21 16:59:30 -07:00
agp.h
asm-compat.h powerpc: Change mtcrf to use real register names 2012-07-10 19:18:11 +10:00
asm-offsets.h
async_tx.h
atomic.h atomic: implement generic atomic_dec_if_positive() 2012-10-09 16:22:46 +09:00
backlight.h
barrier.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bitops.h powerpc: Remove unused postfix parameter to DEFINE_BITOP() 2013-04-18 11:53:04 +10:00
bootx.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
btext.h
bug.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
bugs.h
cache.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
cacheflush.h powerpc/85xx: add HOTPLUG_CPU support 2012-09-12 14:57:08 -05:00
cell-pmu.h
cell-regs.h
checksum.h
clk_interface.h
cmpxchg.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
code-patching.h powerpc: Have patch_instruction detect faults 2012-07-03 14:14:38 +10:00
compat.h compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
cpm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cpm1.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cpm2.h
cputable.h powerpc/cputable: Reserve bits in HWCAP2 for new features 2013-05-06 09:25:38 +10:00
cputhreads.h powerpc: Fixing a cputhread code documentation 2012-05-22 14:37:00 +10:00
cputime.h cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
current.h
dbdma.h
dbell.h powerpc: Select either privileged or hypervisor doorbell when sending 2013-01-10 15:09:06 +11:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h powerpc: Rename set_break to avoid naming conflict 2013-01-16 05:25:47 +11:00
delay.h
device.h powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
disassemble.h
div64.h
dma-mapping.h powerpc: dma_debug: add debug_dma_mapping_error support 2012-11-28 15:28:59 +01:00
dma.h powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
edac.h
eeh.h powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
eeh_event.h powerpc/eeh: Handle EEH error based on PE 2012-09-10 09:35:43 +10:00
ehv_pic.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
elf.h powerpc: Add HWCAP2 aux entry 2013-04-26 16:08:16 +10:00
emergency-restart.h
emulated_ops.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
epapr_hcalls.h PPC: ePAPR: Convert hcall header to uapi (round 2) 2012-10-31 13:45:32 +01:00
exception-64e.h powerpc/booke64: Use SPRG0/3 scratch for bolted TLB miss & crit int 2012-09-05 15:35:52 +10:00
exception-64s.h powerpc: Fix "attempt to move .org backwards" error 2013-04-26 16:08:27 +10:00
exec.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
fadump.h fadump: Invalidate registration and release reserved memory for general use. 2012-02-23 10:50:02 +11:00
fb.h
feature-fixups.h powerpc: Use new CPU feature bit to select 2.06 tlbie 2011-05-04 15:19:26 +10:00
firmware.h powerpc/pseries: Update CPU maps when device tree is updated 2013-04-26 16:08:23 +10:00
fixmap.h
floppy.h powerpc/irq: Remove IRQF_DISABLED 2011-11-08 14:51:46 +11:00
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
fsl_guts.h powerpc/iommu/fsl: Add PAMU bypass enable register to ccsr_guts struct 2012-11-25 07:19:39 -06:00
fsl_hcalls.h PPC: Don't use hardcoded opcode for ePAPR hcall invocation 2012-10-05 23:38:38 +02:00
fsl_ifc.h powerpc/mpc85xx: Add new ext fields to Integrated FLash Controller 2012-09-12 14:57:10 -05:00
fsl_lbc.h powerpc/85xx: Add lbc suspend support for PM 2011-11-24 02:01:40 -06:00
ftrace.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
futex.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
gpio.h gpiolib/arches: Centralise bolierplate asm/gpio.h 2012-05-11 18:00:14 -06:00
grackle.h
hardirq.h powerpc: Add accounting for Doorbell interrupts 2013-04-18 15:59:55 +10:00
heathrow.h
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
hugetlb.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
hvcall.h KVM: PPC: Book3S: Add infrastructure to implement kernel-side RTAS calls 2013-04-26 20:27:29 +02:00
hvconsole.h
hvcserver.h
hvsi.h powerpc/hvsi: Fix conflict with old HVSI driver 2011-07-01 13:10:21 +10:00
hw_breakpoint.h powerpc: Change hardware breakpoint to allow longer ranges 2013-01-29 11:35:08 +11:00
hw_irq.h powerpc: Make hard_irq_disable() do the right thing vs. irq tracing 2013-05-07 17:13:57 +10:00
hydra.h
i8259.h irq_domain/powerpc: Use common irq_domain structure instead of irq_host 2012-02-14 14:06:50 -07:00
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
io-defs.h
io-workarounds.h POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
io.h powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
io_event_irq.h powerpc/pseries: Add support for IO event interrupts 2011-05-06 13:19:01 +10:00
iommu.h powerpc/iommu: Implement IOMMU pools to improve multiqueue adapter performance 2012-07-03 14:14:48 +10:00
ipic.h
irq.h powerpc/irqdomain: Fix broken NR_IRQ references 2012-04-30 10:45:26 +10:00
irq_regs.h
irqflags.h powerpc: Rework lazy-interrupt handling 2012-03-09 13:25:06 +11:00
jump_label.h static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]() 2012-02-24 10:05:59 +01:00
Kbuild Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-12-13 15:31:08 -08:00
kdebug.h
kdump.h powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
kexec.h powerpc: Cleanup crash/kexec code 2011-12-08 14:02:23 +11:00
keylargo.h Typos: change aditional to additional. 2012-02-21 11:40:36 +01:00
kgdb.h
kmap_types.h powerpc: remove km_type definitions 2012-07-24 15:27:29 +08:00
kprobes.h powerpc/kprobes: Rename opcode_t in probes.h to ppc_opcode_t 2012-09-07 09:48:50 +10:00
kvm_44x.h KVM: PPC: booke: add sregs support 2011-05-22 08:47:53 -04:00
kvm_asm.h powerpc/85xx: Add AltiVec support for e6500 2013-03-12 15:59:26 -05:00
kvm_book3s.h KVM: PPC: Book3S PR: Allow guest to use 1TB segments 2013-06-30 03:33:22 +02:00
kvm_book3s_32.h powerpc: Build fix for powerpc KVM 2012-10-18 10:37:52 +11:00
kvm_book3s_64.h KVM: PPC: Book3S HV: Make HPT reading code notice R/C bit changes 2013-04-26 20:27:12 +02:00
kvm_book3s_asm.h KVM: PPC: Book3S HV: Speed up wakeups of CPUs on HV KVM 2013-04-26 20:27:31 +02:00
kvm_booke.h Added ONE_REG interface for debug instruction 2013-04-17 15:21:14 +02:00
kvm_booke_hv_asm.h KVM: PPC: bookehv64: Add support for interrupt handling 2012-12-06 01:34:11 +01:00
kvm_fpu.h
kvm_host.h KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller 2013-04-26 20:27:30 +02:00
kvm_para.h Merge remote-tracking branch 'master' into queue 2012-10-29 19:15:32 -02:00
kvm_ppc.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
libata-portmap.h
linkage.h consolidate cond_syscall and SYSCALL_ALIAS declarations 2013-03-03 22:55:19 -05:00
local.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
local64.h
lppaca.h cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
lv1call.h powerpc/ps3: Correct lv1 repository routine names 2012-04-24 15:34:16 -07:00
machdep.h powerpc/pseries: Perform proper max_bus_speed detection 2013-05-06 09:25:38 +10:00
macio.h treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
mc146818rtc.h
mediabay.h
mman.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h powerpc: Fix build error for book3e 2013-05-02 10:37:37 +10:00
mmu-hash32.h
mmu-hash64.h powerpc: print both base and actual page size on hash failure 2013-04-30 16:00:22 +10:00
mmu.h powerpc: POWER8 cputable entry 2012-11-15 13:00:45 +11:00
mmu_context.h powerpc: Add Initiate Coprocessor Store Word (icswx) support 2011-05-04 15:19:26 +10:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx.h powerpc/mpc52xx_lpbfifo: optionally defer fifo transfer start 2012-09-14 10:15:35 +02:00
mpc52xx_psc.h
mpc5121.h powerpc/mpc512x: fix sparce warnings for non static symbols 2013-02-05 07:40:35 +00:00
mpc8260.h
mpic.h powerpc/mpic: FSL MPIC error interrupt support. 2012-09-12 14:57:10 -05:00
mpic_msgr.h powerpc/mpic_msgr: Add missing includes 2012-08-24 20:26:04 +10:00
msi_bitmap.h
mutex.h
nvram.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
ohare.h
opal.h powerpc/powernv: Patch MSI EOI handler on P8 2013-04-26 16:09:59 +10:00
oprofile_impl.h treewide: fix typo of "suport" in various comments and Kconfig 2012-11-19 14:16:09 +01:00
paca.h powerpc: Add transactional memory paca scratch register to show_regs 2013-02-15 16:58:51 +11:00
page.h powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
page_32.h
page_64.h mm: remove free_area_cache use in powerpc architecture 2013-04-30 11:05:10 +10:00
parport.h powerpc: use for_each_compatible_node() macro 2013-04-18 13:03:50 +10:00
pasemi_dma.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pci-bridge.h powerpc/pci: Support per-aperture memory offset 2013-05-06 13:40:40 +10:00
pci.h powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
percpu.h
perf_event.h powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs 2012-07-10 19:18:41 +10:00
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Enable branch stack sampling framework 2013-04-26 16:13:02 +10:00
pgalloc-32.h powerpc: Move the pte free routines from common header 2013-04-30 16:00:04 +10:00
pgalloc-64.h powerpc: Reduce PTE table memory wastage 2013-04-30 16:00:07 +10:00
pgalloc.h powerpc: Move the pte free routines from common header 2013-04-30 16:00:04 +10:00
pgtable-ppc32.h
pgtable-ppc64-4k.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
pgtable-ppc64-64k.h powerpc: Reduce the PTE_INDEX_SIZE 2013-04-30 16:00:00 +10:00
pgtable-ppc64.h powerpc: Don't truncate pgd_index wrongly 2013-04-30 15:59:49 +10:00
pgtable.h powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format 2013-04-30 15:59:56 +10:00
pmac_feature.h Fix common misspellings 2011-03-31 11:26:23 -03:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
ppc-opcode.h powerpc: Emulate non privileged DSCR read and write 2013-05-06 09:25:35 +10:00
ppc-pci.h powerpc/eeh: Cleanup on EEH PCI address cache 2012-09-10 09:59:00 +10:00
ppc4xx.h
ppc4xx_ocm.h powerpc/44x: Support OCM(On Chip Memory) for APM821xx SoC and Bluestone board 2013-01-10 15:08:37 +11:00
ppc_asm.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
probes.h powerpc/kprobes: Rename opcode_t in probes.h to ppc_opcode_t 2012-09-07 09:48:50 +10:00
processor.h powerpc: Context switch the new EBB SPRs 2013-05-02 10:37:36 +10:00
prom.h powerpc/pseries: Update CPU maps when device tree is updated 2013-04-26 16:08:23 +10:00
ps3.h powerpc/ps3: Add macro PS3_VERBOSE_RESULT 2013-02-15 16:54:39 +11:00
ps3av.h
ps3gpu.h
ps3stor.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h powerpc: Hugetlb for BookE 2011-09-20 09:19:40 +10:00
pte-common.h powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled 2011-04-18 13:08:21 +10:00
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
pte-hash64.h
ptrace.h powerpc: fixing ptrace_get_reg to return an error 2013-04-18 13:03:57 +10:00
qe.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
qe_ic.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
reg.h Merge tag 'kvm-3.10-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2013-05-05 14:47:31 -07:00
reg_8xx.h
reg_a2.h powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
reg_booke.h booke: Added DBCR4 SPR number 2013-02-13 12:56:42 +01:00
reg_fsl_emb.h
rheap.h
rio.h powerpc/fsl_rio: Fix compile error when CONFIG_FSL_RIO not set 2011-06-02 15:29:08 -05:00
rtas.h powerpc/pseries: Add PRRN RTAS event handler 2013-04-26 16:08:20 +10:00
rtc.h
runlatch.h Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
scatterlist.h
scom.h powerpc: Add SCOM infrastructure 2011-04-20 17:01:19 +10:00
sections.h powerpc: Relocate prom_init.c on 64bit 2013-01-10 17:00:25 +11:00
serial.h
setjmp.h
setup.h powerpc: Remove stale function prototypes from setup.h 2012-11-15 13:00:54 +11:00
sfp-machine.h
shmparam.h
signal.h consolidate kernel-side struct sigaction declarations 2013-02-03 15:09:22 -05:00
smp.h powerpc: Fix build errors with UP configs in HV-style KVM 2013-04-18 13:03:57 +10:00
smu.h Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
sparsemem.h powerpc/mm: Add 64TB support 2012-09-17 16:31:51 +10:00
spinlock.h powerpc: Avoid debug_smp_processor_id() check in SHARED_PROCESSOR 2013-01-29 11:35:06 +11:00
spinlock_types.h
spu.h Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-01-08 12:19:57 -08:00
spu_csa.h
spu_info.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
spu_priv1.h Fix common misspellings 2011-03-31 11:26:23 -03:00
sstep.h
string.h
swab.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
swiotlb.h powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
switch_to.h Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-05-24 16:17:30 -07:00
synch.h powerpc: Fix atomic_xxx_return barrier semantics 2011-11-17 16:26:07 +11:00
syscall.h powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
syscalls.h powerpc: trim the crap from syscalls.h 2013-02-03 18:16:11 -05:00
systbl.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-05-01 07:21:43 -07:00
tce.h powerpc/powernv: Add TCE SW invalidation support 2011-11-25 14:32:57 +11:00
termios.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
thread_info.h arch: Consolidate tsk_is_polling() 2013-04-08 17:39:22 +02:00
time.h cputime: Consolidate vtime handling on context switch 2012-08-20 13:05:28 +02:00
timex.h
tlb.h mm, powerpc: move the RCU page-table freeing into generic code 2011-05-25 08:39:16 -07:00
tlbflush.h powerpc/mm: Make some of the PGTABLE_RANGE dependency explicit 2012-09-17 16:31:53 +10:00
tm.h powerpc: Add helper functions for transactional memory context switching 2013-02-15 16:58:52 +11:00
topology.h powerpc/pseries: Add /proc interface to control topology updates 2013-04-26 16:08:26 +10:00
trace.h powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS 2012-07-03 14:14:41 +10:00
tsi108.h
tsi108_irq.h
tsi108_pci.h
types.h UAPI: (Scripted) Disintegrate arch/powerpc/include/asm 2012-10-09 09:47:26 +01:00
uaccess.h powerpc: Remove unused __get_user64() and __put_user64() 2012-09-18 15:32:36 +10:00
ucc.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ucc_fast.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
ucc_slow.h powerpc: Fix typos in Freescale copyright claims 2012-11-15 13:00:58 +11:00
udbg.h powerpc/udbg: Remove unused udbg_read() 2012-11-15 12:59:33 +11:00
uic.h
unaligned.h
uninorth.h Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
unistd.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2013-05-01 07:21:43 -07:00
uprobes.h uretprobes/powerpc: Hijack return address 2013-04-13 15:31:56 +02:00
user.h
vdso.h powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
vdso_datapage.h Fix common misspellings 2011-03-31 11:26:23 -03:00
vga.h
vio.h POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
word-at-a-time.h powerpc: Use the new generic strncpy_from_user() and strnlen_user() 2012-05-27 21:00:07 -07:00
wsp.h powerpc: Add WSP platform 2011-05-06 13:32:35 +10:00
xics.h powerpc/powernv: Patch MSI EOI handler on P8 2013-04-26 16:09:59 +10:00
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h