From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Mukesh Rathor <mukesh.rathor@oracle.com>
Cc: Xen-devel@lists.xensource.com
Subject: Re: [PATCH 23/24] PVH xen: preparatory patch for the pvh vmexit handler patch
Date: Mon, 22 Jul 2013 15:24:05 -0400 [thread overview]
Message-ID: <20130722192405.GK30300@phenom.dumpdata.com> (raw)
In-Reply-To: <1374114788-27652-24-git-send-email-mukesh.rathor@oracle.com>
On Wed, Jul 17, 2013 at 07:33:07PM -0700, Mukesh Rathor wrote:
> This is a preparatory patch for the next pvh vmexit handler patch.
>
> Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
> xen/arch/x86/hvm/vmx/pvh.c | 5 +++++
> xen/arch/x86/hvm/vmx/vmx.c | 6 ++++++
> xen/arch/x86/traps.c | 4 ++--
> xen/include/asm-x86/hvm/vmx/vmx.h | 1 +
> xen/include/asm-x86/processor.h | 2 ++
> xen/include/asm-x86/traps.h | 2 ++
> 6 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/vmx/pvh.c b/xen/arch/x86/hvm/vmx/pvh.c
> index 8638850..fb55ac8 100644
> --- a/xen/arch/x86/hvm/vmx/pvh.c
> +++ b/xen/arch/x86/hvm/vmx/pvh.c
> @@ -20,6 +20,11 @@
> #include <asm/hvm/nestedhvm.h>
> #include <asm/xstate.h>
>
> +/* Implemented in the next patch */
> +void vmx_pvh_vmexit_handler(struct cpu_user_regs *regs)
> +{
> +}
> +
> /*
> * Set vmcs fields in support of vcpu_op -> VCPUOP_initialise hcall. Called
> * from arch_set_info_guest() which sets the (PVH relevant) non-vmcs fields.
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 8f08253..59070a8 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -2491,6 +2491,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
> if ( unlikely(exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY) )
> return vmx_failed_vmentry(exit_reason, regs);
>
> + if ( is_pvh_vcpu(v) )
> + {
> + vmx_pvh_vmexit_handler(regs);
> + return;
> + }
> +
> if ( v->arch.hvm_vmx.vmx_realmode )
> {
> /* Put RFLAGS back the way the guest wants it */
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index 5325e92..1e8cf60 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -745,7 +745,7 @@ int cpuid_hypervisor_leaves( uint32_t idx, uint32_t sub_idx,
> return 1;
> }
>
> -static void pv_cpuid(struct cpu_user_regs *regs)
> +void pv_cpuid(struct cpu_user_regs *regs)
> {
> uint32_t a, b, c, d;
>
> @@ -1904,7 +1904,7 @@ static int is_cpufreq_controller(struct domain *d)
>
> #include "x86_64/mmconfig.h"
>
> -static int emulate_privileged_op(struct cpu_user_regs *regs)
> +int emulate_privileged_op(struct cpu_user_regs *regs)
> {
> enum x86_segment which_sel;
> struct vcpu *v = current;
> diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
> index 9e6c481..44e4136 100644
> --- a/xen/include/asm-x86/hvm/vmx/vmx.h
> +++ b/xen/include/asm-x86/hvm/vmx/vmx.h
> @@ -474,6 +474,7 @@ void vmx_dr_access(unsigned long exit_qualification,
> struct cpu_user_regs *regs);
> void vmx_fpu_enter(struct vcpu *v);
> int vmx_pvh_set_vcpu_info(struct vcpu *v, struct vcpu_guest_context *ctxtp);
> +void vmx_pvh_vmexit_handler(struct cpu_user_regs *regs);
>
> int alloc_p2m_hap_data(struct p2m_domain *p2m);
> void free_p2m_hap_data(struct p2m_domain *p2m);
> diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
> index 5cdacc7..22a9653 100644
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -566,6 +566,8 @@ void microcode_set_module(unsigned int);
> int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void), unsigned long len);
> int microcode_resume_cpu(int cpu);
>
> +void pv_cpuid(struct cpu_user_regs *regs);
> +
> #endif /* !__ASSEMBLY__ */
>
> #endif /* __ASM_X86_PROCESSOR_H */
> diff --git a/xen/include/asm-x86/traps.h b/xen/include/asm-x86/traps.h
> index 1d9b087..8c3540a 100644
> --- a/xen/include/asm-x86/traps.h
> +++ b/xen/include/asm-x86/traps.h
> @@ -50,4 +50,6 @@ extern int send_guest_trap(struct domain *d, uint16_t vcpuid,
> unsigned int trap_nr);
> int emulate_forced_invalid_op(struct cpu_user_regs *regs);
>
> +int emulate_privileged_op(struct cpu_user_regs *regs);
> +
> #endif /* ASM_TRAP_H */
> --
> 1.7.2.3
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2013-07-22 19:24 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-18 2:32 [PATCH 00/24][V8]PVH xen: Phase I, Version 8 patches Mukesh Rathor
2013-07-18 2:32 ` [PATCH 01/24] PVH xen: Add readme docs/misc/pvh-readme.txt Mukesh Rathor
2013-07-18 10:09 ` Ian Campbell
2013-07-18 18:21 ` Mukesh Rathor
2013-07-19 9:16 ` Ian Campbell
2013-07-19 21:33 ` Mukesh Rathor
2013-07-22 18:21 ` Ian Campbell
2013-07-18 10:32 ` Jan Beulich
2013-07-18 10:40 ` Ian Campbell
2013-07-22 19:29 ` Konrad Rzeszutek Wilk
2013-07-18 2:32 ` [PATCH 02/24] PVH xen: update __XEN_LATEST_INTERFACE_VERSION__ Mukesh Rathor
2013-07-18 10:33 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 03/24] PVH xen: turn gdb_frames/gdt_ents into union Mukesh Rathor
2013-07-22 19:22 ` Konrad Rzeszutek Wilk
2013-07-18 2:32 ` [PATCH 04/24] PVH xen: add params to read_segment_register Mukesh Rathor
2013-07-18 2:32 ` [PATCH 05/24] PVH xen: Move e820 fields out of pv_domain struct Mukesh Rathor
2013-07-18 2:32 ` [PATCH 06/24] PVH xen: hvm related preparatory changes for PVH Mukesh Rathor
2013-07-18 10:37 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 07/24] PVH xen: vmx " Mukesh Rathor
2013-07-18 12:29 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 08/24] PVH xen: vmcs " Mukesh Rathor
2013-07-18 12:32 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 09/24] PVH xen: Introduce PVH guest type and some basic changes Mukesh Rathor
2013-07-18 12:43 ` Jan Beulich
2013-07-18 18:28 ` Mukesh Rathor
2013-07-18 2:32 ` [PATCH 10/24] PVH xen: introduce pvh_set_vcpu_info() and vmx_pvh_set_vcpu_info() Mukesh Rathor
2013-07-18 13:14 ` Jan Beulich
2013-07-18 18:37 ` Mukesh Rathor
2013-07-18 2:32 ` [PATCH 11/24] PVH xen: domain create, schedular related code changes Mukesh Rathor
2013-07-18 13:16 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 12/24] PVH xen: support invalid op emulation for PVH Mukesh Rathor
2013-07-18 13:17 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 13/24] PVH xen: Support privileged " Mukesh Rathor
2013-07-18 13:29 ` Jan Beulich
2013-07-18 2:32 ` [PATCH 14/24] PVH xen: interrupt/event-channel delivery to PVH Mukesh Rathor
2013-07-22 19:21 ` Konrad Rzeszutek Wilk
2013-07-18 2:32 ` [PATCH 15/24] PVH xen: additional changes to support PVH guest creation and execution Mukesh Rathor
2013-07-22 19:25 ` Konrad Rzeszutek Wilk
2013-07-18 2:33 ` [PATCH 16/24] PVH xen: mapcache and show registers Mukesh Rathor
2013-07-18 2:33 ` [PATCH 17/24] PVH xen: mtrr, tsc, grant changes Mukesh Rathor
2013-07-18 2:33 ` [PATCH 18/24] PVH xen: Checks, asserts, and limitations for PVH Mukesh Rathor
2013-07-18 13:49 ` Jan Beulich
2013-07-18 2:33 ` [PATCH 19/24] PVH xen: add hypercall support " Mukesh Rathor
2013-07-18 13:56 ` Jan Beulich
2013-07-18 2:33 ` [PATCH 20/24] PVH xen: vmcs related changes Mukesh Rathor
2013-07-18 2:33 ` [PATCH 21/24] PVH xen: HVM support of PVH guest creation/destruction Mukesh Rathor
2013-07-22 19:22 ` Konrad Rzeszutek Wilk
2013-07-18 2:33 ` [PATCH 22/24] PVH xen: VMX " Mukesh Rathor
2013-07-22 19:15 ` Konrad Rzeszutek Wilk
2013-07-18 2:33 ` [PATCH 23/24] PVH xen: preparatory patch for the pvh vmexit handler patch Mukesh Rathor
2013-07-22 19:24 ` Konrad Rzeszutek Wilk [this message]
2013-07-18 2:33 ` [PATCH 24/24] PVH xen: introduce vmexit handler for PVH Mukesh Rathor
2013-07-18 10:47 ` [PATCH 00/24][V8]PVH xen: Phase I, Version 8 patches Roger Pau Monné
2013-07-19 1:23 ` Mukesh Rathor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130722192405.GK30300@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Xen-devel@lists.xensource.com \
--cc=mukesh.rathor@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.