- bnc#655438 - Using performance counter in domU on Nehalem cpus
22417-vpmu-nehalem.patch - Upstream patches from Jan 22389-amd-iommu-decls.patch 22416-acpi-check-mwait.patch 22431-p2m-remove-bug-check.patch - bnc#656245 - VUL-1: hypervisor: application or kernel in any pv Xen domain can crash Xen x86_64-gdt-ldt-fault-filter.patch - bnc#654050 - Python: a crasher bug in pyexpat - upstream patch needs backporting 22235-lxml-validator.patch - bnc#628729 - Add a small, fast alternative to 'xm list' for enumerating active domains. xen-list is a C program that uses libxenstore and libxenctl directly, bypassing the python toolstack. xen-utils-0.1.tar.bz2 OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=86
This commit is contained in:
parent
f84f24ac38
commit
7e759c69d7
186
22235-lxml-validator.patch
Normal file
186
22235-lxml-validator.patch
Normal file
@ -0,0 +1,186 @@
|
||||
# HG changeset patch
|
||||
# User Stephan Peijnik <spe@anexia.at>
|
||||
# Date 1286816093 -3600
|
||||
# Node ID b8cc53d22545706b28c7a26dffd24f192a76541a
|
||||
# Parent fbce8e403470db8c9e580a5efd9d717cd2260c1f
|
||||
Replace pyxml/xmlproc-based XML validator with lxml based one
|
||||
|
||||
Pyxml/xmlproc is being used in tools/xen/xm/xenapi_create.py but is
|
||||
unmaintained for several years now. xmlproc is used only for validating
|
||||
XML documents against a DTD file.
|
||||
|
||||
This patch replaces the pyxml/xmlproc based XML validation with code
|
||||
based on lxml, which is actively maintained.
|
||||
|
||||
Signed-off-by: Stephan Peijnik <spe@anexia.at>
|
||||
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
||||
|
||||
Index: xen-4.0.1-testing/README
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/README
|
||||
+++ xen-4.0.1-testing/README
|
||||
@@ -137,12 +137,15 @@ Python Runtime Libraries
|
||||
Xend (the Xen daemon) has the following runtime dependencies:
|
||||
|
||||
* Python 2.3 or later.
|
||||
- In many distros, the XML-aspects to the standard library
|
||||
+ In some distros, the XML-aspects to the standard library
|
||||
(xml.dom.minidom etc) are broken out into a separate python-xml package.
|
||||
This is also required.
|
||||
+ In more recent versions of Debian and Ubuntu the XML-aspects are included
|
||||
+ in the base python package however (python-xml has been removed
|
||||
+ from Debian in squeeze and from Ubuntu in intrepid).
|
||||
|
||||
URL: http://www.python.org/
|
||||
- Debian: python, python-xml
|
||||
+ Debian: python
|
||||
|
||||
* For optional SSL support, pyOpenSSL:
|
||||
URL: http://pyopenssl.sourceforge.net/
|
||||
@@ -153,8 +156,9 @@ Xend (the Xen daemon) has the following
|
||||
Debian: python-pam
|
||||
|
||||
* For optional XenAPI support in XM, PyXML:
|
||||
- URL: http://pyxml.sourceforge.net
|
||||
- YUM: PyXML
|
||||
+ URL: http://codespeak.net/lxml/
|
||||
+ Debian: python-lxml
|
||||
+ YUM: python-lxml
|
||||
|
||||
|
||||
Intel(R) Trusted Execution Technology Support
|
||||
Index: xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xm/xenapi_create.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
@@ -14,13 +14,15 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#============================================================================
|
||||
# Copyright (C) 2007 Tom Wilkie <tom.wilkie@gmail.com>
|
||||
+# Copyright (C) 2010 ANEXIA Internetdienstleistungs GmbH
|
||||
+# Author: Stephan Peijnik <spe@anexia.at>
|
||||
#============================================================================
|
||||
"""Domain creation using new XenAPI
|
||||
"""
|
||||
|
||||
from xen.xm.main import server, get_default_SR
|
||||
from xml.dom.minidom import parse, getDOMImplementation
|
||||
-from xml.parsers.xmlproc import xmlproc, xmlval, xmldtd
|
||||
+from lxml import etree
|
||||
from xen.xend import sxp
|
||||
from xen.xend.XendAPIConstants import XEN_API_ON_NORMAL_EXIT, \
|
||||
XEN_API_ON_CRASH_BEHAVIOUR
|
||||
@@ -35,6 +37,7 @@ import os
|
||||
from os.path import join
|
||||
import traceback
|
||||
import re
|
||||
+import warnings # Used by lxml-based validator
|
||||
|
||||
def log(_, msg):
|
||||
#print "> " + msg
|
||||
@@ -118,12 +121,21 @@ class xenapi_create:
|
||||
Use this if possible as it gives nice
|
||||
error messages
|
||||
"""
|
||||
- dtd = xmldtd.load_dtd(self.dtd)
|
||||
- parser = xmlproc.XMLProcessor()
|
||||
- parser.set_application(xmlval.ValidatingApp(dtd, parser))
|
||||
- parser.dtd = dtd
|
||||
- parser.ent = dtd
|
||||
- parser.parse_resource(file)
|
||||
+ try:
|
||||
+ dtd = etree.DTD(open(self.dtd, 'r'))
|
||||
+ except IOError:
|
||||
+ # The old code did neither raise an exception here, nor
|
||||
+ # did it report an error. For now we issue a warning.
|
||||
+ # TODO: How to handle a missing dtd file?
|
||||
+ # --sp
|
||||
+ warnings.warn('DTD file %s not found.' % (self.dtd),
|
||||
+ UserWarning)
|
||||
+ return
|
||||
+
|
||||
+ tree = etree.parse(file)
|
||||
+ root = tree.getroot()
|
||||
+ if not dtd.validate(root):
|
||||
+ self.handle_dtd_errors(dtd)
|
||||
|
||||
def check_dom_against_dtd(self, dom):
|
||||
"""
|
||||
@@ -131,49 +143,36 @@ class xenapi_create:
|
||||
Doesn't give as nice error messages.
|
||||
(no location info)
|
||||
"""
|
||||
- dtd = xmldtd.load_dtd(self.dtd)
|
||||
- app = xmlval.ValidatingApp(dtd, self)
|
||||
- app.set_locator(self)
|
||||
- self.dom2sax(dom, app)
|
||||
-
|
||||
- # Get errors back from ValidatingApp
|
||||
- def report_error(self, number, args=None):
|
||||
- self.errors = xmlproc.errors.english
|
||||
try:
|
||||
- msg = self.errors[number]
|
||||
- if args != None:
|
||||
- msg = msg % args
|
||||
- except KeyError:
|
||||
- msg = self.errors[4002] % number # Unknown err msg :-)
|
||||
- print msg
|
||||
+ dtd = etree.DTD(open(self.dtd, 'r'))
|
||||
+ except IOError:
|
||||
+ # The old code did neither raise an exception here, nor
|
||||
+ # did it report an error. For now we issue a warning.
|
||||
+ # TODO: How to handle a missing dtd file?
|
||||
+ # --sp
|
||||
+ warnings.warn('DTD file %s not found.' % (self.dtd),
|
||||
+ UserWarning)
|
||||
+ return
|
||||
+
|
||||
+ # XXX: This may be a bit slow. Maybe we should use another way
|
||||
+ # of getting an etree root element from the minidom DOM tree...
|
||||
+ # -- sp
|
||||
+ root = etree.XML(dom.toxml())
|
||||
+ if not dtd.validate(root):
|
||||
+ self.handle_dtd_errors(dtd)
|
||||
+
|
||||
+ # Do the same that was done in report_error before. This is directly
|
||||
+ # called by check_dtd and check_dom_against_dtd.
|
||||
+ # We are using sys.stderr instead of print though (python3k clean).
|
||||
+ def handle_dtd_errors(self, dtd):
|
||||
+ # XXX: Do we really want to bail out here?
|
||||
+ # -- sp
|
||||
+ for err in dtd.error_log:
|
||||
+ err_str = 'ERROR: %s\n' % (str(err),)
|
||||
+ sys.stderr.write(err_str)
|
||||
+ sys.stderr.flush()
|
||||
sys.exit(-1)
|
||||
|
||||
- # Here for compatibility with ValidatingApp
|
||||
- def get_line(self):
|
||||
- return -1
|
||||
-
|
||||
- def get_column(self):
|
||||
- return -1
|
||||
-
|
||||
- def dom2sax(self, dom, app):
|
||||
- """
|
||||
- Take a dom tree and tarverse it,
|
||||
- issuing SAX calls to app.
|
||||
- """
|
||||
- for child in dom.childNodes:
|
||||
- if child.nodeType == child.TEXT_NODE:
|
||||
- data = child.nodeValue
|
||||
- app.handle_data(data, 0, len(data))
|
||||
- else:
|
||||
- app.handle_start_tag(
|
||||
- child.nodeName,
|
||||
- self.attrs_to_dict(child.attributes))
|
||||
- self.dom2sax(child, app)
|
||||
- app.handle_end_tag(child.nodeName)
|
||||
-
|
||||
- def attrs_to_dict(self, attrs):
|
||||
- return dict(attrs.items())
|
||||
-
|
||||
#
|
||||
# Checks which cannot be done with dtd
|
||||
#
|
33
22389-amd-iommu-decls.patch
Normal file
33
22389-amd-iommu-decls.patch
Normal file
@ -0,0 +1,33 @@
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir@xen.org>
|
||||
# Date 1289906913 0
|
||||
# Node ID 9b2ca938cfe6c0639471e24634bc4a48d889b412
|
||||
# Parent 87f248de52304bc96a80dc093250fed0197f37e0
|
||||
amd iommu: Fix HV crash with 32bit pv_ops kernel
|
||||
|
||||
Signed-off-by: Wei Wang <wei.wang2@amd.com>
|
||||
Tested-by: Conny Seidel <conny.seidel@amd.com>
|
||||
|
||||
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
|
||||
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
|
||||
@@ -32,9 +32,6 @@
|
||||
#define DMA_32BIT_MASK 0x00000000ffffffffULL
|
||||
#define PAGE_ALIGN(addr) (((addr) + PAGE_SIZE - 1) & PAGE_MASK)
|
||||
|
||||
-extern int amd_iommu_debug;
|
||||
-extern int amd_iommu_perdev_intremap;
|
||||
-
|
||||
#define AMD_IOMMU_DEBUG(fmt, args...) \
|
||||
do \
|
||||
{ \
|
||||
--- a/xen/include/xen/iommu.h
|
||||
+++ b/xen/include/xen/iommu.h
|
||||
@@ -30,6 +30,8 @@ extern bool_t iommu_enabled;
|
||||
extern bool_t force_iommu, iommu_verbose;
|
||||
extern bool_t iommu_workaround_bios_bug, iommu_passthrough;
|
||||
extern bool_t iommu_snoop, iommu_qinval, iommu_intremap;
|
||||
+extern bool_t amd_iommu_debug;
|
||||
+extern bool_t amd_iommu_perdev_intremap;
|
||||
|
||||
#define domain_hvm_iommu(d) (&d->arch.hvm_domain.hvm_iommu)
|
||||
|
21
22416-acpi-check-mwait.patch
Normal file
21
22416-acpi-check-mwait.patch
Normal file
@ -0,0 +1,21 @@
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir@xen.org>
|
||||
# Date 1290453180 0
|
||||
# Node ID 0cc4ed1ce1f34ce442ed4da106e555931c895395
|
||||
# Parent 899131a8f9d2b99acc4bbe18593952d30446e71b
|
||||
x86: Check for MWAIT in CPUID before using it in ACPI idle code.
|
||||
|
||||
Signed-off-by: Keir Fraser <keir@xen.org>
|
||||
|
||||
--- a/xen/arch/x86/acpi/cpu_idle.c
|
||||
+++ b/xen/arch/x86/acpi/cpu_idle.c
|
||||
@@ -717,7 +717,8 @@ static void set_cx(
|
||||
{
|
||||
case ACPI_ADR_SPACE_FIXED_HARDWARE:
|
||||
if ( xen_cx->reg.bit_width == VENDOR_INTEL &&
|
||||
- xen_cx->reg.bit_offset == NATIVE_CSTATE_BEYOND_HALT )
|
||||
+ xen_cx->reg.bit_offset == NATIVE_CSTATE_BEYOND_HALT &&
|
||||
+ boot_cpu_has(X86_FEATURE_MWAIT) )
|
||||
cx->entry_method = ACPI_CSTATE_EM_FFH;
|
||||
else
|
||||
cx->entry_method = ACPI_CSTATE_EM_HALT;
|
123
22417-vpmu-nehalem.patch
Normal file
123
22417-vpmu-nehalem.patch
Normal file
@ -0,0 +1,123 @@
|
||||
References: bnc#655438
|
||||
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir@xen.org>
|
||||
# Date 1290453394 0
|
||||
# Node ID c0c1f5f0745e25af6f8b4a1006637d98a8d63581
|
||||
# Parent 0cc4ed1ce1f34ce442ed4da106e555931c895395
|
||||
x86 hvm: Fix VPMU issue on Nehalem cpus
|
||||
|
||||
Fix an issue on Nehalem cpus where performance counter overflows may
|
||||
lead to endless interrupt loops on this cpu.
|
||||
|
||||
Signed-off-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
|
||||
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir@xen.org>
|
||||
# Date 1290173202 0
|
||||
# Node ID b7ed352fa6100104374000cdbd845bbfc6478f08
|
||||
# Parent 437576a0f2026ded6dcc4b11558714dad1d1d042
|
||||
VPMU: Add the Intel CPU X7542 to the list of supported prcocessors
|
||||
|
||||
Signed-off-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
|
||||
|
||||
--- a/xen/arch/x86/hvm/vmx/vpmu.c
|
||||
+++ b/xen/arch/x86/hvm/vmx/vpmu.c
|
||||
@@ -96,6 +96,7 @@ void vpmu_initialise(struct vcpu *v)
|
||||
case 23:
|
||||
case 26:
|
||||
case 29:
|
||||
+ case 46:
|
||||
vpmu->arch_vpmu_ops = &core2_vpmu_ops;
|
||||
break;
|
||||
}
|
||||
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
|
||||
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
|
||||
@@ -35,6 +35,68 @@
|
||||
#include <asm/hvm/vmx/vpmu.h>
|
||||
#include <asm/hvm/vmx/vpmu_core2.h>
|
||||
|
||||
+/*
|
||||
+ * QUIRK to workaround an issue on Nehalem processors currently seen
|
||||
+ * on family 6 cpus E5520 (model 26) and X7542 (model 46).
|
||||
+ * The issue leads to endless PMC interrupt loops on the processor.
|
||||
+ * If the interrupt handler is running and a pmc reaches the value 0, this
|
||||
+ * value remains forever and it triggers immediately a new interrupt after
|
||||
+ * finishing the handler.
|
||||
+ * A workaround is to read all flagged counters and if the value is 0 write
|
||||
+ * 1 (or another value != 0) into it.
|
||||
+ * There exist no errata and the real cause of this behaviour is unknown.
|
||||
+ */
|
||||
+bool_t __read_mostly is_pmc_quirk;
|
||||
+
|
||||
+static void check_pmc_quirk(void)
|
||||
+{
|
||||
+ u8 family = current_cpu_data.x86;
|
||||
+ u8 cpu_model = current_cpu_data.x86_model;
|
||||
+ is_pmc_quirk = 0;
|
||||
+ if ( family == 6 )
|
||||
+ {
|
||||
+ if ( cpu_model == 46 || cpu_model == 26 )
|
||||
+ is_pmc_quirk = 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int core2_get_pmc_count(void);
|
||||
+static void handle_pmc_quirk(u64 msr_content)
|
||||
+{
|
||||
+ int num_gen_pmc = core2_get_pmc_count();
|
||||
+ int num_fix_pmc = 3;
|
||||
+ int i;
|
||||
+ u64 val;
|
||||
+
|
||||
+ if ( !is_pmc_quirk )
|
||||
+ return;
|
||||
+
|
||||
+ val = msr_content;
|
||||
+ for ( i = 0; i < num_gen_pmc; i++ )
|
||||
+ {
|
||||
+ if ( val & 0x1 )
|
||||
+ {
|
||||
+ u64 cnt;
|
||||
+ rdmsrl(MSR_P6_PERFCTR0 + i, cnt);
|
||||
+ if ( cnt == 0 )
|
||||
+ wrmsrl(MSR_P6_PERFCTR0 + i, 1);
|
||||
+ }
|
||||
+ val >>= 1;
|
||||
+ }
|
||||
+ val = msr_content >> 32;
|
||||
+ for ( i = 0; i < num_fix_pmc; i++ )
|
||||
+ {
|
||||
+ if ( val & 0x1 )
|
||||
+ {
|
||||
+ u64 cnt;
|
||||
+ rdmsrl(MSR_CORE_PERF_FIXED_CTR0 + i, cnt);
|
||||
+ if ( cnt == 0 )
|
||||
+ wrmsrl(MSR_CORE_PERF_FIXED_CTR0 + i, 1);
|
||||
+ }
|
||||
+ val >>= 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
u32 core2_counters_msr[] = {
|
||||
MSR_CORE_PERF_FIXED_CTR0,
|
||||
MSR_CORE_PERF_FIXED_CTR1,
|
||||
@@ -497,6 +559,10 @@ static int core2_vpmu_do_interrupt(struc
|
||||
rdmsrl(MSR_CORE_PERF_GLOBAL_STATUS, msr_content);
|
||||
if ( !msr_content )
|
||||
return 0;
|
||||
+
|
||||
+ if ( is_pmc_quirk )
|
||||
+ handle_pmc_quirk(msr_content);
|
||||
+
|
||||
core2_vpmu_cxt->global_ovf_status |= msr_content;
|
||||
msr_content = 0xC000000700000000 | ((1 << core2_get_pmc_count()) - 1);
|
||||
wrmsrl(MSR_CORE_PERF_GLOBAL_OVF_CTRL, msr_content);
|
||||
@@ -518,6 +584,7 @@ static int core2_vpmu_do_interrupt(struc
|
||||
|
||||
static void core2_vpmu_initialise(struct vcpu *v)
|
||||
{
|
||||
+ check_pmc_quirk();
|
||||
}
|
||||
|
||||
static void core2_vpmu_destroy(struct vcpu *v)
|
23
22431-p2m-remove-bug-check.patch
Normal file
23
22431-p2m-remove-bug-check.patch
Normal file
@ -0,0 +1,23 @@
|
||||
# HG changeset patch
|
||||
# User Tim Deegan <Tim.Deegan@citrix.com>
|
||||
# Date 1290594003 0
|
||||
# Node ID 79b71c77907b80772ee8cba0c5bbf8e444e61226
|
||||
# Parent e5c4e925e1bd15baeadc0817dcceb5fff54b8a74
|
||||
x86/mm: remove incorrect BUG_ON.
|
||||
This BUG_ON tests a property of an effectively random PFN in the guest,
|
||||
and is explicitly _not_ seeing the MFN that's known to be owned.
|
||||
|
||||
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
|
||||
|
||||
--- a/xen/arch/x86/mm/p2m.c
|
||||
+++ b/xen/arch/x86/mm/p2m.c
|
||||
@@ -2186,9 +2186,6 @@ guest_physmap_add_entry(struct domain *d
|
||||
P2M_DEBUG("aliased! mfn=%#lx, old gfn=%#lx, new gfn=%#lx\n",
|
||||
mfn + i, ogfn, gfn + i);
|
||||
omfn = gfn_to_mfn_query(d, ogfn, &ot);
|
||||
- /* If we get here, we know the local domain owns the page,
|
||||
- so it can't have been grant mapped in. */
|
||||
- BUG_ON( p2m_is_grant(ot) );
|
||||
if ( p2m_is_ram(ot) )
|
||||
{
|
||||
ASSERT(mfn_valid(omfn));
|
@ -2511,7 +2511,7 @@ Index: xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xm/xenapi_create.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
@@ -310,6 +310,8 @@ class xenapi_create:
|
||||
@@ -309,6 +309,8 @@ class xenapi_create:
|
||||
get_child_nodes_as_dict(vm, "platform", "key", "value"),
|
||||
"other_config":
|
||||
get_child_nodes_as_dict(vm, "other_config", "key", "value"),
|
||||
@ -2520,7 +2520,7 @@ Index: xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
"PV_bootloader":
|
||||
"",
|
||||
"PV_kernel":
|
||||
@@ -696,6 +698,8 @@ class sxp2xml:
|
||||
@@ -695,6 +697,8 @@ class sxp2xml:
|
||||
= str(get_child_by_name(config, "s3_integrity", 0))
|
||||
vm.attributes["superpages"] \
|
||||
= str(get_child_by_name(config, "superpages", 0))
|
||||
|
13
x86_64-gdt-ldt-fault-filter.patch
Normal file
13
x86_64-gdt-ldt-fault-filter.patch
Normal file
@ -0,0 +1,13 @@
|
||||
References: bnc#656245
|
||||
|
||||
--- a/xen/arch/x86/traps.c
|
||||
+++ b/xen/arch/x86/traps.c
|
||||
@@ -1223,7 +1223,7 @@ static int fixup_page_fault(unsigned lon
|
||||
|
||||
if ( unlikely(IN_HYPERVISOR_RANGE(addr)) )
|
||||
{
|
||||
- if ( !(regs->error_code & PFEC_reserved_bit) &&
|
||||
+ if ( !(regs->error_code & (PFEC_user_mode | PFEC_reserved_bit)) &&
|
||||
(addr >= GDT_LDT_VIRT_START) && (addr < GDT_LDT_VIRT_END) )
|
||||
return handle_gdt_ldt_mapping_fault(
|
||||
addr - GDT_LDT_VIRT_START, regs);
|
3
xen-utils-0.1.tar.bz2
Normal file
3
xen-utils-0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ef15c1d850149d7b1038e2e1e46e4f18ed2127700a38d6f28fa6fdaa95224563
|
||||
size 6267
|
@ -174,3 +174,27 @@ Index: xen-4.0.1-testing/tools/blktap2/drivers/block-remus.c
|
||||
|
||||
RPRINTF("opening %s\n", name);
|
||||
|
||||
Index: xen-4.0.1-testing/tools/blktap/lib/blktaplib.h
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/blktap/lib/blktaplib.h
|
||||
+++ xen-4.0.1-testing/tools/blktap/lib/blktaplib.h
|
||||
@@ -196,6 +196,7 @@ typedef struct msg_pid {
|
||||
} msg_pid_t;
|
||||
|
||||
#define READ 0
|
||||
+#undef WRITE
|
||||
#define WRITE 1
|
||||
|
||||
/*Control Messages between manager and tapdev*/
|
||||
Index: xen-4.0.1-testing/tools/blktap2/include/blktaplib.h
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/blktap2/include/blktaplib.h
|
||||
+++ xen-4.0.1-testing/tools/blktap2/include/blktaplib.h
|
||||
@@ -198,6 +198,7 @@ typedef struct msg_lock {
|
||||
} msg_lock_t;
|
||||
|
||||
#define READ 0
|
||||
+#undef WRITE
|
||||
#define WRITE 1
|
||||
|
||||
/*Control Messages between manager and tapdev*/
|
||||
|
33
xen.changes
33
xen.changes
@ -1,3 +1,36 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 30 13:44:35 MST 2010 - carnold@novell.com
|
||||
|
||||
- bnc#655438 - Using performance counter in domU on Nehalem cpus
|
||||
22417-vpmu-nehalem.patch
|
||||
- Upstream patches from Jan
|
||||
22389-amd-iommu-decls.patch
|
||||
22416-acpi-check-mwait.patch
|
||||
22431-p2m-remove-bug-check.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 30 06:46:28 MST 2010 - carnold@novell.com
|
||||
|
||||
- bnc#656245 - VUL-1: hypervisor: application or kernel in any pv
|
||||
Xen domain can crash Xen
|
||||
x86_64-gdt-ldt-fault-filter.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 29 10:06:49 MST 2010 - carnold@novell.com
|
||||
|
||||
- bnc#654050 - Python: a crasher bug in pyexpat - upstream patch
|
||||
needs backporting
|
||||
22235-lxml-validator.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 23 15:46:09 MST 2010 - jfehlig@novell.com
|
||||
|
||||
- bnc#628729 - Add a small, fast alternative to 'xm list' for
|
||||
enumerating active domains. xen-list is a C program that uses
|
||||
libxenstore and libxenctl directly, bypassing the python
|
||||
toolstack.
|
||||
xen-utils-0.1.tar.bz2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 19 11:48:43 CST 2010 - lidongyang@novell.com
|
||||
|
||||
|
211
xen.spec
211
xen.spec
@ -25,35 +25,35 @@ ExclusiveArch: %ix86 x86_64
|
||||
%define changeset 21326
|
||||
%define xen_build_dir xen-4.0.1-testing
|
||||
%define with_kmp 1
|
||||
BuildRequires: LibVNCServer-devel
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: automake
|
||||
BuildRequires: bin86
|
||||
BuildRequires: curl-devel
|
||||
BuildRequires: dev86
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: latex2html
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: openssl
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pciutils-devel
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: texinfo
|
||||
BuildRequires: transfig
|
||||
BuildRequires: LibVNCServer-devel
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: automake
|
||||
BuildRequires: bin86
|
||||
BuildRequires: curl-devel
|
||||
BuildRequires: dev86
|
||||
BuildRequires: graphviz
|
||||
BuildRequires: latex2html
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: openssl
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pciutils-devel
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: texinfo
|
||||
BuildRequires: transfig
|
||||
%if %suse_version <= 1110
|
||||
BuildRequires: pmtools
|
||||
BuildRequires: pmtools
|
||||
%else
|
||||
BuildRequires: acpica
|
||||
BuildRequires: acpica
|
||||
%endif
|
||||
%if %suse_version >= 1030
|
||||
BuildRequires: texlive
|
||||
BuildRequires: texlive-latex
|
||||
BuildRequires: texlive
|
||||
BuildRequires: texlive-latex
|
||||
%else
|
||||
BuildRequires: te_ams
|
||||
BuildRequires: te_latex
|
||||
BuildRequires: tetex
|
||||
BuildRequires: te_ams
|
||||
BuildRequires: te_latex
|
||||
BuildRequires: tetex
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
BuildRequires: glibc-32bit glibc-devel-32bit
|
||||
@ -78,28 +78,29 @@ PreReq: %insserv_prereq %fillup_prereq
|
||||
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
||||
Source0: xen-4.0.1-testing-src.tar.bz2
|
||||
Source1: stubdom.tar.bz2
|
||||
Source2: README.SuSE
|
||||
Source3: boot.xen
|
||||
Source4: boot.local.xenU
|
||||
Source5: init.xend
|
||||
Source6: init.xendomains
|
||||
Source7: logrotate.conf
|
||||
Source8: domUloader.py
|
||||
Source9: xmexample.domUloader
|
||||
Source10: xmexample.disks
|
||||
Source11: block-nbd
|
||||
Source12: block-iscsi
|
||||
Source13: block-npiv-common.sh
|
||||
Source14: block-npiv
|
||||
Source15: block-npiv-vport
|
||||
Source16: xmclone.sh
|
||||
Source17: xend-relocation.sh
|
||||
Source18: init.xen_loop
|
||||
Source2: xen-utils-0.1.tar.bz2
|
||||
Source3: README.SuSE
|
||||
Source4: boot.xen
|
||||
Source5: boot.local.xenU
|
||||
Source6: init.xend
|
||||
Source7: init.xendomains
|
||||
Source8: logrotate.conf
|
||||
Source9: domUloader.py
|
||||
Source10: xmexample.domUloader
|
||||
Source11: xmexample.disks
|
||||
Source12: block-nbd
|
||||
Source13: block-iscsi
|
||||
Source14: block-npiv-common.sh
|
||||
Source15: block-npiv
|
||||
Source16: block-npiv-vport
|
||||
Source17: xmclone.sh
|
||||
Source18: xend-relocation.sh
|
||||
Source19: init.xen_loop
|
||||
%if %{?with_kmp}0
|
||||
Source19: xen_pvdrivers.conf
|
||||
Source20: kmp_filelist
|
||||
Source20: xen_pvdrivers.conf
|
||||
Source21: kmp_filelist
|
||||
%endif
|
||||
Source21: block-dmmd
|
||||
Source22: block-dmmd
|
||||
# Xen API remote authentication sources
|
||||
Source23: etc_pam.d_xen-api
|
||||
Source24: xenapiusers
|
||||
@ -147,10 +148,15 @@ Patch37: 22222-x86-timer-extint.patch
|
||||
Patch38: 22223-vtd-workarounds.patch
|
||||
Patch39: 22231-x86-pv-ucode-msr-intel.patch
|
||||
Patch40: 22232-x86-64-lahf-lm-bios-workaround.patch
|
||||
Patch41: 22280-kexec.patch
|
||||
Patch42: 22337-vtd-scan-single-func.patch
|
||||
Patch43: 22348-vtd-check-secbus-devfn.patch
|
||||
Patch44: 22369-xend-pci-passthru-fix.patch
|
||||
Patch41: 22235-lxml-validator.patch
|
||||
Patch42: 22280-kexec.patch
|
||||
Patch43: 22337-vtd-scan-single-func.patch
|
||||
Patch44: 22348-vtd-check-secbus-devfn.patch
|
||||
Patch45: 22369-xend-pci-passthru-fix.patch
|
||||
Patch46: 22389-amd-iommu-decls.patch
|
||||
Patch47: 22416-acpi-check-mwait.patch
|
||||
Patch48: 22417-vpmu-nehalem.patch
|
||||
Patch49: 22431-p2m-remove-bug-check.patch
|
||||
# Our patches
|
||||
Patch300: xen-config.diff
|
||||
Patch301: xend-config.diff
|
||||
@ -250,18 +256,19 @@ Patch440: bdrv_default_rwflag.patch
|
||||
Patch450: xend-domain-lock.patch
|
||||
# Hypervisor and PV driver Patches
|
||||
Patch500: 32on64-extra-mem.patch
|
||||
Patch501: x86-ioapic-ack-default.patch
|
||||
Patch502: x86-cpufreq-report.patch
|
||||
Patch503: dump-exec-state.patch
|
||||
Patch504: dom-print.patch
|
||||
Patch505: pvdrv-import-shared-info.patch
|
||||
Patch506: x86-show-page-walk-early.patch
|
||||
Patch507: x86-extra-trap-info.patch
|
||||
Patch508: pvdrv_emulation_control.patch
|
||||
Patch509: blktap-pv-cdrom.patch
|
||||
Patch510: pv-driver-build.patch
|
||||
Patch511: supported_module.diff
|
||||
Patch512: magic_ioport_compat.patch
|
||||
Patch501: x86_64-gdt-ldt-fault-filter.patch
|
||||
Patch502: x86-ioapic-ack-default.patch
|
||||
Patch503: x86-cpufreq-report.patch
|
||||
Patch504: dump-exec-state.patch
|
||||
Patch505: dom-print.patch
|
||||
Patch506: pvdrv-import-shared-info.patch
|
||||
Patch507: x86-show-page-walk-early.patch
|
||||
Patch508: x86-extra-trap-info.patch
|
||||
Patch509: pvdrv_emulation_control.patch
|
||||
Patch510: blktap-pv-cdrom.patch
|
||||
Patch511: pv-driver-build.patch
|
||||
Patch512: supported_module.diff
|
||||
Patch513: magic_ioport_compat.patch
|
||||
Patch650: disable_emulated_device.diff
|
||||
Patch651: ioemu-disable-scsi.patch
|
||||
# novell_shim patches
|
||||
@ -273,32 +280,32 @@ Patch704: hv_apic.patch
|
||||
# Build patch
|
||||
Patch999: tmp_build.patch
|
||||
# FATE 310510
|
||||
Patch10001: xenpaging.tools_xenpaging_cleanup.patch
|
||||
Patch10002: xenpaging.pageout_policy.patch
|
||||
Patch10003: xenpaging.xs_daemon_close.patch
|
||||
Patch10004: xenpaging.get_paged_frame.patch
|
||||
Patch10005: xenpaging.makefile.patch
|
||||
Patch10010: xenpaging.policy_linear.patch
|
||||
Patch10011: xenpaging.pagefile.patch
|
||||
Patch10012: xenpaging.xenpaging_init.patch
|
||||
Patch10013: xenpaging.mem_paging_tool_qemu_flush_cache.patch
|
||||
Patch10014: xenpaging.machine_to_phys_mapping.patch
|
||||
Patch10015: xenpaging.populate_only_if_paged.patch
|
||||
Patch10017: xenpaging.autostart.patch
|
||||
Patch10018: xenpaging.signal_handling.patch
|
||||
Patch10019: xenpaging.MRU_SIZE.patch
|
||||
Patch10020: xenpaging.guest_remove_page.patch
|
||||
Patch10021: xenpaging.mem_event_check_ring-free_requests.patch
|
||||
Patch10022: xenpaging.blacklist.patch
|
||||
Patch10023: xenpaging.autostart_delay.patch
|
||||
Patch10024: xenpaging.page_already_populated.patch
|
||||
Patch10025: xenpaging.notify_policy_only_once.patch
|
||||
Patch10026: xenpaging.num_pages_equal_max_pages.patch
|
||||
Patch10027: xenpaging.p2m_mem_paging_populate_if_p2m_ram_paged.patch
|
||||
Patch10028: xenpaging.HVMCOPY_gfn_paged_out.patch
|
||||
Patch10029: xenpaging.optimize_p2m_mem_paging_populate.patch
|
||||
Patch10030: xenpaging.enabled.patch
|
||||
Patch10040: xenpaging.doc.patch
|
||||
Patch10001: xenpaging.tools_xenpaging_cleanup.patch
|
||||
Patch10002: xenpaging.pageout_policy.patch
|
||||
Patch10003: xenpaging.xs_daemon_close.patch
|
||||
Patch10004: xenpaging.get_paged_frame.patch
|
||||
Patch10005: xenpaging.makefile.patch
|
||||
Patch10010: xenpaging.policy_linear.patch
|
||||
Patch10011: xenpaging.pagefile.patch
|
||||
Patch10012: xenpaging.xenpaging_init.patch
|
||||
Patch10013: xenpaging.mem_paging_tool_qemu_flush_cache.patch
|
||||
Patch10014: xenpaging.machine_to_phys_mapping.patch
|
||||
Patch10015: xenpaging.populate_only_if_paged.patch
|
||||
Patch10017: xenpaging.autostart.patch
|
||||
Patch10018: xenpaging.signal_handling.patch
|
||||
Patch10019: xenpaging.MRU_SIZE.patch
|
||||
Patch10020: xenpaging.guest_remove_page.patch
|
||||
Patch10021: xenpaging.mem_event_check_ring-free_requests.patch
|
||||
Patch10022: xenpaging.blacklist.patch
|
||||
Patch10023: xenpaging.autostart_delay.patch
|
||||
Patch10024: xenpaging.page_already_populated.patch
|
||||
Patch10025: xenpaging.notify_policy_only_once.patch
|
||||
Patch10026: xenpaging.num_pages_equal_max_pages.patch
|
||||
Patch10027: xenpaging.p2m_mem_paging_populate_if_p2m_ram_paged.patch
|
||||
Patch10028: xenpaging.HVMCOPY_gfn_paged_out.patch
|
||||
Patch10029: xenpaging.optimize_p2m_mem_paging_populate.patch
|
||||
Patch10030: xenpaging.enabled.patch
|
||||
Patch10040: xenpaging.doc.patch
|
||||
Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
#%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
||||
@ -416,7 +423,7 @@ License: GPLv2+
|
||||
Summary: Xen Virtualization: Control tools for domain 0
|
||||
Group: System/Kernel
|
||||
Requires: xen-libs = %{version}
|
||||
Requires: bridge-utils multipath-tools python python-curses python-openssl python-pam python-xml pyxml
|
||||
Requires: bridge-utils multipath-tools python python-curses python-openssl python-pam python-xml python-lxml
|
||||
#Requires: ipcalc
|
||||
# subpackage existed in 10.3
|
||||
Provides: xen-tools-ioemu = 3.2
|
||||
@ -631,6 +638,7 @@ Authors:
|
||||
|
||||
%prep
|
||||
%setup -q -n %xen_build_dir -a 1
|
||||
tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
@ -676,6 +684,11 @@ Authors:
|
||||
%patch42 -p1
|
||||
%patch43 -p1
|
||||
%patch44 -p1
|
||||
%patch45 -p1
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch300 -p1
|
||||
%patch301 -p1
|
||||
%patch302 -p1
|
||||
@ -780,6 +793,7 @@ Authors:
|
||||
%patch510 -p1
|
||||
%patch511 -p1
|
||||
%patch512 -p1
|
||||
%patch513 -p1
|
||||
%patch650 -p1
|
||||
%patch651 -p1
|
||||
%patch700 -p1
|
||||
@ -815,6 +829,7 @@ Authors:
|
||||
%patch10030 -p1
|
||||
%patch10040 -p1
|
||||
|
||||
|
||||
%build
|
||||
XEN_EXTRAVERSION=%version-%release
|
||||
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
|
||||
@ -845,6 +860,7 @@ for flavor in %flavors_to_build; do
|
||||
cd ../..
|
||||
done
|
||||
%endif
|
||||
make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes
|
||||
|
||||
%install
|
||||
test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
|
||||
@ -899,7 +915,7 @@ for flavor in %flavors_to_build; do
|
||||
M=$PWD/obj/$flavor
|
||||
done
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
||||
install -m644 %SOURCE19 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers.conf
|
||||
install -m644 %SOURCE20 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers.conf
|
||||
%endif
|
||||
# stubdom
|
||||
make stubdom
|
||||
@ -916,7 +932,7 @@ ln -s /usr/lib/xen/bin/stubdompath.sh $RPM_BUILD_ROOT/usr/lib64/xen/bin/stubdomp
|
||||
make -C docs install \
|
||||
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
||||
DOCDIR=%{_defaultdocdir}/xen
|
||||
for name in COPYING %SOURCE2 %SOURCE3 %SOURCE4; do
|
||||
for name in COPYING %SOURCE3 %SOURCE4 %SOURCE5; do
|
||||
install -m 644 $name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/
|
||||
done
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc
|
||||
@ -925,21 +941,21 @@ for name in vtpm.txt crashdb.txt sedf_scheduler_mini-HOWTO.txt xenpaging.txt; do
|
||||
done
|
||||
# init scripts
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
||||
install %SOURCE5 $RPM_BUILD_ROOT/etc/init.d/xend
|
||||
install %SOURCE6 $RPM_BUILD_ROOT/etc/init.d/xend
|
||||
ln -s /etc/init.d/xend $RPM_BUILD_ROOT/usr/sbin/rcxend
|
||||
install %SOURCE6 $RPM_BUILD_ROOT/etc/init.d/xendomains
|
||||
install %SOURCE7 $RPM_BUILD_ROOT/etc/init.d/xendomains
|
||||
ln -s /etc/init.d/xendomains $RPM_BUILD_ROOT/usr/sbin/rcxendomains
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
||||
install -m644 %SOURCE18 $RPM_BUILD_ROOT/etc/modprobe.d/xen_loop.conf
|
||||
install -m644 %SOURCE19 $RPM_BUILD_ROOT/etc/modprobe.d/xen_loop.conf
|
||||
# example config
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts}
|
||||
mv $RPM_BUILD_ROOT/etc/xen/xmexample* $RPM_BUILD_ROOT/etc/xen/examples
|
||||
rm -f $RPM_BUILD_ROOT/etc/xen/examples/*nbd
|
||||
install -m644 %SOURCE9 %SOURCE10 $RPM_BUILD_ROOT/etc/xen/examples/
|
||||
install -m644 %SOURCE10 %SOURCE11 $RPM_BUILD_ROOT/etc/xen/examples/
|
||||
install -m644 tools/xentrace/formats $RPM_BUILD_ROOT/etc/xen/examples/xentrace_formats.txt
|
||||
# scripts
|
||||
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/block-*nbd
|
||||
install -m755 %SOURCE11 %SOURCE12 %SOURCE13 %SOURCE14 %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE21 $RPM_BUILD_ROOT/etc/xen/scripts/
|
||||
install -m755 %SOURCE12 %SOURCE13 %SOURCE14 %SOURCE15 %SOURCE16 %SOURCE17 %SOURCE18 %SOURCE22 $RPM_BUILD_ROOT/etc/xen/scripts/
|
||||
ln -s /etc/xen/scripts/vm-monitor $RPM_BUILD_ROOT/etc/xen/scripts/set-lock
|
||||
# Xen API remote authentication files
|
||||
install -d $RPM_BUILD_ROOT/etc/pam.d
|
||||
@ -953,7 +969,7 @@ install -m755 %SOURCE25 $RPM_BUILD_ROOT/etc/sysconfig/network/scripts
|
||||
ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d/xen
|
||||
ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/xen
|
||||
# logrotate
|
||||
install -m644 -D %SOURCE7 $RPM_BUILD_ROOT/etc/logrotate.d/xen
|
||||
install -m644 -D %SOURCE8 $RPM_BUILD_ROOT/etc/logrotate.d/xen
|
||||
# directories
|
||||
mkdir -p $RPM_BUILD_ROOT/var/lib/xenstored
|
||||
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/images
|
||||
@ -967,12 +983,14 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/xen/xenpaging
|
||||
mkdir -p $RPM_BUILD_ROOT/var/log/xen
|
||||
ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images
|
||||
# Bootloader
|
||||
install -m755 %SOURCE8 $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
||||
install -m755 %SOURCE9 $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
||||
# udev support
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d
|
||||
mv $RPM_BUILD_ROOT/etc/udev/rules.d/xen-backend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xen.rules
|
||||
mv $RPM_BUILD_ROOT/etc/udev/rules.d/xend.rules $RPM_BUILD_ROOT/etc/udev/rules.d/40-xend.rules
|
||||
#%find_lang xen-vm # po files are misnamed upstream
|
||||
# xen utils
|
||||
make -C tools/xen-utils-0.1 install DESTDIR=$RPM_BUILD_ROOT XEN_INTREE_BUILD=yes
|
||||
# Clean up unpackaged files
|
||||
rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/xen/qemu/
|
||||
rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/qemu/qemu-*
|
||||
@ -1055,6 +1073,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/debug
|
||||
/usr/sbin/td-util
|
||||
/usr/sbin/vhd-update
|
||||
/usr/sbin/vhd-util
|
||||
/usr/sbin/xen-list
|
||||
/usr/sbin/gdbsx
|
||||
/usr/sbin/xl
|
||||
%dir %{_libdir}/xen
|
||||
|
@ -23,6 +23,8 @@ v2:
|
||||
tools/python/xen/xm/xenapi_create.py | 1
|
||||
8 files changed, 111 insertions(+)
|
||||
|
||||
Index: xen-4.0.1-testing/tools/examples/xmexample.hvm
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/examples/xmexample.hvm
|
||||
+++ xen-4.0.1-testing/tools/examples/xmexample.hvm
|
||||
@@ -127,6 +127,9 @@ disk = [ 'file:/var/lib/xen/images/disk.
|
||||
@ -35,6 +37,8 @@ v2:
|
||||
#-----------------------------------------------------------------------------
|
||||
# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d)
|
||||
# default: hard disk, cd-rom, floppy
|
||||
Index: xen-4.0.1-testing/tools/python/README.XendConfig
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/README.XendConfig
|
||||
+++ xen-4.0.1-testing/tools/python/README.XendConfig
|
||||
@@ -120,6 +120,7 @@ otherConfig
|
||||
@ -45,6 +49,8 @@ v2:
|
||||
image.hvm.display
|
||||
image.hvm.xauthority
|
||||
image.hvm.vncconsole
|
||||
Index: xen-4.0.1-testing/tools/python/README.sxpcfg
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/README.sxpcfg
|
||||
+++ xen-4.0.1-testing/tools/python/README.sxpcfg
|
||||
@@ -51,6 +51,7 @@ image
|
||||
@ -55,6 +61,8 @@ v2:
|
||||
- display
|
||||
- xauthority
|
||||
- vncconsole
|
||||
Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -145,6 +145,7 @@ XENAPI_PLATFORM_CFG_TYPES = {
|
||||
@ -74,6 +82,8 @@ v2:
|
||||
if 'timer_mode' not in self['platform']:
|
||||
self['platform']['timer_mode'] = 1
|
||||
if 'viridian' not in self['platform']:
|
||||
Index: xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||
@@ -2442,6 +2442,7 @@ class XendDomainInfo:
|
||||
@ -96,6 +106,8 @@ v2:
|
||||
else:
|
||||
log.debug("No device model")
|
||||
|
||||
Index: xen-4.0.1-testing/tools/python/xen/xend/image.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xend/image.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xend/image.py
|
||||
@@ -122,12 +122,14 @@ class ImageHandler:
|
||||
@ -209,6 +221,8 @@ v2:
|
||||
def createDeviceModel(self, restore = False):
|
||||
if self.device_model is None:
|
||||
return
|
||||
Index: xen-4.0.1-testing/tools/python/xen/xm/create.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xm/create.py
|
||||
@@ -495,6 +495,10 @@ gopts.var('nfs_root', val="PATH",
|
||||
@ -230,9 +244,11 @@ v2:
|
||||
'device_model', 'display',
|
||||
'fda', 'fdb',
|
||||
'gfx_passthru', 'guest_os_type',
|
||||
Index: xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
===================================================================
|
||||
--- xen-4.0.1-testing.orig/tools/python/xen/xm/xenapi_create.py
|
||||
+++ xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py
|
||||
@@ -1086,6 +1086,7 @@ class sxp2xml:
|
||||
@@ -1085,6 +1085,7 @@ class sxp2xml:
|
||||
'acpi',
|
||||
'apic',
|
||||
'boot',
|
||||
|
Loading…
Reference in New Issue
Block a user