- 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.orig/tools/python/xen/xm/xenapi_create.py
|
||||||
+++ xen-4.0.1-testing/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"),
|
get_child_nodes_as_dict(vm, "platform", "key", "value"),
|
||||||
"other_config":
|
"other_config":
|
||||||
get_child_nodes_as_dict(vm, "other_config", "key", "value"),
|
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_bootloader":
|
||||||
"",
|
"",
|
||||||
"PV_kernel":
|
"PV_kernel":
|
||||||
@@ -696,6 +698,8 @@ class sxp2xml:
|
@@ -695,6 +697,8 @@ class sxp2xml:
|
||||||
= str(get_child_by_name(config, "s3_integrity", 0))
|
= str(get_child_by_name(config, "s3_integrity", 0))
|
||||||
vm.attributes["superpages"] \
|
vm.attributes["superpages"] \
|
||||||
= str(get_child_by_name(config, "superpages", 0))
|
= 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);
|
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
|
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 changeset 21326
|
||||||
%define xen_build_dir xen-4.0.1-testing
|
%define xen_build_dir xen-4.0.1-testing
|
||||||
%define with_kmp 1
|
%define with_kmp 1
|
||||||
BuildRequires: LibVNCServer-devel
|
BuildRequires: LibVNCServer-devel
|
||||||
BuildRequires: SDL-devel
|
BuildRequires: SDL-devel
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: bin86
|
BuildRequires: bin86
|
||||||
BuildRequires: curl-devel
|
BuildRequires: curl-devel
|
||||||
BuildRequires: dev86
|
BuildRequires: dev86
|
||||||
BuildRequires: graphviz
|
BuildRequires: graphviz
|
||||||
BuildRequires: latex2html
|
BuildRequires: latex2html
|
||||||
BuildRequires: libjpeg-devel
|
BuildRequires: libjpeg-devel
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: openssl
|
BuildRequires: openssl
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: pciutils-devel
|
BuildRequires: pciutils-devel
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
BuildRequires: texinfo
|
BuildRequires: texinfo
|
||||||
BuildRequires: transfig
|
BuildRequires: transfig
|
||||||
%if %suse_version <= 1110
|
%if %suse_version <= 1110
|
||||||
BuildRequires: pmtools
|
BuildRequires: pmtools
|
||||||
%else
|
%else
|
||||||
BuildRequires: acpica
|
BuildRequires: acpica
|
||||||
%endif
|
%endif
|
||||||
%if %suse_version >= 1030
|
%if %suse_version >= 1030
|
||||||
BuildRequires: texlive
|
BuildRequires: texlive
|
||||||
BuildRequires: texlive-latex
|
BuildRequires: texlive-latex
|
||||||
%else
|
%else
|
||||||
BuildRequires: te_ams
|
BuildRequires: te_ams
|
||||||
BuildRequires: te_latex
|
BuildRequires: te_latex
|
||||||
BuildRequires: tetex
|
BuildRequires: tetex
|
||||||
%endif
|
%endif
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
BuildRequires: glibc-32bit glibc-devel-32bit
|
BuildRequires: glibc-32bit glibc-devel-32bit
|
||||||
@ -78,28 +78,29 @@ PreReq: %insserv_prereq %fillup_prereq
|
|||||||
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
||||||
Source0: xen-4.0.1-testing-src.tar.bz2
|
Source0: xen-4.0.1-testing-src.tar.bz2
|
||||||
Source1: stubdom.tar.bz2
|
Source1: stubdom.tar.bz2
|
||||||
Source2: README.SuSE
|
Source2: xen-utils-0.1.tar.bz2
|
||||||
Source3: boot.xen
|
Source3: README.SuSE
|
||||||
Source4: boot.local.xenU
|
Source4: boot.xen
|
||||||
Source5: init.xend
|
Source5: boot.local.xenU
|
||||||
Source6: init.xendomains
|
Source6: init.xend
|
||||||
Source7: logrotate.conf
|
Source7: init.xendomains
|
||||||
Source8: domUloader.py
|
Source8: logrotate.conf
|
||||||
Source9: xmexample.domUloader
|
Source9: domUloader.py
|
||||||
Source10: xmexample.disks
|
Source10: xmexample.domUloader
|
||||||
Source11: block-nbd
|
Source11: xmexample.disks
|
||||||
Source12: block-iscsi
|
Source12: block-nbd
|
||||||
Source13: block-npiv-common.sh
|
Source13: block-iscsi
|
||||||
Source14: block-npiv
|
Source14: block-npiv-common.sh
|
||||||
Source15: block-npiv-vport
|
Source15: block-npiv
|
||||||
Source16: xmclone.sh
|
Source16: block-npiv-vport
|
||||||
Source17: xend-relocation.sh
|
Source17: xmclone.sh
|
||||||
Source18: init.xen_loop
|
Source18: xend-relocation.sh
|
||||||
|
Source19: init.xen_loop
|
||||||
%if %{?with_kmp}0
|
%if %{?with_kmp}0
|
||||||
Source19: xen_pvdrivers.conf
|
Source20: xen_pvdrivers.conf
|
||||||
Source20: kmp_filelist
|
Source21: kmp_filelist
|
||||||
%endif
|
%endif
|
||||||
Source21: block-dmmd
|
Source22: block-dmmd
|
||||||
# Xen API remote authentication sources
|
# Xen API remote authentication sources
|
||||||
Source23: etc_pam.d_xen-api
|
Source23: etc_pam.d_xen-api
|
||||||
Source24: xenapiusers
|
Source24: xenapiusers
|
||||||
@ -147,10 +148,15 @@ Patch37: 22222-x86-timer-extint.patch
|
|||||||
Patch38: 22223-vtd-workarounds.patch
|
Patch38: 22223-vtd-workarounds.patch
|
||||||
Patch39: 22231-x86-pv-ucode-msr-intel.patch
|
Patch39: 22231-x86-pv-ucode-msr-intel.patch
|
||||||
Patch40: 22232-x86-64-lahf-lm-bios-workaround.patch
|
Patch40: 22232-x86-64-lahf-lm-bios-workaround.patch
|
||||||
Patch41: 22280-kexec.patch
|
Patch41: 22235-lxml-validator.patch
|
||||||
Patch42: 22337-vtd-scan-single-func.patch
|
Patch42: 22280-kexec.patch
|
||||||
Patch43: 22348-vtd-check-secbus-devfn.patch
|
Patch43: 22337-vtd-scan-single-func.patch
|
||||||
Patch44: 22369-xend-pci-passthru-fix.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
|
# Our patches
|
||||||
Patch300: xen-config.diff
|
Patch300: xen-config.diff
|
||||||
Patch301: xend-config.diff
|
Patch301: xend-config.diff
|
||||||
@ -250,18 +256,19 @@ Patch440: bdrv_default_rwflag.patch
|
|||||||
Patch450: xend-domain-lock.patch
|
Patch450: xend-domain-lock.patch
|
||||||
# Hypervisor and PV driver Patches
|
# Hypervisor and PV driver Patches
|
||||||
Patch500: 32on64-extra-mem.patch
|
Patch500: 32on64-extra-mem.patch
|
||||||
Patch501: x86-ioapic-ack-default.patch
|
Patch501: x86_64-gdt-ldt-fault-filter.patch
|
||||||
Patch502: x86-cpufreq-report.patch
|
Patch502: x86-ioapic-ack-default.patch
|
||||||
Patch503: dump-exec-state.patch
|
Patch503: x86-cpufreq-report.patch
|
||||||
Patch504: dom-print.patch
|
Patch504: dump-exec-state.patch
|
||||||
Patch505: pvdrv-import-shared-info.patch
|
Patch505: dom-print.patch
|
||||||
Patch506: x86-show-page-walk-early.patch
|
Patch506: pvdrv-import-shared-info.patch
|
||||||
Patch507: x86-extra-trap-info.patch
|
Patch507: x86-show-page-walk-early.patch
|
||||||
Patch508: pvdrv_emulation_control.patch
|
Patch508: x86-extra-trap-info.patch
|
||||||
Patch509: blktap-pv-cdrom.patch
|
Patch509: pvdrv_emulation_control.patch
|
||||||
Patch510: pv-driver-build.patch
|
Patch510: blktap-pv-cdrom.patch
|
||||||
Patch511: supported_module.diff
|
Patch511: pv-driver-build.patch
|
||||||
Patch512: magic_ioport_compat.patch
|
Patch512: supported_module.diff
|
||||||
|
Patch513: magic_ioport_compat.patch
|
||||||
Patch650: disable_emulated_device.diff
|
Patch650: disable_emulated_device.diff
|
||||||
Patch651: ioemu-disable-scsi.patch
|
Patch651: ioemu-disable-scsi.patch
|
||||||
# novell_shim patches
|
# novell_shim patches
|
||||||
@ -273,32 +280,32 @@ Patch704: hv_apic.patch
|
|||||||
# Build patch
|
# Build patch
|
||||||
Patch999: tmp_build.patch
|
Patch999: tmp_build.patch
|
||||||
# FATE 310510
|
# FATE 310510
|
||||||
Patch10001: xenpaging.tools_xenpaging_cleanup.patch
|
Patch10001: xenpaging.tools_xenpaging_cleanup.patch
|
||||||
Patch10002: xenpaging.pageout_policy.patch
|
Patch10002: xenpaging.pageout_policy.patch
|
||||||
Patch10003: xenpaging.xs_daemon_close.patch
|
Patch10003: xenpaging.xs_daemon_close.patch
|
||||||
Patch10004: xenpaging.get_paged_frame.patch
|
Patch10004: xenpaging.get_paged_frame.patch
|
||||||
Patch10005: xenpaging.makefile.patch
|
Patch10005: xenpaging.makefile.patch
|
||||||
Patch10010: xenpaging.policy_linear.patch
|
Patch10010: xenpaging.policy_linear.patch
|
||||||
Patch10011: xenpaging.pagefile.patch
|
Patch10011: xenpaging.pagefile.patch
|
||||||
Patch10012: xenpaging.xenpaging_init.patch
|
Patch10012: xenpaging.xenpaging_init.patch
|
||||||
Patch10013: xenpaging.mem_paging_tool_qemu_flush_cache.patch
|
Patch10013: xenpaging.mem_paging_tool_qemu_flush_cache.patch
|
||||||
Patch10014: xenpaging.machine_to_phys_mapping.patch
|
Patch10014: xenpaging.machine_to_phys_mapping.patch
|
||||||
Patch10015: xenpaging.populate_only_if_paged.patch
|
Patch10015: xenpaging.populate_only_if_paged.patch
|
||||||
Patch10017: xenpaging.autostart.patch
|
Patch10017: xenpaging.autostart.patch
|
||||||
Patch10018: xenpaging.signal_handling.patch
|
Patch10018: xenpaging.signal_handling.patch
|
||||||
Patch10019: xenpaging.MRU_SIZE.patch
|
Patch10019: xenpaging.MRU_SIZE.patch
|
||||||
Patch10020: xenpaging.guest_remove_page.patch
|
Patch10020: xenpaging.guest_remove_page.patch
|
||||||
Patch10021: xenpaging.mem_event_check_ring-free_requests.patch
|
Patch10021: xenpaging.mem_event_check_ring-free_requests.patch
|
||||||
Patch10022: xenpaging.blacklist.patch
|
Patch10022: xenpaging.blacklist.patch
|
||||||
Patch10023: xenpaging.autostart_delay.patch
|
Patch10023: xenpaging.autostart_delay.patch
|
||||||
Patch10024: xenpaging.page_already_populated.patch
|
Patch10024: xenpaging.page_already_populated.patch
|
||||||
Patch10025: xenpaging.notify_policy_only_once.patch
|
Patch10025: xenpaging.notify_policy_only_once.patch
|
||||||
Patch10026: xenpaging.num_pages_equal_max_pages.patch
|
Patch10026: xenpaging.num_pages_equal_max_pages.patch
|
||||||
Patch10027: xenpaging.p2m_mem_paging_populate_if_p2m_ram_paged.patch
|
Patch10027: xenpaging.p2m_mem_paging_populate_if_p2m_ram_paged.patch
|
||||||
Patch10028: xenpaging.HVMCOPY_gfn_paged_out.patch
|
Patch10028: xenpaging.HVMCOPY_gfn_paged_out.patch
|
||||||
Patch10029: xenpaging.optimize_p2m_mem_paging_populate.patch
|
Patch10029: xenpaging.optimize_p2m_mem_paging_populate.patch
|
||||||
Patch10030: xenpaging.enabled.patch
|
Patch10030: xenpaging.enabled.patch
|
||||||
Patch10040: xenpaging.doc.patch
|
Patch10040: xenpaging.doc.patch
|
||||||
Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
#%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
#%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
|
Summary: Xen Virtualization: Control tools for domain 0
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
Requires: xen-libs = %{version}
|
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
|
#Requires: ipcalc
|
||||||
# subpackage existed in 10.3
|
# subpackage existed in 10.3
|
||||||
Provides: xen-tools-ioemu = 3.2
|
Provides: xen-tools-ioemu = 3.2
|
||||||
@ -631,6 +638,7 @@ Authors:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %xen_build_dir -a 1
|
%setup -q -n %xen_build_dir -a 1
|
||||||
|
tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
@ -676,6 +684,11 @@ Authors:
|
|||||||
%patch42 -p1
|
%patch42 -p1
|
||||||
%patch43 -p1
|
%patch43 -p1
|
||||||
%patch44 -p1
|
%patch44 -p1
|
||||||
|
%patch45 -p1
|
||||||
|
%patch46 -p1
|
||||||
|
%patch47 -p1
|
||||||
|
%patch48 -p1
|
||||||
|
%patch49 -p1
|
||||||
%patch300 -p1
|
%patch300 -p1
|
||||||
%patch301 -p1
|
%patch301 -p1
|
||||||
%patch302 -p1
|
%patch302 -p1
|
||||||
@ -780,6 +793,7 @@ Authors:
|
|||||||
%patch510 -p1
|
%patch510 -p1
|
||||||
%patch511 -p1
|
%patch511 -p1
|
||||||
%patch512 -p1
|
%patch512 -p1
|
||||||
|
%patch513 -p1
|
||||||
%patch650 -p1
|
%patch650 -p1
|
||||||
%patch651 -p1
|
%patch651 -p1
|
||||||
%patch700 -p1
|
%patch700 -p1
|
||||||
@ -815,6 +829,7 @@ Authors:
|
|||||||
%patch10030 -p1
|
%patch10030 -p1
|
||||||
%patch10040 -p1
|
%patch10040 -p1
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
XEN_EXTRAVERSION=%version-%release
|
XEN_EXTRAVERSION=%version-%release
|
||||||
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
|
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
|
||||||
@ -845,6 +860,7 @@ for flavor in %flavors_to_build; do
|
|||||||
cd ../..
|
cd ../..
|
||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
make -C tools/xen-utils-0.1 XEN_INTREE_BUILD=yes
|
||||||
|
|
||||||
%install
|
%install
|
||||||
test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
|
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
|
M=$PWD/obj/$flavor
|
||||||
done
|
done
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
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
|
%endif
|
||||||
# stubdom
|
# stubdom
|
||||||
make 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 \
|
make -C docs install \
|
||||||
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
|
||||||
DOCDIR=%{_defaultdocdir}/xen
|
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/
|
install -m 644 $name $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/
|
||||||
done
|
done
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/xen/misc
|
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
|
done
|
||||||
# init scripts
|
# init scripts
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
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
|
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
|
ln -s /etc/init.d/xendomains $RPM_BUILD_ROOT/usr/sbin/rcxendomains
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d
|
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
|
# example config
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts}
|
mkdir -p $RPM_BUILD_ROOT/etc/xen/{vm,examples,scripts}
|
||||||
mv $RPM_BUILD_ROOT/etc/xen/xmexample* $RPM_BUILD_ROOT/etc/xen/examples
|
mv $RPM_BUILD_ROOT/etc/xen/xmexample* $RPM_BUILD_ROOT/etc/xen/examples
|
||||||
rm -f $RPM_BUILD_ROOT/etc/xen/examples/*nbd
|
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
|
install -m644 tools/xentrace/formats $RPM_BUILD_ROOT/etc/xen/examples/xentrace_formats.txt
|
||||||
# scripts
|
# scripts
|
||||||
rm -f $RPM_BUILD_ROOT/etc/xen/scripts/block-*nbd
|
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
|
ln -s /etc/xen/scripts/vm-monitor $RPM_BUILD_ROOT/etc/xen/scripts/set-lock
|
||||||
# Xen API remote authentication files
|
# Xen API remote authentication files
|
||||||
install -d $RPM_BUILD_ROOT/etc/pam.d
|
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-up.d/xen
|
||||||
ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/xen
|
ln -s /etc/sysconfig/network/scripts/xen-updown.sh $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/xen
|
||||||
# logrotate
|
# logrotate
|
||||||
install -m644 -D %SOURCE7 $RPM_BUILD_ROOT/etc/logrotate.d/xen
|
install -m644 -D %SOURCE8 $RPM_BUILD_ROOT/etc/logrotate.d/xen
|
||||||
# directories
|
# directories
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/lib/xenstored
|
mkdir -p $RPM_BUILD_ROOT/var/lib/xenstored
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/lib/xen/images
|
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
|
mkdir -p $RPM_BUILD_ROOT/var/log/xen
|
||||||
ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images
|
ln -s /var/lib/xen/images $RPM_BUILD_ROOT/etc/xen/images
|
||||||
# Bootloader
|
# Bootloader
|
||||||
install -m755 %SOURCE8 $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
install -m755 %SOURCE9 $RPM_BUILD_ROOT/usr/lib/xen/boot/
|
||||||
# udev support
|
# udev support
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d
|
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/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
|
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
|
#%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
|
# Clean up unpackaged files
|
||||||
rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/xen/qemu/
|
rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/xen/qemu/
|
||||||
rm -f $RPM_BUILD_ROOT/%{_datadir}/doc/qemu/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/td-util
|
||||||
/usr/sbin/vhd-update
|
/usr/sbin/vhd-update
|
||||||
/usr/sbin/vhd-util
|
/usr/sbin/vhd-util
|
||||||
|
/usr/sbin/xen-list
|
||||||
/usr/sbin/gdbsx
|
/usr/sbin/gdbsx
|
||||||
/usr/sbin/xl
|
/usr/sbin/xl
|
||||||
%dir %{_libdir}/xen
|
%dir %{_libdir}/xen
|
||||||
|
@ -23,6 +23,8 @@ v2:
|
|||||||
tools/python/xen/xm/xenapi_create.py | 1
|
tools/python/xen/xm/xenapi_create.py | 1
|
||||||
8 files changed, 111 insertions(+)
|
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.orig/tools/examples/xmexample.hvm
|
||||||
+++ xen-4.0.1-testing/tools/examples/xmexample.hvm
|
+++ xen-4.0.1-testing/tools/examples/xmexample.hvm
|
||||||
@@ -127,6 +127,9 @@ disk = [ 'file:/var/lib/xen/images/disk.
|
@@ -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)
|
# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d)
|
||||||
# default: hard disk, cd-rom, floppy
|
# 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.orig/tools/python/README.XendConfig
|
||||||
+++ xen-4.0.1-testing/tools/python/README.XendConfig
|
+++ xen-4.0.1-testing/tools/python/README.XendConfig
|
||||||
@@ -120,6 +120,7 @@ otherConfig
|
@@ -120,6 +120,7 @@ otherConfig
|
||||||
@ -45,6 +49,8 @@ v2:
|
|||||||
image.hvm.display
|
image.hvm.display
|
||||||
image.hvm.xauthority
|
image.hvm.xauthority
|
||||||
image.hvm.vncconsole
|
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.orig/tools/python/README.sxpcfg
|
||||||
+++ xen-4.0.1-testing/tools/python/README.sxpcfg
|
+++ xen-4.0.1-testing/tools/python/README.sxpcfg
|
||||||
@@ -51,6 +51,7 @@ image
|
@@ -51,6 +51,7 @@ image
|
||||||
@ -55,6 +61,8 @@ v2:
|
|||||||
- display
|
- display
|
||||||
- xauthority
|
- xauthority
|
||||||
- vncconsole
|
- 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.orig/tools/python/xen/xend/XendConfig.py
|
||||||
+++ xen-4.0.1-testing/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 = {
|
@@ -145,6 +145,7 @@ XENAPI_PLATFORM_CFG_TYPES = {
|
||||||
@ -74,6 +82,8 @@ v2:
|
|||||||
if 'timer_mode' not in self['platform']:
|
if 'timer_mode' not in self['platform']:
|
||||||
self['platform']['timer_mode'] = 1
|
self['platform']['timer_mode'] = 1
|
||||||
if 'viridian' not in self['platform']:
|
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.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||||
+++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
+++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
@@ -2442,6 +2442,7 @@ class XendDomainInfo:
|
@@ -2442,6 +2442,7 @@ class XendDomainInfo:
|
||||||
@ -96,6 +106,8 @@ v2:
|
|||||||
else:
|
else:
|
||||||
log.debug("No device model")
|
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.orig/tools/python/xen/xend/image.py
|
||||||
+++ xen-4.0.1-testing/tools/python/xen/xend/image.py
|
+++ xen-4.0.1-testing/tools/python/xen/xend/image.py
|
||||||
@@ -122,12 +122,14 @@ class ImageHandler:
|
@@ -122,12 +122,14 @@ class ImageHandler:
|
||||||
@ -209,6 +221,8 @@ v2:
|
|||||||
def createDeviceModel(self, restore = False):
|
def createDeviceModel(self, restore = False):
|
||||||
if self.device_model is None:
|
if self.device_model is None:
|
||||||
return
|
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.orig/tools/python/xen/xm/create.py
|
||||||
+++ xen-4.0.1-testing/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",
|
@@ -495,6 +495,10 @@ gopts.var('nfs_root', val="PATH",
|
||||||
@ -230,9 +244,11 @@ v2:
|
|||||||
'device_model', 'display',
|
'device_model', 'display',
|
||||||
'fda', 'fdb',
|
'fda', 'fdb',
|
||||||
'gfx_passthru', 'guest_os_type',
|
'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.orig/tools/python/xen/xm/xenapi_create.py
|
||||||
+++ xen-4.0.1-testing/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',
|
'acpi',
|
||||||
'apic',
|
'apic',
|
||||||
'boot',
|
'boot',
|
||||||
|
Loading…
Reference in New Issue
Block a user