[RFC PATCH 4/6] vfio: Add interface to iommu-map/unmap MSI pages

2015-09-30 Thread Bharat Bhushan
). As in these cases there can be chances that it overlaps with guest memory mapping. This patch add interface to iommu-map and iommu-unmap msi-pages at reserved iova chosen by userspace. Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> --- drivers/vfio/vfio.c

[RFC PATCH 0/6] vfio: Add interface to map MSI pages

2015-09-30 Thread Bharat Bhushan
msi-pages. This patch series does not provide interface to let user-space know how many minimum reserved iova regions are required on a given platform. This interface can be added once this patches series get reviewed and will be in acceptable state. Bharat Bhushan (6): vfio: Add interface

[RFC PATCH 3/6] vfio: Extend iommu-info to return MSIs automap state

2015-09-30 Thread Bharat Bhushan
to change the automatic mapping or not and this API provides this mechanism. Follow up patches will provide how to over-ride this. Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> --- drivers/vfio/vfio_iommu_type1.c | 32 include/uapi/linux/

[RFC PATCH 1/6] vfio: Add interface for add/del reserved iova region

2015-09-30 Thread Bharat Bhushan
for future extension where some other physical address can be mapped. Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> --- drivers/vfio/vfio_iommu_type1.c | 201 +++- include/uapi/linux/vfio.h | 43 + 2 files changed, 243 insertions

[RFC PATCH 2/6] iommu: Add interface to get msi-pages mapping attributes

2015-09-30 Thread Bharat Bhushan
-by: Bharat Bhushan <bharat.bhus...@freescale.com> --- drivers/iommu/arm-smmu.c| 3 +++ drivers/iommu/fsl_pamu_domain.c | 3 +++ drivers/iommu/iommu.c | 14 ++ include/linux/iommu.h | 9 - 4 files changed, 28 insertions(+), 1 deletion(-) diff

[RFC PATCH 5/6] vfio-pci: Create iommu mapping for msi interrupt

2015-09-30 Thread Bharat Bhushan
msi-iova as per iommu programming then reconfigure the pci device to use msi-iova as msi address. Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> --- drivers/vfio/pci/vfio_pci_intrs.c | 36 ++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff

[RFC PATCH 6/6] arm-smmu: Allow to set iommu mapping for MSI

2015-09-30 Thread Bharat Bhushan
Finally ARM SMMU declare that iommu-mapping for MSI-pages are not set automatically and it should be set explicitly. Signed-off-by: Bharat Bhushan <bharat.bhus...@freescale.com> --- drivers/iommu/arm-smmu.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers

[PATCH v4] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-13 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v3-v4 - Clear only MRR on vcpu init arch/powerpc/include/asm/kvm_ppc.h | 3 + arch/powerpc/include/asm/reg_booke.h | 2 + arch/powerpc/kvm/booke.c | 42 +- arch/powerpc/kvm/booke_emulate.c

[PATCH] KVM: PPc: BOOKE: Add one_reg documentation of SPRG9 and DBSR

2014-08-13 Thread Bharat Bhushan
This was missed in respective one_reg implementation patch. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- Documentation/virtual/kvm/api.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index a21ff22

[PATCH v4] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-13 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v3-v4 - Clear only MRR on vcpu init arch/powerpc/include/asm/kvm_ppc.h | 3 + arch/powerpc/include/asm/reg_booke.h | 2 + arch/powerpc/kvm/booke.c | 42 +- arch/powerpc/kvm/booke_emulate.c

[PATCH] KVM: PPc: BOOKE: Add one_reg documentation of SPRG9 and DBSR

2014-08-13 Thread Bharat Bhushan
This was missed in respective one_reg implementation patch. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- Documentation/virtual/kvm/api.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index a21ff22

[PATCH 1/7 v3] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-08-06 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - No change arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa..322da7d 100644 --- a/arch

[PATCH 2/7 v3] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-08-06 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - No change arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kvm/booke_emulate.c| 13 + 2 files changed

[PATCH 0/7 v3] Guest debug emulation

2014-08-06 Thread Bharat Bhushan
This patchset adds debug register and interrupt emulation support for guest, which enables running gdb/kgdb etc in guest. v2-v3 - Added One-reg interface for DBSR - removed arch-shadow_dbg_reg - Addressed some more comments on v2 (detail in individual patch) Bharat Bhushan (7): KVM: PPC

[PATCH 3/7 v3] KVM: PPC: BOOKE: Allow guest to change MSR_DE

2014-08-06 Thread Bharat Bhushan
-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - No change arch/powerpc/kvm/e500mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 164bad2..000cf82 100644 --- a/arch/powerpc/kvm/e500mc.c +++ b/arch

[PATCH 7/7 v3] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-06 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - Corrected no debug interrupt if only DBSR_IDE event set - DBSR_MRR cleanup on kvm init - no arch-shadow_dbg_reg as per previous patch arch/powerpc/include/asm/kvm_ppc.h | 3 + arch/powerpc/include/asm

[PATCH 4/7 v3] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG

2014-08-06 Thread Bharat Bhushan
DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - Small comment in code, patch description have sufficient detail arch/powerpc/kvm/booke.c | 2

[PATCH 5/7 v3] KVM: PPC: BOOKE: Guest and hardware visible debug registers are same

2014-08-06 Thread Bharat Bhushan
Guest visible debug register and hardware visible debug registers are same, so ther is no need to have arch-shadow_dbg_reg, instead use arch-dbg_reg. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - New Patch ( As per comment we are now using arch-dbg_reg only) arch

[PATCH 6/7 v3] KVM: PPC: BOOKE: Add one reg interface for DBSR

2014-08-06 Thread Bharat Bhushan
Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - New patch arch/powerpc/include/uapi/asm/kvm.h | 1 + arch/powerpc/kvm/booke.c| 6 ++ 2 files changed, 7 insertions(+) diff --git a/arch/powerpc/include/uapi/asm/kvm.h b/arch/powerpc/include/uapi/asm/kvm.h

[PATCH 0/7 v3] Guest debug emulation

2014-08-06 Thread Bharat Bhushan
This patchset adds debug register and interrupt emulation support for guest, which enables running gdb/kgdb etc in guest. v2-v3 - Added One-reg interface for DBSR - removed arch-shadow_dbg_reg - Addressed some more comments on v2 (detail in individual patch) Bharat Bhushan (7): KVM: PPC

[PATCH 2/7 v3] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-08-06 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - No change arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kvm/booke_emulate.c| 13 + 2 files changed

[PATCH 1/7 v3] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-08-06 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - No change arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa..322da7d 100644 --- a/arch

[PATCH 4/7 v3] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG

2014-08-06 Thread Bharat Bhushan
DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - Small comment in code, patch description have sufficient detail arch/powerpc/kvm/booke.c | 2

[PATCH 7/7 v3] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-06 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - Corrected no debug interrupt if only DBSR_IDE event set - DBSR_MRR cleanup on kvm init - no arch-shadow_dbg_reg as per previous patch arch/powerpc/include/asm/kvm_ppc.h | 3 + arch/powerpc/include/asm

[PATCH 5/7 v3] KVM: PPC: BOOKE: Guest and hardware visible debug registers are same

2014-08-06 Thread Bharat Bhushan
Guest visible debug register and hardware visible debug registers are same, so ther is no need to have arch-shadow_dbg_reg, instead use arch-dbg_reg. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - New Patch ( As per comment we are now using arch-dbg_reg only) arch

[PATCH 6/7 v3] KVM: PPC: BOOKE: Add one reg interface for DBSR

2014-08-06 Thread Bharat Bhushan
Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v2-v3 - New patch arch/powerpc/include/uapi/asm/kvm.h | 1 + arch/powerpc/kvm/booke.c| 6 ++ 2 files changed, 7 insertions(+) diff --git a/arch/powerpc/include/uapi/asm/kvm.h b/arch/powerpc/include/uapi/asm/kvm.h

[PATCH 4/5] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG

2014-08-04 Thread Bharat Bhushan
DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/arch/powerpc

[PATCH 2/5] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-08-04 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kvm/booke_emulate.c| 13 + 2 files changed, 14 insertions

[PATCH 3/5] KVM: PPC: BOOKE: Allow guest to change MSR_DE

2014-08-04 Thread Bharat Bhushan
-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/e500mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 164bad2..000cf82 100644 --- a/arch/powerpc/kvm/e500mc.c +++ b/arch/powerpc/kvm/e500mc.c

[PATCH 5/5] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-04 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 3 + arch/powerpc/include/asm/reg_booke.h | 2 + arch/powerpc/kvm/booke.c | 35 +++- arch/powerpc/kvm/booke_emulate.c | 157

[PATCH 1/5] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-08-04 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa..322da7d 100644 --- a/arch/powerpc/kvm/booke.c +++ b

[PATCH 3/5 v2] KVM: PPC: BOOKE: Allow guest to change MSR_DE

2014-08-04 Thread Bharat Bhushan
-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - No Change arch/powerpc/kvm/e500mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 164bad2..000cf82 100644 --- a/arch/powerpc/kvm/e500mc.c +++ b/arch

[PATCH 0/5 v2] Guest debug emulation

2014-08-04 Thread Bharat Bhushan
This patchset adds debug register and interrupt emulation support for guest, which enables running gdb/kgdb etc in guest. Bharat Bhushan (5): KVM: PPC: BOOKE: allow debug interrupt at debug level KVM: PPC: BOOKE : Emulate rfdi instruction KVM: PPC: BOOKE: Allow guest to change MSR_DE KVM

[PATCH 2/5 v2] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-08-04 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 -msr update based on guest_debug done under _set_msr(); so removed same check here arch/powerpc/include/asm/kvm_host.h | 1

[PATCH 5/5 v2] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-04 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - Clear DBCR0_EDM when userspace release debug resource - change order of debug register and update in h/w register - no debug interrupt on MRR/IDE debug event arch/powerpc/include/asm/kvm_ppc.h | 3 + arch

[PATCH 1/5 v2] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-08-04 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - No change arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa..322da7d 100644 --- a/arch

[PATCH 4/5 v2] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG

2014-08-04 Thread Bharat Bhushan
DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - New patch (separated from guest debug emulation - Added description arch/powerpc/kvm

[PATCH 4/5] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG

2014-08-04 Thread Bharat Bhushan
DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/arch/powerpc

[PATCH 2/5] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-08-04 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kvm/booke_emulate.c| 13 + 2 files changed, 14 insertions

[PATCH 1/5] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-08-04 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa..322da7d 100644 --- a/arch/powerpc/kvm/booke.c +++ b

[PATCH 5/5] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-04 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 3 + arch/powerpc/include/asm/reg_booke.h | 2 + arch/powerpc/kvm/booke.c | 35 +++- arch/powerpc/kvm/booke_emulate.c | 157

[PATCH 3/5] KVM: PPC: BOOKE: Allow guest to change MSR_DE

2014-08-04 Thread Bharat Bhushan
-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/e500mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 164bad2..000cf82 100644 --- a/arch/powerpc/kvm/e500mc.c +++ b/arch/powerpc/kvm/e500mc.c

[PATCH 5/5 v2] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-08-04 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - Clear DBCR0_EDM when userspace release debug resource - change order of debug register and update in h/w register - no debug interrupt on MRR/IDE debug event arch/powerpc/include/asm/kvm_ppc.h | 3 + arch

[PATCH 0/5 v2] Guest debug emulation

2014-08-04 Thread Bharat Bhushan
This patchset adds debug register and interrupt emulation support for guest, which enables running gdb/kgdb etc in guest. Bharat Bhushan (5): KVM: PPC: BOOKE: allow debug interrupt at debug level KVM: PPC: BOOKE : Emulate rfdi instruction KVM: PPC: BOOKE: Allow guest to change MSR_DE KVM

[PATCH 2/5 v2] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-08-04 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 -msr update based on guest_debug done under _set_msr(); so removed same check here arch/powerpc/include/asm/kvm_host.h | 1

[PATCH 1/5 v2] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-08-04 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - No change arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index b4c89fa..322da7d 100644 --- a/arch

[PATCH 4/5 v2] KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG

2014-08-04 Thread Bharat Bhushan
DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - New patch (separated from guest debug emulation - Added description arch/powerpc/kvm

[PATCH] KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr

2014-07-30 Thread Bharat Bhushan
This are not specific to e500hv but applicable for bookehv (As per comment from Scott Wood on my patch kvm: ppc: bookehv: Added wrapper macros for shadow registers) Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 20 ++-- 1 file

[PATCH] KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr

2014-07-30 Thread Bharat Bhushan
This are not specific to e500hv but applicable for bookehv (As per comment from Scott Wood on my patch kvm: ppc: bookehv: Added wrapper macros for shadow registers) Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 20 ++-- 1 file

[PATCH] KVM: PPC: Remove comment saying SPRG1 is used for vcpu pointer

2014-07-25 Thread Bharat Bhushan
to using SPRG1 for VCPU pointer. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/reg.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 1f34ef7..d46d92b 100644 --- a/arch/powerpc/include/asm

[PATCH] KVM: PPC: Remove comment saying SPRG1 is used for vcpu pointer

2014-07-25 Thread Bharat Bhushan
to using SPRG1 for VCPU pointer. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/reg.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 1f34ef7..d46d92b 100644 --- a/arch/powerpc/include/asm

[PATCH] KVM: PPC: Booke-hv: Add one reg interface for SPRG9

2014-07-24 Thread Bharat Bhushan
We now support SPRG9 for guest, so also add a one reg interface for same Note: Changes are in bookehv code only as we do not have SPRG9 on booke-pr. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/uapi/asm/kvm.h | 1 + arch/powerpc/kvm/e500mc.c | 22

[PATCH] KVM: PPC: Booke-hv: Add one reg interface for SPRG9

2014-07-24 Thread Bharat Bhushan
We now support SPRG9 for guest, so also add a one reg interface for same Note: Changes are in bookehv code only as we do not have SPRG9 on booke-pr. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/uapi/asm/kvm.h | 1 + arch/powerpc/kvm/e500mc.c | 22

[PATCH v2] kvm: ppc: bookehv: Save restore SPRN_SPRG9 on guest entry exit

2014-07-20 Thread Bharat Bhushan
SPRN_SPRG is used by debug interrupt handler, so this is required for debug support. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - sprng9 is 64bit, not 32bit arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kvm

[PATCH v2] kvm: ppc: bookehv: Save restore SPRN_SPRG9 on guest entry exit

2014-07-20 Thread Bharat Bhushan
SPRN_SPRG is used by debug interrupt handler, so this is required for debug support. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - sprng9 is 64bit, not 32bit arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kvm

[PATCH 2/6 v2] kvm: ppc: booke: Use the shared struct helpers of SRR0 and SRR1

2014-07-17 Thread Bharat Bhushan
Use kvmppc_set_srr0/srr1() and kvmppc_get_srr0/srr1() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm

[PATCH 1/6 v2] kvm: ppc: bookehv: Added wrapper macros for shadow registers

2014-07-17 Thread Bharat Bhushan
There are shadow registers like, GSPRG[0-3], GSRR0, GSRR1 etc on BOOKE-HV and these shadow registers are guest accessible. So these shadow registers needs to be updated on BOOKE-HV. This patch adds new macro for get/set helper of shadow register . Signed-off-by: Bharat Bhushan bharat.bhus

[PATCH 4/6 v2] kvm: ppc: booke: Add shared struct helpers of SPRN_ESR

2014-07-17 Thread Bharat Bhushan
Add and use kvmppc_set_esr() and kvmppc_get_esr() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 1 + arch/powerpc/kvm/booke.c | 24 +++- 2 files changed, 4 insertions(+), 21 deletions(-) diff

[PATCH 3/6 v2] kvm: ppc: booke: Use the shared struct helpers of SPRN_DEAR

2014-07-17 Thread Bharat Bhushan
Uses kvmppc_set_dar() and kvmppc_get_dar() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 24 +++- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c

[PATCH 5/6 v2] kvm: ppc: booke: Use the shared struct helpers for SPRN_SPRG0-7

2014-07-17 Thread Bharat Bhushan
Use kvmppc_set_sprg[0-7]() and kvmppc_get_sprg[0-7]() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 32 arch/powerpc/kvm/booke_emulate.c | 8 2 files changed, 20 insertions(+), 20

[PATCH 6/6 v2] kvm: ppc: Add SPRN_EPR get helper function

2014-07-17 Thread Bharat Bhushan
kvmppc_set_epr() is already defined in asm/kvm_ppc.h, So rename and move get_epr helper function to same file. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - vcpu-arch.epr under CONFIG_BOOKE arch/powerpc/include/asm/kvm_ppc.h | 10 ++ arch/powerpc/kvm/booke.c

[PATCH 3/6 v2] kvm: ppc: booke: Use the shared struct helpers of SPRN_DEAR

2014-07-17 Thread Bharat Bhushan
Uses kvmppc_set_dar() and kvmppc_get_dar() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 24 +++- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c

[PATCH 2/6 v2] kvm: ppc: booke: Use the shared struct helpers of SRR0 and SRR1

2014-07-17 Thread Bharat Bhushan
Use kvmppc_set_srr0/srr1() and kvmppc_get_srr0/srr1() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm

[PATCH 4/6 v2] kvm: ppc: booke: Add shared struct helpers of SPRN_ESR

2014-07-17 Thread Bharat Bhushan
Add and use kvmppc_set_esr() and kvmppc_get_esr() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 1 + arch/powerpc/kvm/booke.c | 24 +++- 2 files changed, 4 insertions(+), 21 deletions(-) diff

[PATCH 1/6 v2] kvm: ppc: bookehv: Added wrapper macros for shadow registers

2014-07-17 Thread Bharat Bhushan
There are shadow registers like, GSPRG[0-3], GSRR0, GSRR1 etc on BOOKE-HV and these shadow registers are guest accessible. So these shadow registers needs to be updated on BOOKE-HV. This patch adds new macro for get/set helper of shadow register . Signed-off-by: Bharat Bhushan bharat.bhus

[PATCH 5/6 v2] kvm: ppc: booke: Use the shared struct helpers for SPRN_SPRG0-7

2014-07-17 Thread Bharat Bhushan
Use kvmppc_set_sprg[0-7]() and kvmppc_get_sprg[0-7]() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 32 arch/powerpc/kvm/booke_emulate.c | 8 2 files changed, 20 insertions(+), 20

[PATCH 6/6 v2] kvm: ppc: Add SPRN_EPR get helper function

2014-07-17 Thread Bharat Bhushan
kvmppc_set_epr() is already defined in asm/kvm_ppc.h, So rename and move get_epr helper function to same file. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- v1-v2 - vcpu-arch.epr under CONFIG_BOOKE arch/powerpc/include/asm/kvm_ppc.h | 10 ++ arch/powerpc/kvm/booke.c

[PATCH] kvm: ppc: booke: Restore SPRG3 when entering guest

2014-07-16 Thread Bharat Bhushan
SPRG3 is guest accessible and SPRG3 can be clobbered by host or another guest, So this need to be restored when loading guest state. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke_interrupts.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch

[PATCH] kvm: ppc: booke: Restore SPRG3 when entering guest

2014-07-16 Thread Bharat Bhushan
SPRG3 is guest accessible and SPRG3 can be clobbered by host or another guest, So this need to be restored when loading guest state. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke_interrupts.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch

[PATCH 1/6] kvm: ppc: booke: Enhance wrapper functions to handle shadow registers

2014-07-15 Thread Bharat Bhushan
There are shadow registers like, GSPRG[0-3], GSRR0, GSRR1 etc on BOOKE-HV and these shadow registers are guest accessible. So these shadow registers needs to be updated on BOOKE-HV. This patch enhance the existing macros to handle shadow registers. Signed-off-by: Bharat Bhushan bharat.bhus

[PATCH 6/6] kvm: ppc: Add SPRN_SPR get helper function

2014-07-15 Thread Bharat Bhushan
kvmppc_set_epr() is already defined in asm/kvm_ppc.h, So rename and move get_epr helper function to same file. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 9 + arch/powerpc/kvm/booke.c | 11 +-- 2 files changed

[PATCH 4/6] kvm: ppc: booke: Add shared struct helpers of SPRN_ESR

2014-07-15 Thread Bharat Bhushan
Add and use kvmppc_set_esr() and kvmppc_get_esr() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 1 + arch/powerpc/kvm/booke.c | 24 +++- 2 files changed, 4 insertions(+), 21 deletions(-) diff

[PATCH 2/6] kvm: ppc: booke: Use the shared struct helpers of SRR0 and SRR1

2014-07-15 Thread Bharat Bhushan
Use kvmppc_set_srr0/srr1() and kvmppc_get_srr0/srr1() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm

[PATCH 5/6] kvm: ppc: booke: Use the shared struct helpers for SPRN_SPRG0-7

2014-07-15 Thread Bharat Bhushan
Use kvmppc_set_sprg[0-7]() and kvmppc_get_sprg[0-7]() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 32 arch/powerpc/kvm/booke_emulate.c | 8 2 files changed, 20 insertions(+), 20

[PATCH 3/6] kvm: ppc: booke: Use the shared struct helpers of SPRN_DEAR

2014-07-15 Thread Bharat Bhushan
Uses kvmppc_set_dar() and kvmppc_get_dar() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 24 +++- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c

[PATCH] kvm: ppc: bookehv: Save restore SPRN_SPRG9 on guest entry exit

2014-07-15 Thread Bharat Bhushan
SPRN_SPRG is used by debug interrupt handler, so this is required for debug support. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kvm/bookehv_interrupts.S | 4 3 files

[PATCH 4/6] kvm: ppc: booke: Add shared struct helpers of SPRN_ESR

2014-07-15 Thread Bharat Bhushan
Add and use kvmppc_set_esr() and kvmppc_get_esr() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_ppc.h | 1 + arch/powerpc/kvm/booke.c | 24 +++- 2 files changed, 4 insertions(+), 21 deletions(-) diff

[PATCH 2/6] kvm: ppc: booke: Use the shared struct helpers of SRR0 and SRR1

2014-07-15 Thread Bharat Bhushan
Use kvmppc_set_srr0/srr1() and kvmppc_get_srr0/srr1() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 17 ++--- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm

[PATCH 3/6] kvm: ppc: booke: Use the shared struct helpers of SPRN_DEAR

2014-07-15 Thread Bharat Bhushan
Uses kvmppc_set_dar() and kvmppc_get_dar() helper functions Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 24 +++- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c

[PATCH] kvm: ppc: bookehv: Save restore SPRN_SPRG9 on guest entry exit

2014-07-15 Thread Bharat Bhushan
SPRN_SPRG is used by debug interrupt handler, so this is required for debug support. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kvm/bookehv_interrupts.S | 4 3 files

[PATCH] kvm: ppc: bookehv: Sync srr0/1 into GSRR0/1

2014-07-14 Thread Bharat Bhushan
This patch adds missing sync of SRR0/1 in set SREGS interface. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 4 1 file changed, 4 insertions(+) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index c2471ed..368b48e 100644

[PATCH 2/6] KVM: PPC: BOOKE: Force MSR_DE in rfci if guest is under debug

2014-07-11 Thread Bharat Bhushan
When userspace (QEMU) is using the debug resource to debug guest then we want MSR_DE to be always set. This patch adds missing MSR_DE setting in rfci instruction. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke_emulate.c | 6 +- 1 file changed, 5

[PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register

2014-07-11 Thread Bharat Bhushan
This is not used and even I do not remember why this was added in first place. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index ab62109..a5ee42c

[PATCH 5/6] KVM: PPC: BOOKE: Allow guest to change MSR_DE

2014-07-11 Thread Bharat Bhushan
guest to control MSR_DE. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/e500mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 690499d..bd0a2bd 100644 --- a/arch/powerpc/kvm/e500mc.c

[PATCH 3/6] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-07-11 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index a5ee42c..fadfe76 100644 --- a/arch/powerpc/kvm/booke.c +++ b

[PATCH 0/6] Guest debug emulation

2014-07-11 Thread Bharat Bhushan
This patchset adds debug register and interrupt emulation support for guest, which enables running gdb/kgdb etc in guest. This also have couple of bux fixes Bharat Bhushan (6): KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register KVM: PPC: BOOKE: Force MSR_DE in rfci if guest

[PATCH 6/6] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-07-11 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- Hi Alex, I thought of having some print in register emulation if QEMU is using debug resource, Also when QEMU overwrites guest written values but that looks excessive. If I uses some variable which get set when guest starts

[PATCH 4/6] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-07-11 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kvm/booke_emulate.c| 17 + 2 files changed, 18 insertions

[PATCH 2/6] KVM: PPC: BOOKE: Force MSR_DE in rfci if guest is under debug

2014-07-11 Thread Bharat Bhushan
When userspace (QEMU) is using the debug resource to debug guest then we want MSR_DE to be always set. This patch adds missing MSR_DE setting in rfci instruction. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke_emulate.c | 6 +- 1 file changed, 5

[PATCH 6/6] KVM: PPC: BOOKE: Emulate debug registers and exception

2014-07-11 Thread Bharat Bhushan
overwrite them. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- Hi Alex, I thought of having some print in register emulation if QEMU is using debug resource, Also when QEMU overwrites guest written values but that looks excessive. If I uses some variable which get set when guest starts

[PATCH 1/6] KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register

2014-07-11 Thread Bharat Bhushan
This is not used and even I do not remember why this was added in first place. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index ab62109..a5ee42c

[PATCH 4/6] KVM: PPC: BOOKE : Emulate rfdi instruction

2014-07-11 Thread Bharat Bhushan
This patch adds rfdi instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/include/asm/kvm_host.h | 1 + arch/powerpc/kvm/booke_emulate.c| 17 + 2 files changed, 18 insertions

[PATCH 0/6] Guest debug emulation

2014-07-11 Thread Bharat Bhushan
This patchset adds debug register and interrupt emulation support for guest, which enables running gdb/kgdb etc in guest. This also have couple of bux fixes Bharat Bhushan (6): KVM: PPC: BOOKE: No need to set DBCR0_EDM in guest visible register KVM: PPC: BOOKE: Force MSR_DE in rfci if guest

[PATCH 5/6] KVM: PPC: BOOKE: Allow guest to change MSR_DE

2014-07-11 Thread Bharat Bhushan
guest to control MSR_DE. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/e500mc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 690499d..bd0a2bd 100644 --- a/arch/powerpc/kvm/e500mc.c

[PATCH 3/6] KVM: PPC: BOOKE: allow debug interrupt at debug level

2014-07-11 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index a5ee42c..fadfe76 100644 --- a/arch/powerpc/kvm/booke.c +++ b

[PATCH 1/2] KVM: powerpc/booke: allow debug interrupt at debug level

2014-06-27 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index ab62109..bb25937 100644 --- a/arch/powerpc/kvm/booke.c +++ b

[PATCH 2/2] KVM : powerpc/booke: Allow debug interrupt injection to guest

2014-06-27 Thread Bharat Bhushan
This patch allow userspace to inject debug interrupt to guest. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 31 +-- arch/powerpc/kvm/e500mc.c | 10 +- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git

[PATCH 0/2] KVM: powerpc/booke: Debug interrupt injection to guest

2014-06-27 Thread Bharat Bhushan
First patch add support for debug interrupt at debug level while second patch add supports for allowing userspace to inject debug interrupt to guest. Bharat Bhushan (2): KVM: powerpc/booke: allow debug interrupt at debug level KVM : powerpc/booke: Allow debug interrupt injection to guest

[PATCH 2/2] KVM : powerpc/booke: Allow debug interrupt injection to guest

2014-06-27 Thread Bharat Bhushan
This patch allow userspace to inject debug interrupt to guest. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 31 +-- arch/powerpc/kvm/e500mc.c | 10 +- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git

[PATCH 1/2] KVM: powerpc/booke: allow debug interrupt at debug level

2014-06-27 Thread Bharat Bhushan
level to be used. Signed-off-by: Bharat Bhushan bharat.bhus...@freescale.com --- arch/powerpc/kvm/booke.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index ab62109..bb25937 100644 --- a/arch/powerpc/kvm/booke.c +++ b

  1   2   3   4   5   >