Hello community,
here is the log from the commit of package xen
checked in at Thu Apr 26 01:53:03 CEST 2007.
--------
--- arch/i386/xen/xen.changes 2007-04-21 10:19:02.000000000 +0200
+++ /mounts/work_src_done/STABLE/xen/xen.changes 2007-04-25 21:42:09.000000000 +0200
@@ -2 +2 @@
-Sat Apr 21 10:18:45 CEST 2007 - aj@suse.de
+Wed Apr 25 13:41:20 MDT 2007 - ccoffing@novell.com
@@ -4 +4,158 @@
-- Use texlive for openSUSE 10.3.
+- Update to xen-3.0.5-testing rc3 (changeset 14934).
+- Switch BuildRequires to texlive.
+
+-------------------------------------------------------------------
+Fri Apr 20 11:43:06 MDT 2007 - ccoffing@novell.com
+
+- Updated README. (#250705)
+- Fix vm-install's detection of PV RHEL4/5 kernels. (#260983)
+
+-------------------------------------------------------------------
+Thu Apr 19 16:00:12 MDT 2007 - ccoffing@novell.com
+
+- Place xenstore-* tools in new xen-tools-domU package, to be used
+ by suse_register. (#249157)
+
+-------------------------------------------------------------------
+Tue Apr 17 08:20:47 MDT 2007 - ccoffing@novell.com
+
+- Update translations.
+
+-------------------------------------------------------------------
+Thu Apr 12 14:23:15 MDT 2007 - ccoffing@novell.com
+
+- Combine two xenstore reads into one transaction, which causes
+ xenstored to not thrash so badly, and makes virt-manager more
+ responsive and less likely to time out or lock up. Partial fix
+ for #237406.
+- If disk is read-only, pass -r to losetup. (#264158)
+
+-------------------------------------------------------------------
+Thu Apr 5 17:45:45 MDT 2007 - ccoffing@novell.com
+
+- Update vm-install:
+ + #260510: do not delete xml settings file
+ + #260579: write correct vif line for PV NIC in FV VM
+ + #261288: re-enable add disk buttons after deleting a disk
+ + #192272, #222765, #250618: Update OS list and their defaults
+
+-------------------------------------------------------------------
+Tue Apr 3 17:07:37 MDT 2007 - ccoffing@novell.com
+
+- Could not do simultaneous installs via virt-manager. (#259917)
+
+-------------------------------------------------------------------
+Mon Apr 2 17:48:43 MDT 2007 - jfehlig@novell.com
+
+- Fix improper handling of guest kernel arguments in domUloader.
+ Bug #259810
+
+-------------------------------------------------------------------
+Mon Apr 2 17:02:11 MDT 2007 - ccoffing@novell.com
+
+- Update vm-install:
+ + #259420: refresh available memory more often
+ + #259972: cannot enter autoyast url
+
+-------------------------------------------------------------------
+Mon Apr 2 08:46:03 MDT 2007 - ccoffing@novell.com
+
+- Update translations for RC2.
+
+-------------------------------------------------------------------
+Fri Mar 30 12:54:45 MDT 2007 - ccoffing@novell.com
+
+- Fix "cannot allocate memory" when starting VMs. (#229849, 258743)
+
+-------------------------------------------------------------------
+Thu Mar 29 10:16:54 MDT 2007 - ccoffing@novell.com
+
+- Fix quoting of args for child processes during VM install.
+ (#258376)
+- Fix retry logic in block hotplug script. (#257925)
+
+-------------------------------------------------------------------
+Wed Mar 28 11:31:48 MDT 2007 - ccoffing@novell.com
+
+- Updated vm-install's icon name.
+- Updated translations.
+
+-------------------------------------------------------------------
+Fri Mar 23 11:25:01 MDT 2007 - ccoffing@novell.com
+
+- Disable aspects of qemu's console that can affect domain 0.
+ (#256135)
+- Fix xmclone.sh to work with managed domains. (#253988)
+- Update to xen-unstable changeset 14535.
+
+-------------------------------------------------------------------
+Mon Mar 19 09:46:21 MDT 2007 - ccoffing@novell.com
+
+- Update to xen-unstable changeset 14444.
+- Include Ron Terry's network-multi_bridge
+
+-------------------------------------------------------------------
+Fri Mar 9 18:45:33 MST 2007 - jfehlig@novell.com
+
+- Added lame patch to handle showing suspended state via Xen API.
+ The patch only affects Xen API and is thus low risk.
+ Bug #237859
+
+-------------------------------------------------------------------
+Fri Mar 9 17:00:20 MST 2007 - carnold@novell.com
+
+- Added AMD support for Vista 64 installation and boot.
+
+-------------------------------------------------------------------
+Fri Mar 9 12:24:12 MST 2007 - ccoffing@novell.com
+
+- Make vm-install support NFS for SUSE (#241251).
+
+-------------------------------------------------------------------
+Fri Mar 9 10:07:05 MST 2007 - jfehlig@novell.com
+
+- Fixed bug #250522
+ + Upstream c/s 13557 stores model attribute of vif in xenstore.
+
+-------------------------------------------------------------------
+Thu Mar 8 12:35:18 MST 2007 - ccoffing@novell.com
+
+- Update vm-install:
+ + Better description on "Virtual Disk" drop-down (not "xvda")
+ + Proper separation of recording options versus calculating
+ defaults; fixes corner cases
+ + #247849, #253013, 253009: Multiple fixes related to how disks
+ are defined, centered around bug #247849 (handle partitioned
+ PV installation disk)
+ + #252437: Allow virtual CDROM to be added (via ISO) even if
+ physical CDROM doesn't exist
+
+-------------------------------------------------------------------
+Wed Mar 7 19:43:55 MST 2007 - jfehlig@novell.com
+
+- Fixed bug #252396
+ + Added upstream c/s 14021. Applies to Xen API c-bindings -
+ low risk.
+ + Added local patch to correctly set Xen API Console.protocol
+ property
+
+-------------------------------------------------------------------
+Wed Mar 7 14:28:41 MST 2007 - jfehlig@novell.com
+
+- Added upstream patch that fixes save/restore on 32pae guests.
+ Upstream c/s 14150. Bug #237859
+
+-------------------------------------------------------------------
+Tue Mar 6 15:48:13 MST 2007 - carnold@novell.com
+
+- Remove a debug message which is spamming the logs during live
+ migration.
+
+-------------------------------------------------------------------
+Mon Mar 5 17:51:17 MST 2007 - jfehlig@novell.com
+
+- Fixed handling of vbd type in Xen API <-> sexpr integration.
+ Bug #250351
+ + Updated an existing patch (xend_disk_decorate_rm.patch) and
+ then renamed patch to xend_vbd_type.patch to better reflect
+ purpose of patch.
Old:
----
13161_xenapi.patch
13201_xenapi.patch
13226_xenapi.patch
13235_xenapi.patch
13236_xenapi.patch
13574-win2k-mouse.patch
13577_xenapi.patch
13585_xenapi.patch
13615_xenapi.patch
13616_xenapi.patch
13628_xenapi.patch
13630-domctl.patch
13655_xenapi.patch
13689_xenapi.patch
13724_xenapi.patch
13745_xenapi.patch
13747_xenapi.patch
13753_xenapi.patch
13775_xenapi.patch
13777_xenapi.patch
13778_xenapi.patch
13784_xenapi.patch
13786_xenapi.patch
13787_xenapi.patch
13903-domctl.patch
13908-domctl.patch
14022_xenapi.patch
32on64-acmop.patch
32on64-base.patch
32on64-call-gates.patch
32on64-domctl.patch
32on64-emul.patch
32on64-fixes.patch
32on64-gnttabop.patch
32on64-hvm.patch
32on64-hypercall.patch
32on64-interface.patch
32on64-kexec.patch
32on64-m2p.patch
32on64-memop.patch
32on64-migrate.patch
32on64-mmuop.patch
32on64-multicall.patch
32on64-per-domain-pa-bits.patch
32on64-physdevop.patch
32on64-pltop.patch
32on64-schedop.patch
32on64-settrap.patch
32on64-shadow.patch
32on64-shared.patch
32on64-startup.patch
32on64-sysctl.patch
32on64-trace.patch
32on64-vcpuop.patch
32on64-xenoprof.patch
blktools-bimodal.diff
block-sync.diff
bugfix-246160-domctl.patch
bug.patch
domheap-no-dma.patch
emul-privop-lock.patch
fbback-bimodal.diff
hide-asm-labels.patch
libelf-add-to-xenkernel.diff
libelf-dominfo.diff
libelf-symlink-to-libxc.diff
libelf-use-hvm-build.diff
libelf-use-readnotes.diff
libelf-use-xen-dom0.diff
mem-zones.patch
microcode-xen-13079.diff
npt-fpu-bug.patch
npt_part1.patch
npt_part2.patch
npt-windows-bug.patch
pae-guest-linear-pgtable.patch
protocol-bimodal.diff
pv-driver-build.patch
suppress-rdtscp.patch
svm_cpuid_ffxsr_13743.patch
svm-update-v_tpr-on-mmio.patch
tools-add-errors.diff
tools-debug-oldbuilder.diff
tools-domain-builder-core.diff
tools-domain-builder-header-libxc.diff
tools-domain-builder-linux.diff
tools-readnotes-gunzip.diff
x86-mm-simplify.patch
x86-nmi-inject.patch
x86-ptwr_emulate.patch
xen-3.0.4-testing-src.tar.bz2
xen-bootloader-nohang.diff
xend-actions-after.patch
xend-config-ramdisk.patch
xend_disk_decorate_rm.patch
xend-xmlrpc-large-ints.diff
xen-localtime.patch
xen-man-permissions.patch
xen-perdomain-free.patch
xen-removable.diff
xxx_heap_pages-static.patch
New:
----
balloon-early.patch
block-flags.diff
disable_emulated_device.diff
dom0config
network-multi_bridge
supported_module.diff
xen-3.0.5-testing-src.tar.bz2
xenapi-console-protocol.patch
xen-disable-qemu-monitor.diff
xend_vbd_type.patch
xen-linguas.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
++++ 647 lines (skipped)
++++ between arch/i386/xen/xen.spec
++++ and /mounts/work_src_done/STABLE/xen/xen.spec
++++++ balloon-early.patch ++++++
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:
"supported by your CPU and enabled in your "
"BIOS?")
+ # 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)
self.domid = xc.domain_create(
domid = 0,
ssidref = security.get_security_info(self.info, 'ssidref'),
++++++ block-flags.diff ++++++
Index: xen-unstable/tools/examples/block
===================================================================
--- xen-unstable.orig/tools/examples/block
+++ xen-unstable/tools/examples/block
@@ -259,10 +259,13 @@ case "$command" in
;;
file)
+ lo_flags=""
+ [ "${mode/S}" = "$mode" ] || lo_flags="-y"
# Canonicalise the file, for sharing check comparison, and the mode
# for ease of use here.
file=$(readlink -f "$p") || fatal "$p does not exist."
mode=$(canonicalise_mode "$mode")
+ [ "$mode" = "r" ] && lo_flags="$lo_flags -r"
claim_lock "block"
@@ -370,11 +373,11 @@ mount it read-write in a guest domain."
fatal 'Failed to find an unused loop device'
fi
- losetup "$loopdev" "$file" && losetup_failure="" && break
+ losetup $lo_flags "$loopdev" "$file" && losetup_failure="" && break
done
if [ "$losetup_failure" ]
then
- fatal 'losetup $loopdev $file'
+ fatal 'losetup $lo_flags $loopdev $file'
fi
xenstore_write "$XENBUS_PATH/node" "$loopdev"
++++++ block-losetup-retry.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:33.000000000 +0200
@@ -1,8 +1,48 @@
-Index: xen-3.0.4-testing/tools/examples/block
+Index: xen-unstable/tools/examples/block
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/block
-+++ xen-3.0.4-testing/tools/examples/block
-@@ -390,8 +390,18 @@ mount it read-write in a guest domain."
+--- xen-unstable.orig/tools/examples/block
++++ xen-unstable/tools/examples/block
+@@ -274,9 +274,12 @@ case "$command" in
+ mount it read-write in a guest domain."
+ fi
+
+- loopdev=''
+- for dev in /dev/loop*
++ losetup_failure=1
++ for do_losetup in 1 2 3
+ do
++ loopdev=''
++ for dev in /dev/loop*
++ do
+ if [ ! -b "$dev" ]
+ then
+ continue
+@@ -360,14 +363,20 @@ mount it read-write in a guest domain."
+ loopdev="$dev"
+ fi
+ fi
+- done
++ done
++
++ if [ "$loopdev" = '' ]
++ then
++ fatal 'Failed to find an unused loop device'
++ fi
+
+- if [ "$loopdev" = '' ]
++ losetup "$loopdev" "$file" && losetup_failure="" && break
++ done
++ if [ "$losetup_failure" ]
+ then
+- fatal 'Failed to find an unused loop device'
++ fatal 'losetup $loopdev $file'
+ fi
+
+- do_or_die losetup "$loopdev" "$file"
+ xenstore_write "$XENBUS_PATH/node" "$loopdev"
+ write_dev "$loopdev"
+ release_lock "block"
+@@ -390,8 +399,18 @@ mount it read-write in a guest domain."
file)
node=$(xenstore_read "$XENBUS_PATH/node")
++++++ bridge-hostonly.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:33.000000000 +0200
@@ -22,11 +22,11 @@
tools/examples/network-bridge | 37 +++++++++++++++++++++++++++++++++++--
1 file changed, 35 insertions(+), 2 deletions(-)
-Index: build-32-unstable-11624/tools/examples/network-bridge
+Index: xen-unstable/tools/examples/network-bridge
===================================================================
---- build-32-unstable-11624.orig/tools/examples/network-bridge
-+++ build-32-unstable-11624/tools/examples/network-bridge
-@@ -269,6 +269,31 @@ op_stop () {
+--- xen-unstable.orig/tools/examples/network-bridge
++++ xen-unstable/tools/examples/network-bridge
+@@ -277,6 +277,31 @@ op_stop () {
brctl delbr ${bridge}
}
@@ -58,7 +58,7 @@
# adds $dev to $bridge but waits for $dev to be in running state first
add_to_bridge2() {
local bridge=$1
-@@ -293,11 +318,19 @@ add_to_bridge2() {
+@@ -301,11 +326,19 @@ add_to_bridge2() {
case "$command" in
start)
++++++ cross-build-fix.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:33.000000000 +0200
@@ -13,11 +13,11 @@
tools/Makefile | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
-Index: build-32-unstable-12621/config/x86_32.mk
+Index: xen-unstable/config/x86_32.mk
===================================================================
---- build-32-unstable-12621.orig/config/x86_32.mk
-+++ build-32-unstable-12621/config/x86_32.mk
-@@ -6,8 +6,10 @@ CONFIG_MIGRATE := y
+--- xen-unstable.orig/config/x86_32.mk
++++ xen-unstable/config/x86_32.mk
+@@ -7,8 +7,10 @@ CONFIG_MIGRATE := y
CONFIG_XCUTILS := y
CONFIG_IOEMU := y
@@ -30,11 +30,11 @@
# Use only if calling $(LD) directly.
ifeq ($(XEN_OS),OpenBSD)
-Index: build-32-unstable-12621/tools/Makefile
+Index: xen-unstable/tools/Makefile
===================================================================
---- build-32-unstable-12621.orig/tools/Makefile
-+++ build-32-unstable-12621/tools/Makefile
-@@ -62,7 +62,7 @@ check_clean:
+--- xen-unstable.orig/tools/Makefile
++++ xen-unstable/tools/Makefile
+@@ -63,7 +63,7 @@ check_clean:
$(MAKE) -C check clean
.PHONY: ioemu ioemuinstall ioemuclean
++++++ disable_emulated_device.diff ++++++
Disable the emulated devices when we are loading PV drivers.
Signed-off-by: K. Y. Srinivasan
Index: xen-unstable/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
--- xen-unstable.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+++ xen-unstable/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -247,6 +247,11 @@ static int __devinit platform_pci_init(s
platform_mmio = mmio_addr;
platform_mmiolen = mmio_len;
+ /*
+ * Disconnect the emulated devices.
+ */
+ outl(1, (ioaddr + 4));
+
ret = get_hypercall_stubs();
if (ret < 0)
goto out;
++++++ domUloader.py ++++++
--- arch/i386/xen/domUloader.py 2007-03-01 03:35:58.000000000 +0100
+++ /mounts/work_src_done/STABLE/xen/domUloader.py 2007-04-17 16:42:56.000000000 +0200
@@ -428,7 +428,7 @@
try:
sxpr = copyKernelAndRamdisk(disk, vdev, kernel, ramdisk)
if in_args:
- sxpr += "(args %s)" % in_args
+ sxpr += "(args '%s')" % in_args
os.write(fd, sxpr)
except Exception, e:
error(str(e))
++++++ libxen_permissive.patch ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:33.000000000 +0200
@@ -1,7 +1,8 @@
-diff -ru xen-3.0.4-testing-orig/tools/libxen/src/xen_common.c xen-3.0.4-testing/tools/libxen/src/xen_common.c
---- xen-3.0.4-testing-orig/tools/libxen/src/xen_common.c 2007-02-07 16:15:33.000000000 -0700
-+++ xen-3.0.4-testing/tools/libxen/src/xen_common.c 2007-02-09 11:08:37.000000000 -0700
-@@ -634,8 +634,15 @@
+Index: xen-3.0.5-testing/tools/libxen/src/xen_common.c
+===================================================================
+--- xen-3.0.5-testing.orig/tools/libxen/src/xen_common.c
++++ xen-3.0.5-testing/tools/libxen/src/xen_common.c
+@@ -899,8 +899,15 @@ static void parse_into(xen_session *s, x
0 != strcmp((char *)value_node->children->name, "struct") ||
value_node->children->children == NULL)
{
@@ -17,4 +18,3 @@
}
else
{
-Only in xen-3.0.4-testing/tools/libxen/src: xen_common.c~
++++++ README.SuSE ++++++
--- arch/i386/xen/README.SuSE 2007-01-31 19:28:04.000000000 +0100
+++ /mounts/work_src_done/STABLE/xen/README.SuSE 2007-04-21 00:00:24.000000000 +0200
@@ -23,25 +23,19 @@
If you want to use Xen, you need to install the Xen hypervisor and a number of
supporting packages. During the initial SUSE installation (or when installing
from YaST) check-mark the "Xen Virtual Machine Host Server" pattern. If,
-instead, you wish to install Xen manually later, install the following packages:
- bridge-utils
- kernel-xen or kernel-xenpae
- python
- xen
- xen-libs
- xen-tools
- xen-tools-ioemu (Required for hardware-assisted virtualization)
- multipath-tools (Required by xen-tools for domUloader)
- xen-doc-* (Optional)
+instead, you wish to install Xen manually later, click on the "Install
+Hypervisor and Tools" icon in YaST.
+
+If you want to install and manage VMs graphically, be sure the following
+optional packages are also installed:
python-gtk (Optional, to install VMs graphically)
virt-manager (Optional, to manage VMs graphically)
- tightvnc (Optional, to view VMs)
- yast2-vm (Optional, convenient icons to install/manage VMs)
+ tightvnc (Optional, to view VMs outside virt-manager)
You then need to reboot your machine. Instead of booting a normal Linux
kernel, you will boot the Xen hypervisor and a slightly changed Linux kernel.
-This Linux kernel runs in the first virtual machine and will drive most of your
-hardware.
+This Linux kernel runs in the first virtual machine and will drive most of
+your hardware.
This approach is called para-virtualization, since it is a partial
virtualization (the Linux kernel needs to be changed slightly, to make the
@@ -174,14 +168,29 @@
program handles creating both the VM's configuration file and disk(s). It can
help install any operating system, not just SUSE.
-From the command line, run "vm-install". If the DISPLAY environment
-variable is set and the supporting packages (python-gtk) are installed, a
-graphical wizard will start. Otherwise, a text wizard will start.
-
-Xen does not yet properly support removable media in VMs in paravirtual mode,
-so installing an operating system from CDs can be difficult. We recommend
-using a network installation source, a DVD, or a DVD ISO. CDs do, however,
-work as expected in fully-virtual mode.
+From the command line, run "vm-install". If the DISPLAY environment variable
+is set and the supporting packages (python-gtk) are installed, a graphical
+wizard will start. Otherwise, a text wizard will start.
+
+Each VM needs to have its own root filesystem. The root filesystem can live
+on a block device (e.g., a hard disk partition, or an LVM2 or EVMS volume) or
+in a file that holds the filesystem image.
+
+VMs can share filesystems, such as /usr or /opt, that are mounted read-only
+from _all_ VMs. Never try to share a filesystem that is mounted read-write;
+filesystem corruption will result. For sharing writable data between VMs, use
+NFS or other networked or cluster filesystems.
+
+Xen does not yet properly support removable media in VMs, so installing an
+operating system from CDs can be difficult. Consult the online documentation
+for some detailed work-arounds. We recommend using a network installation
+source, a DVD, or a DVD ISO.
+
+When defining the virtual network adapter(s), we recommend using a static MAC
+for the VM rather than allowing Xen to randomly select one each time the VM
+boots. (See "Network Troubleshooting" below.) XenSource has been allocated a
+range of MAC addresses with the OUI of 00-16-3E. By using MACs from this
+range you can be sure they will not conflict with any physical adapters.
Note that older paravirtualized SUSE Linux (older than SLES 10 SP1) will
default to using a text-based installation. To perform a graphical
@@ -199,10 +208,8 @@
the VM.
When the VM shuts down (because the installation -- or at least the first
-stage of it -- is done), the wizard gives you a chance to finalize the VM's
-configuration. This is useful, for example, if the installer and the
-application that will run in the VM have different memory or network
-requirements.
+stage of it -- is done), the wizard finalizes the VM's configuration and
+restarts the VM.
The creation of VMs can be automated; read the vm-install man page for more
details. The installation of an OS within the VM can be automated if the OS
@@ -215,18 +222,9 @@
recommended way), you will need to create a disk (or reuse an existing one)
and a configuration file.
-Each VM needs to have its own root filesystem. The root filesystem can live on
-a block device (e.g., a hard disk partition, or an LVM2 or EVMS volume) or in
-a file that holds the filesystem image.
-
-VMs can share filesystems, such as /usr or /opt, that are mounted read-only
-from _all_ VMs. Never try to share a filesystem that is mounted read-write;
-filesystem corruption will result. For sharing writable data between VMs, use
-NFS or other networked or cluster filesystems.
-
If you are using a disk or disk image that is already installed with an
-operating system, you'll probably need to replace its kernel with a Xen-enabled
-kernel.
+operating system, you'll probably need to replace its kernel with a
+Xen-enabled kernel.
The kernel and ramdisk used to bootstrap the VM must match any kernel modules
that might be present in the VM's disk. It is possible to manually copy the
@@ -243,27 +241,28 @@
/etc/xen/examples/xmexample.hvm. You'll need to change (at very least) the
"name" and "disk" parameters.
-When defining the virtual network adapter(s), we recommend using a static MAC
-for the VM rather than allowing Xen to randomly select one each time the VM
-boots. (See "Network Troubleshooting" below.) XenSource has been allocated a
-range of MAC addresses with the OUI of 00-16-3E. By using MACs from this
-range you can be sure they will not conflict with any physical adapters.
-
Managing Virtual Machines
-------------------------
VMs can be managed from the command line or from virt-manager.
-To create a new VM from the command line, use a command like:
- xm create my-vm
+Before a VM can be started, xend must be informed of it. vm-install will
+automatically import new VM configurations into xend. However, if you copy a
+VM from another machine, or manually create a VM configuration file, you will
+need to import it into xend with a command like:
+ xm new my-vm
If your VM's configuration file is not located in /etc/xen/vm, you must
-specify the full path.
+specify the full path. This imports the configuration into xend (and
+therefore virt-manager becomes aware of it, also).
+
+Now to start the VM:
+ xm start my-vm
+or start it graphically from virt-manager.
Have a look at running sessions with "xm list". Note the ID of the newly
-created VM. Attach to that VM with "xm console <ID>" (replacing ID with the
-VM's ID). Equivalently, you could have passed "-c" during creation to
-immediately connect to the console. Attaching to multiple VM consoles is most
-conveniently done with the terminal multiplexer "screen".
+created VM. Attach to the VM's text console with "xm console <ID>" (replacing
+ID with the VM's ID). Attaching to multiple VM consoles is most conveniently
+done with the terminal multiplexer "screen".
Have a look at the other xm commands by typing "xm help". Note that most xm
commands must be done as root.
@@ -271,11 +270,15 @@
Using the Mouse via VNC in Fully-Virtual Mode
---------------------------------------------
-When accessing a fully-virtualized operating system via VNC, the mouse may be
-difficult to control. By default, the VM is emulating a PS/2 mouse. PS/2
-provides mouse deltas, but VNC only provides absolute coordinates. The
-solution is (when using VNC) to emulate a pointing device that offers absolute
-coordinates.
+In a fully virtualized VM, the mouse may be emulated as a PS/2 mouse, USB
+mouse, or USB tablet. The vm-install tool selects the best emulation that is
+known to be automatically detected and supported by the operating system.
+
+However, when accessing some fully-virtualized operating systems via VNC, the
+mouse may be difficult to control if the VM is emulating a PS/2 mouse. PS/2
+provides mouse deltas, but VNC only provides absolute coordinates. In such
+cases, you may want to manually switch the operating system and VM to use a
+USB tablet.
Emulation of a SummaSketch graphics tablet is provided for this reason. To
use the Summa emulation, you will need to configure your fully-virtualized OS.
@@ -307,22 +310,29 @@
EndSection
After making these changes, restart gpm and X.
-Windows does not ship with a driver for the SummaSketch tablet. You can
-obtain an appropriate driver from the device manufacturer's website, or one of
-the large Windows driver websites.
+To ensure the VM is emulating a USB tablet, add these lines to the
+configuration file in /etc/xen/vm:
+ usb=1
+ usbdevice='tablet'
+Then re-import the configuration into xend:
+ xm new my-vm
HVM Console in Fully-Virtual Mode
---------------------------------
When running a VM in fully-virtual mode, a special console is available that
provides some additional ways to control the VM. Press Ctrl-Alt-2 to access
-the console; press Ctrl-Alt-1 to return to the VM.
+the console; press Ctrl-Alt-1 to return to the VM. While at the console,
+type "help" for help.
The two most important commands are "send-key" and "change". The "send-key"
command allows you to send any key sequence to the VM, which might otherwise
-be intercepted by your local window manager. The "change" command allows the
-target of a block device to be changed; for example, use it to change from one
-CD ISO to another. Type "help" for more information.
+be intercepted by your local window manager.
+
+The "change" command allows the target of a block device to be changed; for
+example, use it to change from one CD ISO to another. Some versions of Xen
+have this command disabled for security reasons. Consult the online
+documentation for workarounds.
Networking
@@ -449,17 +459,16 @@
Limitations
-----------
-When booting, Linux reserves data structures matching the amount of (virtual)
-processors and RAM found. This has the side-effect that you can't dynamically
-grow the virtual hardware beyond what the kernel has been booted with. But
-you can trick domU Linux to prepare for a larger amount of RAM by passing the
-mem= boot parameter.
+When booting, Linux reserves data structures matching the amount of RAM found.
+This has the side-effect that you can't dynamically grow the memory beyond
+what the kernel has been booted with. But you can trick domU Linux to prepare
+for a larger amount of RAM by passing the mem= boot parameter.
The export of virtual hard disks from files in Xen can be handled via the
-loopback driver (although in Xen 3.0.4, this is being replaced by the "blktap"
-user-space driver.) If you are still using loopback, you can easily run out
-of loopback devices, as by default only 8 are supported. You can change this
-by inserting:
+loopback driver (although in Xen 3.0.4, this is can be replaced by the
+"blktap" user-space driver.) If you are still using loopback, you can easily
+run out of loopback devices, as by default only 8 are supported. You can
+change this by inserting:
options loop max_loop=64
into /etc/modprobe.conf.local in domain 0.
@@ -500,13 +509,23 @@
Be sure your Xen hypervisor (xen) and VM kernels (kernel-xen) are compatible.
The hypervisor and domain 0 kernel are a matched set, and usually must be
-upgraded together.
+upgraded together. Consult the online documentation for a matrix of supported
+32- and 64-bit combinations
+
+On certain machines with 2GB or less of RAM, domain 0 Linux may fail to boot,
+printing the following messages:
+PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
+...
+Kernel panic - not syncing: PCI-DMA: Memory would be corrupted
+Fix this by adding "swiotlb=16" to the Linux kernel command line, which
+reserves additional memory for the swiotlb.
If you have trouble early in the boot, try passing pnpacpi=off to the Linux
kernel. If you have trouble with interrupts or timers, passing lapic to Xen
may help. Xen and Linux understand similar ACPI boot parameters. Try the
-options acpi=off,force,strict,ht,noirq or acpi_skip_timer_override. Other
-useful debugging options to Xen may be nosmp, noreboot, mem=1024M,
+options acpi=off,force,strict,ht,noirq or acpi_skip_timer_override.
+
+Other useful debugging options to Xen may be nosmp, noreboot, mem=1024M,
sync_console, noirqbalance (Dell). For a complete list of Xen boot options,
consult chapter 11.3 of the Xen users' manual.
++++++ serial-split.patch ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:33.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-3.0.4-testing/tools/misc/serial-split/Makefile
+Index: xen-unstable/tools/misc/serial-split/Makefile
===================================================================
--- /dev/null
-+++ xen-3.0.4-testing/tools/misc/serial-split/Makefile
++++ xen-unstable/tools/misc/serial-split/Makefile
@@ -0,0 +1,20 @@
+CC ?= gcc
+CFLAGS ?= -Wall -Os
@@ -23,10 +23,10 @@
+
+%.o: %.c Makefile
+ $(CC) $(CFLAGS) -c -o $@ $<
-Index: xen-3.0.4-testing/tools/misc/serial-split/serial-split.c
+Index: xen-unstable/tools/misc/serial-split/serial-split.c
===================================================================
--- /dev/null
-+++ xen-3.0.4-testing/tools/misc/serial-split/serial-split.c
++++ xen-unstable/tools/misc/serial-split/serial-split.c
@@ -0,0 +1,422 @@
+/*
+ * serial-split.c
++++++ supported_module.diff ++++++
Make our PV drivers "Novell supported modules"
Signed-off-by: K. Y. Srinivasan
Index: xen-3.0.4-testing/unmodified_drivers/linux-2.6/Module.supported
===================================================================
--- /dev/null
+++ xen-3.0.4-testing/unmodified_drivers/linux-2.6/Module.supported
@@ -0,0 +1,4 @@
+xen-vbd
+xen-platform-pci
+xen-vnif
+xenbus
++++++ tools-kboot.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:34.000000000 +0200
@@ -13,10 +13,10 @@
tools/kboot/select-kernel | 59 +
9 files changed, 2111 insertions(+)
-Index: build-32-unstable-12542/buildconfigs/linux-defconfig_xenUboot_x86_32
+Index: xen-unstable/buildconfigs/linux-defconfig_xenUboot_x86_32
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/buildconfigs/linux-defconfig_xenUboot_x86_32
++++ xen-unstable/buildconfigs/linux-defconfig_xenUboot_x86_32
@@ -0,0 +1,874 @@
+#
+# Automatically generated make config: don't edit
@@ -892,10 +892,10 @@
+CONFIG_X86_NO_TSS=y
+CONFIG_X86_NO_IDT=y
+CONFIG_KTIME_SCALAR=y
-Index: build-32-unstable-12542/buildconfigs/linux-defconfig_xenUboot_x86_64
+Index: xen-unstable/buildconfigs/linux-defconfig_xenUboot_x86_64
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/buildconfigs/linux-defconfig_xenUboot_x86_64
++++ xen-unstable/buildconfigs/linux-defconfig_xenUboot_x86_64
@@ -0,0 +1,653 @@
+#
+# Automatically generated make config: don't edit
@@ -1550,17 +1550,17 @@
+# CONFIG_CRC32 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
-Index: build-32-unstable-12542/buildconfigs/mk.linux-2.6-xenUboot
+Index: xen-unstable/buildconfigs/mk.linux-2.6-xenUboot
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/buildconfigs/mk.linux-2.6-xenUboot
++++ xen-unstable/buildconfigs/mk.linux-2.6-xenUboot
@@ -0,0 +1,2 @@
+EXTRAVERSION = xenUboot
+include buildconfigs/mk.linux-2.6-xen
-Index: build-32-unstable-12542/tools/kboot/Makefile
+Index: xen-unstable/tools/kboot/Makefile
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/tools/kboot/Makefile
++++ xen-unstable/tools/kboot/Makefile
@@ -0,0 +1,23 @@
+#
+# tools/kboot/Makefile
@@ -1585,10 +1585,10 @@
+kboot.initramfs: mkinitramfs init select-kernel ../xcutils/xc_kexec
+ sh ./mkinitramfs | tee $@
+
-Index: build-32-unstable-12542/tools/kboot/README
+Index: xen-unstable/tools/kboot/README
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/tools/kboot/README
++++ xen-unstable/tools/kboot/README
@@ -0,0 +1,43 @@
+
+This is a simple kexec-based boot loader
@@ -1633,10 +1633,10 @@
+
+--
+Gerd Hoffmann
-Index: build-32-unstable-12542/tools/kboot/init
+Index: xen-unstable/tools/kboot/init
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/tools/kboot/init
++++ xen-unstable/tools/kboot/init
@@ -0,0 +1,309 @@
+#!/bin/sh
+
@@ -1947,10 +1947,10 @@
+msg "bye ..."
+banner "boot $guestos"
+xc_kexec -e
-Index: build-32-unstable-12542/tools/kboot/mkinitramfs
+Index: xen-unstable/tools/kboot/mkinitramfs
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/tools/kboot/mkinitramfs
++++ xen-unstable/tools/kboot/mkinitramfs
@@ -0,0 +1,111 @@
+#!/bin/sh
+
@@ -2063,10 +2063,10 @@
+ echo "file $LIB/$(basename $lib) $lib 0755 0 0"
+done
+echo
-Index: build-32-unstable-12542/tools/kboot/select-kernel
+Index: xen-unstable/tools/kboot/select-kernel
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/tools/kboot/select-kernel
++++ xen-unstable/tools/kboot/select-kernel
@@ -0,0 +1,59 @@
+#!/bin/sh
+
@@ -2127,10 +2127,10 @@
+msg "using $kernelname"
+echo "$kernelname"
+
-Index: build-32-unstable-12542/make-kboot
+Index: xen-unstable/make-kboot
===================================================================
--- /dev/null
-+++ build-32-unstable-12542/make-kboot
++++ xen-unstable/make-kboot
@@ -0,0 +1,37 @@
+#!/bin/sh
+
++++++ tools-xc_kexec.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:34.000000000 +0200
@@ -23,13 +23,13 @@
tools/xcutils/xc_kexec.c | 503 +++++++++++++++
19 files changed, 4988 insertions(+), 2 deletions(-)
-Index: build-32-release304-12901/tools/xcutils/Makefile
+Index: xen-unstable/tools/xcutils/Makefile
===================================================================
---- build-32-release304-12901.orig/tools/xcutils/Makefile
-+++ build-32-release304-12901/tools/xcutils/Makefile
+--- xen-unstable.orig/tools/xcutils/Makefile
++++ xen-unstable/tools/xcutils/Makefile
@@ -15,14 +15,14 @@ PROGRAMS_INSTALL_DIR = /usr/$(LIBDIR)/xe
- INCLUDES += -I $(XEN_LIBXC)
+ INCLUDES += -I $(XEN_LIBXC) -I $(XEN_XENSTORE)
-CFLAGS += -Werror -fno-strict-aliasing
+CFLAGS += -g -O0 -Werror -fno-strict-aliasing
@@ -39,10 +39,10 @@
CFLAGS += -Wp,-MD,.$(@F).d
PROG_DEP = .*.d
--PROGRAMS = xc_restore xc_save readnotes
+-PROGRAMS = xc_restore xc_save readnotes
+PROGRAMS = xc_restore xc_save readnotes xc_kexec
- LDLIBS = -L$(XEN_LIBXC) -lxenguest -lxenctrl
+ LDLIBS = -L$(XEN_LIBXC) -L$(XEN_XENSTORE) -lxenguest -lxenctrl -lxenstore
@@ -35,6 +35,11 @@ build: $(PROGRAMS)
$(PROGRAMS): %: %.o
@@ -63,10 +63,10 @@
+ make -C helper clean
-include $(PROG_DEP)
-Index: build-32-release304-12901/tools/xcutils/helper/Makefile
+Index: xen-unstable/tools/xcutils/helper/Makefile
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/Makefile
++++ xen-unstable/tools/xcutils/helper/Makefile
@@ -0,0 +1,39 @@
+
+XEN_ROOT = ../../..
@@ -107,10 +107,10 @@
+# dependencies
+
+$(XEN_TARGET_ARCH)/entry.o: $(XEN_TARGET_ARCH)/entry.S $(XEN_TARGET_ARCH)/offsets.h
-Index: build-32-release304-12901/tools/xcutils/helper/console.c
+Index: xen-unstable/tools/xcutils/helper/console.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/console.c
++++ xen-unstable/tools/xcutils/helper/console.c
@@ -0,0 +1,69 @@
+#include
+
@@ -181,10 +181,10 @@
+
+ return printed_len;
+}
-Index: build-32-release304-12901/tools/xcutils/helper/ctype.c
+Index: xen-unstable/tools/xcutils/helper/ctype.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/ctype.c
++++ xen-unstable/tools/xcutils/helper/ctype.c
@@ -0,0 +1,35 @@
+/*
+ * linux/lib/ctype.c
@@ -221,10 +221,10 @@
+_L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L}; /* 240-255 */
+
+EXPORT_SYMBOL(_ctype);
-Index: build-32-release304-12901/tools/xcutils/helper/ctype.h
+Index: xen-unstable/tools/xcutils/helper/ctype.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/ctype.h
++++ xen-unstable/tools/xcutils/helper/ctype.h
@@ -0,0 +1,54 @@
+#ifndef _LINUX_CTYPE_H
+#define _LINUX_CTYPE_H
@@ -280,10 +280,10 @@
+#define toupper(c) __toupper(c)
+
+#endif
-Index: build-32-release304-12901/tools/xcutils/helper/helper.h
+Index: xen-unstable/tools/xcutils/helper/helper.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/helper.h
++++ xen-unstable/tools/xcutils/helper/helper.h
@@ -0,0 +1,107 @@
+#include
+#include
@@ -392,10 +392,10 @@
+int sprintf(char * buf, const char *fmt, ...);
+int vsscanf(const char * buf, const char * fmt, va_list args);
+int sscanf(const char * buf, const char * fmt, ...);
-Index: build-32-release304-12901/tools/xcutils/helper/main.c
+Index: xen-unstable/tools/xcutils/helper/main.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/main.c
++++ xen-unstable/tools/xcutils/helper/main.c
@@ -0,0 +1,651 @@
+#include
+#include "hypercall.h"
@@ -1048,10 +1048,10 @@
+ printk("\r\n");
+ start_kernel();
+}
-Index: build-32-release304-12901/tools/xcutils/helper/make-offsets.c
+Index: xen-unstable/tools/xcutils/helper/make-offsets.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/make-offsets.c
++++ xen-unstable/tools/xcutils/helper/make-offsets.c
@@ -0,0 +1,28 @@
+#include
+#include
@@ -1081,10 +1081,10 @@
+ vcpu_off("cr3", ctrlreg[3]);
+ return 0;
+}
-Index: build-32-release304-12901/tools/xcutils/helper/printk.c
+Index: xen-unstable/tools/xcutils/helper/printk.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/printk.c
++++ xen-unstable/tools/xcutils/helper/printk.c
@@ -0,0 +1,1051 @@
+/*
+ * linux/kernel/printk.c
@@ -2137,10 +2137,10 @@
+ printk_ratelimit_burst);
+}
+EXPORT_SYMBOL(printk_ratelimit);
-Index: build-32-release304-12901/tools/xcutils/helper/string.c
+Index: xen-unstable/tools/xcutils/helper/string.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/string.c
++++ xen-unstable/tools/xcutils/helper/string.c
@@ -0,0 +1,601 @@
+/*
+ * linux/lib/string.c
@@ -2743,10 +2743,10 @@
+}
+EXPORT_SYMBOL(memchr);
+#endif
-Index: build-32-release304-12901/tools/xcutils/helper/vsprintf.c
+Index: xen-unstable/tools/xcutils/helper/vsprintf.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/vsprintf.c
++++ xen-unstable/tools/xcutils/helper/vsprintf.c
@@ -0,0 +1,842 @@
+/*
+ * linux/lib/vsprintf.c
@@ -3590,10 +3590,10 @@
+}
+
+EXPORT_SYMBOL(sscanf);
-Index: build-32-release304-12901/tools/xcutils/helper/x86_32/div64.h
+Index: xen-unstable/tools/xcutils/helper/x86_32/div64.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/x86_32/div64.h
++++ xen-unstable/tools/xcutils/helper/x86_32/div64.h
@@ -0,0 +1,48 @@
+#ifndef __I386_DIV64
+#define __I386_DIV64
@@ -3643,10 +3643,10 @@
+
+}
+#endif
-Index: build-32-release304-12901/tools/xcutils/helper/x86_32/entry.S
+Index: xen-unstable/tools/xcutils/helper/x86_32/entry.S
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/x86_32/entry.S
++++ xen-unstable/tools/xcutils/helper/x86_32/entry.S
@@ -0,0 +1,49 @@
+#include "offsets.h"
+
@@ -3697,10 +3697,10 @@
+ nop
+ .align 4096
+hypercall_end:
-Index: build-32-release304-12901/tools/xcutils/helper/x86_32/hypercall.h
+Index: xen-unstable/tools/xcutils/helper/x86_32/hypercall.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/x86_32/hypercall.h
++++ xen-unstable/tools/xcutils/helper/x86_32/hypercall.h
@@ -0,0 +1,360 @@
+/******************************************************************************
+ * hypercall.h
@@ -4062,10 +4062,10 @@
+
+
+#endif /* __HYPERCALL_H__ */
-Index: build-32-release304-12901/tools/xcutils/helper/x86_64/div64.h
+Index: xen-unstable/tools/xcutils/helper/x86_64/div64.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/x86_64/div64.h
++++ xen-unstable/tools/xcutils/helper/x86_64/div64.h
@@ -0,0 +1,58 @@
+#ifndef _ASM_GENERIC_DIV64_H
+#define _ASM_GENERIC_DIV64_H
@@ -4125,10 +4125,10 @@
+#endif /* BITS_PER_LONG */
+
+#endif /* _ASM_GENERIC_DIV64_H */
-Index: build-32-release304-12901/tools/xcutils/helper/x86_64/entry.S
+Index: xen-unstable/tools/xcutils/helper/x86_64/entry.S
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/x86_64/entry.S
++++ xen-unstable/tools/xcutils/helper/x86_64/entry.S
@@ -0,0 +1,50 @@
+#include "offsets.h"
+
@@ -4180,10 +4180,10 @@
+ nop
+ .align 4096
+hypercall_end:
-Index: build-32-release304-12901/tools/xcutils/helper/x86_64/hypercall.h
+Index: xen-unstable/tools/xcutils/helper/x86_64/hypercall.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/helper/x86_64/hypercall.h
++++ xen-unstable/tools/xcutils/helper/x86_64/hypercall.h
@@ -0,0 +1,355 @@
+/******************************************************************************
+ * hypercall.h
@@ -4540,10 +4540,10 @@
+}
+
+#endif /* __HYPERCALL_H__ */
-Index: build-32-release304-12901/tools/xcutils/kexec-syscall.h
+Index: xen-unstable/tools/xcutils/kexec-syscall.h
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/kexec-syscall.h
++++ xen-unstable/tools/xcutils/kexec-syscall.h
@@ -0,0 +1,80 @@
+#ifndef KEXEC_SYSCALL_H
+#define KEXEC_SYSCALL_H
@@ -4625,10 +4625,10 @@
+#define KEXEC_MAX_SEGMENTS 16
+
+#endif /* KEXEC_SYSCALL_H */
-Index: build-32-release304-12901/tools/xcutils/xc_kexec.c
+Index: xen-unstable/tools/xcutils/xc_kexec.c
===================================================================
--- /dev/null
-+++ build-32-release304-12901/tools/xcutils/xc_kexec.c
++++ xen-unstable/tools/xcutils/xc_kexec.c
@@ -0,0 +1,503 @@
+#include
+#include
++++++ vgacon-50-lines.patch ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:34.000000000 +0200
@@ -1,17 +1,8 @@
-Index: xen-3.0.4-testing/xen/drivers/video/vga.c
+Index: xen-unstable/xen/drivers/video/vga.c
===================================================================
---- xen-3.0.4-testing.orig/xen/drivers/video/vga.c
-+++ xen-3.0.4-testing/xen/drivers/video/vga.c
-@@ -557,7 +557,7 @@ static int vga_load_font(const struct fo
-
- static int vgacon_enabled = 0;
- static int vgacon_keep = 0;
--static int vgacon_lines = 25;
-+static int vgacon_lines = 50;
- static const struct font_desc *font;
-
- static int xpos, ypos;
-@@ -609,6 +609,8 @@ void vga_init(void)
+--- xen-unstable.orig/xen/drivers/video/vga.c
++++ xen-unstable/xen/drivers/video/vga.c
+@@ -585,6 +585,8 @@ void vga_init(void)
vgacon_keep = 1;
else if ( strncmp(p, "text-80x", 8) == 0 )
vgacon_lines = simple_strtoul(p + 8, NULL, 10);
@@ -20,25 +11,3 @@
}
video = setup_vga();
-@@ -625,17 +627,18 @@ void vga_init(void)
- case 34:
- font = &font_vga_8x14;
- break;
-+ default:
-+ vgacon_lines = 50;
- case 43:
- case 50:
- case 60:
- font = &font_vga_8x8;
- break;
-- default:
-- vgacon_lines = 25;
-+ case 0:
- break;
- }
-
-- if ( (font != NULL) && (vga_load_font(font, vgacon_lines) < 0) )
-+ if ( (font == NULL) || (vga_load_font(font, vgacon_lines) < 0) )
- {
- vgacon_lines = 25;
- font = NULL;
++++++ vgacon-keep.patch ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:34.000000000 +0200
@@ -1,7 +1,7 @@
-Index: 2007-01-08/xen/drivers/video/vga.c
+Index: xen-unstable/xen/drivers/video/vga.c
===================================================================
---- 2007-01-08.orig/xen/drivers/video/vga.c 2007-01-11 17:41:46.000000000 +0100
-+++ 2007-01-08/xen/drivers/video/vga.c 2007-01-11 17:42:35.000000000 +0100
+--- xen-unstable.orig/xen/drivers/video/vga.c
++++ xen-unstable/xen/drivers/video/vga.c
@@ -556,7 +556,6 @@ static int vga_load_font(const struct fo
*/
@@ -28,7 +28,7 @@
else if ( strncmp(p, "text-80x", 8) == 0 )
vgacon_lines = simple_strtoul(p + 8, NULL, 10);
else if ( strncmp(p, "text", 4) == 0 && p[4] != '-' )
-@@ -627,21 +629,48 @@ void vga_init(void)
+@@ -623,21 +625,48 @@ void vga_init(void)
/* Disable cursor. */
vga_wcrt(vgabase, VGA_CRTC_CURSOR_START, 0x20);
@@ -82,7 +82,7 @@
static void put_newline(void)
{
-@@ -659,14 +688,25 @@ static void put_newline(void)
+@@ -655,14 +684,25 @@ static void put_newline(void)
void vga_putchar(int c)
{
++++++ x86-extra-trap-info.patch ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:34.000000000 +0200
@@ -1,31 +1,31 @@
-Index: 2006-12-05/xen/arch/x86/x86_32/entry.S
+Index: xen-unstable/xen/arch/x86/x86_32/entry.S
===================================================================
---- 2006-12-05.orig/xen/arch/x86/x86_32/entry.S 2006-12-01 10:44:36.000000000 +0100
-+++ 2006-12-05/xen/arch/x86/x86_32/entry.S 2006-12-08 14:24:54.000000000 +0100
-@@ -382,21 +382,33 @@ nvm86_3:/* Rewrite our stack frame and r
+--- xen-unstable.orig/xen/arch/x86/x86_32/entry.S
++++ xen-unstable/xen/arch/x86/x86_32/entry.S
+@@ -386,21 +386,33 @@ ring1: /* obtain ss/esp from oldss/olde
movb $0,TRAPBOUNCE_flags(%edx)
ret
.section __ex_table,"a"
-- .long FLT6,domain_crash_synchronous , FLT7,domain_crash_synchronous
-- .long FLT8,domain_crash_synchronous , FLT9,domain_crash_synchronous
-- .long FLT10,domain_crash_synchronous , FLT11,domain_crash_synchronous
-- .long FLT12,domain_crash_synchronous , FLT13,domain_crash_synchronous
-- .long FLT14,domain_crash_synchronous , FLT15,domain_crash_synchronous
-- .long FLT16,domain_crash_synchronous , FLT17,domain_crash_synchronous
-- .long FLT18,domain_crash_synchronous , FLT19,domain_crash_synchronous
-- .long FLT20,domain_crash_synchronous , FLT21,domain_crash_synchronous
-- .long FLT22,domain_crash_synchronous , FLT23,domain_crash_synchronous
-- .long FLT24,domain_crash_synchronous , FLT25,domain_crash_synchronous
-+ .long FLT6,domain_crash_synchronous , FLT7,domain_crash_page_fault
-+ .long FLT8,domain_crash_page_fault_4 , FLT9,domain_crash_page_fault_8
-+ .long FLT10,domain_crash_page_fault_12, FLT11,domain_crash_page_fault
-+ .long FLT12,domain_crash_page_fault_4 , FLT13,domain_crash_synchronous
-+ .long FLT14,domain_crash_page_fault , FLT15,domain_crash_page_fault_4
-+ .long FLT16,domain_crash_page_fault_8 , FLT17,domain_crash_page_fault
-+ .long FLT18,domain_crash_page_fault , FLT19,domain_crash_page_fault_4
-+ .long FLT20,domain_crash_page_fault_8 , FLT21,domain_crash_page_fault_12
-+ .long FLT22,domain_crash_page_fault , FLT23,domain_crash_page_fault_4
-+ .long FLT24,domain_crash_page_fault_8 , FLT25,domain_crash_page_fault_12
+- .long .Lft6,domain_crash_synchronous , .Lft7,domain_crash_synchronous
+- .long .Lft8,domain_crash_synchronous , .Lft9,domain_crash_synchronous
+- .long .Lft10,domain_crash_synchronous , .Lft11,domain_crash_synchronous
+- .long .Lft12,domain_crash_synchronous , .Lft13,domain_crash_synchronous
+- .long .Lft14,domain_crash_synchronous , .Lft15,domain_crash_synchronous
+- .long .Lft16,domain_crash_synchronous , .Lft17,domain_crash_synchronous
+- .long .Lft18,domain_crash_synchronous , .Lft19,domain_crash_synchronous
+- .long .Lft20,domain_crash_synchronous , .Lft21,domain_crash_synchronous
+- .long .Lft22,domain_crash_synchronous , .Lft23,domain_crash_synchronous
+- .long .Lft24,domain_crash_synchronous , .Lft25,domain_crash_synchronous
++ .long .Lft6,domain_crash_synchronous , .Lft7,domain_crash_page_fault
++ .long .Lft8,domain_crash_page_fault_4 , .Lft9,domain_crash_page_fault_8
++ .long .Lft10,domain_crash_page_fault_12, .Lft11,domain_crash_page_fault
++ .long .Lft12,domain_crash_page_fault_4 , .Lft13,domain_crash_synchronous
++ .long .Lft14,domain_crash_page_fault , .Lft15,domain_crash_page_fault_4
++ .long .Lft16,domain_crash_page_fault_8 , .Lft17,domain_crash_page_fault
++ .long .Lft18,domain_crash_page_fault , .Lft19,domain_crash_page_fault_4
++ .long .Lft20,domain_crash_page_fault_8 , .Lft21,domain_crash_page_fault_12
++ .long .Lft22,domain_crash_page_fault , .Lft23,domain_crash_page_fault_4
++ .long .Lft24,domain_crash_page_fault_8 , .Lft25,domain_crash_page_fault_12
.previous
+.section .rodata,"a"
@@ -46,26 +46,26 @@
domain_crash_synchronous:
pushl $domain_crash_synchronous_string
call printk
-Index: 2006-12-05/xen/arch/x86/x86_64/entry.S
+Index: xen-unstable/xen/arch/x86/x86_64/entry.S
===================================================================
---- 2006-12-05.orig/xen/arch/x86/x86_64/entry.S 2006-12-01 10:44:36.000000000 +0100
-+++ 2006-12-05/xen/arch/x86/x86_64/entry.S 2006-12-08 14:24:54.000000000 +0100
-@@ -308,17 +308,30 @@ FLT13: movq %rax,(%rsi)
+--- 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)
ret
.section __ex_table,"a"
-- .quad FLT2,domain_crash_synchronous , FLT3,domain_crash_synchronous
-- .quad FLT4,domain_crash_synchronous , FLT5,domain_crash_synchronous
-- .quad FLT6,domain_crash_synchronous , FLT7,domain_crash_synchronous
-- .quad FLT8,domain_crash_synchronous , FLT9,domain_crash_synchronous
-- .quad FLT10,domain_crash_synchronous , FLT11,domain_crash_synchronous
-- .quad FLT12,domain_crash_synchronous , FLT13,domain_crash_synchronous
-+ .quad FLT2,domain_crash_page_fault_32, FLT3,domain_crash_page_fault_24
-+ .quad FLT4,domain_crash_page_fault_8 , FLT5,domain_crash_page_fault_16
-+ .quad FLT6,domain_crash_page_fault , FLT7,domain_crash_page_fault
-+ .quad FLT8,domain_crash_page_fault_24, FLT9,domain_crash_page_fault_16
-+ .quad FLT10,domain_crash_page_fault_8 , FLT11,domain_crash_page_fault
-+ .quad FLT12,domain_crash_page_fault_8 , FLT13,domain_crash_page_fault
+- .quad .Lft2,domain_crash_synchronous , .Lft3,domain_crash_synchronous
+- .quad .Lft4,domain_crash_synchronous , .Lft5,domain_crash_synchronous
+- .quad .Lft6,domain_crash_synchronous , .Lft7,domain_crash_synchronous
+- .quad .Lft8,domain_crash_synchronous , .Lft9,domain_crash_synchronous
+- .quad .Lft10,domain_crash_synchronous , .Lft11,domain_crash_synchronous
+- .quad .Lft12,domain_crash_synchronous , .Lft13,domain_crash_synchronous
++ .quad .Lft2,domain_crash_page_fault_32, .Lft3,domain_crash_page_fault_24
++ .quad .Lft4,domain_crash_page_fault_8 , .Lft5,domain_crash_page_fault_16
++ .quad .Lft6,domain_crash_page_fault , .Lft7,domain_crash_page_fault
++ .quad .Lft8,domain_crash_page_fault_24, .Lft9,domain_crash_page_fault_16
++ .quad .Lft10,domain_crash_page_fault_8 , .Lft11,domain_crash_page_fault
++ .quad .Lft12,domain_crash_page_fault_8 , .Lft13,domain_crash_page_fault
.previous
+.section .rodata,"a"
@@ -84,6 +84,6 @@
+domain_crash_page_fault:
+ movq %rsi,%rdi
+ call show_page_walk
- domain_crash_synchronous:
+ ENTRY(domain_crash_synchronous)
# Get out of the guest-save area of the stack.
GET_GUEST_REGS(%rax)
++++++ xen-3.0.4-testing-src.tar.bz2 -> xen-3.0.5-testing-src.tar.bz2 ++++++
++++ 272931 lines of diff (skipped)
++++++ xenapi-console-protocol.patch ++++++
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
@@ -2325,6 +2325,14 @@ class XendDomainInfo:
if not config.has_key('backend'):
config['backend'] = "00000000-0000-0000-0000-000000000000"
+ if dev_class == 'console':
+ if not config.has_key('protocol'):
+ con_type = config.get('type', '')
+ if con_type == 'vnc':
+ config['protocol'] = 'rfb'
+ elif con_type == 'sdl':
+ config['protocol'] = 'rdp'
+
return config
def get_dev_property(self, dev_class, dev_uuid, field):
++++++ xen-bonding.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-3.0.4-testing/tools/examples/network-bridge
+Index: xen-unstable/tools/examples/network-bridge
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/network-bridge
-+++ xen-3.0.4-testing/tools/examples/network-bridge
+--- xen-unstable.orig/tools/examples/network-bridge
++++ xen-unstable/tools/examples/network-bridge
@@ -143,6 +143,21 @@ antispoofing () {
iptables -A FORWARD -m physdev --physdev-in ${vif0} -j ACCEPT
}
@@ -24,7 +24,7 @@
# Usage: show_status dev bridge
# Print ifconfig and routes.
show_status () {
-@@ -185,10 +200,11 @@ using loopback.nloopbacks=<N> on the dom
+@@ -184,10 +199,11 @@ using netloop.nloopbacks=<N> on the doma
create_bridge ${bridge}
@@ -38,7 +38,7 @@
transfer_addrs ${netdev} ${vdev}
ifdown ${netdev}
ip link set ${netdev} name ${pdev}
-@@ -203,6 +219,13 @@ using loopback.nloopbacks=<N> on the dom
+@@ -202,6 +218,13 @@ using netloop.nloopbacks=<N> on the doma
add_to_bridge2 ${bridge} ${pdev}
ip link set ${netdev} up
ifup ${hwddev}
@@ -50,9 +50,9 @@
+ transfer_addrs ${netdev} ${bridge}
+ transfer_routes ${netdev} ${bridge}
else
- # old style without ${vdev}
- transfer_addrs ${netdev} ${bridge}
-@@ -241,6 +264,10 @@ op_stop () {
+ ip link set ${bridge} arp on
+ ip link set ${bridge} multicast on
+@@ -244,6 +267,10 @@ op_stop () {
ip link set ${pdev} name ${netdev}
ifup ${netdev}
else
++++++ xen-bootloader-dryrun.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,18 +1,18 @@
-Index: xen-3.0.4-testing/tools/python/xen/xend/XendBootloader.py
+Index: xen-unstable/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
-@@ -22,7 +22,7 @@ from XendLogging import log
- from XendError import VmError
+--- xen-unstable.orig/tools/python/xen/xend/XendBootloader.py
++++ xen-unstable/tools/python/xen/xend/XendBootloader.py
+@@ -25,7 +25,7 @@ import pty, termios, fcntl
+ from xen.lowlevel import ptsname
- def bootloader(blexec, disk, quiet = False, blargs = '', kernel = '',
+ def bootloader(blexec, disk, dom, quiet = False, blargs = '', kernel = '',
- ramdisk = '', kernel_args = ''):
+ ramdisk = '', kernel_args = '', dryrun = False):
"""Run the boot loader executable on the given disk and return a
config image.
@param blexec Binary to use as the boot loader
-@@ -55,6 +55,8 @@ def bootloader(blexec, disk, quiet = Fal
- args = [ blexec ]
+@@ -91,6 +91,8 @@ def bootloader(blexec, disk, dom, quiet
+ args.append("--args=%s" % kernel_args)
if quiet:
args.append("-q")
+ if dryrun:
++++++ xen-bootloader-tidy.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,13 +1,13 @@
-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
-@@ -1589,7 +1589,7 @@ class XendDomainInfo:
- log.info("Unmounting %s from %s." %
- (fn, BOOTLOADER_LOOPBACK_DEVICE))
+--- 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)
-
- break
+- 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"
++++++ xen-changeset.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,13 +1,13 @@
-Index: xen-3.0.4-testing/xen/Makefile
+Index: xen-unstable/xen/Makefile
===================================================================
---- xen-3.0.4-testing.orig/xen/Makefile
-+++ xen-3.0.4-testing/xen/Makefile
+--- xen-unstable.orig/xen/Makefile
++++ xen-unstable/xen/Makefile
@@ -1,3 +1,4 @@
+export XEN_CHANGESET = unavailable
# This is the correct place to edit the build version.
# All other places this is stored (eg. compile.h) should be autogenerated.
export XEN_VERSION = 3
-@@ -103,7 +104,7 @@ include/xen/compile.h: include/xen/compi
+@@ -112,7 +113,7 @@ include/xen/compile.h: include/xen/compi
-e 's/@@version@@/$(XEN_VERSION)/g' \
-e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
-e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
++++++ xen-config.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,14 +1,15 @@
-Index: xen-unstable/Config.mk
+Index: xen-3.0.5-testing/Config.mk
===================================================================
---- xen-unstable.orig/Config.mk
-+++ xen-unstable/Config.mk
-@@ -70,7 +70,7 @@ ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_
+--- xen-3.0.5-testing.orig/Config.mk
++++ xen-3.0.5-testing/Config.mk
+@@ -89,8 +89,8 @@ ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_
# Optional components
- XENSTAT_XENTOP ?= y
- VTPM_TOOLS ?= n
+ XENSTAT_XENTOP ?= y
+ VTPM_TOOLS ?= n
-LIBXENAPI_BINDINGS ?= n
--XENFB_TOOLS ?= n
+-XENFB_TOOLS ?= n
+LIBXENAPI_BINDINGS ?= y
-+XENFB_TOOLS ?= y
++XENFB_TOOLS ?= y
+ PYTHON_TOOLS ?= y
-include $(XEN_ROOT)/.config
++++++ xend-config.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-3.0.4-testing/tools/examples/init.d/sysconfig.xendomains
+Index: xen-unstable/tools/examples/init.d/sysconfig.xendomains
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/init.d/sysconfig.xendomains
-+++ xen-3.0.4-testing/tools/examples/init.d/sysconfig.xendomains
+--- xen-unstable.orig/tools/examples/init.d/sysconfig.xendomains
++++ xen-unstable/tools/examples/init.d/sysconfig.xendomains
@@ -98,7 +98,6 @@ XENDOMAINS_RESTORE=true
# Note that the script tries to be clever if both RESTORE and AUTO are
# set: It will first restore saved domains and then only start domains
@@ -21,13 +21,13 @@
## Type: integer
## Default: 300
-Index: xen-3.0.4-testing/tools/examples/xend-config.sxp
+Index: xen-unstable/tools/examples/xend-config.sxp
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xend-config.sxp
-+++ xen-3.0.4-testing/tools/examples/xend-config.sxp
-@@ -46,16 +46,19 @@
- # (xen-api-server ((9363 pam '^localhost$ example\\.com$')
- # (unix none)))
+--- xen-unstable.orig/tools/examples/xend-config.sxp
++++ xen-unstable/tools/examples/xend-config.sxp
+@@ -51,16 +51,19 @@
+ #
+ # (9367 pam '' /etc/xen/xen-api.key /etc/xen/xen-api.crt)
#
-# Default:
-# (xen-api-server ((unix)))
++++++ xen-destdir.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,35 +1,18 @@
-Index: xen-3.0.4-testing/docs/Makefile
+Index: xen-3.0.5-testing/docs/Makefile
===================================================================
---- xen-3.0.4-testing.orig/docs/Makefile
-+++ xen-3.0.4-testing/docs/Makefile
-@@ -13,8 +13,8 @@ LATEX2HTML := latex2html
- DOXYGEN := doxygen
- POD2MAN := pod2man
-
--pkgdocdir := /usr/share/doc/xen
--mandir := /usr/share/man
-+pkgdocdir := $(DOCDIR)
-+mandir := $(MANDIR)
-
- DOC_MAN5SRC := $(wildcard man/*.pod.5)
- DOC_MAN1SRC := $(wildcard man/*.pod.1)
-@@ -87,13 +87,13 @@ distclean: clean
- .PHONY: install
- install: all
- rm -rf $(DESTDIR)$(pkgdocdir)
-- $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
-+ $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)/html
- cp -dR ps $(DESTDIR)$(pkgdocdir)
- cp -dR pdf $(DESTDIR)$(pkgdocdir)
-+ cp -dR html.done/* $(DESTDIR)$(pkgdocdir)/html
+--- xen-3.0.5-testing.orig/docs/Makefile
++++ xen-3.0.5-testing/docs/Makefile
+@@ -90,7 +90,8 @@ install: all
$(INSTALL_DIR) $(DESTDIR)$(mandir)
cp -dR man1 $(DESTDIR)$(mandir)
cp -dR man5 $(DESTDIR)$(mandir)
- [ ! -d html ] || cp -dR html $(DESTDIR)$(pkgdocdir)
++ $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)/html
++ cp -dR html.done/* $(DESTDIR)$(pkgdocdir)/html
pdf/%.pdf: ps/%.ps
$(INSTALL_DIR) $(@D)
-@@ -117,3 +117,9 @@ html/%/index.html: src/%.tex
+@@ -114,3 +115,9 @@ html/%/index.html: src/%.tex
$(LATEX2HTML) -split 0 -show_section_numbers -toc_depth 3 -nonavigation \
-numbered_footnotes -local_icons -noinfo -math -dir $(@D) \
$< 1>/dev/null 2>/dev/null
@@ -39,10 +22,10 @@
+ ln -sf $*.html html.done/$*/index.html
+ rm -rf html/
+
-Index: xen-3.0.4-testing/tools/xentrace/Makefile
+Index: xen-3.0.5-testing/tools/xentrace/Makefile
===================================================================
---- xen-3.0.4-testing.orig/tools/xentrace/Makefile
-+++ xen-3.0.4-testing/tools/xentrace/Makefile
+--- xen-3.0.5-testing.orig/tools/xentrace/Makefile
++++ xen-3.0.5-testing/tools/xentrace/Makefile
@@ -38,14 +38,14 @@ install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
@@ -64,11 +47,11 @@
.PHONY: clean
clean:
-Index: xen-3.0.4-testing/tools/examples/Makefile
+Index: xen-3.0.5-testing/tools/examples/Makefile
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/Makefile
-+++ xen-3.0.4-testing/tools/examples/Makefile
-@@ -38,18 +38,6 @@ XEN_HOTPLUG_SCRIPTS = xen-backend.agent
+--- xen-3.0.5-testing.orig/tools/examples/Makefile
++++ xen-3.0.5-testing/tools/examples/Makefile
+@@ -41,18 +41,6 @@ XEN_HOTPLUG_SCRIPTS = xen-backend.agent
UDEV_RULES_DIR = /etc/udev
UDEV_RULES = xen-backend.rules
@@ -87,7 +70,7 @@
.PHONY: all
all:
-@@ -57,15 +45,15 @@ all:
+@@ -60,15 +48,15 @@ all:
build:
.PHONY: install
@@ -106,7 +89,7 @@
.PHONY: install-configs
install-configs: $(XEN_CONFIGS)
-@@ -106,9 +94,7 @@ install-udev:
+@@ -109,9 +97,7 @@ install-udev:
$(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
for i in $(UDEV_RULES); \
do \
@@ -117,57 +100,140 @@
done
.PHONY: clean
-Index: xen-3.0.4-testing/tools/security/Makefile
+Index: xen-3.0.5-testing/tools/security/Makefile
===================================================================
---- xen-3.0.4-testing.orig/tools/security/Makefile
-+++ xen-3.0.4-testing/tools/security/Makefile
-@@ -73,9 +73,9 @@ install: all $(ACM_CONFIG_FILE)
- $(INSTALL_DIR) -p $(DESTDIR)$(ACM_SECGEN_CGIDIR)
- $(INSTALL_PROG) -p $(ACM_INST_CGI) $(DESTDIR)$(ACM_SECGEN_CGIDIR)
+--- xen-3.0.5-testing.orig/tools/security/Makefile
++++ xen-3.0.5-testing/tools/security/Makefile
+@@ -69,9 +69,9 @@ install: all $(ACM_CONFIG_FILE)
+ $(INSTALL_DIR) $(DESTDIR)$(ACM_SECGEN_CGIDIR)
+ $(INSTALL_PROG) $(ACM_INST_CGI) $(DESTDIR)$(ACM_SECGEN_CGIDIR)
ifndef XEN_PYTHON_NATIVE_INSTALL
-- python python/setup.py install --home="$(DESTDIR)/usr"
-+ python python/setup.py install --home="$(DESTDIR)/usr" --prefix=""
+- python python/setup.py install --home="$(DESTDIR)/usr" --install-lib="$(DESTDIR)$(LIBPATH)/python"
++ python python/setup.py install --home="$(DESTDIR)/usr" --install-lib="$(DESTDIR)$(LIBPATH)/python" --prefix=""
else
- python python/setup.py install --root="$(DESTDIR)"
+ python python/setup.py install --root="$(DESTDIR)" --prefix="/usr"
endif
else
.PHONY: all
-Index: xen-3.0.4-testing/tools/pygrub/Makefile
+Index: xen-3.0.5-testing/tools/pygrub/Makefile
===================================================================
---- xen-3.0.4-testing.orig/tools/pygrub/Makefile
-+++ xen-3.0.4-testing/tools/pygrub/Makefile
-@@ -15,7 +15,7 @@ install: all
- $(INSTALL_DIR) -p $(DESTDIR)/var/run/xend/boot
+--- xen-3.0.5-testing.orig/tools/pygrub/Makefile
++++ xen-3.0.5-testing/tools/pygrub/Makefile
+@@ -16,7 +16,7 @@ install: all
+ $(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
else
install: all
- CC="$(CC)" CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
+ CC="$(CC)" CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --prefix="/usr"
- $(INSTALL_DIR) -p $(DESTDIR)/var/run/xend/boot
+ $(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot
endif
-Index: xen-3.0.4-testing/tools/python/Makefile
+Index: xen-3.0.5-testing/tools/python/Makefile
===================================================================
---- xen-3.0.4-testing.orig/tools/python/Makefile
-+++ xen-3.0.4-testing/tools/python/Makefile
-@@ -14,7 +14,7 @@ install: all
- CC="$(CC)" CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --prefix="" --force
+--- xen-3.0.5-testing.orig/tools/python/Makefile
++++ xen-3.0.5-testing/tools/python/Makefile
+@@ -60,7 +60,7 @@ install: install-messages install-dtd
+ CC="$(CC)" CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --prefix="" --force --install-lib="$(DESTDIR)$(LIBPATH)/python"
else
- install: all
+ install: install-messages install-dtd
- CC="$(CC)" CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
+ CC="$(CC)" CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --prefix="/usr" --force
endif
- .PHONY: test
-Index: xen-3.0.4-testing/tools/Makefile
+ install-dtd: all
+Index: xen-3.0.5-testing/tools/Makefile
===================================================================
---- xen-3.0.4-testing.orig/tools/Makefile
-+++ xen-3.0.4-testing/tools/Makefile
+--- xen-3.0.5-testing.orig/tools/Makefile
++++ xen-3.0.5-testing/tools/Makefile
@@ -25,7 +25,6 @@ SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
# These don't cross-compile
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
- SUBDIRS-y += python
--SUBDIRS-y += pygrub
+ SUBDIRS-$(PYTHON_TOOLS) += python
+-SUBDIRS-$(PYTHON_TOOLS) += pygrub
endif
.PHONY: all
+Index: xen-3.0.5-testing/docs/Docs.mk
+===================================================================
+--- xen-3.0.5-testing.orig/docs/Docs.mk
++++ xen-3.0.5-testing/docs/Docs.mk
+@@ -8,6 +8,6 @@ POD2MAN := pod2man
+ DOT := dot
+ NEATO := neato
+
+-pkgdocdir := /usr/share/doc/xen
+-mandir := /usr/share/man
++pkgdocdir := $(DOCDIR)
++mandir := $(MANDIR)
+
+Index: xen-3.0.5-testing/tools/misc/xen-python-path
+===================================================================
+--- xen-3.0.5-testing.orig/tools/misc/xen-python-path
++++ xen-3.0.5-testing/tools/misc/xen-python-path
+@@ -30,7 +30,8 @@ import sys
+
+ for p in ['python%s' % sys.version[:3], 'python']:
+ for l in ['/usr/lib64', '/usr/lib']:
+- d = os.path.join(l, p)
++ for s in ['site-packages', '']:
++ d = os.path.join(l, p, s)
+ if os.path.exists(os.path.join(d, AUXBIN)):
+ sys.path.append(d)
+ import xen.util.auxbin
+Index: xen-3.0.5-testing/tools/xenstore/Makefile
+===================================================================
+--- xen-3.0.5-testing.orig/tools/xenstore/Makefile
++++ xen-3.0.5-testing/tools/xenstore/Makefile
+@@ -24,6 +24,7 @@ TESTENV = XENSTORED_ROOTDIR=$(TESTDIR)
+ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod
+ CLIENTS += xenstore-write
+ CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
++CLIENTS_DOMU := $(patsubst xenstore-%,domu-xenstore-%,$(CLIENTS))
+
+ XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
+
+@@ -33,7 +34,7 @@ XENSTORED_OBJS_$(CONFIG_SunOS) = xenstor
+ XENSTORED_OBJS += $(XENSTORED_OBJS_y)
+
+ .PHONY: all
+-all: libxenstore.so libxenstore.a xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
++all: libxenstore.so libxenstore.a xenstored $(CLIENTS) $(CLIENTS_DOMU) xs_tdb_dump xenstore-control xenstore-ls
+
+ test_interleaved_transactions: test_interleaved_transactions.o
+ $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
+@@ -47,6 +48,9 @@ xenstored: $(XENSTORED_OBJS)
+ $(CLIENTS): xenstore-%: xenstore_%.o libxenstore.so
+ $(CC) $(CFLAGS) $(LDFLAGS) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore $(SOCKET_LIBS) -o $@
+
++$(CLIENTS_DOMU): domu-xenstore-%: xenstore_%.o libxenstore.a
++ $(CC) $(CFLAGS) $(LDFLAGS) $< $(LOADLIBES) $(LDLIBS) -L. -lpthread libxenstore.a $(SOCKET_LIBS) -o $@
++
+ $(CLIENTS_OBJS): xenstore_%.o: xenstore_client.c
+ $(COMPILE.c) -DCLIENT_$(*F) -o $@ $<
+
+@@ -101,7 +105,7 @@ clean: testsuite-clean
+ rm -f *.a *.o *.opic *.so*
+ rm -f xenstored xs_random xs_stress xs_crashme
+ rm -f xs_test xenstored_test xs_tdb_dump xenstore-control xenstore-ls
+- rm -f $(CLIENTS)
++ rm -f $(CLIENTS) $(CLIENTS_DOMU)
+ $(RM) $(PROG_DEP)
+
+ .PHONY: print-dir
+@@ -170,11 +174,15 @@ tarball: clean
+ install: all
+ $(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
+ $(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
++ $(INSTALL_DIR) $(DESTDIR)/bin
+ $(INSTALL_DIR) $(DESTDIR)/usr/bin
+ $(INSTALL_DIR) $(DESTDIR)/usr/sbin
+ $(INSTALL_DIR) $(DESTDIR)/usr/include
+ $(INSTALL_PROG) xenstored $(DESTDIR)/usr/sbin
+ $(INSTALL_PROG) $(CLIENTS) $(DESTDIR)/usr/bin
++ for client in $(CLIENTS_DOMU); do \
++ $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \
++ done
+ $(INSTALL_PROG) xenstore-control $(DESTDIR)/usr/bin
+ $(INSTALL_PROG) xenstore-ls $(DESTDIR)/usr/bin
+ $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
++++++ xen-disable-qemu-monitor.diff ++++++
CVE-2007-0998 - remote compromise of dom0
Rather than completely disabling QEMU's console (which would remove
the "sendkey" command, among other useful things), remove all console
commands that can read/write dom0's state.
Index: xen-unstable/tools/ioemu/monitor.c
===================================================================
--- xen-unstable.orig/tools/ioemu/monitor.c
+++ xen-unstable/tools/ioemu/monitor.c
@@ -1158,6 +1158,7 @@ static term_cmd_t term_cmds[] = {
"", "commit changes to the disk images (if -snapshot is used)" },
{ "info", "s?", do_info,
"subcommand", "show various information about the system state" },
+#ifdef CONFIG_TRUSTED_CLIENT
{ "q|quit", "", do_quit,
"", "quit the emulator" },
{ "eject", "-fB", do_eject,
@@ -1168,6 +1169,7 @@ static term_cmd_t term_cmds[] = {
"filename", "save screen into PPM image 'filename'" },
{ "log", "s", do_log,
"item1[,...]", "activate logging of the specified items to '/tmp/qemu.log'" },
+#endif
#ifndef CONFIG_DM
{ "savevm", "F", do_savevm,
"filename", "save the whole virtual machine state to 'filename'" },
@@ -1199,12 +1201,14 @@ static term_cmd_t term_cmds[] = {
{ "system_powerdown", "", do_system_powerdown,
"", "send system power down event" },
#endif /* !CONFIG_DM */
+#ifdef CONFIG_TRUSTED_CLIENT
{ "sum", "ii", do_sum,
"addr size", "compute the checksum of a memory region" },
{ "usb_add", "s", do_usb_add,
"device", "add USB device (e.g. 'host:bus.addr' or 'host:vendor_id:product_id')" },
{ "usb_del", "s", do_usb_del,
"device", "remove USB device 'bus.addr'" },
+#endif
#ifndef CONFIG_DM
{ "cpu", "i", do_cpu_set,
"index", "set the default CPU" },
@@ -1213,6 +1217,7 @@ static term_cmd_t term_cmds[] = {
"dx dy [dz]", "send mouse move events" },
{ "mouse_button", "i", do_mouse_button,
"state", "change mouse button state (1=L, 2=M, 4=R)" },
+#ifdef CONFIG_TRUSTED_CLIENT
#ifdef HAS_AUDIO
{ "wavcapture", "si?i?i?", do_wav_capture,
"path [frequency bits channels]",
@@ -1220,6 +1225,7 @@ static term_cmd_t term_cmds[] = {
#endif
{ "stopcapture", "i", do_stop_capture,
"capture index", "stop capture" },
+#endif
{ NULL, NULL, },
};
@@ -1258,6 +1264,7 @@ static term_cmd_t info_cmds[] = {
#endif /* !CONFIG_DM */
{ "usb", "", usb_info,
"", "show guest USB devices", },
+#ifdef CONFIG_TRUSTED_CLIENT
{ "usbhost", "", usb_host_info,
"", "show host USB devices", },
{ "profile", "", do_info_profile,
@@ -1268,6 +1275,7 @@ static term_cmd_t info_cmds[] = {
{ "hvmiopage", "", sp_info,
"", "show HVM device model shared page info", },
#endif /* CONFIG_DM */
+#endif
{ NULL, NULL, },
};
++++++ xend_vbd_type.patch ++++++
Index: xen-unstable/tools/python/xen/xend/server/blkif.py
===================================================================
--- xen-unstable.orig/tools/python/xen/xend/server/blkif.py
+++ xen-unstable/tools/python/xen/xend/server/blkif.py
@@ -122,6 +122,7 @@ class BlkifController(DevController):
dev_type = self.readFrontend(devid, 'device-type')
if dev_type:
dev += ':' + dev_type
+ config['type'] = dev_type
config['dev'] = dev
if typ and params:
config['uname'] = typ +':' + params
++++++ xen-generate-foreign-headers.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,406 +1,22 @@
-Generate headers with arch-specific structs.
-
-This patch adds a script to generate headers with arch-specific
-structs which can be included on any architecture. Can be used
-to deal with structs of "foreign" architectures, needed for
-32-on-64 support for example.
-
-Signed-off-by: Gerd Hoffmann
----
- tools/Rules.mk | 2
- xen/Makefile | 5
- xen/include/public/foreign/Makefile | 30 +++++
- xen/include/public/foreign/mkchecker.py | 58 +++++++++++
- xen/include/public/foreign/mkheader.py | 153 ++++++++++++++++++++++++++++++
- xen/include/public/foreign/reference.size | 17 +++
- xen/include/public/foreign/structs.py | 49 +++++++++
- 7 files changed, 314 insertions(+)
-
-Index: xen-3.0.4-testing/xen/include/public/foreign/Makefile
+Index: xen-unstable/xen/include/public/foreign/Makefile
===================================================================
---- /dev/null
-+++ xen-3.0.4-testing/xen/include/public/foreign/Makefile
-@@ -0,0 +1,37 @@
-+XEN_ROOT := ../../../..
-+include $(XEN_ROOT)/tools/Rules.mk
-+
-+architectures := x86_32 x86_64 ia64
-+headers := $(patsubst %, %.h, $(architectures))
-+scripts := $(wildcard *.py)
-+
-+.PHONY: all clean check-headers
-+all: $(headers) check-headers
-+
-+clean:
-+ rm -f $(headers)
-+ rm -f checker checker.c $(XEN_TARGET_ARCH).size
-+ rm -f *.pyc *.o *~
-+
-+check-headers: checker
-+ifeq ($(CROSS_COMPILE),)
-+ ./checker > $(XEN_TARGET_ARCH).size
-+ diff -u reference.size $(XEN_TARGET_ARCH).size
-+else
-+ @echo "cross build: skipping check"
-+endif
-+
-+x86_32.h: ../arch-x86/xen-x86_32.h ../arch-x86/xen.h ../xen.h $(scripts)
-+ python mkheader.py $* $@ $(filter %.h,$^)
-+
-+x86_64.h: ../arch-x86/xen-x86_64.h ../arch-x86/xen.h ../xen.h $(scripts)
-+ python mkheader.py $* $@ $(filter %.h,$^)
-+
-+ia64.h: ../arch-ia64.h ../xen.h $(scripts)
-+ python mkheader.py $* $@ $(filter %.h,$^)
-+
-+checker: checker.c $(headers)
-+ $(HOSTCC) -o $@ $<
-+
-+checker.c: $(scripts)
-+ python mkchecker.py $(XEN_TARGET_ARCH) $@ $(architectures)
-Index: xen-3.0.4-testing/xen/include/public/foreign/mkheader.py
-===================================================================
---- /dev/null
-+++ xen-3.0.4-testing/xen/include/public/foreign/mkheader.py
-@@ -0,0 +1,153 @@
-+#!/usr/bin/python
-+
-+import sys, re;
-+from structs import structs, defines;
-+
-+# command line arguments
-+arch = sys.argv[1];
-+outfile = sys.argv[2];
-+infiles = sys.argv[3:];
-+
-+
-+###########################################################################
-+# configuration #2: architecture information
-+
-+inttypes = {};
-+header = {};
-+footer = {};
-+
-+# x86_32
-+inttypes["x86_32"] = {
-+ "unsigned long" : "uint32_t",
-+ "long" : "uint32_t",
-+ "xen_pfn_t" : "uint32_t",
-+};
-+header["x86_32"] = """
-+#define __i386___X86_32 1
-+#pragma pack(push, 4)
-+""";
-+footer["x86_32"] = """
-+#pragma pack(pop)
-+""";
-+
-+# x86_64
-+inttypes["x86_64"] = {
-+ "unsigned long" : "__align8__ uint64_t",
-+ "long" : "__align8__ uint64_t",
-+ "xen_pfn_t" : "__align8__ uint64_t",
-+};
-+header["x86_64"] = """
-+#ifdef __GNUC__
-+# define __DECL_REG(name) union { uint64_t r ## name, e ## name; }
-+# define __align8__ __attribute__((aligned (8)))
-+#else
-+# define __DECL_REG(name) uint64_t r ## name
-+# define __align8__ FIXME
-+#endif
-+#define __x86_64___X86_64 1
-+""";
-+
-+# ia64
-+inttypes["ia64"] = {
-+ "unsigned long" : "__align8__ uint64_t",
-+ "long" : "__align8__ uint64_t",
-+ "xen_pfn_t" : "__align8__ uint64_t",
-+ "long double" : "__align16__ ldouble_t",
-+};
-+header["ia64"] = """
-+#define __align8__ __attribute__((aligned (8)))
-+#define __align16__ __attribute__((aligned (16)))
-+typedef unsigned char ldouble_t[16];
-+""";
-+
-+
-+###########################################################################
-+# main
-+
-+input = "";
-+output = "";
-+fileid = re.sub("[-.]", "_", "__FOREIGN_%s__" % outfile.upper());
-+
-+# read input header files
-+for name in infiles:
-+ f = open(name, "r");
-+ input += f.read();
-+ f.close();
-+
-+# add header
-+output += """
-+/*
-+ * public xen defines and struct for %s
-+ * generated by %s -- DO NOT EDIT
-+ */
-+
-+#ifndef %s
-+#define %s 1
-+
-+""" % (arch, sys.argv[0], fileid, fileid)
-+
-+if arch in header:
-+ output += header[arch];
-+ output += "\n";
-+
-+# add defines to output
-+for line in re.findall("#define[^\n]+", input):
-+ for define in defines:
-+ regex = "#define\s+%s\\b" % define;
-+ match = re.search(regex, line);
-+ if None == match:
-+ continue;
-+ if define.upper()[0] == define[0]:
-+ replace = define + "_" + arch.upper();
-+ else:
-+ replace = define + "_" + arch;
-+ regex = "\\b%s\\b" % define;
-+ output += re.sub(regex, replace, line) + "\n";
-+output += "\n";
-+
-+# delete defines, comments, empty lines
-+input = re.sub("#define[^\n]+\n", "", input);
-+input = re.compile("/\*(.*?)\*/", re.S).sub("", input)
-+input = re.compile("\n\s*\n", re.S).sub("\n", input);
-+
-+# add structs to output
-+for struct in structs:
-+ regex = "struct\s+%s\s*\{(.*?)\n\};" % struct;
-+ match = re.search(regex, input, re.S)
-+ if None == match:
-+ output += "#define %s_has_no_%s 1\n" % (arch, struct);
-+ else:
-+ output += "struct %s_%s {%s\n};\n" % (struct, arch, match.group(1));
-+ output += "typedef struct %s_%s %s_%s_t;\n" % (struct, arch, struct, arch);
-+ output += "\n";
-+
-+# add footer
-+if arch in footer:
-+ output += footer[arch];
-+ output += "\n";
-+output += "#endif /* %s */\n" % fileid;
-+
-+# replace: defines
-+for define in defines:
-+ if define.upper()[0] == define[0]:
-+ replace = define + "_" + arch.upper();
-+ else:
-+ replace = define + "_" + arch;
-+ output = re.sub("\\b%s\\b" % define, replace, output);
-+
-+# replace: structs + struct typedefs
-+for struct in structs:
-+ output = re.sub("\\b(struct\s+%s)\\b" % struct, "\\1_%s" % arch, output);
-+ output = re.sub("\\b(%s)_t\\b" % struct, "\\1_%s_t" % arch, output);
-+
-+# replace: integer types
-+integers = inttypes[arch].keys();
-+integers.sort(lambda a, b: cmp(len(b),len(a)));
-+for type in integers:
-+ output = re.sub("\\b%s\\b" % type, inttypes[arch][type], output);
-+
-+# print results
-+f = open(outfile, "w");
-+f.write(output);
-+f.close;
-+
-Index: xen-3.0.4-testing/xen/include/public/foreign/structs.py
-===================================================================
---- /dev/null
-+++ xen-3.0.4-testing/xen/include/public/foreign/structs.py
-@@ -0,0 +1,52 @@
-+# configuration: what needs translation
-+
-+structs = [ "start_info",
-+ "trap_info",
-+ "pt_fpreg",
-+ "cpu_user_regs",
-+ "xen_ia64_boot_param",
-+ "ia64_tr_entry",
-+ "vcpu_extra_regs",
-+ "vcpu_guest_context",
-+ "arch_vcpu_info",
-+ "vcpu_time_info",
-+ "vcpu_info",
-+ "arch_shared_info",
-+ "shared_info" ];
-+
-+defines = [ "__i386__",
-+ "__x86_64__",
-+
-+ "FLAT_RING1_CS",
-+ "FLAT_RING1_DS",
-+ "FLAT_RING1_SS",
-+
-+ "FLAT_RING3_CS64",
-+ "FLAT_RING3_DS64",
-+ "FLAT_RING3_SS64",
-+ "FLAT_KERNEL_CS64",
-+ "FLAT_KERNEL_DS64",
-+ "FLAT_KERNEL_SS64",
-+
-+ "FLAT_KERNEL_CS",
-+ "FLAT_KERNEL_DS",
-+ "FLAT_KERNEL_SS",
-+
-+ # x86_{32,64}
-+ "_VGCF_i387_valid",
-+ "VGCF_i387_valid",
-+ "_VGCF_in_kernel",
-+ "VGCF_in_kernel",
-+ "_VGCF_failsafe_disables_events",
-+ "VGCF_failsafe_disables_events",
-+ "_VGCF_syscall_disables_events",
-+ "VGCF_syscall_disables_events",
-+
-+ # ia64
-+ "VGCF_EXTRA_REGS",
-+
-+ # all archs
-+ "xen_pfn_to_cr3",
-+ "MAX_VIRT_CPUS",
-+ "MAX_GUEST_CMDLINE" ];
-+
-Index: xen-3.0.4-testing/xen/include/public/foreign/reference.size
-===================================================================
---- /dev/null
-+++ xen-3.0.4-testing/xen/include/public/foreign/reference.size
-@@ -0,0 +1,17 @@
-+
-+structs | x86_32 x86_64 ia64
-+
-+start_info | 1104 1152 1152
-+trap_info | 8 16 -
-+pt_fpreg | - - 16
-+cpu_user_regs | 68 200 496
-+xen_ia64_boot_param | - - 96
-+ia64_tr_entry | - - 32
-+vcpu_extra_regs | - - 536
-+vcpu_guest_context | 2800 5168 1056
-+arch_vcpu_info | 24 16 0
-+vcpu_time_info | 32 32 32
-+vcpu_info | 64 64 48
-+arch_shared_info | 268 280 272
-+shared_info | 2584 3368 4384
-+
-Index: xen-3.0.4-testing/xen/Makefile
-===================================================================
---- xen-3.0.4-testing.orig/xen/Makefile
-+++ xen-3.0.4-testing/xen/Makefile
-@@ -36,10 +36,13 @@ _install: $(TARGET).gz
- $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/hvm
- [ -d $(DESTDIR)/usr/include/xen/io ] || \
- $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/io
-+ [ -d $(DESTDIR)/usr/include/xen/foreign ] || \
-+ $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/foreign
- $(INSTALL_DATA) include/public/*.h $(DESTDIR)/usr/include/xen
- $(INSTALL_DATA) include/public/arch-x86/*.h $(DESTDIR)/usr/include/xen/arch-x86
- $(INSTALL_DATA) include/public/hvm/*.h $(DESTDIR)/usr/include/xen/hvm
- $(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
-+ $(INSTALL_DATA) include/public/foreign/*.h $(DESTDIR)/usr/include/xen/foreign
- $(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
-
- .PHONY: _debug
-@@ -49,6 +52,7 @@ _debug:
- .PHONY: _clean
- _clean: delete-unfresh-files
- $(MAKE) -C tools clean
-+ $(MAKE) -C include/public/foreign clean
- $(MAKE) -f $(BASEDIR)/Rules.mk -C include clean
- $(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
- $(MAKE) -f $(BASEDIR)/Rules.mk -C drivers clean
-@@ -68,6 +72,7 @@ $(TARGET).gz: $(TARGET)
+--- xen-unstable.orig/xen/include/public/foreign/Makefile
++++ xen-unstable/xen/include/public/foreign/Makefile
+@@ -17,8 +17,6 @@ ifeq ($(CROSS_COMPILE),)
+ check-headers: checker
+ ./checker > $(XEN_TARGET_ARCH).size
+ diff -u reference.size $(XEN_TARGET_ARCH).size
+-checker: checker.c $(headers)
+- $(HOSTCC) $(HOSTCFLAGS) -o $@ $<
+ else
+ check-headers:
+ @echo "cross build: skipping check"
+@@ -33,5 +31,8 @@ x86_64.h: ../arch-x86/xen-x86_64.h ../ar
+ ia64.h: ../arch-ia64.h ../xen.h $(scripts)
+ python mkheader.py $* $@ $(filter %.h,$^)
- $(TARGET): delete-unfresh-files
- $(MAKE) -C tools
-+ $(MAKE) -C include/public/foreign
- $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
- $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/acm_policy.h
- [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
-Index: xen-3.0.4-testing/xen/include/public/foreign/mkchecker.py
-===================================================================
---- /dev/null
-+++ xen-3.0.4-testing/xen/include/public/foreign/mkchecker.py
-@@ -0,0 +1,58 @@
-+#!/usr/bin/python
-+
-+import sys;
-+from structs import structs;
-+
-+# command line arguments
-+arch = sys.argv[1];
-+outfile = sys.argv[2];
-+archs = sys.argv[3:];
-+
-+f = open(outfile, "w");
-+f.write('''
-+/*
-+ * sanity checks for generated foreign headers:
-+ * - verify struct sizes
-+ *
-+ * generated by %s -- DO NOT EDIT
-+ */
-+#include
-+#include
-+#include
-+#include
-+#include "../xen.h"
-+''');
-+
-+for a in archs:
-+ f.write('#include "%s.h"\n' % a);
-+
-+f.write('int main(int argc, char *argv[])\n{\n');
-+
-+f.write('\tprintf("\\n");');
-+f.write('printf("%-20s |", "structs");\n');
-+for a in archs:
-+ f.write('\tprintf("%%8s", "%s");\n' % a);
-+f.write('\tprintf("\\n");');
-+
-+f.write('\tprintf("\\n");');
-+for struct in structs:
-+ f.write('\tprintf("%%-20s |", "%s");\n' % struct);
-+ for a in archs:
-+ if a == arch:
-+ s = struct; # native
-+ else:
-+ s = struct + "_" + a;
-+ f.write('#ifdef %s_has_no_%s\n' % (a, struct));
-+ f.write('\tprintf("%8s", "-");\n');
-+ f.write("#else\n");
-+ f.write('\tprintf("%%8zd", sizeof(struct %s));\n' % s);
-+ f.write("#endif\n");
-+
-+ f.write('\tprintf("\\n");\n\n');
-+
-+f.write('\tprintf("\\n");\n');
-+f.write('\texit(0);\n');
-+f.write('}\n');
-+
-+f.close();
++checker: checker.c $(headers)
++ $(HOSTCC) $(HOSTCFLAGS) -o $@ $<
+
-Index: xen-3.0.4-testing/tools/Rules.mk
-===================================================================
---- xen-3.0.4-testing.orig/tools/Rules.mk
-+++ xen-3.0.4-testing/tools/Rules.mk
-@@ -52,5 +52,7 @@ mk-symlinks-xen:
- ( cd xen/io && ln -sf ../../$(XEN_ROOT)/xen/include/public/io/*.h . )
- mkdir -p xen/arch-x86
- ( cd xen/arch-x86 && ln -sf ../../$(XEN_ROOT)/xen/include/public/arch-x86/*.h . )
-+ mkdir -p xen/foreign
-+ ( cd xen/foreign && ln -sf ../../$(XEN_ROOT)/xen/include/public/foreign/*.h . )
-
- mk-symlinks: mk-symlinks-xen mk-symlinks-$(XEN_OS)
+ checker.c: $(scripts)
+ python mkchecker.py $(XEN_TARGET_ARCH) $@ $(architectures)
++++++ xen-hvm-default-bridge.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-3.0.4-testing/tools/examples/xend-config.sxp
+Index: xen-unstable/tools/examples/xend-config.sxp
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xend-config.sxp
-+++ xen-3.0.4-testing/tools/examples/xend-config.sxp
-@@ -116,7 +116,8 @@
+--- xen-unstable.orig/tools/examples/xend-config.sxp
++++ xen-unstable/tools/examples/xend-config.sxp
+@@ -134,7 +134,8 @@
#
# (network-script 'network-bridge netdev=eth1')
#
@@ -12,19 +12,19 @@
#
# (network-script 'network-bridge bridge=<name>')
#
-Index: xen-3.0.4-testing/tools/ioemu/vl.c
+Index: xen-unstable/tools/ioemu/vl.c
===================================================================
---- xen-3.0.4-testing.orig/tools/ioemu/vl.c
-+++ xen-3.0.4-testing/tools/ioemu/vl.c
-@@ -89,7 +89,6 @@
- #include "exec-all.h"
+--- xen-unstable.orig/tools/ioemu/vl.c
++++ xen-unstable/tools/ioemu/vl.c
+@@ -90,7 +90,6 @@
+ #include
#define DEFAULT_NETWORK_SCRIPT "/etc/xen/qemu-ifup"
-#define DEFAULT_BRIDGE "xenbr0"
//#define DEBUG_UNUSED_IOPORT
//#define DEBUG_IOPORT
-@@ -3779,10 +3778,10 @@ int net_client_init(const char *str)
+@@ -3843,10 +3842,10 @@ int net_client_init(const char *str)
if (get_param_value(setup_script, sizeof(setup_script), "script", p) == 0) {
pstrcpy(setup_script, sizeof(setup_script), DEFAULT_NETWORK_SCRIPT);
}
@@ -39,11 +39,11 @@
}
} else
#endif
-Index: xen-3.0.4-testing/tools/python/xen/xend/image.py
+Index: xen-unstable/tools/python/xen/xend/image.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xend/image.py
-+++ xen-3.0.4-testing/tools/python/xen/xend/image.py
-@@ -419,13 +419,16 @@ class HVMImageHandler(ImageHandler):
+--- xen-unstable.orig/tools/python/xen/xend/image.py
++++ xen-unstable/tools/python/xen/xend/image.py
+@@ -352,13 +352,16 @@ class HVMImageHandler(ImageHandler):
mac = devinfo.get('mac')
if mac is None:
mac = randomMAC()
@@ -60,20 +60,19 @@
+ net += ",bridge=%s" % (bridge,)
+ ret.append(net)
- return ret
-Index: xen-3.0.4-testing/tools/ioemu/target-i386-dm/qemu-ifup
+ #
+Index: xen-unstable/tools/ioemu/target-i386-dm/qemu-ifup
===================================================================
---- xen-3.0.4-testing.orig/tools/ioemu/target-i386-dm/qemu-ifup
-+++ xen-3.0.4-testing/tools/ioemu/target-i386-dm/qemu-ifup
-@@ -1,10 +1,11 @@
+--- xen-unstable.orig/tools/ioemu/target-i386-dm/qemu-ifup
++++ xen-unstable/tools/ioemu/target-i386-dm/qemu-ifup
+@@ -1,9 +1,11 @@
#!/bin/sh
-#. /etc/rc.d/init.d/functions
-#ulimit -c unlimited
-
--echo -c 'config qemu network with xen bridge for '
--echo $*
+-echo 'config qemu network with xen bridge for ' $*
+bridge=$2
+if [ -z "$bridge" ]; then
+ brnum=$(ip route list | awk '/^default / { print $NF }' | sed 's/^[^0-9]*//')
++++++ xen-hvm-default-pae.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,15 +1,15 @@
PAE must be on for 64-on-64 to work at all.
-Index: xen-3.0.4-testing/tools/python/xen/xend/image.py
+Index: xen-unstable/tools/python/xen/xend/image.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xend/image.py
-+++ xen-3.0.4-testing/tools/python/xen/xend/image.py
-@@ -334,7 +334,7 @@ class HVMImageHandler(ImageHandler):
+--- xen-unstable.orig/tools/python/xen/xend/image.py
++++ xen-unstable/tools/python/xen/xend/image.py
+@@ -265,7 +265,7 @@ class HVMImageHandler(ImageHandler):
- self.dmargs += self.configVNC(imageConfig)
+ self.pid = None
-- self.pae = imageConfig['hvm'].get('pae', 0)
-+ self.pae = imageConfig['hvm'].get('pae', 1)
- self.apic = imageConfig['hvm'].get('apic', 0)
- self.acpi = imageConfig['hvm']['devices'].get('acpi', 0)
+- self.pae = int(vmConfig['platform'].get('pae', 0))
++ self.pae = int(vmConfig['platform'].get('pae', 1))
+ self.apic = int(vmConfig['platform'].get('apic', 0))
+ self.acpi = int(vmConfig['platform'].get('acpi', 0))
++++++ xen-hvm-netfront.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-3.0.4-testing/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
+Index: xen-3.0.5-testing/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
===================================================================
---- xen-3.0.4-testing.orig/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
-+++ xen-3.0.4-testing/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
-@@ -282,6 +282,13 @@ static int __devinit netfront_probe(stru
+--- xen-3.0.5-testing.orig/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
++++ xen-3.0.5-testing/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
+@@ -294,6 +294,13 @@ static int __devinit netfront_probe(stru
int err;
struct net_device *netdev;
struct netfront_info *info;
++++++ xen-ioapic-ack-default.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,10 +1,10 @@
Change default IO-APIC ack mode for single IO-APIC systems to old-style. Jan
-Index: xen-3.0.4-testing/xen/arch/x86/io_apic.c
+Index: xen-unstable/xen/arch/x86/io_apic.c
===================================================================
---- xen-3.0.4-testing.orig/xen/arch/x86/io_apic.c
-+++ xen-3.0.4-testing/xen/arch/x86/io_apic.c
+--- xen-unstable.orig/xen/arch/x86/io_apic.c
++++ xen-unstable/xen/arch/x86/io_apic.c
@@ -1339,7 +1339,7 @@ static unsigned int startup_level_ioapic
return 0; /* don't check for pending */
}
++++++ xen-ioemu-hvm-pv-support.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,7 +1,8 @@
-diff -Nuar ioemu-orig/hw/ide.c ioemu/hw/ide.c
---- a/tools/ioemu/hw/ide.c 2007-03-01 15:18:35.000000000 -0700
-+++ b/tools/ioemu/hw/ide.c 2007-03-01 15:19:15.000000000 -0700
-@@ -392,6 +392,9 @@
+Index: xen-unstable/tools/ioemu/hw/ide.c
+===================================================================
+--- xen-unstable.orig/tools/ioemu/hw/ide.c
++++ xen-unstable/tools/ioemu/hw/ide.c
+@@ -392,6 +392,9 @@ typedef struct PCIIDEState {
int type; /* see IDE_TYPE_xxx */
} PCIIDEState;
@@ -11,7 +12,7 @@
#define DMA_MULTI_THREAD
#ifdef DMA_MULTI_THREAD
-@@ -2001,6 +2004,27 @@
+@@ -2165,6 +2168,27 @@ static void ide_reset(IDEState *s)
ide_dummy_transfer_stop(s);
}
@@ -39,7 +40,7 @@
struct partition {
uint8_t boot_ind; /* 0x80 - active */
uint8_t head; /* starting head */
-@@ -2436,6 +2460,9 @@
+@@ -2600,6 +2624,9 @@ void pci_cmd646_ide_init(PCIBus *bus, Bl
sizeof(PCIIDEState),
-1,
NULL, NULL);
@@ -49,7 +50,7 @@
d->type = IDE_TYPE_CMD646;
pci_conf = d->dev.config;
pci_conf[0x00] = 0x95; // CMD646
-@@ -2493,6 +2520,9 @@
+@@ -2771,6 +2798,9 @@ void pci_piix3_ide_init(PCIBus *bus, Blo
NULL, NULL);
d->type = IDE_TYPE_PIIX3;
@@ -59,10 +60,11 @@
pci_conf = d->dev.config;
pci_conf[0x00] = 0x86; // Intel
pci_conf[0x01] = 0x80;
-diff -Nuar ioemu-orig/hw/pci.c ioemu/hw/pci.c
---- a/tools/ioemu/hw/pci.c 2007-03-01 15:18:35.000000000 -0700
-+++ b/tools/ioemu/hw/pci.c 2007-03-01 15:19:15.000000000 -0700
-@@ -514,3 +514,24 @@
+Index: xen-unstable/tools/ioemu/hw/pci.c
+===================================================================
+--- xen-unstable.orig/tools/ioemu/hw/pci.c
++++ xen-unstable/tools/ioemu/hw/pci.c
+@@ -517,3 +517,24 @@ void pci_nic_init(PCIBus *bus, NICInfo *
}
}
@@ -87,10 +89,11 @@
+ }
+ }
+}
-diff -Nuar ioemu-orig/hw/xen_platform.c ioemu/hw/xen_platform.c
---- a/tools/ioemu/hw/xen_platform.c 2007-03-01 15:18:35.000000000 -0700
-+++ b/tools/ioemu/hw/xen_platform.c 2007-03-01 15:19:15.000000000 -0700
-@@ -29,9 +29,36 @@
+Index: xen-unstable/tools/ioemu/hw/xen_platform.c
+===================================================================
+--- xen-unstable.orig/tools/ioemu/hw/xen_platform.c
++++ xen-unstable/tools/ioemu/hw/xen_platform.c
+@@ -29,15 +29,46 @@
extern FILE *logfile;
@@ -98,49 +101,50 @@
+
static void platform_ioport_write(void *opaque, uint32_t addr, uint32_t val)
{
-- return;
+ DECLARE_DOMCTL;
+ int rc;
+
+ if (val == 0)
+ qemu_invalidate_map_cache();
++
+ switch (addr - ioport_base) {
+ case 0:
-+ fprintf(logfile, "Init hypercall page %x, addr %x.\n", val, addr);
-+ domctl.domain = (domid_t)domid;
-+ domctl.u.hypercall_init.gmfn = val;
-+ domctl.cmd = XEN_DOMCTL_hypercall_init;
-+ rc = xc_domctl(xc_handle, &domctl);
-+ fprintf(logfile, "result -> %d.\n", rc);
-+ break;
++ fprintf(logfile, "Init hypercall page %x, addr %x.\n", val, addr);
++ domctl.domain = (domid_t)domid;
++ domctl.u.hypercall_init.gmfn = val;
++ domctl.cmd = XEN_DOMCTL_hypercall_init;
++ rc = xc_domctl(xc_handle, &domctl);
++ fprintf(logfile, "result -> %d.\n", rc);
++ break;
+ case 4:
-+ fprintf(logfile, "Disconnect IDE hard disk...\n");
-+ ide_unplug_harddisks();
-+ fprintf(logfile, "Disconnect netifs...\n");
-+ pci_unplug_netifs();
-+ fprintf(logfile, "Shutdown taps...\n");
-+ net_tap_shutdown_all();
-+ fprintf(logfile, "Done.\n");
-+ break;
++ fprintf(logfile, "Disconnect IDE hard disk...\n");
++ ide_unplug_harddisks();
++ fprintf(logfile, "Disconnect netifs...\n");
++ pci_unplug_netifs();
++ fprintf(logfile, "Shutdown taps...\n");
++ net_tap_shutdown_all();
++ fprintf(logfile, "Done.\n");
++ break;
+ default:
-+ fprintf(logfile, "Write to bad port %x (base %x) on evtchn device.\n",
-+ addr, ioport_base);
-+ break;
++ fprintf(logfile, "Write to bad port %x (base %x) on evtchn device.\n",
++ addr, ioport_base);
++ break;
+ }
}
- static uint32_t platform_ioport_read(void *opaque, uint32_t addr)
-@@ -42,6 +69,8 @@
static void platform_ioport_map(PCIDevice *pci_dev, int region_num,
uint32_t addr, uint32_t size, int type)
{
+ ioport_base = addr;
+
- register_ioport_write(addr, 16, 4, platform_ioport_write, NULL);
- register_ioport_read(addr, 16, 1, platform_ioport_read, NULL);
+ register_ioport_write(addr, 1, 1, platform_ioport_write, NULL);
}
-diff -Nuar ioemu-orig/vl.c ioemu/vl.c
---- a/tools/ioemu/vl.c 2007-03-01 15:18:35.000000000 -0700
-+++ b/tools/ioemu/vl.c 2007-03-01 15:19:15.000000000 -0700
-@@ -170,6 +170,19 @@
+
+Index: xen-unstable/tools/ioemu/vl.c
+===================================================================
+--- xen-unstable.orig/tools/ioemu/vl.c
++++ xen-unstable/tools/ioemu/vl.c
+@@ -170,6 +170,19 @@ time_t timeoffset = 0;
char domain_name[1024] = { 'H','V', 'M', 'X', 'E', 'N', '-'};
extern int domid;
@@ -160,7 +164,7 @@
char vncpasswd[64];
unsigned char challenge[AUTHCHALLENGESIZE];
-@@ -3084,6 +3097,7 @@
+@@ -3139,6 +3152,7 @@ void net_slirp_smb(const char *exported_
typedef struct TAPState {
VLANClientState *vc;
int fd;
@@ -168,7 +172,7 @@
} TAPState;
static void tap_receive(void *opaque, const uint8_t *buf, int size)
-@@ -3111,6 +3125,36 @@
+@@ -3166,6 +3180,36 @@ static void tap_send(void *opaque)
}
}
@@ -205,7 +209,7 @@
/* fd support */
static TAPState *net_tap_fd_init(VLANState *vlan, int fd)
-@@ -3122,6 +3166,8 @@
+@@ -3177,6 +3221,8 @@ static TAPState *net_tap_fd_init(VLANSta
return NULL;
s->fd = fd;
s->vc = qemu_new_vlan_client(vlan, tap_receive, NULL, s);
@@ -214,7 +218,7 @@
qemu_set_fd_handler(s->fd, tap_send, NULL, s);
snprintf(s->vc->info_str, sizeof(s->vc->info_str), "tap: fd=%d", fd);
return s;
-@@ -4047,19 +4093,6 @@
+@@ -4117,19 +4163,6 @@ void dumb_display_init(DisplayState *ds)
#define MAX_IO_HANDLERS 64
@@ -234,18 +238,19 @@
/* XXX: fd_read_poll should be suppressed, but an API change is
necessary in the character devices to suppress fd_can_read(). */
int qemu_set_fd_handler2(int fd,
-diff -Nuar ioemu-orig/vl.h ioemu/vl.h
---- a/tools/ioemu/vl.h 2007-03-01 15:18:35.000000000 -0700
-+++ b/tools/ioemu/vl.h 2007-03-01 15:19:15.000000000 -0700
-@@ -826,6 +826,7 @@
- void pci_piix3_ide_init(PCIBus *bus, BlockDriverState **hd_table, int devfn);
+Index: xen-unstable/tools/ioemu/vl.h
+===================================================================
+--- xen-unstable.orig/tools/ioemu/vl.h
++++ xen-unstable/tools/ioemu/vl.h
+@@ -844,6 +844,7 @@ void pci_piix3_ide_init(PCIBus *bus, Blo
int pmac_ide_init (BlockDriverState **hd_table,
SetIRQFunc *set_irq, void *irq_opaque, int irq);
+ void ide_stop_dma_thread(void);
+void ide_unplug_harddisks(void);
/* cdrom.c */
int cdrom_read_toc(int nb_sectors, uint8_t *buf, int msf, int start_track);
-@@ -1268,6 +1269,8 @@
+@@ -1286,6 +1287,8 @@ void kqemu_record_dump(void);
extern char domain_name[];
void destroy_hvm_domain(void);
++++++ xen-linguas.diff ++++++
Index: xen-3.0.5-testing/tools/python/Makefile
===================================================================
--- xen-3.0.5-testing.orig/tools/python/Makefile
+++ xen-3.0.5-testing/tools/python/Makefile
@@ -6,7 +6,7 @@ all: build
# For each new supported translation, add its name here, eg 'fr_FR'
# to cause the .po file to be built & installed, eg
-LINGUAS :=
+LINGUAS := $(shell find xen/xm/messages/ -name '*.po' | sed -e 's,.*/\([^/]*\)/[^/]*$$,\1,')
POPACKAGE := xen-xm
PODIR := xen/xm/messages
POTFILE := $(PODIR)/xen-xm.pot
++++++ xen-lost-mouse.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -5,16 +5,16 @@
performed, so mouse wasn't released.
-Index: xen-3.0.4-testing/tools/python/xen/xend/image.py
+Index: xen-unstable/tools/python/xen/xend/image.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xend/image.py
-+++ xen-3.0.4-testing/tools/python/xen/xend/image.py
-@@ -502,7 +502,7 @@ class HVMImageHandler(ImageHandler):
- self.unregister_reboot_feature_watch();
+--- xen-unstable.orig/tools/python/xen/xend/image.py
++++ xen-unstable/tools/python/xen/xend/image.py
+@@ -454,7 +454,7 @@ class HVMImageHandler(ImageHandler):
+ def destroy(self, suspend = False):
if self.pid:
try:
-- os.kill(self.pid, signal.SIGKILL)
-+ os.kill(self.pid, signal.SIGTERM)
- except OSError, exn:
- log.exception(exn)
- try:
+- sig = signal.SIGKILL
++ sig = signal.SIGTERM
+ if suspend:
+ log.info("use sigusr1 to signal qemu %d", self.pid)
+ sig = signal.SIGUSR1
++++++ xen-lowmem-emergency-pool.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-3.0.4-testing/xen/arch/x86/x86_32/mm.c
+Index: xen-unstable/xen/arch/x86/x86_32/mm.c
===================================================================
---- xen-3.0.4-testing.orig/xen/arch/x86/x86_32/mm.c
-+++ xen-3.0.4-testing/xen/arch/x86/x86_32/mm.c
-@@ -62,6 +62,8 @@ l2_pgentry_t *virt_to_xen_l2e(unsigned l
+--- xen-unstable.orig/xen/arch/x86/x86_32/mm.c
++++ xen-unstable/xen/arch/x86/x86_32/mm.c
+@@ -63,6 +63,8 @@ l2_pgentry_t *virt_to_xen_l2e(unsigned l
return &idle_pg_table_l2[l2_linear_offset(v)];
}
@@ -11,7 +11,7 @@
void __init paging_init(void)
{
void *ioremap_pt;
-@@ -130,6 +132,20 @@ void __init setup_idle_pagetable(void)
+@@ -131,6 +133,20 @@ void __init setup_idle_pagetable(void)
l2e_from_page(virt_to_page(idle_vcpu[0]->domain->
arch.mm_perdomain_pt) + i,
__PAGE_HYPERVISOR));
@@ -32,10 +32,10 @@
}
void __init zap_low_mappings(l2_pgentry_t *base)
-Index: xen-3.0.4-testing/xen/common/page_alloc.c
+Index: xen-unstable/xen/common/page_alloc.c
===================================================================
---- xen-3.0.4-testing.orig/xen/common/page_alloc.c
-+++ xen-3.0.4-testing/xen/common/page_alloc.c
+--- xen-unstable.orig/xen/common/page_alloc.c
++++ xen-unstable/xen/common/page_alloc.c
@@ -46,6 +46,20 @@ static char opt_badpage[100] = "";
string_param("badpage", opt_badpage);
@@ -56,4 +56,4 @@
+/*
* Bit width of the DMA heap.
*/
- unsigned int dma_bitsize = CONFIG_DMA_BITSIZE;
+ static unsigned int dma_bitsize = CONFIG_DMA_BITSIZE;
++++++ xen-man-xm-bad-char.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-3.0.4-testing/docs/man/xm.pod.1
+Index: xen-unstable/docs/man/xm.pod.1
===================================================================
---- xen-3.0.4-testing.orig/docs/man/xm.pod.1
-+++ xen-3.0.4-testing/docs/man/xm.pod.1
-@@ -554,29 +554,29 @@ B<EXAMPLES>
+--- xen-unstable.orig/docs/man/xm.pod.1
++++ xen-unstable/docs/man/xm.pod.1
+@@ -555,29 +555,29 @@ B<EXAMPLES>
I
xm sched-sedf <dom-id> 20000000 5000000 0 0 0
++++++ xen-max-free-mem.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,16 +1,15 @@
-Index: xen-3.0.4-testing/tools/python/xen/xend/XendNode.py
+Index: xen-3.0.5-testing/tools/python/xen/xend/XendNode.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xend/XendNode.py
-+++ xen-3.0.4-testing/tools/python/xen/xend/XendNode.py
-@@ -159,9 +159,34 @@ class XendNode:
- info['cores_per_socket'] *
+--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendNode.py
++++ xen-3.0.5-testing/tools/python/xen/xend/XendNode.py
+@@ -558,9 +558,33 @@ class XendNode:
info['threads_per_core'])
info['cpu_mhz'] = info['cpu_khz'] / 1000
-- # physinfo is in KiB
+
+- # physinfo is in KiB, need it in MiB
- info['total_memory'] = info['total_memory'] / 1024
- info['free_memory'] = info['free_memory'] / 1024
-+ import XendRoot
-+ configured_floor = XendRoot.instance().get_dom0_min_mem() * 1024
++ configured_floor = xendoptions().get_dom0_min_mem() * 1024
+ from xen.xend import balloon
+ try:
+ kernel_floor = balloon.get_dom0_min_target()
@@ -40,7 +39,7 @@
ITEM_ORDER = ['nr_cpus',
'nr_nodes',
-@@ -172,6 +197,9 @@ class XendNode:
+@@ -571,6 +595,9 @@ class XendNode:
'hw_caps',
'total_memory',
'free_memory',
@@ -50,11 +49,11 @@
]
return [[k, info[k]] for k in ITEM_ORDER]
-Index: xen-3.0.4-testing/tools/python/xen/xend/balloon.py
+Index: xen-3.0.5-testing/tools/python/xen/xend/balloon.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xend/balloon.py
-+++ xen-3.0.4-testing/tools/python/xen/xend/balloon.py
-@@ -43,6 +43,8 @@ SLEEP_TIME_GROWTH = 0.1
+--- xen-3.0.5-testing.orig/tools/python/xen/xend/balloon.py
++++ xen-3.0.5-testing/tools/python/xen/xend/balloon.py
+@@ -41,6 +41,8 @@ SLEEP_TIME_GROWTH = 0.1
# label actually shown in the PROC_XEN_BALLOON file.
labels = { 'current' : 'Current allocation',
'target' : 'Requested target',
@@ -63,7 +62,7 @@
'low-balloon' : 'Low-mem balloon',
'high-balloon' : 'High-mem balloon',
'limit' : 'Xen hard limit' }
-@@ -81,6 +83,23 @@ def get_dom0_target_alloc():
+@@ -67,6 +69,23 @@ def get_dom0_target_alloc():
raise VmError('Failed to query target memory allocation of dom0.')
return kb
@@ -87,11 +86,11 @@
def free(need_mem):
"""Balloon out memory from the privileged domain so that there is the
specified required amount (in KiB) free.
-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
-@@ -540,6 +540,27 @@ class XendDomainInfo:
+--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -573,6 +573,27 @@ class XendDomainInfo:
return sxprs
@@ -119,10 +118,10 @@
def setMemoryTarget(self, target):
"""Set the memory target of this domain.
@param target: In MiB.
-Index: xen-3.0.4-testing/tools/python/xen/xend/server/SrvDomain.py
+Index: xen-3.0.5-testing/tools/python/xen/xend/server/SrvDomain.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xend/server/SrvDomain.py
-+++ xen-3.0.4-testing/tools/python/xen/xend/server/SrvDomain.py
+--- xen-3.0.5-testing.orig/tools/python/xen/xend/server/SrvDomain.py
++++ xen-3.0.5-testing/tools/python/xen/xend/server/SrvDomain.py
@@ -169,7 +169,7 @@ class SrvDomain(SrvDir):
++++++ xen-messages.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,7 +1,8 @@
-diff -ru xen-3.0.4-testing.orig/tools/misc/xend xen-3.0.4-testing/tools/misc/xend
---- xen-3.0.4-testing.orig/tools/misc/xend 2006-12-14 14:49:56.000000000 -0700
-+++ xen-3.0.4-testing/tools/misc/xend 2007-03-01 18:05:38.000000000 -0700
-@@ -60,22 +60,6 @@
+Index: xen-3.0.5-testing/tools/misc/xend
+===================================================================
+--- xen-3.0.5-testing.orig/tools/misc/xend
++++ xen-3.0.5-testing/tools/misc/xend
+@@ -50,22 +50,6 @@ def hline():
def msg(message):
print >>sys.stderr, "*" * 3, message
@@ -24,7 +25,7 @@
def check_user():
"""Check that the effective user id is 0 (root).
"""
-@@ -102,7 +86,6 @@
+@@ -92,7 +76,6 @@ def start_blktapctrl():
def main():
try:
@@ -32,24 +33,25 @@
check_user()
except CheckError:
sys.exit(1)
-diff -ru xen-3.0.4-testing.orig/tools/python/xen/xend/XendDomain.py xen-3.0.4-testing/tools/python/xen/xend/XendDomain.py
---- xen-3.0.4-testing.orig/tools/python/xen/xend/XendDomain.py 2006-12-18 14:57:04.000000000 -0700
-+++ xen-3.0.4-testing/tools/python/xen/xend/XendDomain.py 2007-03-01 18:06:31.000000000 -0700
-@@ -780,6 +780,8 @@
+Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomain.py
+===================================================================
+--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomain.py
++++ xen-3.0.5-testing/tools/python/xen/xend/XendDomain.py
+@@ -825,6 +825,8 @@ class XendDomain:
if dominfo.getDomid() == DOM0_ID:
raise XendError("Cannot save privileged domain %s" % domname)
+ if dominfo._readVm('image/ostype') == "hvm":
+ raise XendError("Cannot save fully virtualized domains")
- if dominfo.state != DOM_STATE_RUNNING:
- raise XendError("Cannot suspend domain that is not running.")
-@@ -1158,6 +1160,8 @@
+ if dominfo._stateGet() != DOM_STATE_RUNNING:
+ raise VMBadState("Domain is not running",
+@@ -1243,6 +1245,8 @@ class XendDomain:
if dominfo.getDomid() == DOM0_ID:
raise XendError("Cannot save privileged domain %i" % domid)
+ if dominfo._readVm('image/ostype') == "hvm":
+ raise XendError("Cannot save fully virtualized domains")
- fd = os.open(dst, os.O_WRONLY | os.O_CREAT | os.O_TRUNC)
- try:
+ oflags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC
+ if hasattr(os, "O_LARGEFILE"):
++++++ xen-network-bridge.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-3.0.4-testing/tools/examples/network-bridge
+Index: xen-unstable/tools/examples/network-bridge
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/network-bridge
-+++ xen-3.0.4-testing/tools/examples/network-bridge
+--- xen-unstable.orig/tools/examples/network-bridge
++++ xen-unstable/tools/examples/network-bridge
@@ -69,23 +69,6 @@ pdev="p${netdev}"
vdev="veth${vifnum}"
vif0="vif0.${vifnum}"
@@ -26,7 +26,7 @@
# Usage: transfer_addrs src dst
# Copy all IP addresses (including aliases) from device $src to device $dst.
transfer_addrs () {
-@@ -204,14 +187,10 @@ using loopback.nloopbacks=<N> on the dom
+@@ -203,14 +186,10 @@ using netloop.nloopbacks=<N> on the doma
if link_exists "$vdev"; then
mac=`ip link show ${netdev} | grep 'link\/ether' | sed -e 's/.*ether \(..:..:..:..:..:..\).*/\1/'`
@@ -44,7 +44,7 @@
ip link set ${netdev} name ${pdev}
ip link set ${vdev} name ${netdev}
-@@ -222,7 +201,8 @@ using loopback.nloopbacks=<N> on the dom
+@@ -221,7 +200,8 @@ using netloop.nloopbacks=<N> on the doma
ip link set ${bridge} up
add_to_bridge ${bridge} ${vif0}
add_to_bridge2 ${bridge} ${pdev}
@@ -52,9 +52,9 @@
+ ip link set ${netdev} up
+ ifup ${hwddev}
else
- # old style without ${vdev}
- transfer_addrs ${netdev} ${bridge}
-@@ -246,9 +226,7 @@ op_stop () {
+ ip link set ${bridge} arp on
+ ip link set ${bridge} multicast on
+@@ -249,9 +229,7 @@ op_stop () {
ip link set dev ${vif0} down
mac=`ip link show ${netdev} | grep 'link\/ether' | sed -e 's/.*ether \(..:..:..:..:..:..\).*/\1/'`
transfer_addrs ${netdev} ${pdev}
@@ -65,7 +65,7 @@
ip link set ${netdev} down arp off
ip link set ${netdev} addr fe:ff:ff:ff:ff:ff
ip link set ${pdev} down
-@@ -261,7 +239,7 @@ op_stop () {
+@@ -264,7 +242,7 @@ op_stop () {
ip link set ${netdev} name ${vdev}
ip link set ${pdev} name ${netdev}
@@ -74,10 +74,10 @@
else
transfer_routes ${bridge} ${netdev}
ip link set ${bridge} down
-Index: xen-3.0.4-testing/tools/examples/xen-network-common.sh
+Index: xen-unstable/tools/examples/xen-network-common.sh
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xen-network-common.sh
-+++ xen-3.0.4-testing/tools/examples/xen-network-common.sh
+--- xen-unstable.orig/tools/examples/xen-network-common.sh
++++ xen-unstable/tools/examples/xen-network-common.sh
@@ -16,57 +16,33 @@
#
++++++ xen-no-dummy-nfs-ip.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:46.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:46.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-3.0.4-testing/tools/python/xen/xm/create.py
+Index: xen-unstable/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
-@@ -868,9 +868,8 @@ def preprocess_access_control(vals):
+--- xen-unstable.orig/tools/python/xen/xm/create.py
++++ xen-unstable/tools/python/xen/xm/create.py
+@@ -884,9 +884,8 @@ def preprocess_access_control(vals):
def preprocess_ip(vals):
if vals.ip or vals.dhcp != 'off':
++++++ xen-paths.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:47.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-unstable.orig/tools/python/xen/xm/create.py
+++ xen-unstable/tools/python/xen/xm/create.py
-@@ -64,7 +64,7 @@ gopts.opt('quiet', short='q',
+@@ -67,7 +67,7 @@ gopts.opt('quiet', short='q',
use="Quiet.")
gopts.opt('path', val='PATH',
++++++ xen-rpmoptflags.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:47.000000000 +0200
@@ -3,7 +3,7 @@
--- xen-unstable.orig/tools/blktap/drivers/Makefile
+++ xen-unstable/tools/blktap/drivers/Makefile
@@ -8,7 +8,6 @@ QCOW_UTIL = img2qcow qcow2raw qcow-cr
- INST_DIR = /usr/sbin
+ INST_DIR = /usr/sbin
LIBAIO_DIR = ../../libaio/src
-CFLAGS += -Werror
@@ -27,7 +27,7 @@
===================================================================
--- xen-unstable.orig/Config.mk
+++ xen-unstable/Config.mk
-@@ -13,7 +13,7 @@ CONFIG_$(XEN_OS) := y
+@@ -18,7 +18,7 @@ SHELL ?= /bin/sh
# Tools to run on system hosting the build
HOSTCC = gcc
++++++ xen-tightvnc-args.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:47.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-3.0.4-testing/tools/python/xen/xm/create.py
+Index: xen-unstable/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
-@@ -962,8 +962,7 @@ def spawn_vnc(display):
+--- xen-unstable.orig/tools/python/xen/xm/create.py
++++ xen-unstable/tools/python/xen/xm/create.py
+@@ -978,8 +978,7 @@ def spawn_vnc(display):
returns the port that the vncviewer is listening on and sets the global
vncpid. On failure, returns 0. Note that vncviewer is daemonized.
"""
++++++ xen-vm-install.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:47.000000000 +0200
@@ -5,7 +5,7 @@
@@ -25,6 +25,7 @@ SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
# These don't cross-compile
ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
- SUBDIRS-y += python
+ SUBDIRS-$(PYTHON_TOOLS) += python
+SUBDIRS-y += xen-vm-install
endif
++++++ xen-vm-install.tar.bz2 ++++++
++++ 46491 lines of diff (skipped)
++++++ xen-warnings.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:48.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:48.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-unstable.orig/xen/tools/symbols.c
+++ xen-unstable/xen/tools/symbols.c
-@@ -120,7 +120,8 @@ read_symbol(FILE *in, struct sym_entry *
+@@ -80,7 +80,8 @@ static int read_symbol(FILE *in, struct
if (rc != 3) {
if (rc != EOF) {
/* skip line */
@@ -49,3 +49,15 @@
break;
}
+Index: xen-unstable/tools/ioemu/hw/usb-hid.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-xmexample.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:48.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:48.000000000 +0200
@@ -1,9 +1,9 @@
Change various example paths in the config files to match SUSE.
-Index: xen-3.0.4-testing/tools/examples/xmexample1
+Index: xen-unstable/tools/examples/xmexample1
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xmexample1
-+++ xen-3.0.4-testing/tools/examples/xmexample1
+--- xen-unstable.orig/tools/examples/xmexample1
++++ xen-unstable/tools/examples/xmexample1
@@ -7,11 +7,13 @@
#============================================================================
@@ -23,7 +23,7 @@
# The domain build function. Default is 'linux'.
#builder='linux'
-@@ -96,7 +98,7 @@ disk = [ 'phy:hda1,hda1,w' ]
+@@ -130,7 +132,7 @@ disk = [ 'phy:hda1,hda1,w' ]
#hostname= "vm%d" % vmid
# Set root device.
@@ -32,7 +32,7 @@
# Root device for nfs.
#root = "/dev/nfs"
-@@ -105,8 +107,8 @@ root = "/dev/hda1 ro"
+@@ -139,8 +141,8 @@ root = "/dev/hda1 ro"
# Root directory on the nfs server.
#nfs_root = '/full/path/to/root/directory'
@@ -43,10 +43,10 @@
#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits. There are three 'reasons'
-Index: xen-3.0.4-testing/tools/examples/xmexample2
+Index: xen-unstable/tools/examples/xmexample2
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xmexample2
-+++ xen-3.0.4-testing/tools/examples/xmexample2
+--- xen-unstable.orig/tools/examples/xmexample2
++++ xen-unstable/tools/examples/xmexample2
@@ -35,11 +35,13 @@ xm_vars.var('vmid',
xm_vars.check()
@@ -66,7 +66,7 @@
# The domain build function. Default is 'linux'.
#builder='linux'
-@@ -132,7 +134,7 @@ disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
+@@ -166,7 +168,7 @@ disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
#hostname= "vm%d" % vmid
# Set root device.
@@ -75,7 +75,7 @@
# Root device for nfs.
#root = "/dev/nfs"
-@@ -141,8 +143,8 @@ root = "/dev/sda1 ro"
+@@ -175,8 +177,8 @@ root = "/dev/sda1 ro"
# Root directory on the nfs server.
#nfs_root = '/full/path/to/root/directory'
@@ -86,10 +86,10 @@
#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits. There are three 'reasons'
-Index: xen-3.0.4-testing/tools/examples/xmexample3
+Index: xen-unstable/tools/examples/xmexample3
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xmexample3
-+++ xen-3.0.4-testing/tools/examples/xmexample3
+--- xen-unstable.orig/tools/examples/xmexample3
++++ xen-unstable/tools/examples/xmexample3
@@ -35,11 +35,13 @@ xm_vars.var('vmid',
xm_vars.check()
@@ -109,10 +109,10 @@
# The domain build function. Default is 'linux'.
#builder='linux'
-Index: xen-3.0.4-testing/tools/examples/xmexample.hvm
+Index: xen-unstable/tools/examples/xmexample.hvm
===================================================================
---- xen-3.0.4-testing.orig/tools/examples/xmexample.hvm
-+++ xen-3.0.4-testing/tools/examples/xmexample.hvm
+--- xen-unstable.orig/tools/examples/xmexample.hvm
++++ xen-unstable/tools/examples/xmexample.hvm
@@ -71,7 +71,7 @@ vif = [ 'type=ioemu, bridge=xenbr0' ]
# and MODE is r for read-only, w for read-write.
@@ -122,10 +122,10 @@
#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits. There are three 'reasons'
-Index: xen-3.0.4-testing/docs/man/xmdomain.cfg.pod.5
+Index: xen-unstable/docs/man/xmdomain.cfg.pod.5
===================================================================
---- xen-3.0.4-testing.orig/docs/man/xmdomain.cfg.pod.5
-+++ xen-3.0.4-testing/docs/man/xmdomain.cfg.pod.5
+--- xen-unstable.orig/docs/man/xmdomain.cfg.pod.5
++++ xen-unstable/docs/man/xmdomain.cfg.pod.5
@@ -38,13 +38,13 @@ file.
The kernel image for the domain. The format of the parameter is the
@@ -142,7 +142,7 @@
many Linux distros you will not need a ramdisk if using the default
xen kernel.
-@@ -258,14 +258,14 @@ configured. They should not be consider
+@@ -307,14 +307,14 @@ configured. They should not be consider
=item I<A Loopback File as Root>
@@ -161,10 +161,10 @@
at hda1, which is the root filesystem.
=item I<NFS Root>
-Index: xen-3.0.4-testing/docs/man/xm.pod.1
+Index: xen-unstable/docs/man/xm.pod.1
===================================================================
---- xen-3.0.4-testing.orig/docs/man/xm.pod.1
-+++ xen-3.0.4-testing/docs/man/xm.pod.1
+--- xen-unstable.orig/docs/man/xm.pod.1
++++ xen-unstable/docs/man/xm.pod.1
@@ -102,8 +102,8 @@ soon as it is run.
=item I<without config file>
++++++ xen-xmexample-nbd.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:48.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:48.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-unstable.orig/tools/examples/Makefile
+++ xen-unstable/tools/examples/Makefile
-@@ -12,7 +12,7 @@ XEN_CONFIGS = xend-config.sxp
+@@ -15,7 +15,7 @@ XEN_CONFIGS += xm-config-xenapi.xml
XEN_CONFIGS += xmexample1
XEN_CONFIGS += xmexample2
XEN_CONFIGS += xmexample.hvm
++++++ xen-xm-top-needs-root.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:48.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:48.000000000 +0200
@@ -1,11 +1,11 @@
From: Charles Coffing
Upstream: no
-Index: xen-3.0.4-testing/tools/python/xen/xm/main.py
+Index: xen-3.0.5-testing/tools/python/xen/xm/main.py
===================================================================
---- xen-3.0.4-testing.orig/tools/python/xen/xm/main.py
-+++ xen-3.0.4-testing/tools/python/xen/xm/main.py
-@@ -1312,6 +1312,10 @@ def xm_sysrq(args):
+--- xen-3.0.5-testing.orig/tools/python/xen/xm/main.py
++++ xen-3.0.5-testing/tools/python/xen/xm/main.py
+@@ -1749,6 +1749,10 @@ def xm_debug_keys(args):
def xm_top(args):
arg_check(args, "top", 0)
++++++ xmclone.sh ++++++
--- arch/i386/xen/xmclone.sh 2007-01-13 01:06:09.000000000 +0100
+++ /mounts/work_src_done/STABLE/xen/xmclone.sh 2007-04-17 16:43:16.000000000 +0200
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
################################################################################
# xmclone by Bob Brandt #
# based on XenClone by Glen Davis #
@@ -8,9 +8,9 @@
################################################################################
# Defaults #
# #
-VERSION=0.3
+VERSION=0.3.1
XEN_CONFIGS=/etc/xen/vm/
-XEN_BASE=/xen/
+XEN_BASE=/var/lib/xen/images/
SOURCE=
DESTINATION=
DUPLICATE=0
@@ -70,17 +70,7 @@
# Find/Replace text within a file #
replace()
{
- SearchText=$1
- ReplaceText=$2
- File=$3
- if sed "s/$SearchText/$ReplaceText/g" "$File" > "$File.temporary" && sleep 1
- then
- if mv -f "$File.temporary" "$File" && sleep 1
- then
- return 0
- fi
- fi
- return 1
+ sed -i -e "s/$1/$2/g" "$3"
}
################################################################################
@@ -90,7 +80,7 @@
# #
if [ `id -u` -ne 0 ]; then
echo -e "You must be root to run this script!\n"
- exit 1
+ exit 1
fi
################################################################################
@@ -101,11 +91,11 @@
# Must look for double -- arguments before getopts
if [ "$1" = "--version" ]; then
version
- exit 0;
+ exit 0
fi
if [ "$1" = "--help" ]; then
usage
- exit 0;
+ exit 0
fi
while getopts ":hvc:b:dn:i:m:" opt; do
case $opt in
@@ -157,7 +147,7 @@
if [ "$XEN_BASE" != "" ]; then
XEN_BASE="${XEN_BASE%/}/"
fi
-# Verify the validity of each agrument ask the user if there is a problem
+# Verify the validity of each argument ask the user if there is a problem
while [ ! -d "$XEN_CONFIGS" ]; do
echo -e "\nThe $XEN_CONFIGS directory does not exist. Please enter a valid directory."
read -p "XEN Configuration Directory? " XEN_CONFIGS
@@ -304,7 +294,7 @@
fi
fi
- while [ "$MAC" != "" ] && [ "${MAC/[0123456789abcdefABCDEF][0123456789abcdefABCDEF]:[0123456789abcdefABCDEF][0123456789abcdefABCDEF]:[0123456789abcdefABCDEF][0123456789abcdefABCDEF]:[0123456789abcdefABCDEF][0123456789abcdefABCDEF]:[0123456789abcdefABCDEF][0123456789abcdefABCDEF]:[0123456789abcdefABCDEF][0123456789abcdefABCDEF]/ok}" != "ok" ]; do
+ while [ "$MAC" != "" ] && [ "${MAC/[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]:[[:xdigit:]][[:xdigit:]]/ok}" != "ok" ]; do
echo -e "\nThe MAC Address you specified is invalid. If you wish, enter a new one now."
read -p "New MAC Address? (format 01:23:45:67:89:AB) " MAC
if [ "$MAC" == "" ]; then
@@ -322,8 +312,8 @@
################################################################################
# Make sure that the source VM is not running #
# #
-xmid=`xm list | grep $SOURCE | cut -c34-36`
-if [ "$xmid" != "" ]; then
+xmid=`xm domid "$SOURCE" 2>/dev/null`
+if [ $? -eq 0 ] && [ -n "$xmid" ] && [ -z "${xmid//[[:digit:]]/}" ] ; then
echo -e "domU $SOURCE is currently running on Xen, please shutdown before cloning."
echo -e "The command \"xm shutdown $xmid -w\" will shutdown the domU"
exit 1
@@ -349,7 +339,7 @@
# Edit newly copied configuration file #
# #
echo -e "Editing config file ($DESTCONFIG), correcting the new domU Name."
-if ! replace $SOURCE $DESTINATION $DESTCONFIG
+if ! replace "$SOURCE" "$DESTINATION" "$DESTCONFIG"
then
echo -e "Unable to change the domU name in $DESTCONFIG from $SOURCE to $DESTINATION"
exit 1
@@ -366,7 +356,7 @@
# remove the mac= from the beginning
oldMAC=${oldMAC#mac=*}
- if ! replace $oldMAC $MAC $DESTCONFIG
+ if ! replace "$oldMAC" "$MAC" "$DESTCONFIG"
then
echo -e "Unable to change the MAC address in $DESTCONFIG from ($oldMAC) to ($MAC)"
exit 1
@@ -388,7 +378,7 @@
fi
echo -e "Copying complete image. (This may take a few minutes!)"
-if ! cp -fv --sparse=never $SOURCEXEN* $DESTXEN
+if ! cp -fv $SOURCEXEN* $DESTXEN
then
echo -e "Unable to copy the images from $SOURCEXEN to $DESTXEN"
exit 1
@@ -536,7 +526,7 @@
oldHOSTNAME=`cat "$tmpdir/etc/HOSTNAME" | cut -f1 -d\.`
sleep 1
- if ! replace $oldHOSTNAME $HOSTNAME HOSTNAME
+ if ! replace "$oldHOSTNAME" "$HOSTNAME" "HOSTNAME"
then
echo -e "Unable to change the HOSTNAME from $oldHOSTNAME to $HOSTNAME"
exit 1
++++++ xm-test-cleanup.diff ++++++
--- /var/tmp/diff_new_pack.d14772/_old 2007-04-26 01:50:48.000000000 +0200
+++ /var/tmp/diff_new_pack.d14772/_new 2007-04-26 01:50:48.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-3.0.4-testing/tools/xm-test/tests/save/01_save_basic_pos.py
+Index: xen-unstable/tools/xm-test/tests/save/01_save_basic_pos.py
===================================================================
---- xen-3.0.4-testing.orig/tools/xm-test/tests/save/01_save_basic_pos.py
-+++ xen-3.0.4-testing/tools/xm-test/tests/save/01_save_basic_pos.py
+--- xen-unstable.orig/tools/xm-test/tests/save/01_save_basic_pos.py
++++ xen-unstable/tools/xm-test/tests/save/01_save_basic_pos.py
@@ -35,3 +35,9 @@ if s != 0:
# Make sure it's gone
if isDomainRunning(domain.getName()):
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org