* [GIT PULL] KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc
@ 2017-02-03 16:06 James Hogan
2017-02-03 16:06 ` James Hogan
2017-02-07 17:18 ` Paolo Bonzini
0 siblings, 2 replies; 3+ messages in thread
From: James Hogan @ 2017-02-03 16:06 UTC (permalink / raw)
To: Paolo Bonzini, Radim Krčmář; +Cc: Ralf Baechle, linux-mips, kvm
[-- Attachment #1: Type: text/plain, Size: 7318 bytes --]
Hi Paolo, Radim,
The following changes since commit 0b4c208d443ba2af82b4c70f99ca8df31e9a0020:
Revert "KVM: nested VMX: disable perf cpuid reporting" (2017-01-20 22:18:55 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips.git tags/kvm_mips_4.11_1
for you to fetch changes up to 12ed1faece3f141c2604b5b3a8377ba71d23ec9d:
KVM: MIPS: Allow multiple VCPUs to be created (2017-02-03 15:21:34 +0000)
It is already included in linux-next (though I did tweak one of the
commit messages just now to remove a patch changelog I had accidentally
left in, with no changes to the code).
It includes a merge of my mips branch in the same repo, which is based
on v4.10-rc2 and contains the general MIPS changes in the GVA/GPA page
tables series, for Ralf to also merge if he likes.
Cheers
James
----------------------------------------------------------------
KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc
Numerous MIPS KVM fixes, improvements, and features for 4.11, many of
which continue to pave the way for VZ support, the most interesting of
which are:
- Add GVA->HPA page tables for T&E, to cache GVA mappings.
- Generate fast-path TLB refill exception handler which loads host TLB
entries from GVA page table, avoiding repeated guest memory
translation and guest TLB lookups.
- Use uaccess macros when T&E needs to access guest memory, which with
GVA page tables and the Linux TLB refill handler improves robustness
against TLB faults and fixes EVA hosts.
- Use BadInstr/BadInstrP registers when available to obtain instruction
encodings after a synchronous trap.
- Add GPA->HPA page tables to replace the inflexible linear array,
allowing for multiple sparsely arranged memory regions.
- Properly implement dirty page logging.
- Add KVM_CAP_SYNC_MMU support so that changes in GPA mappings become
effective in guests even if they are already running, allowing for
copy-on-write, KSM, idle page tracking, swapping, and guest memory
ballooning.
- Add KVM_CAP_READONLY_MEM support, so writes to specified memory
regions are treated as MMIO.
- Implement proper CP0_EBase support in T&E.
- Expose a few more missing CP0 registers to userland.
- Add KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS support, and allow up to 8
VCPUs to be created in a VM.
- Various cleanups and dropping of dead and duplicated code.
----------------------------------------------------------------
James Hogan (63):
MIPS: Move pgd_alloc() out of header
MIPS: Export pgd/pmd symbols for KVM
MIPS: uasm: Add include guards in asm/uasm.h
MIPS: Export some tlbex internals for KVM to use
MIPS: Add return errors to protected cache ops
Merge MIPS prerequisites
KVM: MIPS: Drop partial KVM_NMI implementation
KVM: MIPS/MMU: Simplify ASID restoration
KVM: MIPS: Convert get/set_regs -> vcpu_load/put
KVM: MIPS/MMU: Move preempt/ASID handling to implementation
KVM: MIPS: Remove duplicated ASIDs from vcpu
KVM: MIPS: Add vcpu_run() & vcpu_reenter() callbacks
KVM: MIPS/T&E: Restore host asid on return to host
KVM: MIPS/T&E: active_mm = init_mm in guest context
KVM: MIPS: Wire up vcpu uninit
KVM: MIPS/T&E: Allocate GVA -> HPA page tables
KVM: MIPS/T&E: Activate GVA page tables in guest context
KVM: MIPS: Support NetLogic KScratch registers
KVM: MIPS: Add fast path TLB refill handler
KVM: MIPS/TLB: Fix off-by-one in TLB invalidate
KVM: MIPS/TLB: Generalise host TLB invalidate to kernel ASID
KVM: MIPS/MMU: Invalidate GVA PTs on ASID changes
KVM: MIPS/MMU: Invalidate stale GVA PTEs on TLBW
KVM: MIPS/MMU: Convert KSeg0 faults to page tables
KVM: MIPS/MMU: Convert TLB mapped faults to page tables
KVM: MIPS/MMU: Convert commpage fault handling to page tables
KVM: MIPS: Drop vm_init() callback
KVM: MIPS: Use uaccess to read/modify guest instructions
KVM: MIPS/Emulate: Fix CACHE emulation for EVA hosts
KVM: MIPS/TLB: Drop kvm_local_flush_tlb_all()
KVM: MIPS/Emulate: Drop redundant TLB flushes on exceptions
KVM: MIPS/MMU: Drop kvm_get_new_mmu_context()
KVM: MIPS/T&E: Don't treat code fetch faults as MMIO
KVM: MIPS: Improve kvm_get_inst() error return
KVM: MIPS: Use CP0_BadInstr[P] for emulation
KVM: MIPS/MMU: Convert guest physical map to page table
KVM: MIPS: Update vcpu->mode and vcpu->cpu
KVM: MIPS/T&E: Handle TLB invalidation requests
KVM: MIPS/T&E: Reduce stale ASID checks
KVM: MIPS/T&E: Add lockless GVA access helpers
KVM: MIPS/T&E: Use lockless GVA helpers for dyntrans
KVM: MIPS/MMU: Use lockless GVA helpers for get_inst()
KVM: MIPS/Emulate: Use lockless GVA helpers for cache emulation
KVM: MIPS: Implement kvm_arch_flush_shadow_all/memslot
KVM: MIPS/T&E: Ignore user writes to CP0_Config7
KVM: MIPS: Pass type of fault down to kvm_mips_map_page()
KVM: MIPS/T&E: Abstract bad access handling
KVM: MIPS/T&E: Treat unhandled guest KSeg0 as MMIO
KVM: MIPS/T&E: Handle read only GPA in TLB mod
KVM: MIPS/MMU: Add GPA PT mkclean helper
KVM: MIPS/MMU: Use generic dirty log & protect helper
KVM: MIPS: Clean & flush on dirty page logging enable
KVM: MIPS/MMU: Handle dirty logging on GPA faults
KVM: MIPS/MMU: Pass GPA PTE bits to KSeg0 GVA PTEs
KVM: MIPS/MMU: Pass GPA PTE bits to mapped GVA PTEs
KVM: MIPS/MMU: Implement KVM_CAP_SYNC_MMU
KVM: MIPS: Claim KVM_CAP_READONLY_MEM support
KVM: MIPS/T&E: Move CP0 register access into T&E
KVM: MIPS/T&E: Implement CP0_EBase register
KVM: MIPS/T&E: Default to reset vector
KVM: MIPS/T&E: Expose CP0_EntryLo0/1 registers
KVM: MIPS/T&E: Expose read-only CP0_IntCtl register
KVM: MIPS: Allow multiple VCPUs to be created
Markus Elfring (1):
MIPS: KVM: Return directly after a failed copy_from_user() in kvm_arch_vcpu_ioctl()
Documentation/virtual/kvm/api.txt | 10 +
arch/mips/include/asm/kvm_host.h | 183 +++--
arch/mips/include/asm/mmu_context.h | 9 +-
arch/mips/include/asm/pgalloc.h | 16 +-
arch/mips/include/asm/r4kcache.h | 55 +-
arch/mips/include/asm/tlbex.h | 26 +
arch/mips/include/asm/uasm.h | 5 +
arch/mips/include/uapi/asm/kvm.h | 2 +
arch/mips/kvm/Kconfig | 2 +
arch/mips/kvm/dyntrans.c | 50 +-
arch/mips/kvm/emulate.c | 432 ++++++------
arch/mips/kvm/entry.c | 155 +++-
arch/mips/kvm/interrupt.c | 5 +-
arch/mips/kvm/mips.c | 496 ++++---------
arch/mips/kvm/mmu.c | 1335 ++++++++++++++++++++++++++++-------
arch/mips/kvm/tlb.c | 299 ++------
arch/mips/kvm/trap_emul.c | 740 ++++++++++++++++---
arch/mips/mm/Makefile | 2 +-
arch/mips/mm/init.c | 1 +
arch/mips/mm/pgtable-64.c | 2 +
arch/mips/mm/pgtable.c | 25 +
arch/mips/mm/tlbex.c | 38 +-
22 files changed, 2611 insertions(+), 1277 deletions(-)
create mode 100644 arch/mips/include/asm/tlbex.h
create mode 100644 arch/mips/mm/pgtable.c
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [GIT PULL] KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc
2017-02-03 16:06 [GIT PULL] KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc James Hogan
@ 2017-02-03 16:06 ` James Hogan
2017-02-07 17:18 ` Paolo Bonzini
1 sibling, 0 replies; 3+ messages in thread
From: James Hogan @ 2017-02-03 16:06 UTC (permalink / raw)
To: Paolo Bonzini, Radim Krčmář; +Cc: Ralf Baechle, linux-mips, kvm
[-- Attachment #1: Type: text/plain, Size: 7318 bytes --]
Hi Paolo, Radim,
The following changes since commit 0b4c208d443ba2af82b4c70f99ca8df31e9a0020:
Revert "KVM: nested VMX: disable perf cpuid reporting" (2017-01-20 22:18:55 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips.git tags/kvm_mips_4.11_1
for you to fetch changes up to 12ed1faece3f141c2604b5b3a8377ba71d23ec9d:
KVM: MIPS: Allow multiple VCPUs to be created (2017-02-03 15:21:34 +0000)
It is already included in linux-next (though I did tweak one of the
commit messages just now to remove a patch changelog I had accidentally
left in, with no changes to the code).
It includes a merge of my mips branch in the same repo, which is based
on v4.10-rc2 and contains the general MIPS changes in the GVA/GPA page
tables series, for Ralf to also merge if he likes.
Cheers
James
----------------------------------------------------------------
KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc
Numerous MIPS KVM fixes, improvements, and features for 4.11, many of
which continue to pave the way for VZ support, the most interesting of
which are:
- Add GVA->HPA page tables for T&E, to cache GVA mappings.
- Generate fast-path TLB refill exception handler which loads host TLB
entries from GVA page table, avoiding repeated guest memory
translation and guest TLB lookups.
- Use uaccess macros when T&E needs to access guest memory, which with
GVA page tables and the Linux TLB refill handler improves robustness
against TLB faults and fixes EVA hosts.
- Use BadInstr/BadInstrP registers when available to obtain instruction
encodings after a synchronous trap.
- Add GPA->HPA page tables to replace the inflexible linear array,
allowing for multiple sparsely arranged memory regions.
- Properly implement dirty page logging.
- Add KVM_CAP_SYNC_MMU support so that changes in GPA mappings become
effective in guests even if they are already running, allowing for
copy-on-write, KSM, idle page tracking, swapping, and guest memory
ballooning.
- Add KVM_CAP_READONLY_MEM support, so writes to specified memory
regions are treated as MMIO.
- Implement proper CP0_EBase support in T&E.
- Expose a few more missing CP0 registers to userland.
- Add KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS support, and allow up to 8
VCPUs to be created in a VM.
- Various cleanups and dropping of dead and duplicated code.
----------------------------------------------------------------
James Hogan (63):
MIPS: Move pgd_alloc() out of header
MIPS: Export pgd/pmd symbols for KVM
MIPS: uasm: Add include guards in asm/uasm.h
MIPS: Export some tlbex internals for KVM to use
MIPS: Add return errors to protected cache ops
Merge MIPS prerequisites
KVM: MIPS: Drop partial KVM_NMI implementation
KVM: MIPS/MMU: Simplify ASID restoration
KVM: MIPS: Convert get/set_regs -> vcpu_load/put
KVM: MIPS/MMU: Move preempt/ASID handling to implementation
KVM: MIPS: Remove duplicated ASIDs from vcpu
KVM: MIPS: Add vcpu_run() & vcpu_reenter() callbacks
KVM: MIPS/T&E: Restore host asid on return to host
KVM: MIPS/T&E: active_mm = init_mm in guest context
KVM: MIPS: Wire up vcpu uninit
KVM: MIPS/T&E: Allocate GVA -> HPA page tables
KVM: MIPS/T&E: Activate GVA page tables in guest context
KVM: MIPS: Support NetLogic KScratch registers
KVM: MIPS: Add fast path TLB refill handler
KVM: MIPS/TLB: Fix off-by-one in TLB invalidate
KVM: MIPS/TLB: Generalise host TLB invalidate to kernel ASID
KVM: MIPS/MMU: Invalidate GVA PTs on ASID changes
KVM: MIPS/MMU: Invalidate stale GVA PTEs on TLBW
KVM: MIPS/MMU: Convert KSeg0 faults to page tables
KVM: MIPS/MMU: Convert TLB mapped faults to page tables
KVM: MIPS/MMU: Convert commpage fault handling to page tables
KVM: MIPS: Drop vm_init() callback
KVM: MIPS: Use uaccess to read/modify guest instructions
KVM: MIPS/Emulate: Fix CACHE emulation for EVA hosts
KVM: MIPS/TLB: Drop kvm_local_flush_tlb_all()
KVM: MIPS/Emulate: Drop redundant TLB flushes on exceptions
KVM: MIPS/MMU: Drop kvm_get_new_mmu_context()
KVM: MIPS/T&E: Don't treat code fetch faults as MMIO
KVM: MIPS: Improve kvm_get_inst() error return
KVM: MIPS: Use CP0_BadInstr[P] for emulation
KVM: MIPS/MMU: Convert guest physical map to page table
KVM: MIPS: Update vcpu->mode and vcpu->cpu
KVM: MIPS/T&E: Handle TLB invalidation requests
KVM: MIPS/T&E: Reduce stale ASID checks
KVM: MIPS/T&E: Add lockless GVA access helpers
KVM: MIPS/T&E: Use lockless GVA helpers for dyntrans
KVM: MIPS/MMU: Use lockless GVA helpers for get_inst()
KVM: MIPS/Emulate: Use lockless GVA helpers for cache emulation
KVM: MIPS: Implement kvm_arch_flush_shadow_all/memslot
KVM: MIPS/T&E: Ignore user writes to CP0_Config7
KVM: MIPS: Pass type of fault down to kvm_mips_map_page()
KVM: MIPS/T&E: Abstract bad access handling
KVM: MIPS/T&E: Treat unhandled guest KSeg0 as MMIO
KVM: MIPS/T&E: Handle read only GPA in TLB mod
KVM: MIPS/MMU: Add GPA PT mkclean helper
KVM: MIPS/MMU: Use generic dirty log & protect helper
KVM: MIPS: Clean & flush on dirty page logging enable
KVM: MIPS/MMU: Handle dirty logging on GPA faults
KVM: MIPS/MMU: Pass GPA PTE bits to KSeg0 GVA PTEs
KVM: MIPS/MMU: Pass GPA PTE bits to mapped GVA PTEs
KVM: MIPS/MMU: Implement KVM_CAP_SYNC_MMU
KVM: MIPS: Claim KVM_CAP_READONLY_MEM support
KVM: MIPS/T&E: Move CP0 register access into T&E
KVM: MIPS/T&E: Implement CP0_EBase register
KVM: MIPS/T&E: Default to reset vector
KVM: MIPS/T&E: Expose CP0_EntryLo0/1 registers
KVM: MIPS/T&E: Expose read-only CP0_IntCtl register
KVM: MIPS: Allow multiple VCPUs to be created
Markus Elfring (1):
MIPS: KVM: Return directly after a failed copy_from_user() in kvm_arch_vcpu_ioctl()
Documentation/virtual/kvm/api.txt | 10 +
arch/mips/include/asm/kvm_host.h | 183 +++--
arch/mips/include/asm/mmu_context.h | 9 +-
arch/mips/include/asm/pgalloc.h | 16 +-
arch/mips/include/asm/r4kcache.h | 55 +-
arch/mips/include/asm/tlbex.h | 26 +
arch/mips/include/asm/uasm.h | 5 +
arch/mips/include/uapi/asm/kvm.h | 2 +
arch/mips/kvm/Kconfig | 2 +
arch/mips/kvm/dyntrans.c | 50 +-
arch/mips/kvm/emulate.c | 432 ++++++------
arch/mips/kvm/entry.c | 155 +++-
arch/mips/kvm/interrupt.c | 5 +-
arch/mips/kvm/mips.c | 496 ++++---------
arch/mips/kvm/mmu.c | 1335 ++++++++++++++++++++++++++++-------
arch/mips/kvm/tlb.c | 299 ++------
arch/mips/kvm/trap_emul.c | 740 ++++++++++++++++---
arch/mips/mm/Makefile | 2 +-
arch/mips/mm/init.c | 1 +
arch/mips/mm/pgtable-64.c | 2 +
arch/mips/mm/pgtable.c | 25 +
arch/mips/mm/tlbex.c | 38 +-
22 files changed, 2611 insertions(+), 1277 deletions(-)
create mode 100644 arch/mips/include/asm/tlbex.h
create mode 100644 arch/mips/mm/pgtable.c
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc
2017-02-03 16:06 [GIT PULL] KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc James Hogan
2017-02-03 16:06 ` James Hogan
@ 2017-02-07 17:18 ` Paolo Bonzini
1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2017-02-07 17:18 UTC (permalink / raw)
To: James Hogan, Radim Krčmář; +Cc: Ralf Baechle, linux-mips, kvm
[-- Attachment #1.1: Type: text/plain, Size: 7847 bytes --]
On 03/02/2017 17:06, James Hogan wrote:
> Hi Paolo, Radim,
>
> The following changes since commit 0b4c208d443ba2af82b4c70f99ca8df31e9a0020:
>
> Revert "KVM: nested VMX: disable perf cpuid reporting" (2017-01-20 22:18:55 +0100)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips.git tags/kvm_mips_4.11_1
>
> for you to fetch changes up to 12ed1faece3f141c2604b5b3a8377ba71d23ec9d:
>
> KVM: MIPS: Allow multiple VCPUs to be created (2017-02-03 15:21:34 +0000)
>
> It is already included in linux-next (though I did tweak one of the
> commit messages just now to remove a patch changelog I had accidentally
> left in, with no changes to the code).
>
> It includes a merge of my mips branch in the same repo, which is based
> on v4.10-rc2 and contains the general MIPS changes in the GVA/GPA page
> tables series, for Ralf to also merge if he likes.
>
> Cheers
> James
>
> ----------------------------------------------------------------
> KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc
>
> Numerous MIPS KVM fixes, improvements, and features for 4.11, many of
> which continue to pave the way for VZ support, the most interesting of
> which are:
>
> - Add GVA->HPA page tables for T&E, to cache GVA mappings.
> - Generate fast-path TLB refill exception handler which loads host TLB
> entries from GVA page table, avoiding repeated guest memory
> translation and guest TLB lookups.
> - Use uaccess macros when T&E needs to access guest memory, which with
> GVA page tables and the Linux TLB refill handler improves robustness
> against TLB faults and fixes EVA hosts.
> - Use BadInstr/BadInstrP registers when available to obtain instruction
> encodings after a synchronous trap.
> - Add GPA->HPA page tables to replace the inflexible linear array,
> allowing for multiple sparsely arranged memory regions.
> - Properly implement dirty page logging.
> - Add KVM_CAP_SYNC_MMU support so that changes in GPA mappings become
> effective in guests even if they are already running, allowing for
> copy-on-write, KSM, idle page tracking, swapping, and guest memory
> ballooning.
> - Add KVM_CAP_READONLY_MEM support, so writes to specified memory
> regions are treated as MMIO.
> - Implement proper CP0_EBase support in T&E.
> - Expose a few more missing CP0 registers to userland.
> - Add KVM_CAP_NR_VCPUS and KVM_CAP_MAX_VCPUS support, and allow up to 8
> VCPUs to be created in a VM.
> - Various cleanups and dropping of dead and duplicated code.
>
> ----------------------------------------------------------------
> James Hogan (63):
> MIPS: Move pgd_alloc() out of header
> MIPS: Export pgd/pmd symbols for KVM
> MIPS: uasm: Add include guards in asm/uasm.h
> MIPS: Export some tlbex internals for KVM to use
> MIPS: Add return errors to protected cache ops
> Merge MIPS prerequisites
> KVM: MIPS: Drop partial KVM_NMI implementation
> KVM: MIPS/MMU: Simplify ASID restoration
> KVM: MIPS: Convert get/set_regs -> vcpu_load/put
> KVM: MIPS/MMU: Move preempt/ASID handling to implementation
> KVM: MIPS: Remove duplicated ASIDs from vcpu
> KVM: MIPS: Add vcpu_run() & vcpu_reenter() callbacks
> KVM: MIPS/T&E: Restore host asid on return to host
> KVM: MIPS/T&E: active_mm = init_mm in guest context
> KVM: MIPS: Wire up vcpu uninit
> KVM: MIPS/T&E: Allocate GVA -> HPA page tables
> KVM: MIPS/T&E: Activate GVA page tables in guest context
> KVM: MIPS: Support NetLogic KScratch registers
> KVM: MIPS: Add fast path TLB refill handler
> KVM: MIPS/TLB: Fix off-by-one in TLB invalidate
> KVM: MIPS/TLB: Generalise host TLB invalidate to kernel ASID
> KVM: MIPS/MMU: Invalidate GVA PTs on ASID changes
> KVM: MIPS/MMU: Invalidate stale GVA PTEs on TLBW
> KVM: MIPS/MMU: Convert KSeg0 faults to page tables
> KVM: MIPS/MMU: Convert TLB mapped faults to page tables
> KVM: MIPS/MMU: Convert commpage fault handling to page tables
> KVM: MIPS: Drop vm_init() callback
> KVM: MIPS: Use uaccess to read/modify guest instructions
> KVM: MIPS/Emulate: Fix CACHE emulation for EVA hosts
> KVM: MIPS/TLB: Drop kvm_local_flush_tlb_all()
> KVM: MIPS/Emulate: Drop redundant TLB flushes on exceptions
> KVM: MIPS/MMU: Drop kvm_get_new_mmu_context()
> KVM: MIPS/T&E: Don't treat code fetch faults as MMIO
> KVM: MIPS: Improve kvm_get_inst() error return
> KVM: MIPS: Use CP0_BadInstr[P] for emulation
> KVM: MIPS/MMU: Convert guest physical map to page table
> KVM: MIPS: Update vcpu->mode and vcpu->cpu
> KVM: MIPS/T&E: Handle TLB invalidation requests
> KVM: MIPS/T&E: Reduce stale ASID checks
> KVM: MIPS/T&E: Add lockless GVA access helpers
> KVM: MIPS/T&E: Use lockless GVA helpers for dyntrans
> KVM: MIPS/MMU: Use lockless GVA helpers for get_inst()
> KVM: MIPS/Emulate: Use lockless GVA helpers for cache emulation
> KVM: MIPS: Implement kvm_arch_flush_shadow_all/memslot
> KVM: MIPS/T&E: Ignore user writes to CP0_Config7
> KVM: MIPS: Pass type of fault down to kvm_mips_map_page()
> KVM: MIPS/T&E: Abstract bad access handling
> KVM: MIPS/T&E: Treat unhandled guest KSeg0 as MMIO
> KVM: MIPS/T&E: Handle read only GPA in TLB mod
> KVM: MIPS/MMU: Add GPA PT mkclean helper
> KVM: MIPS/MMU: Use generic dirty log & protect helper
> KVM: MIPS: Clean & flush on dirty page logging enable
> KVM: MIPS/MMU: Handle dirty logging on GPA faults
> KVM: MIPS/MMU: Pass GPA PTE bits to KSeg0 GVA PTEs
> KVM: MIPS/MMU: Pass GPA PTE bits to mapped GVA PTEs
> KVM: MIPS/MMU: Implement KVM_CAP_SYNC_MMU
> KVM: MIPS: Claim KVM_CAP_READONLY_MEM support
> KVM: MIPS/T&E: Move CP0 register access into T&E
> KVM: MIPS/T&E: Implement CP0_EBase register
> KVM: MIPS/T&E: Default to reset vector
> KVM: MIPS/T&E: Expose CP0_EntryLo0/1 registers
> KVM: MIPS/T&E: Expose read-only CP0_IntCtl register
> KVM: MIPS: Allow multiple VCPUs to be created
>
> Markus Elfring (1):
> MIPS: KVM: Return directly after a failed copy_from_user() in kvm_arch_vcpu_ioctl()
>
> Documentation/virtual/kvm/api.txt | 10 +
> arch/mips/include/asm/kvm_host.h | 183 +++--
> arch/mips/include/asm/mmu_context.h | 9 +-
> arch/mips/include/asm/pgalloc.h | 16 +-
> arch/mips/include/asm/r4kcache.h | 55 +-
> arch/mips/include/asm/tlbex.h | 26 +
> arch/mips/include/asm/uasm.h | 5 +
> arch/mips/include/uapi/asm/kvm.h | 2 +
> arch/mips/kvm/Kconfig | 2 +
> arch/mips/kvm/dyntrans.c | 50 +-
> arch/mips/kvm/emulate.c | 432 ++++++------
> arch/mips/kvm/entry.c | 155 +++-
> arch/mips/kvm/interrupt.c | 5 +-
> arch/mips/kvm/mips.c | 496 ++++---------
> arch/mips/kvm/mmu.c | 1335 ++++++++++++++++++++++++++++-------
> arch/mips/kvm/tlb.c | 299 ++------
> arch/mips/kvm/trap_emul.c | 740 ++++++++++++++++---
> arch/mips/mm/Makefile | 2 +-
> arch/mips/mm/init.c | 1 +
> arch/mips/mm/pgtable-64.c | 2 +
> arch/mips/mm/pgtable.c | 25 +
> arch/mips/mm/tlbex.c | 38 +-
> 22 files changed, 2611 insertions(+), 1277 deletions(-)
> create mode 100644 arch/mips/include/asm/tlbex.h
> create mode 100644 arch/mips/mm/pgtable.c
>
Pulled, thanks.
Paolo
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-07 17:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-03 16:06 [GIT PULL] KVM: MIPS: GVA/GPA page tables, dirty logging, SYNC_MMU etc James Hogan
2017-02-03 16:06 ` James Hogan
2017-02-07 17:18 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).