search for: hvm_funcs

Displaying 20 results from an estimated 21 matches for "hvm_funcs".

2013 Jan 25
1
[PATCH] HAP: Add global enable/disable command line option
...ble support for Hardware Assisted +Flag to enable 2 MB host page table support for Hardware Assisted Paging (HAP). ### hpetbroadcast diff -r 5af4f2ab06f3 -r e6ec5b2b717f xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -78,6 +78,10 @@ struct hvm_function_table hvm_funcs __re unsigned long __attribute__ ((__section__ (".bss.page_aligned"))) hvm_io_bitmap[3*PAGE_SIZE/BYTES_PER_LONG]; +/* Xen command-line option to enable HAP */ +static int opt_hap_enabled = 1; +boolean_param("hap", opt_hap_enabled); + static int cpu_callback( struct...
2013 Apr 19
0
[PATCH] x86/HVM: move per-vendor function tables into .init.data
...+113,7 @@ static struct notifier_block cpu_nfb = { static int __init hvm_enable(void) { - struct hvm_function_table *fns = NULL; + const struct hvm_function_table *fns = NULL; if ( cpu_has_vmx ) fns = start_vmx(); @@ -126,8 +126,8 @@ static int __init hvm_enable(void) hvm_funcs = *fns; hvm_enabled = 1; - printk("HVM: %s enabled\n", hvm_funcs.name); - if ( !hvm_funcs.hap_supported ) + printk("HVM: %s enabled\n", fns->name); + if ( !fns->hap_supported ) printk("HVM: Hardware Assisted Paging (HAP) not detected\n&quot...
2013 Apr 09
39
[PATCH 0/4] Add posted interrupt supporting
From: Yang Zhang <yang.z.zhang@Intel.com> The follwoing patches are adding the Posted Interrupt supporting to Xen: Posted Interrupt allows vAPIC interrupts to inject into guest directly without any vmexit. - When delivering a interrupt to guest, if target vcpu is running, update Posted-interrupt requests bitmap and send a notification event to the vcpu. Then the vcpu will handle this
2012 Sep 20
1
[PATCH 2/3] Implement tsc adjust feature
...tscll(tsc); } - v->arch.hvm_vcpu.cache_tsc_offset = guest_tsc - tsc; + delta_tsc = guest_tsc - tsc; + + v->arch.hvm_vcpu.msr_tsc_adjust += delta_tsc + - v->arch.hvm_vcpu.cache_tsc_offset; + v->arch.hvm_vcpu.cache_tsc_offset = delta_tsc; + hvm_funcs.set_tsc_offset(v, v->arch.hvm_vcpu.cache_tsc_offset); } +void hvm_set_guest_tsc_adjust(struct vcpu *v, u64 tsc_adjust) +{ + v->arch.hvm_vcpu.cache_tsc_offset += tsc_adjust + - v->arch.hvm_vcpu.msr_tsc_adjust; + hvm_funcs.set_tsc_offset(v, v->arch.hvm_...
2012 Sep 11
0
[PATCH 1/3] x86/hvm: don't use indirect calls without need
...vent_pending)(struct vcpu *v); - int (*do_pmu_interrupt)(struct cpu_user_regs *regs); int (*cpu_up_prepare)(unsigned int cpu); void (*cpu_dead)(unsigned int cpu); @@ -270,7 +269,8 @@ hvm_guest_x86_mode(struct vcpu *v) static inline void hvm_update_host_cr3(struct vcpu *v) { - hvm_funcs.update_host_cr3(v); + if ( hvm_funcs.update_host_cr3 ) + hvm_funcs.update_host_cr3(v); } static inline void hvm_update_guest_cr(struct vcpu *v, unsigned int cr) @@ -334,11 +334,6 @@ static inline int hvm_event_pending(stru return hvm_funcs.event_pending(v); } -static inline in...
2007 Jan 11
6
[PATCH 4/8] HVM save restore: vcpu context support
...ailed!\n"); + domain_crash(v->domain); + } + + /* only load vmcs once */ + ctxt->valid = 0; + +} + /* * The VMX spec (section 4.3.1.2, Checks on Guest Segment * Registers) says that virtual-8086 mode guests'' segment @@ -750,6 +1043,9 @@ static void vmx_setup_hvm_funcs(void) hvm_funcs.store_cpu_guest_regs = vmx_store_cpu_guest_regs; hvm_funcs.load_cpu_guest_regs = vmx_load_cpu_guest_regs; + + hvm_funcs.save_cpu_ctxt = vmx_save_vmcs_ctxt; + hvm_funcs.load_cpu_ctxt = vmx_load_vmcs_ctxt; hvm_funcs.paging_enabled = vmx_paging_enabled; hv...
2012 Aug 23
2
[PATCH] nvmx: fix resource relinquish for nested VMX
...1 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 7f8a025..0576a24 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -561,6 +561,9 @@ int hvm_domain_initialise(struct domain *d) void hvm_domain_relinquish_resources(struct domain *d) { + if ( hvm_funcs.nhvm_domain_relinquish_resources ) + hvm_funcs.nhvm_domain_relinquish_resources(d); + hvm_destroy_ioreq_page(d, &d->arch.hvm_domain.ioreq); hvm_destroy_ioreq_page(d, &d->arch.hvm_domain.buf_ioreq); diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c...
2007 Mar 01
7
hvm_init_ap_contexts
Why is there an argument returned in the function below (of hvm.h), knowing that there is void? static inline void hvm_init_ap_context(struct vcpu_guest_context *ctxt, int vcpuid, int trampoline_vector) { return hvm_funcs.init_ap_context(ctxt, vcpuid, trampoline_vector); } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2013 Feb 21
2
[PATCH v3] x86/nhvm: properly clean up after failure to set up all vCPU-s
...case HVM_PARAM_BUFIOREQ_EVTCHN: rc = -EINVAL; --- a/xen/arch/x86/hvm/nestedhvm.c +++ b/xen/arch/x86/hvm/nestedhvm.c @@ -87,7 +87,7 @@ nestedhvm_vcpu_initialise(struct vcpu *v void nestedhvm_vcpu_destroy(struct vcpu *v) { - if ( nestedhvm_enabled(v->domain) && hvm_funcs.nhvm_vcpu_destroy ) + if ( hvm_funcs.nhvm_vcpu_destroy ) hvm_funcs.nhvm_vcpu_destroy(v); } --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -62,7 +62,7 @@ int nvmx_vcpu_initialise(struct vcpu *v) if ( !nvcpu->nv_n2vmcx ) { gdprintk(XENLOG_E...
2012 Sep 14
0
[ PATCH v3 2/3] xen: enable Virtual-interrupt delivery
.../vlapic.c --- a/xen/arch/x86/hvm/vlapic.c Tue Sep 11 15:34:36 2012 +0800 +++ b/xen/arch/x86/hvm/vlapic.c Fri Sep 14 09:16:35 2012 +0800 @@ -145,6 +145,9 @@ int vlapic_set_irq(struct vlapic *vlapic if ( trig ) vlapic_set_vector(vec, &vlapic->regs->data[APIC_TMR]); + if ( hvm_funcs.update_eoi_exit_bitmap ) + hvm_funcs.update_eoi_exit_bitmap(vlapic_vcpu(vlapic), vec ,trig); + /* We may need to wake up target vcpu, besides set pending bit here */ return !vlapic_test_and_set_irr(vec, vlapic); } @@ -410,6 +413,14 @@ void vlapic_EOI_set(struct vlapic *vlapi...
2010 Mar 05
2
[PATCH][v6] PV extension of HVM(hybrid) support in Xen
Hi Keir The latest (hybrid) patchset again... Change from v5: Address the comments from Tim. Change from v4: 1. Add support for PV clocksource on HVM. (Replace evtchn enabling with pv clock enabling). 2. Update the patch following Tim''s comments. Change from v3: 1. Minor polish the patchset. Replace several specific is_hvm_pv_evtchn_domain() judgement. 2. Name changed...
2013 Jan 29
1
[PATCH v4 1/2] Xen: Fix live migration while enabling APICV
...x86/hvm/vlapic.c index ee2294c..38ff216 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -1198,6 +1198,9 @@ static int lapic_load_regs(struct domain *d, hvm_domain_context_t *h) if ( hvm_load_entry(LAPIC_REGS, h, s->regs) != 0 ) return -EINVAL; + if ( hvm_funcs.process_isr ) + hvm_funcs.process_isr(vlapic_find_highest_isr(s), v); + vlapic_adjust_i8259_target(d); lapic_rearm(s); return 0; diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c index c5c503e..8306237 100644 --- a/xen/arch/x86/hvm/vmx/intr.c +++ b/xen/arc...
2010 Mar 04
4
[PATCH][v5] PV extension of HVM(hybrid) in support in Xen
Hi Keir The latest (hybrid) patchset again... Change from v4: 1. Add support for PV clocksource on HVM. (Replace evtchn enabling with pv clock enabling). 2. Update the patch following Tim''s comments. Change from v3: 1. Minor polish the patchset. Replace several specific is_hvm_pv_evtchn_domain() judgement. 2. Name changed... Change from v2: 1. Change the name "hybrid"
2013 Sep 23
57
[PATCH RFC v13 00/20] Introduce PVH domU support
This patch series is a reworking of a series developed by Mukesh Rathor at Oracle. The entirety of the design and development was done by him; I have only reworked, reorganized, and simplified things in a way that I think makes more sense. The vast majority of the credit for this effort therefore goes to him. This version is labelled v13 because it is based on his most recent series, v11.
2013 Nov 18
6
[PATCH RFC v2] pvh: clearly specify used parameters in vcpu_guest_context
...g gfn, bool_t permanent); void *hvm_map_guest_frame_ro(unsigned long gfn, bool_t permanent); void hvm_unmap_guest_frame(void *p, bool_t permanent); -static inline void hvm_set_info_guest(struct vcpu *v, uint64_t gs_base_kernel) +static inline void hvm_set_info_guest(struct vcpu *v) { if ( hvm_funcs.set_info_guest ) - return hvm_funcs.set_info_guest(v, gs_base_kernel); + return hvm_funcs.set_info_guest(v); } int hvm_debug_op(struct vcpu *v, int32_t op); diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h index 5d220ce..77d1b98 100644 --- a/xen/i...
2010 May 04
0
[PATCH] svm: support EFER.LMSLE for guests
...as_lmsl = 0; + } +#endif + return 1; } --- 2010-05-04.orig/xen/include/asm-x86/hvm/hvm.h 2010-04-12 11:28:20.000000000 +0200 +++ 2010-05-04/xen/include/asm-x86/hvm/hvm.h 2010-05-04 13:23:02.000000000 +0200 @@ -136,6 +136,12 @@ struct hvm_function_table { extern struct hvm_function_table hvm_funcs; extern int hvm_enabled; +#ifdef __i386__ +# define cpu_has_lmsl 0 +#else +extern unsigned char cpu_has_lmsl; +#endif + int hvm_domain_initialise(struct domain *d); void hvm_domain_relinquish_resources(struct domain *d); void hvm_domain_destroy(struct domain *d); ________________________...
2013 Oct 30
3
[PATCH 4/4] XSA-60 security hole: flush cache when vmentry back to UC guest
...( nestedhvm_vcpu_in_guestmode(curr) ) diff --git a/xen/include/asm-x86/hvm/hvm.h b/xen/include/asm-x86/hvm/hvm.h index c9afb56..c7ac6b8 100644 --- a/xen/include/asm-x86/hvm/hvm.h +++ b/xen/include/asm-x86/hvm/hvm.h @@ -197,6 +197,7 @@ struct hvm_function_table { extern struct hvm_function_table hvm_funcs; extern bool_t hvm_enabled; +extern bool_t hypervisor_access_uc_hvm_memory; extern bool_t cpu_has_lmsl; extern s8 hvm_port80_allowed; -- 1.7.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
2012 Dec 10
26
[PATCH 00/11] Add virtual EPT support Xen.
From: Zhang Xiantao <xiantao.zhang@intel.com> With virtual EPT support, L1 hyerpvisor can use EPT hardware for L2 guest''s memory virtualization. In this way, L2 guest''s performance can be improved sharply. According to our testing, some benchmarks can show > 5x performance gain. Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com> Zhang Xiantao (11):
2012 May 30
12
[PATCH v2 0/4] XEN: fix vmx exception mistake
Changes from v1: - Define new struct hvm_trap to represent information of trap, include instruction length. - Renames hvm_inject_exception to hvm_inject_trap. Then define a couple of wrappers around that function for existing callers, so that their parameter lists actually *shrink*. This series of patches fix the mistake for debug exception(#DB), overflow exception(#OF) and INT3(#BP),
2013 Jan 21
6
[PATCH v3 0/4] nested vmx: enable VMCS shadowing feature
Changes from v2 to v3: - Use pfn_to_paddr() to get the address from frame number instead of doing shift directly. - Remove some unnecessary initialization code and add "static" to vmentry_fields and gpdptr_fields. - Enable the VMREAD/VMWRITE bitmap only if nested hvm is enabled. - Use clear_page() to set all 0 to the page instead of memset(). - Use domheap to allocate the