linux/arch/powerpc
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
..
boot MMC highlights for 3.10: 2013-05-04 13:45:17 -07:00
configs Merge remote-tracking branch 'kumar/next' into next 2013-04-30 11:10:09 +10:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include KVM: PPC: Book3S PR: Allow guest to use 1TB segments 2013-06-30 03:33:22 +02:00
kernel Merge git://git.infradead.org/users/eparis/audit 2013-05-11 14:29:11 -07:00
kvm KVM: PPC: Book3S PR: Allow guest to use 1TB segments 2013-06-30 03:33:22 +02:00
lib uprobes/powerpc: Add dependency on single step emulation 2013-01-29 11:35:06 +11:00
math-emu
mm powerpc/tm: Fix null pointer deference in flush_hash_page 2013-05-06 09:25:36 +10:00
net filter: bpf_jit_comp: refactor and unify BPF JIT image dump output 2013-03-21 17:25:56 -04:00
oprofile Merge branch 'merge' into next 2013-01-29 11:33:37 +11:00
perf powerpc/perf: Enable branch stack sampling framework 2013-04-26 16:13:02 +10:00
platforms Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
sysdev powerpc/pci: Support per-aperture memory offset 2013-05-06 13:40:40 +10:00
xmon Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-05-02 10:16:16 -07:00
Kconfig Removal of GENERIC_GPIO for v3.10 2013-05-09 09:59:16 -07:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile powerpc: Avoid load of static chain register when calling nested functions through a pointer on 64bit 2013-01-10 17:01:27 +11:00
relocs_check.pl