SHA256
1
0
forked from pool/xen

- Add patch ioemu-bdrv-open-CACHE_WB.patch

for install guest on tapdisk very very slow.
 

- bnc#542525 - VUL-1: xen pygrub vulnerability
  20099-pygrub-security.patch
  20107-pygrub-security.patch
  20146-pygrub-security.patch
  20174-pygrub-security.patch
  20201-pygrub-security.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=22
This commit is contained in:
Charles Arnold
2009-09-30 16:44:28 +00:00
committed by Git OBS Bridge
parent f6f3ce5586
commit 61f585cdc1
13 changed files with 532 additions and 60 deletions

View File

@@ -1,4 +1,3 @@
%patch
Index: xen-3.4.1-testing/xen/include/asm-x86/hvm/domain.h
===================================================================
--- xen-3.4.1-testing.orig/xen/include/asm-x86/hvm/domain.h
@@ -18,7 +17,7 @@ Index: xen-3.4.1-testing/xen/arch/x86/hvm/Makefile
@@ -1,5 +1,6 @@
subdir-y += svm
subdir-y += vmx
+subdir-y += hyperv
+subdir-$(x86_64) += hyperv
obj-y += emulate.o
obj-y += hvm.o
@@ -57,7 +56,7 @@ Index: xen-3.4.1-testing/xen/arch/x86/hvm/hvm.c
if ( (rc = hvm_funcs.vcpu_initialise(v)) != 0 )
goto fail2;
@@ -732,6 +740,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
@@ -732,12 +740,14 @@ int hvm_vcpu_initialise(struct vcpu *v)
hvm_funcs.vcpu_destroy(v);
fail2:
vlapic_destroy(v);
@@ -65,14 +64,13 @@ Index: xen-3.4.1-testing/xen/arch/x86/hvm/hvm.c
fail1:
return rc;
}
@@ -739,6 +748,7 @@ int hvm_vcpu_initialise(struct vcpu *v)
void hvm_vcpu_destroy(struct vcpu *v)
{
tasklet_kill(&v->arch.hvm_vcpu.assert_evtchn_irq_tasklet);
+ hyperx_intercept_vcpu_destroy(v);
tasklet_kill(&v->arch.hvm_vcpu.assert_evtchn_irq_tasklet);
hvm_vcpu_cacheattr_destroy(v);
vlapic_destroy(v);
hvm_funcs.vcpu_destroy(v);
@@ -1690,7 +1700,7 @@ void hvm_cpuid(unsigned int input, unsig
return;
@@ -120,19 +118,22 @@ Index: xen-3.4.1-testing/xen/arch/x86/hvm/hvm.c
if ( (eax & 0x80000000) && is_viridian_domain(curr->domain) )
return viridian_hypercall(regs);
@@ -2572,6 +2592,15 @@ long do_hvm_op(unsigned long op, XEN_GUE
@@ -2572,6 +2592,18 @@ long do_hvm_op(unsigned long op, XEN_GUE
rc = -EINVAL;
break;
+ case HVM_PARAM_EXTEND_HYPERVISOR:
+ if ((a.value == 1) && hyperv_initialize(d))
+ {
+ if (a.value != 1)
+ rc = -EINVAL;
+ else
+ rc = -ENOMEM;
+ goto param_fail;
+ }
+#ifdef __x86_64__
+ if (a.value != 1)
+ rc = -EINVAL;
+ else if (hyperv_initialize(d))
+ rc = -ENOMEM;
+ else
+ break;
+#else
+ rc = -EINVAL;
+#endif
+ goto param_fail;
}
if ( rc == 0 )
@@ -140,7 +141,7 @@ Index: xen-3.4.1-testing/xen/include/public/arch-x86/hvm/save.h
===================================================================
--- xen-3.4.1-testing.orig/xen/include/public/arch-x86/hvm/save.h
+++ xen-3.4.1-testing/xen/include/public/arch-x86/hvm/save.h
@@ -432,9 +432,26 @@ struct hvm_viridian_context {
@@ -432,9 +432,24 @@ struct hvm_viridian_context {
DECLARE_HVM_SAVE_TYPE(VIRIDIAN, 15, struct hvm_viridian_context);
@@ -150,16 +151,14 @@ Index: xen-3.4.1-testing/xen/include/public/arch-x86/hvm/save.h
+ uint32_t long_mode;
+ uint32_t ext_id;
+};
+
+DECLARE_HVM_SAVE_TYPE(HYPERV_DOM, 16, struct hvm_hyperv_dom);
+DECLARE_HVM_SAVE_TYPE(HYPERV_DOM, 15, struct hvm_hyperv_dom);
+
+struct hvm_hyperv_cpu {
+ uint64_t control_msr;
+ uint64_t version_msr;
+ uint64_t pad[27]; //KYS: sles10 sp2 compatibility
+};
+
+DECLARE_HVM_SAVE_TYPE(HYPERV_CPU, 17, struct hvm_hyperv_cpu);
+DECLARE_HVM_SAVE_TYPE(HYPERV_CPU, 16, struct hvm_hyperv_cpu);
+
/*
* Largest type-code in use