diff --git a/15693-32on64-gnttab-err.patch b/15693-32on64-gnttab-err.patch new file mode 100644 index 0000000..f21d509 --- /dev/null +++ b/15693-32on64-gnttab-err.patch @@ -0,0 +1,31 @@ +# HG changeset 15693 patch +# User Ian Campbell +# Date 1186402784 -3600 +# Node ID c229802cedbb3f43276a2ba03dfed7ef4e81ba81 +# Parent b82e6818fb31c6373ccd3e840ef2f9719d5f21a3 +[32on64] Copy the right grant table status code back to the guest. + +Signed-off-by: Ian Campbell + +Index: 2007-05-14/xen/common/compat/grant_table.c +=================================================================== +--- 2007-05-14.orig/xen/common/compat/grant_table.c 2007-05-03 09:45:09.000000000 +0200 ++++ 2007-05-14/xen/common/compat/grant_table.c 2007-08-09 10:01:54.000000000 +0200 +@@ -153,7 +153,7 @@ int compat_grant_table_op(unsigned int c + while ( n-- ) + { + guest_handle_add_offset(xfer, -1); +- if ( __copy_field_to_guest(xfer, nat.xfer, status) ) ++ if ( __copy_field_to_guest(xfer, nat.xfer + n, status) ) + rc = -EFAULT; + } + } +@@ -191,7 +191,7 @@ int compat_grant_table_op(unsigned int c + while ( n-- ) + { + guest_handle_add_offset(copy, -1); +- if ( __copy_field_to_guest(copy, nat.copy, status) ) ++ if ( __copy_field_to_guest(copy, nat.copy + n, status) ) + rc = -EFAULT; + } + } diff --git a/xen-bonding.diff b/bridge-bonding.diff similarity index 72% rename from xen-bonding.diff rename to bridge-bonding.diff index dbd52ea..ca7c59d 100644 --- a/xen-bonding.diff +++ b/bridge-bonding.diff @@ -1,8 +1,8 @@ -Index: xen-unstable/tools/examples/network-bridge +Index: xen-3.1-testing/tools/examples/network-bridge =================================================================== ---- xen-unstable.orig/tools/examples/network-bridge -+++ xen-unstable/tools/examples/network-bridge -@@ -143,6 +143,21 @@ antispoofing () { +--- xen-3.1-testing.orig/tools/examples/network-bridge ++++ xen-3.1-testing/tools/examples/network-bridge +@@ -160,6 +160,21 @@ antispoofing () { iptables -A FORWARD -m physdev --physdev-in ${vif0} -j ACCEPT } @@ -24,24 +24,23 @@ Index: xen-unstable/tools/examples/network-bridge # Usage: show_status dev bridge # Print ifconfig and routes. show_status () { -@@ -184,10 +199,11 @@ using netloop.nloopbacks= on the doma +@@ -201,9 +216,10 @@ using netloop.nloopbacks= on the doma create_bridge ${bridge} - if link_exists "$vdev"; then -+ preiftransfer -+ . /etc/sysconfig/network/ifcfg-${hwddev} ++ preiftransfer ${netdev} ++ . /etc/sysconfig/network/ifcfg-${netdev} + if [ ! "$BONDING_MASTER" = yes ] && link_exists "$vdev"; then mac=`ip link show ${netdev} | grep 'link\/ether' | sed -e 's/.*ether \(..:..:..:..:..:..\).*/\1/'` - ifup ${netdev} # To ensure there is an IP to transfer -- preiftransfer +- preiftransfer ${netdev} transfer_addrs ${netdev} ${vdev} - ifdown ${netdev} - ip link set ${netdev} name ${pdev} -@@ -202,6 +218,13 @@ using netloop.nloopbacks= on the doma + if ! ifdown ${netdev}; then + # If ifdown fails, remember the IP details. +@@ -222,6 +238,13 @@ using netloop.nloopbacks= on the doma + add_to_bridge ${bridge} ${vif0} add_to_bridge2 ${bridge} ${pdev} - ip link set ${netdev} up - ifup ${hwddev} + do_ifup ${netdev} + elif [ "$BONDING_MASTER" = yes ]; then + ip link set ${bridge} arp on + add_to_bridge ${bridge} ${vif0} @@ -52,9 +51,9 @@ Index: xen-unstable/tools/examples/network-bridge else ip link set ${bridge} arp on ip link set ${bridge} multicast on -@@ -244,6 +267,10 @@ op_stop () { +@@ -266,6 +289,10 @@ op_stop () { ip link set ${pdev} name ${netdev} - ifup ${netdev} + do_ifup ${netdev} else + if [ ${netdev} = ${bridge} ]; then + find_bridged_netdev ${bridge} diff --git a/bridge-hostonly.diff b/bridge-hostonly.diff index b6650eb..353a364 100644 --- a/bridge-hostonly.diff +++ b/bridge-hostonly.diff @@ -22,11 +22,11 @@ Signed-off-by: Gerd Hoffmann tools/examples/network-bridge | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) -Index: xen-unstable/tools/examples/network-bridge +Index: xen-3.1-testing/tools/examples/network-bridge =================================================================== ---- xen-unstable.orig/tools/examples/network-bridge -+++ xen-unstable/tools/examples/network-bridge -@@ -277,6 +277,31 @@ op_stop () { +--- xen-3.1-testing.orig/tools/examples/network-bridge ++++ xen-3.1-testing/tools/examples/network-bridge +@@ -299,6 +299,31 @@ op_stop () { brctl delbr ${bridge} } @@ -58,7 +58,7 @@ Index: xen-unstable/tools/examples/network-bridge # adds $dev to $bridge but waits for $dev to be in running state first add_to_bridge2() { local bridge=$1 -@@ -301,11 +326,19 @@ add_to_bridge2() { +@@ -323,11 +348,19 @@ add_to_bridge2() { case "$command" in start) diff --git a/bridge-suse.diff b/bridge-suse.diff new file mode 100644 index 0000000..6a47408 --- /dev/null +++ b/bridge-suse.diff @@ -0,0 +1,71 @@ +Index: xen-3.1-testing/tools/examples/xen-network-common.sh +=================================================================== +--- xen-3.1-testing.orig/tools/examples/xen-network-common.sh ++++ xen-3.1-testing/tools/examples/xen-network-common.sh +@@ -16,53 +16,21 @@ + # + + +-# On SuSE it is necessary to run a command before transfering addresses and +-# routes from the physical interface to the virtual. This command creates a +-# variable $HWD_CONFIG_0 that specifies the appropriate configuration for +-# ifup. +- +-# Gentoo doesn't have ifup/ifdown, so we define appropriate alternatives. +- +-# Other platforms just use ifup / ifdown directly. ++preiftransfer() ++{ ++ # Ensure the interface has an IP to transfer ++ /sbin/ifrenew $1 -o rc || true ++} + +-## +-# preiftransfer +-# +-# @param $1 The current name for the physical device, which is also the name +-# that the virtual device will take once the physical device has +-# been renamed. +- +-if [ -e /etc/SuSE-release ] +-then +- preiftransfer() +- { +- eval `/sbin/getcfg -d /etc/sysconfig/network/ -f ifcfg- -- $1` +- } +- ifup() +- { +- /sbin/ifup ${HWD_CONFIG_0} $1 +- } +-elif ! which ifup >/dev/null 2>/dev/null +-then +- preiftransfer() +- { +- true +- } +- ifup() +- { +- false +- } +- ifdown() +- { +- false +- } +-else +- preiftransfer() +- { +- true +- } +-fi ++ifup() ++{ ++ /sbin/ifup $1 -o rc || true ++} + ++ifdown() ++{ ++ /sbin/ifdown $1 -o rc ++} + + first_file() + { diff --git a/bridge-vlan.diff b/bridge-vlan.diff new file mode 100644 index 0000000..3fbfd21 --- /dev/null +++ b/bridge-vlan.diff @@ -0,0 +1,63 @@ +Index: xen-3.1-testing/tools/examples/network-bridge +=================================================================== +--- xen-3.1-testing.orig/tools/examples/network-bridge ++++ xen-3.1-testing/tools/examples/network-bridge +@@ -160,6 +160,24 @@ antispoofing () { + iptables -A FORWARD -m physdev --physdev-in ${vif0} -j ACCEPT + } + ++find_active_vlans() { ++ local netdev=$1 ++ local vlan ++ local vlans ++ vlans="" ++ for vifcfg in /etc/sysconfig/network/ifcfg-vlan* ; do ++ vlan=${vifcfg/*\/ifcfg-} ++ if [ "$vlan" = "vlan*" ]; then ++ continue ++ fi ++ . $vifcfg ++ if [ "$ETHERDEVICE" = "$netdev" ] && link_exists "$vlan" ; then ++ vlans="$vlans $vlan" ++ fi ++ done ++ echo "$vlans" ++} ++ + # Find the netdev that is associated with the bridge by matching MAC addresses. + find_bridged_netdev () { + local bridge=$1 +@@ -221,6 +239,8 @@ using netloop.nloopbacks= on the doma + if [ ! "$BONDING_MASTER" = yes ] && link_exists "$vdev"; then + mac=`ip link show ${netdev} | grep 'link\/ether' | sed -e 's/.*ether \(..:..:..:..:..:..\).*/\1/'` + transfer_addrs ${netdev} ${vdev} ++ vlans=$(find_active_vlans "${netdev}") ++ for vlan in $vlans ; do ifdown $vlan ; done + if ! ifdown ${netdev}; then + # If ifdown fails, remember the IP details. + get_ip_info ${netdev} +@@ -238,6 +258,7 @@ using netloop.nloopbacks= on the doma + add_to_bridge ${bridge} ${vif0} + add_to_bridge2 ${bridge} ${pdev} + do_ifup ${netdev} ++ for vlan in $vlans ; do ifup $vlan ; done + elif [ "$BONDING_MASTER" = yes ]; then + ip link set ${bridge} arp on + add_to_bridge ${bridge} ${vif0} +@@ -272,6 +293,8 @@ 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} ++ vlans=$(find_active_vlans "${netdev}") ++ for vlan in $vlans ; do ifdown $vlan ; done + if ! ifdown ${netdev}; then + get_ip_info ${netdev} + fi +@@ -288,6 +311,7 @@ op_stop () { + ip link set ${netdev} name ${vdev} + ip link set ${pdev} name ${netdev} + do_ifup ${netdev} ++ for vlan in $vlans ; do ifup $vlan ; done + else + if [ ${netdev} = ${bridge} ]; then + find_bridged_netdev ${bridge} diff --git a/hvm-efer.patch b/hvm-efer.patch index d0b5a57..18081c8 100644 --- a/hvm-efer.patch +++ b/hvm-efer.patch @@ -1,6 +1,6 @@ Index: 2007-05-14/xen/arch/x86/domain.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/domain.c 2007-07-02 11:19:12.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/domain.c 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/arch/x86/domain.c 2007-07-02 11:19:31.000000000 +0200 @@ -47,6 +47,7 @@ #endif @@ -41,7 +41,7 @@ Index: 2007-05-14/xen/arch/x86/domain.c Index: 2007-05-14/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/hvm/svm/svm.c 2007-05-14 13:47:25.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/hvm/svm/svm.c 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/arch/x86/hvm/svm/svm.c 2007-05-14 14:28:19.000000000 +0200 @@ -96,11 +96,8 @@ static inline void svm_inject_exception( @@ -126,7 +126,7 @@ Index: 2007-05-14/xen/arch/x86/hvm/svm/svm.c Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmcs.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmcs.c 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmcs.c 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/arch/x86/hvm/vmx/vmcs.c 2007-05-14 14:28:19.000000000 +0200 @@ -285,11 +285,6 @@ static void construct_vmcs(struct vcpu * @@ -142,8 +142,8 @@ Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmcs.c __vmwrite(VM_EXIT_CONTROLS, vmx_vmexit_control); Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-05-14 13:47:25.000000000 +0200 -+++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-05-14 14:28:19.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:57:17.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:58:47.000000000 +0200 @@ -89,7 +89,7 @@ static DEFINE_PER_CPU(struct vmx_msr_sta static u32 msr_index[VMX_MSR_COUNT] = { @@ -227,7 +227,7 @@ Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c wrmsrl(msr_index[i], host_msr_state->msrs[i]); clear_bit(i, &host_msr_state->flags); } -+ if ( !(read_efer() & EFER_NX) ) ++ if ( cpu_has_nx && !(read_efer() & EFER_NX) ) + write_efer(read_efer() | EFER_NX); } @@ -274,7 +274,7 @@ Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c + +static void vmx_restore_host_msrs(void) +{ -+ if ( !(read_efer() & EFER_NX) ) ++ if ( cpu_has_nx && !(read_efer() & EFER_NX) ) + write_efer(read_efer() | EFER_NX); +} + @@ -482,7 +482,7 @@ Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c __vmwrite(VM_ENTRY_CONTROLS, vm_entry_value); Index: 2007-05-14/xen/arch/x86/mm/shadow/multi.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/mm/shadow/multi.c 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/mm/shadow/multi.c 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/arch/x86/mm/shadow/multi.c 2007-05-14 14:28:19.000000000 +0200 @@ -181,11 +181,11 @@ guest_supports_superpages(struct vcpu *v static inline int @@ -502,7 +502,7 @@ Index: 2007-05-14/xen/arch/x86/mm/shadow/multi.c Index: 2007-05-14/xen/include/asm-x86/cpufeature.h =================================================================== ---- 2007-05-14.orig/xen/include/asm-x86/cpufeature.h 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/include/asm-x86/cpufeature.h 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/include/asm-x86/cpufeature.h 2007-05-14 14:28:19.000000000 +0200 @@ -114,6 +114,7 @@ #define cpu_has_xmm2 boot_cpu_has(X86_FEATURE_XMM2) @@ -522,7 +522,7 @@ Index: 2007-05-14/xen/include/asm-x86/cpufeature.h #define cpu_has_k6_mtrr 0 Index: 2007-05-14/xen/include/asm-x86/hvm/hvm.h =================================================================== ---- 2007-05-14.orig/xen/include/asm-x86/hvm/hvm.h 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/include/asm-x86/hvm/hvm.h 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/include/asm-x86/hvm/hvm.h 2007-05-14 14:28:19.000000000 +0200 @@ -93,14 +93,17 @@ struct hvm_function_table { * 1) determine whether paging is enabled, @@ -561,7 +561,7 @@ Index: 2007-05-14/xen/include/asm-x86/hvm/hvm.h return hvm_funcs.guest_x86_mode(v); Index: 2007-05-14/xen/include/asm-x86/hvm/svm/svm.h =================================================================== ---- 2007-05-14.orig/xen/include/asm-x86/hvm/svm/svm.h 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/include/asm-x86/hvm/svm/svm.h 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/include/asm-x86/hvm/svm/svm.h 2007-05-14 14:28:19.000000000 +0200 @@ -62,6 +62,11 @@ static inline int svm_pae_enabled(struct return svm_paging_enabled(v) && (guest_cr4 & X86_CR4_PAE); @@ -577,7 +577,7 @@ Index: 2007-05-14/xen/include/asm-x86/hvm/svm/svm.h return v->arch.hvm_svm.cpu_shadow_cr0 & X86_CR0_PG; Index: 2007-05-14/xen/include/asm-x86/hvm/vmx/vmcs.h =================================================================== ---- 2007-05-14.orig/xen/include/asm-x86/hvm/vmx/vmcs.h 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/include/asm-x86/hvm/vmx/vmcs.h 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/include/asm-x86/hvm/vmx/vmcs.h 2007-05-14 14:28:19.000000000 +0200 @@ -39,7 +39,6 @@ enum { VMX_INDEX_MSR_STAR, @@ -609,7 +609,7 @@ Index: 2007-05-14/xen/include/asm-x86/hvm/vmx/vmcs.h Index: 2007-05-14/xen/include/asm-x86/hvm/vmx/vmx.h =================================================================== ---- 2007-05-14.orig/xen/include/asm-x86/hvm/vmx/vmx.h 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/include/asm-x86/hvm/vmx/vmx.h 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/include/asm-x86/hvm/vmx/vmx.h 2007-05-14 14:28:19.000000000 +0200 @@ -261,14 +261,12 @@ static inline int vmx_paging_enabled(str @@ -630,7 +630,7 @@ Index: 2007-05-14/xen/include/asm-x86/hvm/vmx/vmx.h static inline int vmx_pgbit_test(struct vcpu *v) Index: 2007-05-14/xen/include/asm-x86/msr.h =================================================================== ---- 2007-05-14.orig/xen/include/asm-x86/msr.h 2007-07-02 10:37:53.000000000 +0200 +--- 2007-05-14.orig/xen/include/asm-x86/msr.h 2007-08-09 09:57:17.000000000 +0200 +++ 2007-05-14/xen/include/asm-x86/msr.h 2007-05-14 14:28:19.000000000 +0200 @@ -3,6 +3,9 @@ diff --git a/init.xend b/init.xend index 467c9cc..7e4a10c 100644 --- a/init.xend +++ b/init.xend @@ -7,10 +7,10 @@ # ### BEGIN INIT INFO # Provides: xend -# Required-Start: $syslog -# Should-Start: $time $network $remote_fs -# Required-Stop: $syslog -# Should-Stop: $time $network $remote_fs +# Required-Start: $syslog $remote_fs +# Should-Start: iscsi $time +# Required-Stop: $syslog $remote_fs +# Should-Stop: iscsi $time # Default-Start: 3 5 # Default-Stop: 0 1 2 4 6 # Short-Description: Starts and stops the Xen management daemon diff --git a/init.xendomains b/init.xendomains index 625b018..259dbff 100644 --- a/init.xendomains +++ b/init.xendomains @@ -8,9 +8,9 @@ ### BEGIN INIT INFO # Provides: xendomains # Required-Start: $syslog $remote_fs xend -# Should-Start: +# Should-Start: iscsi # Required-Stop: $syslog $remote_fs xend -# Should-Stop: +# Should-Stop: iscsi # Default-Start: 3 5 # Default-Stop: 0 1 2 4 6 # Short-Description: Starts and stops Xen VMs diff --git a/network-multinet b/network-multinet index 6792b62..4077f64 100644 --- a/network-multinet +++ b/network-multinet @@ -108,7 +108,7 @@ # Depends on: /etc/xen/scripts/xen-network-common.sh # /etc/xen/scripts/network-bridge # -# Config file: /etc/sysconfig/xendconfig +# Config file: /etc/sysconfig/xend # # Usage: network-multi_net (start|stop|restart|status) # @@ -145,7 +145,7 @@ # Source the configuration File -. /etc/sysconfig/xendconfig +. /etc/sysconfig/xend SCRIPT_PATH="/etc/xen/scripts" NETWORK_SAVE_PATH="/var/lib/xend/network_save" diff --git a/pv-driver-build.patch b/pv-driver-build.patch index ed0491b..5ed3c2f 100644 --- a/pv-driver-build.patch +++ b/pv-driver-build.patch @@ -1,7 +1,7 @@ -Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/mkbuildtree +Index: xen-3.1-testing/unmodified_drivers/linux-2.6/mkbuildtree =================================================================== ---- xen-3.0.5-testing.orig/unmodified_drivers/linux-2.6/mkbuildtree -+++ xen-3.0.5-testing/unmodified_drivers/linux-2.6/mkbuildtree +--- xen-3.1-testing.orig/unmodified_drivers/linux-2.6/mkbuildtree ++++ xen-3.1-testing/unmodified_drivers/linux-2.6/mkbuildtree @@ -11,7 +11,12 @@ fi C=$PWD @@ -16,10 +16,10 @@ Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/mkbuildtree for d in $(find ${XL}/drivers/xen/ -maxdepth 1 -type d | sed -e 1d); do if ! echo $d | egrep -q back; then -Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h +Index: xen-3.1-testing/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h =================================================================== ---- xen-3.0.5-testing.orig/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h -+++ xen-3.0.5-testing/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h +--- xen-3.1-testing.orig/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h ++++ xen-3.1-testing/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h @@ -107,4 +107,12 @@ extern char *kasprintf(gfp_t gfp, const #define __supported_pte_mask ((maddr_t)0) #endif @@ -33,10 +33,10 @@ Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/compat-include/xen/platfor +#define __supported_pte_mask ((maddr_t)0) + #endif -Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c +Index: xen-3.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c =================================================================== ---- xen-3.0.5-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c -+++ xen-3.0.5-testing/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c +--- xen-3.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c ++++ xen-3.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-compat.c @@ -119,7 +119,9 @@ void *kzalloc(size_t size, int flags) EXPORT_SYMBOL(kzalloc); #endif @@ -48,3 +48,13 @@ Index: xen-3.0.5-testing/unmodified_drivers/linux-2.6/platform-pci/platform-comp /* Simplified asprintf. */ char *kasprintf(gfp_t gfp, const char *fmt, ...) { +Index: xen-3.1-testing/unmodified_drivers/linux-2.6/overrides.mk +=================================================================== +--- xen-3.1-testing.orig/unmodified_drivers/linux-2.6/overrides.mk ++++ xen-3.1-testing/unmodified_drivers/linux-2.6/overrides.mk +@@ -11,4 +11,4 @@ ifeq ($(ARCH),ia64) + EXTRA_CFLAGS += -DCONFIG_VMX_GUEST + endif + +-EXTRA_CFLAGS += -include $(srctree)/include/linux/autoconf.h ++#EXTRA_CFLAGS += -include $(srctree)/include/linux/autoconf.h diff --git a/vmx-check-descr.patch b/vmx-check-descr.patch index 8fd79a5..8da5745 100644 --- a/vmx-check-descr.patch +++ b/vmx-check-descr.patch @@ -1,7 +1,7 @@ Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-07-02 12:03:02.000000000 +0200 -+++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-07-02 12:03:13.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:59:50.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 10:00:00.000000000 +0200 @@ -1521,15 +1521,15 @@ static int vmx_check_descriptor(int long limit_field = GUEST_FS_LIMIT; break; diff --git a/vmx-no-cstar.patch b/vmx-no-cstar.patch index b973f46..faccbe8 100644 --- a/vmx-no-cstar.patch +++ b/vmx-no-cstar.patch @@ -1,7 +1,7 @@ Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c =================================================================== ---- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-05-14 14:28:19.000000000 +0200 -+++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-05-14 14:33:24.000000000 +0200 +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:58:47.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:59:06.000000000 +0200 @@ -88,8 +88,7 @@ static DEFINE_PER_CPU(struct vmx_msr_sta static u32 msr_index[VMX_MSR_COUNT] = diff --git a/x86-emul-rf.patch b/x86-emul-rf.patch index dd1843f..c89b95f 100644 --- a/x86-emul-rf.patch +++ b/x86-emul-rf.patch @@ -1,7 +1,7 @@ -Index: xen-3.1-testing/xen/arch/x86/hvm/io.c +Index: 2007-05-14/xen/arch/x86/hvm/io.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/io.c -+++ xen-3.1-testing/xen/arch/x86/hvm/io.c +--- 2007-05-14.orig/xen/arch/x86/hvm/io.c 2007-08-09 09:57:10.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/io.c 2007-05-22 13:27:31.000000000 +0200 @@ -858,6 +858,7 @@ void hvm_io_assist(void) } @@ -10,10 +10,10 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/io.c hvm_load_cpu_guest_regs(v, regs); memcpy(guest_cpu_user_regs(), regs, HVM_CONTEXT_STACK_BYTES); -Index: xen-3.1-testing/xen/arch/x86/hvm/platform.c +Index: 2007-05-14/xen/arch/x86/hvm/platform.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/platform.c -+++ xen-3.1-testing/xen/arch/x86/hvm/platform.c +--- 2007-05-14.orig/xen/arch/x86/hvm/platform.c 2007-08-09 09:57:10.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/platform.c 2007-05-22 13:13:10.000000000 +0200 @@ -1065,6 +1065,7 @@ void handle_mmio(unsigned long gpa) } @@ -38,10 +38,10 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/platform.c /* Must set CR2 at the failing address */ addr += size - rv; gdprintk(XENLOG_DEBUG, "Pagefault on non-io side of a " -Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c +Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c -+++ xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:59:39.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:59:50.000000000 +0200 @@ -1281,10 +1281,13 @@ static int __get_instruction_length(void static void inline __update_guest_eip(unsigned long inst_len) @@ -78,17 +78,17 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c c->cr0 = v->arch.hvm_vmx.cpu_shadow_cr0; c->cr3 = v->arch.hvm_vmx.cpu_cr3; @@ -2150,7 +2153,6 @@ static int vmx_set_cr0(unsigned long val - "Enabling CR0.PE at %%eip 0x%lx", eip); + "Enabling CR0.PE at %%eip 0x%lx\n", eip); if ( vmx_assist(v, VMX_ASSIST_RESTORE) ) { - eip = __vmread(GUEST_RIP); HVM_DBG_LOG(DBG_LEVEL_1, - "Restoring to %%eip 0x%lx", eip); + "Restoring to %%eip 0x%lx\n", eip); return 0; /* do not update eip! */ -Index: xen-3.1-testing/xen/arch/x86/traps.c +Index: 2007-05-14/xen/arch/x86/traps.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/traps.c -+++ xen-3.1-testing/xen/arch/x86/traps.c +--- 2007-05-14.orig/xen/arch/x86/traps.c 2007-05-15 15:52:58.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/traps.c 2007-05-22 13:05:28.000000000 +0200 @@ -608,6 +608,7 @@ static int emulate_forced_invalid_op(str regs->ecx = c; regs->edx = d; @@ -105,10 +105,10 @@ Index: xen-3.1-testing/xen/arch/x86/traps.c return EXCRET_fault_fixed; fail: -Index: xen-3.1-testing/xen/arch/x86/x86_emulate.c +Index: 2007-05-14/xen/arch/x86/x86_emulate.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/x86_emulate.c -+++ xen-3.1-testing/xen/arch/x86/x86_emulate.c +--- 2007-05-14.orig/xen/arch/x86/x86_emulate.c 2007-05-14 14:40:43.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/x86_emulate.c 2007-05-22 13:04:05.000000000 +0200 @@ -1631,6 +1631,7 @@ x86_emulate( } @@ -117,10 +117,10 @@ Index: xen-3.1-testing/xen/arch/x86/x86_emulate.c *ctxt->regs = _regs; done: -Index: xen-3.1-testing/xen/include/asm-x86/hvm/svm/emulate.h +Index: 2007-05-14/xen/include/asm-x86/hvm/svm/emulate.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/hvm/svm/emulate.h -+++ xen-3.1-testing/xen/include/asm-x86/hvm/svm/emulate.h +--- 2007-05-14.orig/xen/include/asm-x86/hvm/svm/emulate.h 2007-08-09 09:57:10.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/hvm/svm/emulate.h 2007-05-22 13:45:43.000000000 +0200 @@ -138,6 +138,7 @@ static void inline __update_guest_eip( { ASSERT(inst_len > 0); diff --git a/x86-machine-check.patch b/x86-machine-check.patch index 09dfc70..2fa2e24 100644 --- a/x86-machine-check.patch +++ b/x86-machine-check.patch @@ -1,7 +1,7 @@ -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/k7.c +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/k7.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/k7.c -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/k7.c +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/k7.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/k7.c 2007-05-15 15:56:00.000000000 +0200 @@ -16,7 +16,7 @@ #include "mce.h" @@ -11,10 +11,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/k7.c { int recover=1; u32 alow, ahigh, high, low; -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/mce.c +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/mce.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/mce.c -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/mce.c +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/mce.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/mce.c 2007-05-15 15:56:16.000000000 +0200 @@ -18,13 +18,13 @@ int mce_disabled = 0; int nr_mce_banks; @@ -31,10 +31,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/mce.c /* This has to be run for each processor */ void mcheck_init(struct cpuinfo_x86 *c) -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/mce.h +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/mce.h =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/mce.h -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/mce.h +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/mce.h 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/mce.h 2007-05-15 17:34:43.000000000 +0200 @@ -1,4 +1,5 @@ #include +#include @@ -51,10 +51,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/mce.h extern int mce_disabled __initdata; extern int nr_mce_banks; -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/p4.c +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/p4.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/p4.c -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/p4.c +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/p4.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/p4.c 2007-05-15 15:56:31.000000000 +0200 @@ -158,7 +158,7 @@ done: return mce_num_extended_msrs; } @@ -64,10 +64,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/p4.c { int recover=1; u32 alow, ahigh, high, low; -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/p5.c +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/p5.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/p5.c -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/p5.c +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/p5.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/p5.c 2007-05-15 15:56:39.000000000 +0200 @@ -15,7 +15,7 @@ #include "mce.h" @@ -77,10 +77,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/p5.c { u32 loaddr, hi, lotype; rdmsr(MSR_IA32_P5_MC_ADDR, loaddr, hi); -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/p6.c +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/p6.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/p6.c -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/p6.c +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/p6.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/p6.c 2007-05-15 15:56:43.000000000 +0200 @@ -15,7 +15,7 @@ #include "mce.h" @@ -90,10 +90,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/p6.c { int recover=1; u32 alow, ahigh, high, low; -Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/winchip.c +Index: 2007-05-14/xen/arch/x86/cpu/mcheck/winchip.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/cpu/mcheck/winchip.c -+++ xen-3.1-testing/xen/arch/x86/cpu/mcheck/winchip.c +--- 2007-05-14.orig/xen/arch/x86/cpu/mcheck/winchip.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/cpu/mcheck/winchip.c 2007-05-15 15:56:48.000000000 +0200 @@ -16,7 +16,7 @@ #include "mce.h" @@ -103,10 +103,10 @@ Index: xen-3.1-testing/xen/arch/x86/cpu/mcheck/winchip.c { printk(KERN_EMERG "CPU0: Machine Check Exception.\n"); add_taint(TAINT_MACHINE_CHECK); -Index: xen-3.1-testing/xen/arch/x86/hvm/svm/svm.c +Index: 2007-05-14/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-3.1-testing/xen/arch/x86/hvm/svm/svm.c +--- 2007-05-14.orig/xen/arch/x86/hvm/svm/svm.c 2007-05-14 14:33:08.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/svm/svm.c 2007-07-02 11:59:10.000000000 +0200 @@ -407,7 +407,7 @@ int svm_vmcb_restore(struct vcpu *v, str } @@ -185,10 +185,10 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/svm/svm.c case VMEXIT_VINTR: vmcb->vintr.fields.irq = 0; vmcb->general1_intercepts &= ~GENERAL1_INTERCEPT_VINTR; -Index: xen-3.1-testing/xen/arch/x86/hvm/svm/vmcb.c +Index: 2007-05-14/xen/arch/x86/hvm/svm/vmcb.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/svm/vmcb.c -+++ xen-3.1-testing/xen/arch/x86/hvm/svm/vmcb.c +--- 2007-05-14.orig/xen/arch/x86/hvm/svm/vmcb.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/svm/vmcb.c 2007-05-15 17:28:40.000000000 +0200 @@ -225,7 +225,7 @@ static int construct_vmcb(struct vcpu *v /* Guest CR4. */ arch_svm->cpu_shadow_cr4 = @@ -214,10 +214,10 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/svm/vmcb.c } return 0; -Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmcs.c +Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmcs.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c -+++ xen-3.1-testing/xen/arch/x86/hvm/vmx/vmcs.c +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmcs.c 2007-05-14 14:28:19.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/vmx/vmcs.c 2007-05-15 17:28:58.000000000 +0200 @@ -400,7 +400,7 @@ static void construct_vmcs(struct vcpu * __vmwrite(VMCS_LINK_POINTER_HIGH, ~0UL); #endif @@ -227,10 +227,10 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmcs.c /* Guest CR0. */ cr0 = read_cr0(); -Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c +Index: 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c -+++ xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c +--- 2007-05-14.orig/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:59:06.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/hvm/vmx/vmx.c 2007-08-09 09:59:39.000000000 +0200 @@ -600,7 +600,7 @@ int vmx_vmcs_restore(struct vcpu *v, str } #endif @@ -274,7 +274,7 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c v->arch.hvm_vmx.cpu_shadow_cr4 = value; __vmwrite(CR4_READ_SHADOW, v->arch.hvm_vmx.cpu_shadow_cr4); -@@ -2623,7 +2632,8 @@ static void vmx_reflect_exception(struct +@@ -2624,7 +2633,8 @@ static void vmx_reflect_exception(struct } } @@ -284,7 +284,7 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c { unsigned int failed_vmentry_reason = (uint16_t)exit_reason; unsigned long exit_qualification; -@@ -2640,6 +2650,9 @@ static void vmx_failed_vmentry(unsigned +@@ -2641,6 +2651,9 @@ static void vmx_failed_vmentry(unsigned break; case EXIT_REASON_MACHINE_CHECK: printk("caused by machine check.\n"); @@ -294,7 +294,7 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c break; default: printk("reason not known yet!"); -@@ -2665,11 +2678,12 @@ asmlinkage void vmx_vmexit_handler(struc +@@ -2666,11 +2679,12 @@ asmlinkage void vmx_vmexit_handler(struc perfc_incra(vmexits, exit_reason); @@ -311,7 +311,7 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c switch ( exit_reason ) { -@@ -2689,6 +2703,9 @@ asmlinkage void vmx_vmexit_handler(struc +@@ -2690,6 +2704,9 @@ asmlinkage void vmx_vmexit_handler(struc perfc_incra(cause_vector, vector); @@ -321,7 +321,7 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c switch ( vector ) { case TRAP_debug: -@@ -2726,6 +2743,11 @@ asmlinkage void vmx_vmexit_handler(struc +@@ -2727,6 +2744,11 @@ asmlinkage void vmx_vmexit_handler(struc else vmx_reflect_exception(v); break; @@ -333,10 +333,10 @@ Index: xen-3.1-testing/xen/arch/x86/hvm/vmx/vmx.c default: goto exit_and_crash; } -Index: xen-3.1-testing/xen/arch/x86/traps.c +Index: 2007-05-14/xen/arch/x86/traps.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/traps.c -+++ xen-3.1-testing/xen/arch/x86/traps.c +--- 2007-05-14.orig/xen/arch/x86/traps.c 2007-05-14 14:40:35.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/traps.c 2007-05-15 15:52:58.000000000 +0200 @@ -707,12 +707,6 @@ asmlinkage int do_int3(struct cpu_user_r return do_guest_trap(TRAP_int3, regs, 0); } @@ -350,10 +350,10 @@ Index: xen-3.1-testing/xen/arch/x86/traps.c void propagate_page_fault(unsigned long addr, u16 error_code) { struct trap_info *ti; -Index: xen-3.1-testing/xen/arch/x86/x86_32/entry.S +Index: 2007-05-14/xen/arch/x86/x86_32/entry.S =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/x86_32/entry.S -+++ xen-3.1-testing/xen/arch/x86/x86_32/entry.S +--- 2007-05-14.orig/xen/arch/x86/x86_32/entry.S 2007-04-27 09:57:47.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/x86_32/entry.S 2007-05-21 12:45:09.000000000 +0200 @@ -77,14 +77,29 @@ restore_all_guest: ASSERT_INTERRUPTS_DISABLED @@ -588,10 +588,10 @@ Index: xen-3.1-testing/xen/arch/x86/x86_32/entry.S .long do_simd_coprocessor_error ENTRY(hypercall_table) -Index: xen-3.1-testing/xen/arch/x86/x86_32/traps.c +Index: 2007-05-14/xen/arch/x86/x86_32/traps.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/x86_32/traps.c -+++ xen-3.1-testing/xen/arch/x86/x86_32/traps.c +--- 2007-05-14.orig/xen/arch/x86/x86_32/traps.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/x86_32/traps.c 2007-05-21 09:00:10.000000000 +0200 @@ -235,15 +235,6 @@ unsigned long do_iret(void) return 0; } @@ -617,10 +617,10 @@ Index: xen-3.1-testing/xen/arch/x86/x86_32/traps.c /* * Make a separate task for double faults. This will get us debug output if * we blow the kernel stack. -Index: xen-3.1-testing/xen/arch/x86/x86_64/entry.S +Index: 2007-05-14/xen/arch/x86/x86_64/entry.S =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/x86_64/entry.S -+++ xen-3.1-testing/xen/arch/x86/x86_64/entry.S +--- 2007-05-14.orig/xen/arch/x86/x86_64/entry.S 2007-07-02 11:57:21.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/x86_64/entry.S 2007-07-02 11:58:14.000000000 +0200 @@ -518,11 +518,6 @@ ENTRY(page_fault) movl $TRAP_page_fault,4(%rsp) jmp handle_exception @@ -666,10 +666,10 @@ Index: xen-3.1-testing/xen/arch/x86/x86_64/entry.S .quad do_simd_coprocessor_error ENTRY(hypercall_table) -Index: xen-3.1-testing/xen/arch/x86/x86_64/traps.c +Index: 2007-05-14/xen/arch/x86/x86_64/traps.c =================================================================== ---- xen-3.1-testing.orig/xen/arch/x86/x86_64/traps.c -+++ xen-3.1-testing/xen/arch/x86/x86_64/traps.c +--- 2007-05-14.orig/xen/arch/x86/x86_64/traps.c 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/arch/x86/x86_64/traps.c 2007-05-15 15:46:51.000000000 +0200 @@ -260,6 +260,7 @@ void __init percpu_traps_init(void) set_intr_gate(TRAP_double_fault, &double_fault); idt_table[TRAP_double_fault].a |= 1UL << 32; /* IST1 */ @@ -690,10 +690,10 @@ Index: xen-3.1-testing/xen/arch/x86/x86_64/traps.c init_tss[cpu].ist[0] = (unsigned long)&stack[2048]; /* NMI handler has its own per-CPU 1kB stack. */ -Index: xen-3.1-testing/xen/include/asm-x86/hvm/hvm.h +Index: 2007-05-14/xen/include/asm-x86/hvm/hvm.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/hvm/hvm.h -+++ xen-3.1-testing/xen/include/asm-x86/hvm/hvm.h +--- 2007-05-14.orig/xen/include/asm-x86/hvm/hvm.h 2007-05-14 14:28:19.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/hvm/hvm.h 2007-07-02 11:59:10.000000000 +0200 @@ -277,4 +277,18 @@ static inline int hvm_event_injection_fa return hvm_funcs.event_injection_faulted(v); } @@ -713,10 +713,10 @@ Index: xen-3.1-testing/xen/include/asm-x86/hvm/hvm.h +#define HVM_TRAP_MASK (1U << TRAP_machine_check) + #endif /* __ASM_X86_HVM_HVM_H__ */ -Index: xen-3.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h +Index: 2007-05-14/xen/include/asm-x86/hvm/svm/vmcb.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/hvm/svm/vmcb.h -+++ xen-3.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h +--- 2007-05-14.orig/xen/include/asm-x86/hvm/svm/vmcb.h 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/hvm/svm/vmcb.h 2007-05-15 17:07:57.000000000 +0200 @@ -465,14 +465,6 @@ void svm_destroy_vmcb(struct vcpu *v); void setup_vmcb_dump(void); @@ -732,10 +732,10 @@ Index: xen-3.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h #endif /* ASM_X86_HVM_SVM_VMCS_H__ */ /* -Index: xen-3.1-testing/xen/include/asm-x86/hvm/trace.h +Index: 2007-05-14/xen/include/asm-x86/hvm/trace.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/hvm/trace.h -+++ xen-3.1-testing/xen/include/asm-x86/hvm/trace.h +--- 2007-05-14.orig/xen/include/asm-x86/hvm/trace.h 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/hvm/trace.h 2007-05-15 17:30:42.000000000 +0200 @@ -21,6 +21,7 @@ #define DO_TRC_HVM_CPUID 1 #define DO_TRC_HVM_INTR 1 @@ -744,10 +744,10 @@ Index: xen-3.1-testing/xen/include/asm-x86/hvm/trace.h #define DO_TRC_HVM_SMI 1 #define DO_TRC_HVM_VMMCALL 1 #define DO_TRC_HVM_HLT 1 -Index: xen-3.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h +Index: 2007-05-14/xen/include/asm-x86/hvm/vmx/vmx.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h -+++ xen-3.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h +--- 2007-05-14.orig/xen/include/asm-x86/hvm/vmx/vmx.h 2007-05-14 14:28:19.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/hvm/vmx/vmx.h 2007-05-15 17:08:05.000000000 +0200 @@ -128,13 +128,6 @@ void set_guest_time(struct vcpu *v, u64 #define TYPE_MOV_FROM_DR (1 << 4) #define DEBUG_REG_ACCESS_REG 0xf00 /* 11:8, general purpose register */ @@ -762,10 +762,10 @@ Index: xen-3.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h #define VMCALL_OPCODE ".byte 0x0f,0x01,0xc1\n" #define VMCLEAR_OPCODE ".byte 0x66,0x0f,0xc7\n" /* reg/opcode: /6 */ #define VMLAUNCH_OPCODE ".byte 0x0f,0x01,0xc2\n" -Index: xen-3.1-testing/xen/include/asm-x86/processor.h +Index: 2007-05-14/xen/include/asm-x86/processor.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/processor.h -+++ xen-3.1-testing/xen/include/asm-x86/processor.h +--- 2007-05-14.orig/xen/include/asm-x86/processor.h 2007-05-15 10:24:15.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/processor.h 2007-07-02 11:59:10.000000000 +0200 @@ -104,7 +104,6 @@ #define TRAP_alignment_check 17 #define TRAP_machine_check 18 @@ -782,10 +782,10 @@ Index: xen-3.1-testing/xen/include/asm-x86/processor.h int cpuid_hypervisor_leaves( uint32_t idx, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx); -Index: xen-3.1-testing/xen/include/asm-x86/x86_32/asm_defns.h +Index: 2007-05-14/xen/include/asm-x86/x86_32/asm_defns.h =================================================================== ---- xen-3.1-testing.orig/xen/include/asm-x86/x86_32/asm_defns.h -+++ xen-3.1-testing/xen/include/asm-x86/x86_32/asm_defns.h +--- 2007-05-14.orig/xen/include/asm-x86/x86_32/asm_defns.h 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/include/asm-x86/x86_32/asm_defns.h 2007-05-21 12:44:12.000000000 +0200 @@ -22,7 +22,7 @@ #define ASSERT_INTERRUPTS_ENABLED ASSERT_INTERRUPT_STATUS(nz) #define ASSERT_INTERRUPTS_DISABLED ASSERT_INTERRUPT_STATUS(z) @@ -867,10 +867,10 @@ Index: xen-3.1-testing/xen/include/asm-x86/x86_32/asm_defns.h "pushl %eax\n\t" \ "call " STR(do_IRQ) "\n\t" \ "addl $4,%esp\n\t" \ -Index: xen-3.1-testing/xen/include/public/trace.h +Index: 2007-05-14/xen/include/public/trace.h =================================================================== ---- xen-3.1-testing.orig/xen/include/public/trace.h -+++ xen-3.1-testing/xen/include/public/trace.h +--- 2007-05-14.orig/xen/include/public/trace.h 2007-08-09 09:57:12.000000000 +0200 ++++ 2007-05-14/xen/include/public/trace.h 2007-05-15 17:55:19.000000000 +0200 @@ -88,6 +88,7 @@ #define TRC_HVM_VMMCALL (TRC_HVM_HANDLER + 0x12) #define TRC_HVM_HLT (TRC_HVM_HANDLER + 0x13) diff --git a/xen-network-bridge.diff b/xen-network-bridge.diff deleted file mode 100644 index f1b8f53..0000000 --- a/xen-network-bridge.diff +++ /dev/null @@ -1,168 +0,0 @@ -Index: xen-unstable/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}" - --get_ip_info() { -- addr_pfx=`ip addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet //' -e 's/ .*//'` -- gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'` --} -- --do_ifup() { -- if ! ifup $1 ; then -- if [ ${addr_pfx} ] ; then -- # use the info from get_ip_info() -- ip addr flush $1 -- ip addr add ${addr_pfx} dev $1 -- ip link set dev $1 up -- [ ${gateway} ] && ip route add default via ${gateway} -- fi -- fi --} -- - # Usage: transfer_addrs src dst - # Copy all IP addresses (including aliases) from device $src to device $dst. - transfer_addrs () { -@@ -203,14 +186,10 @@ using netloop.nloopbacks= on the doma - - if link_exists "$vdev"; then - mac=`ip link show ${netdev} | grep 'link\/ether' | sed -e 's/.*ether \(..:..:..:..:..:..\).*/\1/'` -- preiftransfer ${netdev} -+ ifup ${netdev} # To ensure there is an IP to transfer -+ preiftransfer - transfer_addrs ${netdev} ${vdev} -- if ! ifdown ${netdev}; then -- # If ifdown fails, remember the IP details. -- get_ip_info ${netdev} -- ip link set ${netdev} down -- ip addr flush ${netdev} -- fi -+ ifdown ${netdev} - ip link set ${netdev} name ${pdev} - ip link set ${vdev} name ${netdev} - -@@ -221,7 +200,8 @@ using netloop.nloopbacks= on the doma - ip link set ${bridge} up - add_to_bridge ${bridge} ${vif0} - add_to_bridge2 ${bridge} ${pdev} -- do_ifup ${netdev} -+ ip link set ${netdev} up -+ ifup ${hwddev} - else - 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} -- if ! ifdown ${netdev}; then -- get_ip_info ${netdev} -- fi -+ ifdown ${netdev} - ip link set ${netdev} down arp off - ip link set ${netdev} addr fe:ff:ff:ff:ff:ff - ip link set ${pdev} down -@@ -264,7 +242,7 @@ op_stop () { - - ip link set ${netdev} name ${vdev} - ip link set ${pdev} name ${netdev} -- do_ifup ${netdev} -+ ifup ${netdev} - else - transfer_routes ${bridge} ${netdev} - ip link set ${bridge} down -Index: xen-unstable/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 @@ - # - - --# On SuSE it is necessary to run a command before transfering addresses and --# routes from the physical interface to the virtual. This command creates a --# variable $HWD_CONFIG_0 that specifies the appropriate configuration for --# ifup. -+# Reads the global variable "netdev" (which is the kernel interface name, -+# e.g., "eth0") and sets the global variable "hwddev" (which is the persistent -+# interface name, e.g., "eth-id-00:e0:81:54:12:34"). - --# Gentoo doesn't have ifup/ifdown, so we define appropriate alternatives. -- --# Other platforms just use ifup / ifdown directly. -+preiftransfer() -+{ -+ local HWD_CONFIG_0 -+ eval `/sbin/getcfg -d /etc/sysconfig/network/ -f ifcfg- -- "$netdev" | grep HWD_CONFIG_0=` -+ if [ -n "$HWD_CONFIG_0" ]; then -+ hwddev="$HWD_CONFIG_0" -+ fi -+} - --## --# preiftransfer --# --# @param $1 The current name for the physical device, which is also the name --# that the virtual device will take once the physical device has --# been renamed. -- --if [ -e /etc/SuSE-release ] --then -- preiftransfer() -- { -- eval `/sbin/getcfg -d /etc/sysconfig/network/ -f ifcfg- -- $1` -- } -- ifup() -- { -- /sbin/ifup ${HWD_CONFIG_0} $1 -- } --elif ! which ifup >/dev/null 2>/dev/null --then -- preiftransfer() -- { -- true -- } -- ifup() -- { -- false -- } -- ifdown() -- { -- false -- } --else -- preiftransfer() -- { -- true -- } --fi -+ifup() -+{ -+ /sbin/ifup $1 -o rc || true -+} - -+ifdown() -+{ -+ /sbin/ifdown $1 -o rc -+} - - first_file() - { -- t="$1" -+ local t="$1" -+ local file - shift - for file in $@ - do -@@ -80,7 +56,7 @@ first_file() - - find_dhcpd_conf_file() - { -- first_file -f /etc/dhcp3/dhcpd.conf /etc/dhcpd.conf -+ first_file -f /etc/dhcp3/dhcpd.conf /etc/dhcpd.conf /etc/dhcpd.conf.pxe - } - - diff --git a/xen.changes b/xen.changes index 0b25d76..c59e95e 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Aug 9 10:29:08 MDT 2007 - ccoffing@novell.com + +- #298176: Do not enable NX if CPU/BIOS does not support it +- #289569: Modify network-bridge to handle vlan +- #297295: Fix bridge setup: stop using getcfg + ------------------------------------------------------------------- Tue Aug 7 08:47:11 CEST 2007 - olh@suse.de diff --git a/xen.spec b/xen.spec index 0c08163..17f3f47 100644 --- a/xen.spec +++ b/xen.spec @@ -18,7 +18,7 @@ Name: xen %if %sles_version %define with_kmp 1 %else -# openSUSE 10.3 kernel is not yet ready... +# Not yet ported to openSUSE 10.3 kernel %define with_kmp 0 %endif BuildRequires: LibVNCServer-devel SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel openssl openssl-devel python-devel transfig @@ -31,10 +31,10 @@ BuildRequires: te_ams te_latex tetex BuildRequires: glibc-32bit glibc-devel-32bit %endif %if %{?with_kmp}0 -BuildRequires: kernel-source kernel-syms xorg-x11 +BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11 %endif Version: 3.1.0_15042 -Release: 25 +Release: 28 License: GPL v2 or later Group: System/Kernel Autoreqprov: on @@ -86,6 +86,7 @@ Patch25: 15642_uuid_unique.patch Patch26: 15649_xenapi.patch Patch27: 15650_xenapi.patch Patch28: 15651_xenapi.patch +Patch29: 15693-32on64-gnttab-err.patch # Our patches Patch100: xen-config.diff Patch101: xend-config.diff @@ -97,13 +98,11 @@ Patch107: xen-paths.diff Patch108: xen-xmexample.diff Patch109: xen-xmexample-nbd.diff Patch111: xen-domUloader.diff -Patch113: xen-network-bridge.diff Patch114: xen-no-dummy-nfs-ip.diff Patch115: serial-split.patch Patch116: xen-xm-top-needs-root.diff Patch117: xen-tightvnc-args.diff Patch118: xen-max-free-mem.diff -Patch119: xen-bonding.diff Patch120: xen-ioapic-ack-default.diff Patch121: xen-lowmem-emergency-pool.diff Patch122: block-losetup-retry.diff @@ -113,7 +112,6 @@ Patch125: xen-hvm-netfront.diff Patch126: xen-hvm-default-pae.diff Patch127: xm-test-cleanup.diff Patch128: cross-build-fix.diff -Patch129: bridge-hostonly.diff Patch130: xen-generate-foreign-headers.diff Patch131: tools-xc_kexec.diff Patch132: tools-kboot.diff @@ -130,6 +128,10 @@ Patch143: vnc-i18n-keys.diff Patch144: rpmlint.diff Patch145: cdrom-removable.patch Patch146: xend_dev_destroy_cleanup.patch +Patch150: bridge-suse.diff +Patch151: bridge-bonding.diff +Patch152: bridge-hostonly.diff +Patch153: bridge-vlan.diff # Patches from Jan Patch180: inval-sh-ldt.patch Patch181: 32on64-cpuid.patch @@ -275,7 +277,7 @@ Authors: Summary: Xen Virtualization: Control tools for domain 0 Group: System/Kernel Requires: xen-libs >= 3.1.0_15000 -Requires: bridge-utils multipath-tools python python-xml pyxml +Requires: bridge-utils multipath-tools python python-curses python-xml pyxml AutoReqProv: on %description tools @@ -561,6 +563,7 @@ Authors: %patch26 -p1 %patch27 -p1 %patch28 -p1 +%patch29 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 @@ -571,13 +574,11 @@ Authors: %patch108 -p1 %patch109 -p1 %patch111 -p1 -%patch113 -p1 %patch114 -p1 %patch115 -p1 %patch116 -p1 %patch117 -p1 %patch118 -p1 -%patch119 -p1 %patch120 -p1 %patch121 -p1 %patch122 -p1 @@ -587,7 +588,6 @@ Authors: %patch126 -p1 %patch127 -p1 %patch128 -p1 -%patch129 -p1 %patch130 -p1 %patch131 -p1 %patch132 -p1 @@ -604,6 +604,10 @@ Authors: %patch144 -p1 %patch145 -p1 %patch146 -p1 +%patch150 -p1 +%patch151 -p1 +%patch152 -p1 +%patch153 -p1 %patch180 -p1 %patch181 -p1 %patch182 -p1 @@ -945,6 +949,10 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info /sbin/ldconfig %changelog +* Thu Aug 09 2007 - ccoffing@novell.com +- #298176: Do not enable NX if CPU/BIOS does not support it +- #289569: Modify network-bridge to handle vlan +- #297295: Fix bridge setup: stop using getcfg * Tue Aug 07 2007 - olh@suse.de - remove inclusion of linux/compiler.h and linux/string.h remove ExclusiveArch and fix prep section for quilt setup *.spec