aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/kvm/powerpc.c
AgeCommit message (Collapse)AuthorFilesLines
2008-12-23powerpc: Fix KVM build on ppc440Paul Mackerras1-0/+1
Commit 2a4aca1144394653269720ffbb5a325a77abd5fa ("powerpc/mm: Split low level tlb invalidate for nohash processors") changed a call to _tlbia to _tlbil_all but didn't include the header that defines _tlbil_all, leading to a build failure on 440 if KVM is enabled. This fixes it. Signed-off-by: Paul Mackerras <[email protected]>
2008-12-21powerpc/mm: Split low level tlb invalidate for nohash processorsBenjamin Herrenschmidt1-1/+1
Currently, the various forms of low level TLB invalidations are all implemented in misc_32.S for 32-bit processors, in a fairly scary mess of #ifdef's and with interesting duplication such as a whole bunch of code for FSL _tlbie and _tlbia which are no longer used. This moves things around such that _tlbie is now defined in hash_low_32.S and is only used by the 32-bit hash code, and all nohash CPUs use the various _tlbil_* forms that are now moved to a new file, tlb_nohash_low.S. I moved all the definitions for that stuff out of include/asm/tlbflush.h as they are really internal mm stuff, into mm/mmu_decl.h The code should have no functional changes. I kept some variants inline for trivial forms on things like 40x and 8xx. Signed-off-by: Benjamin Herrenschmidt <[email protected]> Acked-by: Kumar Gala <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2008-11-25KVM: ppc: stop leaking host memory on VM exitHollis Blanchard1-0/+1
When the VM exits, we must call put_page() for every page referenced in the shadow TLB. Without this patch, we usually leak 30-50 host pages (120 - 200 KiB with 4 KiB pages). The maximum number of pages leaked is the size of our shadow TLB, 64 pages. Signed-off-by: Hollis Blanchard <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
2008-10-15KVM: ppc: Write only modified shadow entries into the TLB on exitHollis Blanchard1-0/+15
Track which TLB entries need to be written, instead of overwriting everything below the high water mark. Typically only a single guest TLB entry will be modified in a single exit. Guest boot time performance improvement: about 15%. Signed-off-by: Hollis Blanchard <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
2008-10-15KVM: ppc: guest breakpoint supportHollis Blanchard1-1/+83
Allow host userspace to program hardware debug registers to set breakpoints inside guests. Signed-off-by: Jerone Young <[email protected]> Signed-off-by: Hollis Blanchard <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
2008-07-20KVM: MMU: nuke shadowed pgtable pages and ptes on memslot destructionMarcelo Tosatti1-0/+4
Flush the shadow mmu before removing regions to avoid stale entries. Signed-off-by: Marcelo Tosatti <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
2008-07-20KVM: Add coalesced MMIO support (powerpc part)Laurent Vivier1-0/+3
This patch enables coalesced MMIO for powerpc architecture. It defines KVM_MMIO_PAGE_OFFSET and KVM_CAP_COALESCED_MMIO. It enables the compilation of coalesced_mmio.c. Signed-off-by: Laurent Vivier <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
2008-07-20KVM: Remove decache_vcpus_on_cpu() and related callbacksAvi Kivity1-4/+0
Obsoleted by the vmx-specific per-cpu list. Signed-off-by: Avi Kivity <[email protected]>
2008-05-04KVM: ppc: Handle guest idle by emulating MSR[WE] writesHollis Blanchard1-3/+17
This reduces host CPU usage when the guest is idle. However, the guest must set MSR[WE] in its idle loop, which Linux did not do until 2.6.26. Signed-off-by: Hollis Blanchard <[email protected]> Signed-off-by: Jerone Young <[email protected]> Signed-off-by: Avi Kivity <[email protected]>
2008-04-27KVM: ppc: PowerPC 440 KVM implementationHollis Blanchard1-0/+436
This functionality is definitely experimental, but is capable of running unmodified PowerPC 440 Linux kernels as guests on a PowerPC 440 host. (Only tested with 440EP "Bamboo" guests so far, but with appropriate userspace support other SoC/board combinations should work.) See Documentation/powerpc/kvm_440.txt for technical details. [stephen: build fix] Signed-off-by: Hollis Blanchard <[email protected]> Acked-by: Paul Mackerras <[email protected]> Signed-off-by: Stephen Rothwell <[email protected]> Signed-off-by: Avi Kivity <[email protected]>