kernel_optimize_test/arch/powerpc/kvm
Paul Mackerras a2932923cc KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT
A new ioctl, KVM_PPC_GET_HTAB_FD, returns a file descriptor.  Reads on
this fd return the contents of the HPT (hashed page table), writes
create and/or remove entries in the HPT.  There is a new capability,
KVM_CAP_PPC_HTAB_FD, to indicate the presence of the ioctl.  The ioctl
takes an argument structure with the index of the first HPT entry to
read out and a set of flags.  The flags indicate whether the user is
intending to read or write the HPT, and whether to return all entries
or only the "bolted" entries (those with the bolted bit, 0x10, set in
the first doubleword).

This is intended for use in implementing qemu's savevm/loadvm and for
live migration.  Therefore, on reads, the first pass returns information
about all HPTEs (or all bolted HPTEs).  When the first pass reaches the
end of the HPT, it returns from the read.  Subsequent reads only return
information about HPTEs that have changed since they were last read.
A read that finds no changed HPTEs in the HPT following where the last
read finished will return 0 bytes.

The format of the data provides a simple run-length compression of the
invalid entries.  Each block of data starts with a header that indicates
the index (position in the HPT, which is just an array), the number of
valid entries starting at that index (may be zero), and the number of
invalid entries following those valid entries.  The valid entries, 16
bytes each, follow the header.  The invalid entries are not explicitly
represented.

Signed-off-by: Paul Mackerras <paulus@samba.org>
[agraf: fix documentation]
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-06 01:33:57 +01:00
..
44x_emulate.c KVM: PPC: 44x: fix DCR read/write 2012-10-30 10:54:50 +01:00
44x_tlb.c KVM: do not release the error page 2012-08-06 16:04:58 +03:00
44x_tlb.h
44x.c KVM: PPC: 44x: Initialize PVR 2012-10-05 23:38:47 +02:00
book3s_32_mmu_host.c KVM: do not treat noslot pfn as a error pfn 2012-10-29 20:31:04 -02:00
book3s_32_mmu.c
book3s_32_sr.S
book3s_64_mmu_host.c KVM: do not treat noslot pfn as a error pfn 2012-10-29 20:31:04 -02:00
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT 2012-12-06 01:33:57 +01:00
book3s_64_mmu.c
book3s_64_slb.S KVM: PPC: Book3S: PR: No isync in slbie path 2012-05-06 16:19:09 +02:00
book3s_64_vio_hv.c kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM 2012-05-06 16:19:11 +02:00
book3s_64_vio.c kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM 2012-05-06 16:19:11 +02:00
book3s_emulate.c KVM: PPC: Emulator: clean up SPR reads and writes 2012-05-06 16:19:13 +02:00
book3s_exports.c
book3s_hv_builtin.c KVM: PPC: Quieten message about allocating linear regions 2012-10-05 23:38:40 +02:00
book3s_hv_interrupts.S
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV: Make a HPTE removal function available 2012-12-06 01:33:55 +01:00
book3s_hv_rmhandlers.S Merge commit 'origin/queue' into for-queue 2012-10-31 13:36:18 +01:00
book3s_hv.c KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT 2012-12-06 01:33:57 +01:00
book3s_interrupts.S powerpc: Merge VCPU_GPR 2012-07-10 19:18:06 +10:00
book3s_mmu_hpte.c KVM: PPC: Book3s: PR: Add (dumb) MMU Notifier support 2012-10-05 23:38:43 +02:00
book3s_paired_singles.c
book3s_pr_papr.c powerpc/kvm: Fix "PR" KVM implementation of H_CEDE 2012-07-11 17:36:38 +02:00
book3s_pr.c KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
book3s_rmhandlers.S KVM: PPC: Book3S: PR: Rework irq disabling 2012-10-05 23:38:45 +02:00
book3s_segment.S powerpc: Move and fix MTMSR_EERI definition 2012-07-10 19:18:08 +10:00
book3s.c KVM: PPC: Book3S: Get/set guest FP regs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
booke_emulate.c KVM: PPC: BookE: Add MCSR SPR support 2012-10-05 23:38:48 +02:00
booke_interrupts.S KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
booke.c KVM: PPC: set IN_GUEST_MODE before checking requests 2012-10-05 23:38:54 +02:00
booke.h KVM: PPC: Emulator: clean up SPR reads and writes 2012-05-06 16:19:13 +02:00
bookehv_interrupts.S powerpc/kvm/bookehv: Fix build regression 2012-07-27 11:42:32 +10:00
e500_emulate.c KVM: PPC: booke: Added DECAR support 2012-05-30 11:43:11 +02:00
e500_tlb.c KVM: do not treat noslot pfn as a error pfn 2012-10-29 20:31:04 -02:00
e500.c
e500.h KVM: PPC: E500: Remove E500_TLB_DIRTY flag 2012-10-05 23:38:48 +02:00
e500mc.c KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests 2012-07-11 17:39:38 +02:00
emulate.c KVM: PPC: Move mtspr/mfspr emulation into own functions 2012-10-30 10:54:51 +01:00
fpu.S
Kconfig KVM: PPC: Support eventfd 2012-12-06 01:33:50 +01:00
Makefile KVM: PPC: Support eventfd 2012-12-06 01:33:50 +01:00
powerpc.c KVM: PPC: Book3S HV: Provide a method for userspace to read and write the HPT 2012-12-06 01:33:57 +01:00
timing.c
timing.h
trace.h Merge remote-tracking branch 'master' into queue 2012-10-29 19:15:32 -02:00