OBS User unknown 2007-05-03 22:32:49 +00:00 committed by Git OBS Bridge
parent 2e40c9b50c
commit b52c73e219
11 changed files with 181 additions and 196 deletions

View File

@ -2,13 +2,17 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -1444,6 +1444,9 @@ class XendDomainInfo:
@@ -1440,10 +1440,10 @@ class XendDomainInfo:
raise VmError("HVM guest support is unavailable: is VT/AMD-V "
"supported by your CPU and enabled in your "
"BIOS?")
- # Hack to pre-reserve some memory for HVM setup.
- # Needed because Xen allocates 1MB by default immediately.
- balloon.free(2*1024) # 2MB should be plenty
+ # The hypervisor needs some domheap pages to create the VM.
+ # Final ballooning for the domain's pages will be done later.
+ balloon.free(16 * 1024)
+ balloon.free(2 * 1024)
self.domid = xc.domain_create(
domid = 0,
ssidref = security.get_security_info(self.info, 'ssidref'),

50
pv-driver-build.patch Normal file
View File

@ -0,0 +1,50 @@
Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/mkbuildtree
===================================================================
--- xen-3.0.5-testing.orig/unmodified_drivers/linux-2.6/mkbuildtree
+++ xen-3.0.5-testing/unmodified_drivers/linux-2.6/mkbuildtree
@@ -11,7 +11,12 @@ fi
C=$PWD
XEN=$C/../../xen
-XL=$C/../../linux-2.6-xen-sparse
+if [ -n "$XL" -a -d "$XL" ]; then
+ XL=$(cd $XL && pwd)
+else
+ XL=/usr/src/linux
+fi
+cd "$(dirname "$0")"
for d in $(find ${XL}/drivers/xen/ -maxdepth 1 -type d | sed -e 1d); do
if ! echo $d | egrep -q back; then
Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h
===================================================================
--- xen-3.0.5-testing.orig/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h
+++ xen-3.0.5-testing/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h
@@ -107,4 +107,12 @@ extern char *kasprintf(gfp_t gfp, const
#define __supported_pte_mask ((maddr_t)0)
#endif
+/*
+ * This variable at present is referenced by netfront, but only in code that
+ * is dead when running in hvm guests. To detect potential active uses of it
+ * in the future, don't try to supply a 'valid' value here, so that any
+ * mappings created with it will fault when accessed.
+ */
+#define __supported_pte_mask ((maddr_t)0)
+
#endif
Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c
===================================================================
--- xen-3.0.5-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c
+++ xen-3.0.5-testing/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c
@@ -119,7 +119,9 @@ void *kzalloc(size_t size, int flags)
EXPORT_SYMBOL(kzalloc);
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
+#if defined(CONFIG_SUSE_KERNEL) \
+ ? LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16) \
+ : LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
/* Simplified asprintf. */
char *kasprintf(gfp_t gfp, const char *fmt, ...)
{

View File

@ -1,9 +1,9 @@
Index: xen-unstable/xen/arch/x86/x86_32/entry.S
Index: xen-3.0.5-testing/xen/arch/x86/x86_32/entry.S
===================================================================
--- xen-unstable.orig/xen/arch/x86/x86_32/entry.S
+++ xen-unstable/xen/arch/x86/x86_32/entry.S
--- xen-3.0.5-testing.orig/xen/arch/x86/x86_32/entry.S
+++ xen-3.0.5-testing/xen/arch/x86/x86_32/entry.S
@@ -386,21 +386,33 @@ ring1: /* obtain ss/esp from oldss/olde
movb $0,TRAPBOUNCE_flags(%edx)
movl %eax,UREGS_eip+4(%esp)
ret
.section __ex_table,"a"
- .long .Lft6,domain_crash_synchronous , .Lft7,domain_crash_synchronous
@ -46,12 +46,12 @@ Index: xen-unstable/xen/arch/x86/x86_32/entry.S
domain_crash_synchronous:
pushl $domain_crash_synchronous_string
call printk
Index: xen-unstable/xen/arch/x86/x86_64/entry.S
Index: xen-3.0.5-testing/xen/arch/x86/x86_64/entry.S
===================================================================
--- xen-unstable.orig/xen/arch/x86/x86_64/entry.S
+++ xen-unstable/xen/arch/x86/x86_64/entry.S
@@ -339,17 +339,30 @@ create_bounce_frame:
movb $0,TRAPBOUNCE_flags(%rdx)
--- xen-3.0.5-testing.orig/xen/arch/x86/x86_64/entry.S
+++ xen-3.0.5-testing/xen/arch/x86/x86_64/entry.S
@@ -338,17 +338,30 @@ create_bounce_frame:
movq %rax,UREGS_rip+8(%rsp)
ret
.section __ex_table,"a"
- .quad .Lft2,domain_crash_synchronous , .Lft3,domain_crash_synchronous

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e8a7b00a1dbc6d63ffb4b8080dbf94ed264d2cef9a5b79ecaa18e21f1ef1366e
size 5773489
oid sha256:accb3d70e85d69ab2da07bcd904e53d0460b1bc7f24640bd710a2f07494f228c
size 5772627

View File

@ -1,13 +0,0 @@
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -1820,7 +1820,7 @@ class XendDomainInfo:
log.info("Unmounting %s from %s." %
(fn, BOOTLOADER_LOOPBACK_DEVICE))
- dom0.destroyDevice('tap', '/dev/xvdp')
+ dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE)
if blcfg is None:
msg = "Had a bootloader specified, but can't find disk"

View File

@ -1,29 +1,19 @@
Index: xen-3.0.4-testing/tools/python/xen/xend/XendBootloader.py
Index: xen-3.0.5-testing/tools/python/xen/xend/XendBootloader.py
===================================================================
--- xen-3.0.4-testing.orig/tools/python/xen/xend/XendBootloader.py
+++ xen-3.0.4-testing/tools/python/xen/xend/XendBootloader.py
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendBootloader.py
+++ xen-3.0.5-testing/tools/python/xen/xend/XendBootloader.py
@@ -14,6 +14,7 @@
import os, select, errno, stat
import os, select, errno, stat, signal
import random
+import re
import shlex
from xen.xend import sxp
@@ -57,6 +58,8 @@ def bootloader(blexec, disk, quiet = Fal
args.append("-q")
if dryrun:
args.append("--dryrun")
+ if kernel_args:
+ args.append("--args=%s" % kernel_args)
args.append("--output=%s" % fifo)
if blargs:
args.extend(shlex.split(blargs))
@@ -97,3 +100,26 @@ def bootloader(blexec, disk, quiet = Fal
pin.input_eof()
blcfg = pin.val
return blcfg
+
@@ -187,3 +188,14 @@ def bootloader_tidy(dom):
os.kill(pid, signal.SIGKILL)
+def bootfilter(bootloader, bootloader_args, vdisk):
+ """Is this virtual disk ok to boot from?"""
+ if vdisk.endswith(':disk'):
@ -35,81 +25,30 @@ Index: xen-3.0.4-testing/tools/python/xen/xend/XendBootloader.py
+ if m:
+ return vdisk == m.group(1) or vdisk == m.group(2)
+ return True
+
+def bootselector(bootloader, bootloader_args, disks):
+ """Returns the desired disk to boot from.
+ @param disks List of (pdev, vdev, ...) tuples.
+ """
+ if bootloader.endswith('domUloader.py'):
+ for disk in disks:
+ if bootfilter(bootloader, bootloader_args, disk[1]):
+ return disk
+ return disks[0]
+
Index: xen-3.0.4-testing/tools/python/xen/xend/XendDomainInfo.py
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-3.0.4-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.0.4-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -41,7 +41,7 @@ from xen.xend import balloon, sxp, uuid,
from xen.xend import XendRoot, XendNode, XendConfig
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -42,7 +42,7 @@ from xen.xend import balloon, sxp, uuid,
from xen.xend import XendOptions, XendNode, XendConfig
from xen.xend.XendConfig import scrub_password
-from xen.xend.XendBootloader import bootloader
+from xen.xend.XendBootloader import bootloader, bootfilter
-from xen.xend.XendBootloader import bootloader, bootloader_tidy
+from xen.xend.XendBootloader import bootloader, bootloader_tidy, bootfilter
from xen.xend.XendError import XendError, VmError
from xen.xend.XendDevices import XendDevices
from xen.xend.xenstore.xstransact import xstransact, complete
@@ -1556,13 +1556,17 @@ class XendDomainInfo:
if not devtype or not devinfo or devtype not in ('vbd', 'tap'):
continue
disk = None
+ vdisk = None
for param in devinfo:
if param[0] == 'uname':
disk = param[1]
- break
+ elif param[0] == 'dev':
+ vdisk = param[1]
from xen.xend.XendTask import XendTask
@@ -1779,8 +1779,11 @@ class XendDomainInfo:
blexec = osdep.pygrub_path
if disk is None:
continue
+ if not bootfilter(blexec, bootloader_args, vdisk):
+ continue
fn = blkdev_uname_to_file(disk)
mounted = devtype == 'tap' and not os.stat(fn).st_rdev
if mounted:
Index: xen-3.0.4-testing/tools/python/xen/xm/create.py
===================================================================
--- xen-3.0.4-testing.orig/tools/python/xen/xm/create.py
+++ xen-3.0.4-testing/tools/python/xen/xm/create.py
@@ -29,7 +29,7 @@ import xmlrpclib
from xen.xend import sxp
from xen.xend import PrettyPrint
import xen.xend.XendClient
-from xen.xend.XendBootloader import bootloader
+from xen.xend.XendBootloader import bootloader, bootselector
from xen.util import blkif
from xen.util import security
blcfg = None
- disks = [x for x in self.info['vbd_refs']
- if self.info['devices'][x][1]['bootable']]
+ disks = []
+ for x in self.info['vbd_refs']:
+ vdisk = self.info['devices'][x][1]['dev']
+ if bootfilter(blexec, bootloader_args, vdisk):
+ disks.append(x)
@@ -710,16 +710,18 @@ def run_bootloader(vals, config_image):
err("Bootloader '%s' isn't executable" % vals.bootloader)
if len(vals.disk) < 1:
err("No disks configured and boot loader requested")
- (uname, dev, mode, backend) = vals.disk[0]
- file = blkif.blkdev_uname_to_file(uname)
if vals.bootentry:
warn("The bootentry option is deprecated. Use bootargs and pass "
"--entry= directly.")
vals.bootargs = "--entry=%s" %(vals.bootentry,)
+ bootdisk = bootselector(vals.bootloader, vals.bootargs, vals.disk)
+ uname = bootdisk[0]
+ file = blkif.blkdev_uname_to_file(uname)
return bootloader(vals.bootloader, file, not vals.console_autoconnect,
- vals.bootargs, config_image)
+ vals.bootargs,
+ kernel_args = sxp.child_value(config_image, 'args'))
def make_config(vals):
"""Create the domain configuration.
if not disks:
msg = "Had a bootloader specified, but no disks are bootable"

View File

@ -1,43 +0,0 @@
Index: xen-unstable/docs/man/xm.pod.1
===================================================================
--- xen-unstable.orig/docs/man/xm.pod.1
+++ xen-unstable/docs/man/xm.pod.1
@@ -555,29 +555,29 @@ B<EXAMPLES>
I<normal EDF (20ms/5ms):>
xm sched-sedf <dom-id> 20000000 5000000 0 0 0
-
+
I<best-effort domains (i.e. non-realtime):>
xm sched-sedf <dom-id> 20000000 0 0 1 0
- 
+
I<normal EDF (20ms/5ms) + share of extra-time:>
- 
+
xm sched-sedf <dom-id> 20000000 5000000 0 1 0
I<4 domains with weights 2:3:4:2>
xm sched-sedf <d1> 0 0 0 0 2
-  xm sched-sedf <d2> 0 0 0 0 3
-  xm sched-sedf <d3> 0 0 0 0 4
-  xm sched-sedf <d4> 0 0 0 0 2
+ xm sched-sedf <d2> 0 0 0 0 3
+ xm sched-sedf <d3> 0 0 0 0 4
+ xm sched-sedf <d4> 0 0 0 0 2
I<1 fully-specified (10ms/3ms) domain, 3 other domains share available
rest in 2:7:3 ratio:>
- xm sched-sedf <d1> 10000000 3000000 0 0 0  
- xm sched-sedf <d2> 0 0 0 0 2  
+ xm sched-sedf <d1> 10000000 3000000 0 0 0
+ xm sched-sedf <d2> 0 0 0 0 2
xm sched-sedf <d3> 0 0 0 0 7
-   xm sched-sedf <d4> 0 0 0 0 3
+ xm sched-sedf <d4> 0 0 0 0 3
=back

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d1b7dd781f0f0a5f29485c7730909176993e5919b94d499972d25580b3c14254
size 174327
oid sha256:5c4b0bb9010787b4fc67782875381d545d060e3c7b1ef3c38ede447c62b93dda
size 174100

View File

@ -1,21 +1,32 @@
Index: xen-unstable/xen/tools/symbols.c
Index: xen-3.0.5-testing/tools/ioemu/hw/piix4acpi.c
===================================================================
--- xen-unstable.orig/xen/tools/symbols.c
+++ xen-unstable/xen/tools/symbols.c
@@ -80,7 +80,8 @@ static int read_symbol(FILE *in, struct
if (rc != 3) {
if (rc != EOF) {
/* skip line */
- fgets(str, 500, in);
+ if (fgets(str, sizeof(str), in) == NULL)
+ ; /* don't care */
}
return -1;
}
Index: xen-unstable/tools/misc/miniterm/miniterm.c
--- xen-3.0.5-testing.orig/tools/ioemu/hw/piix4acpi.c
+++ xen-3.0.5-testing/tools/ioemu/hw/piix4acpi.c
@@ -69,6 +69,8 @@ static int piix4acpi_load(QEMUFile *f, v
if (version_id > 1)
return -EINVAL;
qemu_get_be16s(f, &s->pm1_control);
+
+ return 0;
}
static void acpiPm1Control_writeb(void *opaque, uint32_t addr, uint32_t val)
Index: xen-3.0.5-testing/tools/ioemu/hw/usb-hid.c
===================================================================
--- xen-unstable.orig/tools/misc/miniterm/miniterm.c
+++ xen-unstable/tools/misc/miniterm/miniterm.c
--- xen-3.0.5-testing.orig/tools/ioemu/hw/usb-hid.c
+++ xen-3.0.5-testing/tools/ioemu/hw/usb-hid.c
@@ -557,6 +557,7 @@ int usb_mouse_load(QEMUFile *f, void *op
fprintf(logfile, "usb_mouse_load:add usb_mouse_event.\n");
qemu_add_mouse_event_handler(usb_mouse_event, s, 0);
}
+ return 0;
}
Index: xen-3.0.5-testing/tools/misc/miniterm/miniterm.c
===================================================================
--- xen-3.0.5-testing.orig/tools/misc/miniterm/miniterm.c
+++ xen-3.0.5-testing/tools/misc/miniterm/miniterm.c
@@ -157,7 +157,7 @@ int main(int argc, char **argv)
case 0:
close(1); /* stdout not needed */
@ -49,15 +60,17 @@ Index: xen-unstable/tools/misc/miniterm/miniterm.c
break;
}
Index: xen-unstable/tools/ioemu/hw/usb-hid.c
Index: xen-3.0.5-testing/xen/tools/symbols.c
===================================================================
--- xen-unstable.orig/tools/ioemu/hw/usb-hid.c
+++ xen-unstable/tools/ioemu/hw/usb-hid.c
@@ -557,6 +557,7 @@ int usb_mouse_load(QEMUFile *f, void *op
fprintf(logfile, "usb_mouse_load:add usb_mouse_event.\n");
qemu_add_mouse_event_handler(usb_mouse_event, s, 0);
}
+ return 0;
}
--- xen-3.0.5-testing.orig/xen/tools/symbols.c
+++ xen-3.0.5-testing/xen/tools/symbols.c
@@ -80,7 +80,8 @@ static int read_symbol(FILE *in, struct
if (rc != 3) {
if (rc != EOF) {
/* skip line */
- fgets(str, 500, in);
+ if (fgets(str, sizeof(str), in) == NULL)
+ ; /* don't care */
}
return -1;
}

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Tue May 1 17:43:33 MDT 2007 - jfehlig@novell.com
- Integrated domUloader with 3.0.5. Updated xen-domUloader.diff.
-------------------------------------------------------------------
Mon Apr 30 10:44:41 MDT 2007 - ccoffing@novell.com
- Update to xen-3.0.5-testing rc4 (changeset 14993).
-------------------------------------------------------------------
Thu Apr 26 13:20:36 MDT 2007 - jfehlig@novell.com
- Fixed autobuild error in function that returns random data.
File tools/ioemu/hw/piix4acpi.c line 72. Fix added to
xen-warnings.diff.
-------------------------------------------------------------------
Thu Apr 26 11:59:04 MDT 2007 - ccoffing@novell.com
- Fix build on SLES 10 SP1.
-------------------------------------------------------------------
Wed Apr 25 13:41:20 MDT 2007 - ccoffing@novell.com

View File

@ -1,5 +1,5 @@
#
# spec file for package xen (Version 3.0.5_14934)
# spec file for package xen (Version 3.0.5_14993)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -13,7 +13,7 @@
Name: xen
%define xvers 3.0
%define xvermaj 3
%define changeset 14934
%define changeset 14993
%define xen_build_dir xen-3.0.5-testing
%define with_install 1
%if %sles_version
@ -22,14 +22,19 @@ Name: xen
# openSUSE 10.3 kernel is not yet ready...
%define with_kmp 0
%endif
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel openssl openssl-devel python-devel texlive texlive-latex transfig
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel openssl openssl-devel python-devel transfig
%if %suse_version >= 1030
BuildRequires: texlive texlive-latex
%else
BuildRequires: te_ams te_latex tetex
%endif
%ifarch x86_64
BuildRequires: glibc-32bit glibc-devel-32bit
%endif
%if %{?with_kmp}0
BuildRequires: kernel-source kernel-syms xorg-x11
%endif
Version: 3.0.5_14934
Version: 3.0.5_14993
Release: 1
License: GNU General Public License (GPL)
Group: System/Kernel
@ -64,7 +69,6 @@ Patch7: xen-paths.diff
Patch8: xen-xmexample.diff
Patch9: xen-xmexample-nbd.diff
Patch10: xen-bootloader-dryrun.diff
Patch11: xen-bootloader-tidy.diff
Patch12: xen-domUloader.diff
Patch13: xen-linguas.diff
Patch14: xen-messages.diff
@ -80,7 +84,6 @@ Patch23: xen-lost-mouse.diff
Patch24: xen-lowmem-emergency-pool.diff
Patch25: block-losetup-retry.diff
Patch26: block-flags.diff
Patch27: xen-man-xm-bad-char.diff
Patch28: xen-hvm-default-bridge.diff
Patch29: xen-hvm-netfront.diff
Patch30: xen-hvm-default-pae.diff
@ -103,6 +106,7 @@ Patch46: xen-disable-qemu-monitor.diff
Patch47: supported_module.diff
Patch48: disable_emulated_device.diff
Patch49: balloon-early.patch
Patch50: pv-driver-build.patch
# Misc unused patches / need to be re-ported:
Patch300: xen-enable-hvm-debug.diff
URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
@ -514,8 +518,7 @@ cd ..
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
#%patch12 -p1 # re-port
%patch12 -p1
#%patch13 -p1 # po files are misnamed upstream
%patch14 -p1
%patch15 -p1
@ -530,7 +533,6 @@ cd ..
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
@ -553,6 +555,7 @@ cd ..
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
XEN_EXTRAVERSION=%version-%release
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
sed -i "s/XEN_EXTRAVERSION[ ]*.=.*\$/XEN_EXTRAVERSION = $XEN_EXTRAVERSION/" xen/Makefile
@ -870,6 +873,16 @@ rm -rf $RPM_BUILD_DIR/%xen_build_dir
%{insserv_cleanup}
%changelog
* Tue May 01 2007 - jfehlig@novell.com
- Integrated domUloader with 3.0.5. Updated xen-domUloader.diff.
* Mon Apr 30 2007 - ccoffing@novell.com
- Update to xen-3.0.5-testing rc4 (changeset 14993).
* Thu Apr 26 2007 - jfehlig@novell.com
- Fixed autobuild error in function that returns random data.
File tools/ioemu/hw/piix4acpi.c line 72. Fix added to
xen-warnings.diff.
* Thu Apr 26 2007 - ccoffing@novell.com
- Fix build on SLES 10 SP1.
* Wed Apr 25 2007 - ccoffing@novell.com
- Update to xen-3.0.5-testing rc3 (changeset 14934).
- Switch BuildRequires to texlive.