This commit is contained in:
parent
1ae41ae3bd
commit
614a20ee4e
@ -53,7 +53,7 @@ Index: xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
|
||||
# Xen API console 'other_config' keys.
|
||||
XENAPI_CONSOLE_OTHER_CFG = ['vncunused', 'vncdisplay', 'vnclisten',
|
||||
@@ -1588,3 +1588,6 @@ class XendConfig(dict):
|
||||
@@ -1589,3 +1589,6 @@ class XendConfig(dict):
|
||||
def image_type(self):
|
||||
stored_type = self['platform'].get('image_type')
|
||||
return stored_type or (self.is_hvm() and 'hvm' or 'linux')
|
||||
@ -198,7 +198,7 @@ Index: xen-3.2.1-testing/xen/common/domain.c
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/common/domain.c
|
||||
+++ xen-3.2.1-testing/xen/common/domain.c
|
||||
@@ -235,7 +235,7 @@ struct domain *domain_create(
|
||||
@@ -231,7 +231,7 @@ struct domain *domain_create(
|
||||
init_status |= INIT_gnttab;
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@ Index: xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -1590,4 +1590,4 @@ class XendConfig(dict):
|
||||
@@ -1591,4 +1591,4 @@ class XendConfig(dict):
|
||||
return stored_type or (self.is_hvm() and 'hvm' or 'linux')
|
||||
|
||||
def is_hap(self):
|
||||
|
32
17210-xenapi-defaults.patch
Normal file
32
17210-xenapi-defaults.patch
Normal file
@ -0,0 +1,32 @@
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir.fraser@citrix.com>
|
||||
# Date 1205838353 0
|
||||
# Node ID 939ceafa5ef9244829b7347a0338002c7ae1a8a0
|
||||
# Parent 2ed94b9b10b3770d7bfd7346f532b70e70be35c1
|
||||
Initialization of new domU config options via XenAPI
|
||||
|
||||
Many of the new domU config options related to hvm guests (e.g. hpet,
|
||||
rtc_timeoffset, etc.) are not initialized with default values via
|
||||
XenAPI, which prevents starting an hvm domU created through XenAPI.
|
||||
This patch ensures the new options are set with appropriate default
|
||||
values in XendConfig platform sanity check.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
|
||||
|
||||
Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -403,6 +403,12 @@ class XendConfig(dict):
|
||||
self['platform']['device_model'] = xen.util.auxbin.pathTo("qemu-dm")
|
||||
|
||||
if self.is_hvm():
|
||||
+ if 'timer_mode' not in self['platform']:
|
||||
+ self['platform']['timer_mode'] = 0
|
||||
+ if 'rtc_timeoffset' not in self['platform']:
|
||||
+ self['platform']['rtc_timeoffset'] = 0
|
||||
+ if 'hpet' not in self['platform']:
|
||||
+ self['platform']['hpet'] = 0
|
||||
# Compatibility hack, can go away soon.
|
||||
if 'soundhw' not in self['platform'] and \
|
||||
self['platform'].get('enable_audio'):
|
31
17211-xenapi-defaults.patch
Normal file
31
17211-xenapi-defaults.patch
Normal file
@ -0,0 +1,31 @@
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir.fraser@citrix.com>
|
||||
# Date 1205838386 0
|
||||
# Node ID 06dbce4a60f973ccdb925a29a0b34b72774a5d0b
|
||||
# Parent 939ceafa5ef9244829b7347a0338002c7ae1a8a0
|
||||
Set device model when creating rfb console via XenAPI
|
||||
|
||||
When creating a rfb console via XenAPI the device model is not being
|
||||
set to qemu-dm, resulting in no pvfb since qemu-dm is not launched
|
||||
when domU is started. This patch sets device model when a rfb console
|
||||
is created via XenAPI.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
|
||||
|
||||
Index: xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -1272,6 +1272,12 @@ class XendConfig(dict):
|
||||
target['devices'][dev_uuid] = ('vfb', dev_info)
|
||||
target['console_refs'].append(dev_uuid)
|
||||
|
||||
+ # if console is rfb, set device_model ensuring qemu
|
||||
+ # is invoked for pvfb services
|
||||
+ if 'device_model' not in target['platform']:
|
||||
+ target['platform']['device_model'] = \
|
||||
+ xen.util.auxbin.pathTo("qemu-dm")
|
||||
+
|
||||
# Finally, if we are a pvfb, we need to make a vkbd
|
||||
# as well that is not really exposed to Xen API
|
||||
vkbd_uuid = uuid.createString()
|
@ -1,11 +1,31 @@
|
||||
Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
# HG changeset patch
|
||||
# User Keir Fraser <keir.fraser@citrix.com>
|
||||
# Date 1205838420 0
|
||||
# Node ID c949248d590a59ee558780b636fe753434b5c933
|
||||
# Parent 06dbce4a60f973ccdb925a29a0b34b72774a5d0b
|
||||
Convert XenAPI platform values to appropriate types.
|
||||
|
||||
XenAPI defines the platform attribute of a VM as a string-string map
|
||||
but in various code paths in xend the platform entries are expected to be
|
||||
another type, e.g. int. This patch defines the types of each platform
|
||||
entry and converts the entry values to appropriate type when new domU
|
||||
configuration is created via XenAPI.
|
||||
|
||||
Alternatively the values could be casted to appropriate type when used
|
||||
but seems prudent to do the conversion when domU configuration is
|
||||
created.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
|
||||
|
||||
Index: xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -124,13 +124,41 @@ XENAPI_CFG_TO_LEGACY_CFG = {
|
||||
--- xen-3.2.1-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -123,14 +123,43 @@ XENAPI_CFG_TO_LEGACY_CFG = {
|
||||
|
||||
LEGACY_CFG_TO_XENAPI_CFG = reverse_dict(XENAPI_CFG_TO_LEGACY_CFG)
|
||||
|
||||
# Platform configuration keys.
|
||||
-# Platform configuration keys.
|
||||
-XENAPI_PLATFORM_CFG = [ 'acpi', 'apic', 'boot', 'device_model', 'display',
|
||||
- 'fda', 'fdb', 'keymap', 'isa', 'localtime', 'monitor',
|
||||
- 'nographic', 'pae', 'rtc_timeoffset', 'serial', 'sdl',
|
||||
@ -13,11 +33,13 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
- 'vncconsole', 'vncdisplay', 'vnclisten', 'timer_mode',
|
||||
- 'vncpasswd', 'vncunused', 'xauthority', 'pci', 'vhpt',
|
||||
- 'guest_os_type', 'hap']
|
||||
+# Platform configuration keys and their types.
|
||||
+XENAPI_PLATFORM_CFG_TYPES = {
|
||||
+ 'acpi': int,
|
||||
+ 'apic': int,
|
||||
+ 'boot': str,
|
||||
+ 'device_model': str,
|
||||
+ 'loader': str,
|
||||
+ 'display' : str,
|
||||
+ 'fda': str,
|
||||
+ 'fdb': str,
|
||||
@ -31,7 +53,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
+ 'serial': str,
|
||||
+ 'sdl': int,
|
||||
+ 'soundhw': str,
|
||||
+ 'stdvga': int,
|
||||
+ 'stdvga': int,
|
||||
+ 'usb': int,
|
||||
+ 'usbdevice': str,
|
||||
+ 'hpet': int,
|
||||
@ -51,28 +73,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
|
||||
# Xen API console 'other_config' keys.
|
||||
XENAPI_CONSOLE_OTHER_CFG = ['vncunused', 'vncdisplay', 'vnclisten',
|
||||
@@ -397,12 +425,19 @@ class XendConfig(dict):
|
||||
def _platform_sanity_check(self):
|
||||
if 'keymap' not in self['platform'] and XendOptions.instance().get_keymap():
|
||||
self['platform']['keymap'] = XendOptions.instance().get_keymap()
|
||||
-
|
||||
+
|
||||
+ # XenAPI defines
|
||||
if self.is_hvm() or self.has_rfb():
|
||||
if 'device_model' not in self['platform']:
|
||||
self['platform']['device_model'] = xen.util.auxbin.pathTo("qemu-dm")
|
||||
|
||||
if self.is_hvm():
|
||||
+ if 'timer_mode' not in self['platform']:
|
||||
+ self['platform']['timer_mode'] = 0
|
||||
+ if 'rtc_timeoffset' not in self['platform']:
|
||||
+ self['platform']['rtc_timeoffset'] = 0
|
||||
+ if 'hpet' not in self['platform']:
|
||||
+ self['platform']['hpet'] = 0
|
||||
# Compatibility hack, can go away soon.
|
||||
if 'soundhw' not in self['platform'] and \
|
||||
self['platform'].get('enable_audio'):
|
||||
@@ -523,7 +558,7 @@ class XendConfig(dict):
|
||||
@@ -529,7 +558,7 @@ class XendConfig(dict):
|
||||
cfg['platform']['localtime'] = localtime
|
||||
|
||||
# Compatibility hack -- can go soon.
|
||||
@ -81,7 +82,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
val = sxp.child_value(sxp_cfg, "platform_" + key, None)
|
||||
if val is not None:
|
||||
self['platform'][key] = val
|
||||
@@ -702,7 +737,7 @@ class XendConfig(dict):
|
||||
@@ -708,7 +737,7 @@ class XendConfig(dict):
|
||||
self.update_with_image_sxp(image_sxp)
|
||||
|
||||
# Convert Legacy HVM parameters to Xen API configuration
|
||||
@ -90,7 +91,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
if key in cfg:
|
||||
self['platform'][key] = cfg[key]
|
||||
|
||||
@@ -752,7 +787,7 @@ class XendConfig(dict):
|
||||
@@ -758,7 +787,7 @@ class XendConfig(dict):
|
||||
if image_type != 'hvm' and image_type != 'linux':
|
||||
self['platform']['image_type'] = image_type
|
||||
|
||||
@ -99,7 +100,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
val = sxp.child_value(image_sxp, key, None)
|
||||
if val is not None and val != '':
|
||||
self['platform'][key] = val
|
||||
@@ -836,6 +871,19 @@ class XendConfig(dict):
|
||||
@@ -842,6 +871,19 @@ class XendConfig(dict):
|
||||
self[key] = type_conv(val)
|
||||
else:
|
||||
self[key] = val
|
||||
@ -119,20 +120,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
|
||||
self['vcpus_params']['weight'] = \
|
||||
int(self['vcpus_params'].get('weight', 256))
|
||||
@@ -1265,6 +1313,12 @@ class XendConfig(dict):
|
||||
target['devices'][dev_uuid] = ('vfb', dev_info)
|
||||
target['console_refs'].append(dev_uuid)
|
||||
|
||||
+ # if console is rfb, set device_model ensuring qemu
|
||||
+ # is invoked for pvfb services
|
||||
+ if 'device_model' not in target['platform']:
|
||||
+ target['platform']['device_model'] = \
|
||||
+ xen.util.auxbin.pathTo("qemu-dm")
|
||||
+
|
||||
# Finally, if we are a pvfb, we need to make a vkbd
|
||||
# as well that is not really exposed to Xen API
|
||||
vkbd_uuid = uuid.createString()
|
||||
@@ -1508,7 +1562,7 @@ class XendConfig(dict):
|
||||
@@ -1521,7 +1563,7 @@ class XendConfig(dict):
|
||||
if self.has_key('PV_args') and self['PV_args']:
|
||||
image.append(['args', self['PV_args']])
|
||||
|
||||
@ -141,7 +129,7 @@ Index: xen-3.2-testing/tools/python/xen/xend/XendConfig.py
|
||||
if key in self['platform']:
|
||||
image.append([key, self['platform'][key]])
|
||||
|
||||
@@ -1544,7 +1598,7 @@ class XendConfig(dict):
|
||||
@@ -1557,7 +1599,7 @@ class XendConfig(dict):
|
||||
self['PV_ramdisk'] = sxp.child_value(image_sxp, 'ramdisk','')
|
||||
self['PV_args'] = kernel_args
|
||||
|
@ -10,7 +10,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/traps.c
|
||||
#include <asm/io.h>
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/desc.h>
|
||||
@@ -2828,7 +2829,7 @@ long unregister_guest_nmi_callback(void)
|
||||
@@ -2880,7 +2881,7 @@ long unregister_guest_nmi_callback(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -140,7 +140,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
#include <asm/types.h>
|
||||
#include <asm/domain.h>
|
||||
#include <asm/hvm/vmx/vmx.h>
|
||||
@@ -32,7 +33,6 @@ static int ept_next_level(struct domain
|
||||
@@ -53,7 +54,6 @@ static int ept_next_level(struct domain
|
||||
u32 index;
|
||||
|
||||
index = *gfn_remainder >> shift;
|
||||
@ -148,7 +148,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
|
||||
ept_entry = (*table) + index;
|
||||
|
||||
@@ -59,31 +59,52 @@ static int ept_next_level(struct domain
|
||||
@@ -80,31 +80,51 @@ static int ept_next_level(struct domain
|
||||
/* last step */
|
||||
ept_entry->r = ept_entry->w = ept_entry->x = 1;
|
||||
}
|
||||
@ -194,7 +194,6 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
+ if ( order != 0 )
|
||||
+ if ( (gfn & ((1UL << order) - 1)) )
|
||||
+ return 1;
|
||||
+
|
||||
+ for ( i = EPT_DEFAULT_GAW; i > walk_level; i-- )
|
||||
+ {
|
||||
+ ret = ept_next_level(d, 0, &table,
|
||||
@ -213,7 +212,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
ept_entry = table + index;
|
||||
|
||||
if ( mfn_valid(mfn_x(mfn)) )
|
||||
@@ -93,9 +114,20 @@ ept_set_entry(struct domain *d, unsigned
|
||||
@@ -114,9 +134,20 @@ ept_set_entry(struct domain *d, unsigned
|
||||
d->arch.p2m.max_mapped_pfn = gfn;
|
||||
|
||||
ept_entry->emt = EPT_DEFAULT_MT;
|
||||
@ -236,7 +235,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
ept_entry->rsvd = 0;
|
||||
ept_entry->avail2 = 0;
|
||||
/* last step */
|
||||
@@ -122,7 +154,7 @@ static mfn_t ept_get_entry(struct domain
|
||||
@@ -144,7 +175,7 @@ static mfn_t ept_get_entry(struct domain
|
||||
unsigned long gfn_remainder = gfn;
|
||||
ept_entry_t *ept_entry;
|
||||
u32 index;
|
||||
@ -245,7 +244,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
mfn_t mfn = _mfn(INVALID_MFN);
|
||||
|
||||
*t = p2m_mmio_dm;
|
||||
@@ -134,18 +166,29 @@ static mfn_t ept_get_entry(struct domain
|
||||
@@ -156,16 +187,30 @@ static mfn_t ept_get_entry(struct domain
|
||||
/* should check if gfn obeys GAW here */
|
||||
|
||||
for ( i = EPT_DEFAULT_GAW; i > 0; i-- )
|
||||
@ -262,26 +261,85 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
+ index = gfn_remainder >> ( i * EPT_TABLE_ORDER);
|
||||
ept_entry = table + index;
|
||||
|
||||
- if ( (ept_entry->epte & 0x7) == 0x7 )
|
||||
+ if ( ept_entry->avail1 != p2m_invalid )
|
||||
if ( ept_entry->avail1 != p2m_invalid )
|
||||
{
|
||||
- if ( ept_entry->avail1 != p2m_invalid )
|
||||
- {
|
||||
- *t = ept_entry->avail1;
|
||||
- mfn = _mfn(ept_entry->mfn);
|
||||
+ *t = ept_entry->avail1;
|
||||
+ mfn = _mfn(ept_entry->mfn);
|
||||
+ if ( i )
|
||||
+ {
|
||||
+ /* we may meet super pages, and to split into 4k pages
|
||||
+ * to emulate p2m table
|
||||
+ */
|
||||
+ unsigned long split_mfn =
|
||||
+ mfn_x(mfn) + (gfn_remainder & ( ((1 << (i*EPT_TABLE_ORDER)) - 1 )));
|
||||
+ mfn = _mfn(split_mfn);
|
||||
}
|
||||
*t = ept_entry->avail1;
|
||||
mfn = _mfn(ept_entry->mfn);
|
||||
+ if ( i )
|
||||
+ {
|
||||
+ /* we may meet super pages, and to split into 4k pages
|
||||
+ * to emulate p2m table
|
||||
+ */
|
||||
+ unsigned long split_mfn =
|
||||
+ mfn_x(mfn) + (gfn_remainder & ( ((1 << (i*EPT_TABLE_ORDER)) - 1 )));
|
||||
+ mfn = _mfn(split_mfn);
|
||||
+ }
|
||||
}
|
||||
|
||||
out:
|
||||
@@ -195,18 +240,24 @@ static void ept_change_entry_type_global
|
||||
l4e = map_domain_page(mfn_x(pagetable_get_mfn(d->arch.phys_table)));
|
||||
for (i4 = 0; i4 < EPT_PAGETABLE_ENTRIES; i4++ )
|
||||
{
|
||||
- if ( !(l4e+i4)->epte || (l4e+i4)->sp_avail)
|
||||
+ if ( !(l4e+i4)->epte )
|
||||
continue;
|
||||
+ if ( !(l4e+i4)->sp_avail )
|
||||
+ {
|
||||
l3e = map_domain_page((l4e+i4)->mfn);
|
||||
for ( i3 = 0; i3 < EPT_PAGETABLE_ENTRIES; i3++ )
|
||||
{
|
||||
- if ( !(l3e+i3)->epte || (l3e+i3)->sp_avail )
|
||||
+ if ( !(l3e+i3)->epte )
|
||||
continue;
|
||||
+ if ( !(l3e+i3)->sp_avail )
|
||||
+ {
|
||||
l2e = map_domain_page((l3e+i3)->mfn);
|
||||
for ( i2 = 0; i2 < EPT_PAGETABLE_ENTRIES; i2++ )
|
||||
{
|
||||
- if ( !(l2e+i2)->epte || (l2e+i2)->sp_avail )
|
||||
+ if ( !(l2e+i2)->epte )
|
||||
continue;
|
||||
+ if ( !(l2e+i2)->sp_avail )
|
||||
+ {
|
||||
l1e = map_domain_page((l2e+i2)->mfn);
|
||||
for ( i1 = 0; i1 < EPT_PAGETABLE_ENTRIES; i1++ )
|
||||
{
|
||||
@@ -218,10 +269,34 @@ static void ept_change_entry_type_global
|
||||
ept_p2m_type_to_flags(l1e+i1, nt);
|
||||
}
|
||||
unmap_domain_page(l1e);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if ( (l2e+i2)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l2e+i2)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l2e+i2, nt);
|
||||
+ }
|
||||
}
|
||||
unmap_domain_page(l2e);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if ( (l3e+i3)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l3e+i3)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l3e+i3, nt);
|
||||
+ }
|
||||
}
|
||||
unmap_domain_page(l3e);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if ( (l4e+i4)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l4e+i4)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l4e+i4, nt);
|
||||
+ }
|
||||
}
|
||||
unmap_domain_page(l4e);
|
||||
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/p2m.c
|
||||
@ -295,7 +353,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
{
|
||||
// XXX -- this might be able to be faster iff current->domain == d
|
||||
mfn_t table_mfn = pagetable_get_mfn(d->arch.phys_table);
|
||||
@@ -285,9 +285,9 @@ void p2m_init(struct domain *d)
|
||||
@@ -293,9 +293,9 @@ void p2m_change_entry_type_global(struct
|
||||
}
|
||||
|
||||
static inline
|
||||
@ -307,7 +365,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
}
|
||||
|
||||
// Allocate a new p2m table for a domain.
|
||||
@@ -349,7 +349,7 @@ int p2m_alloc_table(struct domain *d,
|
||||
@@ -357,7 +357,7 @@ int p2m_alloc_table(struct domain *d,
|
||||
P2M_PRINTK("populating p2m table\n");
|
||||
|
||||
/* Initialise physmap tables for slot zero. Other code assumes this. */
|
||||
@ -316,7 +374,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
goto error;
|
||||
|
||||
/* Copy all existing mappings from the page list and m2p */
|
||||
@@ -368,7 +368,7 @@ int p2m_alloc_table(struct domain *d,
|
||||
@@ -376,7 +376,7 @@ int p2m_alloc_table(struct domain *d,
|
||||
(gfn != 0x55555555L)
|
||||
#endif
|
||||
&& gfn != INVALID_M2P_ENTRY
|
||||
@ -325,7 +383,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -682,30 +682,31 @@ static void audit_p2m(struct domain *d)
|
||||
@@ -690,30 +690,31 @@ static void audit_p2m(struct domain *d)
|
||||
|
||||
|
||||
static void
|
||||
@ -362,7 +420,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
{
|
||||
unsigned long ogfn;
|
||||
p2m_type_t ot;
|
||||
@@ -756,13 +757,13 @@ guest_physmap_add_entry(struct domain *d
|
||||
@@ -764,13 +765,13 @@ guest_physmap_add_entry(struct domain *d
|
||||
P2M_DEBUG("old gfn=%#lx -> mfn %#lx\n",
|
||||
ogfn , mfn_x(omfn));
|
||||
if ( mfn_x(omfn) == mfn )
|
||||
@ -378,7 +436,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
rc = -EINVAL;
|
||||
set_gpfn_from_mfn(mfn, gfn);
|
||||
}
|
||||
@@ -770,7 +771,7 @@ guest_physmap_add_entry(struct domain *d
|
||||
@@ -778,7 +779,7 @@ guest_physmap_add_entry(struct domain *d
|
||||
{
|
||||
gdprintk(XENLOG_WARNING, "Adding bad mfn to p2m map (%#lx -> %#lx)\n",
|
||||
gfn, mfn);
|
||||
@ -387,7 +445,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
rc = -EINVAL;
|
||||
}
|
||||
|
||||
@@ -893,7 +894,7 @@ p2m_type_t p2m_change_type(struct domain
|
||||
@@ -898,7 +899,7 @@ p2m_type_t p2m_change_type(struct domain
|
||||
|
||||
mfn = gfn_to_mfn(d, gfn, &pt);
|
||||
if ( pt == ot )
|
||||
@ -396,7 +454,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
|
||||
p2m_unlock(d);
|
||||
|
||||
@@ -917,7 +918,7 @@ set_mmio_p2m_entry(struct domain *d, uns
|
||||
@@ -922,7 +923,7 @@ set_mmio_p2m_entry(struct domain *d, uns
|
||||
set_gpfn_from_mfn(mfn_x(omfn), INVALID_M2P_ENTRY);
|
||||
}
|
||||
|
||||
@ -405,7 +463,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
if ( 0 == rc )
|
||||
gdprintk(XENLOG_ERR,
|
||||
"set_mmio_p2m_entry: set_p2m_entry failed! mfn=%08lx\n",
|
||||
@@ -941,7 +942,7 @@ clear_mmio_p2m_entry(struct domain *d, u
|
||||
@@ -946,7 +947,7 @@ clear_mmio_p2m_entry(struct domain *d, u
|
||||
"clear_mmio_p2m_entry: gfn_to_mfn failed! gfn=%08lx\n", gfn);
|
||||
return 0;
|
||||
}
|
122
ept-livemgr-x86-miss.patch
Normal file
122
ept-livemgr-x86-miss.patch
Normal file
@ -0,0 +1,122 @@
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/p2m-ept.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
@@ -23,6 +23,27 @@
|
||||
#include <asm/types.h>
|
||||
#include <asm/domain.h>
|
||||
#include <asm/hvm/vmx/vmx.h>
|
||||
+#include <asm/hap.h>
|
||||
+
|
||||
+static void ept_p2m_type_to_flags(ept_entry_t *entry, p2m_type_t type)
|
||||
+{
|
||||
+ switch(type)
|
||||
+ {
|
||||
+ case p2m_invalid:
|
||||
+ case p2m_mmio_dm:
|
||||
+ default:
|
||||
+ return;
|
||||
+ case p2m_ram_rw:
|
||||
+ case p2m_mmio_direct:
|
||||
+ entry->r = entry->w = entry->x = 1;
|
||||
+ return;
|
||||
+ case p2m_ram_logdirty:
|
||||
+ case p2m_ram_ro:
|
||||
+ entry->r = entry->x = 1;
|
||||
+ entry->w = 0;
|
||||
+ return;
|
||||
+ }
|
||||
+}
|
||||
|
||||
static int ept_next_level(struct domain *d, bool_t read_only,
|
||||
ept_entry_t **table, unsigned long *gfn_remainder,
|
||||
@@ -100,6 +121,7 @@ ept_set_entry(struct domain *d, unsigned
|
||||
ept_entry->avail2 = 0;
|
||||
/* last step */
|
||||
ept_entry->r = ept_entry->w = ept_entry->x = 1;
|
||||
+ ept_p2m_type_to_flags(ept_entry, p2mt);
|
||||
}
|
||||
else
|
||||
ept_entry->epte = 0;
|
||||
@@ -140,13 +162,10 @@ static mfn_t ept_get_entry(struct domain
|
||||
index = gfn_remainder;
|
||||
ept_entry = table + index;
|
||||
|
||||
- if ( (ept_entry->epte & 0x7) == 0x7 )
|
||||
+ if ( ept_entry->avail1 != p2m_invalid )
|
||||
{
|
||||
- if ( ept_entry->avail1 != p2m_invalid )
|
||||
- {
|
||||
- *t = ept_entry->avail1;
|
||||
- mfn = _mfn(ept_entry->mfn);
|
||||
- }
|
||||
+ *t = ept_entry->avail1;
|
||||
+ mfn = _mfn(ept_entry->mfn);
|
||||
}
|
||||
|
||||
out:
|
||||
@@ -159,11 +178,64 @@ static mfn_t ept_get_entry_fast(unsigned
|
||||
return ept_get_entry(current->domain, gfn, t);
|
||||
}
|
||||
|
||||
+/* Walk the whole p2m table, changing any entries of the old type
|
||||
+ * to the new type. This is used in hardware-assisted paging to
|
||||
+ * quickly enable or diable log-dirty tracking */
|
||||
+
|
||||
+static void ept_change_entry_type_global(struct domain *d, p2m_type_t ot, p2m_type_t nt)
|
||||
+{
|
||||
+ if ( pagetable_get_pfn(d->arch.phys_table) == 0 )
|
||||
+ return;
|
||||
+
|
||||
+ if ( EPT_DEFAULT_GAW == 3 )
|
||||
+ {
|
||||
+ ept_entry_t *l4e, *l3e, *l2e, *l1e;
|
||||
+ int i4, i3, i2, i1;
|
||||
+
|
||||
+ l4e = map_domain_page(mfn_x(pagetable_get_mfn(d->arch.phys_table)));
|
||||
+ for (i4 = 0; i4 < EPT_PAGETABLE_ENTRIES; i4++ )
|
||||
+ {
|
||||
+ if ( !(l4e+i4)->epte || (l4e+i4)->sp_avail)
|
||||
+ continue;
|
||||
+ l3e = map_domain_page((l4e+i4)->mfn);
|
||||
+ for ( i3 = 0; i3 < EPT_PAGETABLE_ENTRIES; i3++ )
|
||||
+ {
|
||||
+ if ( !(l3e+i3)->epte || (l3e+i3)->sp_avail )
|
||||
+ continue;
|
||||
+ l2e = map_domain_page((l3e+i3)->mfn);
|
||||
+ for ( i2 = 0; i2 < EPT_PAGETABLE_ENTRIES; i2++ )
|
||||
+ {
|
||||
+ if ( !(l2e+i2)->epte || (l2e+i2)->sp_avail )
|
||||
+ continue;
|
||||
+ l1e = map_domain_page((l2e+i2)->mfn);
|
||||
+ for ( i1 = 0; i1 < EPT_PAGETABLE_ENTRIES; i1++ )
|
||||
+ {
|
||||
+ if ( !(l1e+i1)->epte )
|
||||
+ continue;
|
||||
+ if ( (l1e+i1)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l1e+i1)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l1e+i1, nt);
|
||||
+ }
|
||||
+ unmap_domain_page(l1e);
|
||||
+ }
|
||||
+ unmap_domain_page(l2e);
|
||||
+ }
|
||||
+ unmap_domain_page(l3e);
|
||||
+ }
|
||||
+ unmap_domain_page(l4e);
|
||||
+
|
||||
+ if ( d->vcpu[0] )
|
||||
+ ept_sync_domain(d->vcpu[0]);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ept_p2m_init(struct domain *d)
|
||||
{
|
||||
d->arch.p2m.set_entry = ept_set_entry;
|
||||
d->arch.p2m.get_entry = ept_get_entry;
|
||||
d->arch.p2m.get_entry_fast = ept_get_entry_fast;
|
||||
+ d->arch.p2m.change_entry_type_global = ept_change_entry_type_global;
|
||||
}
|
||||
|
||||
/*
|
@ -1,7 +1,7 @@
|
||||
Index: xen-3.2-testing/tools/libxc/xc_hvm_build.c
|
||||
Index: xen-3.2.1-testing/tools/libxc/xc_hvm_build.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/tools/libxc/xc_hvm_build.c
|
||||
+++ xen-3.2-testing/tools/libxc/xc_hvm_build.c
|
||||
--- xen-3.2.1-testing.orig/tools/libxc/xc_hvm_build.c
|
||||
+++ xen-3.2.1-testing/tools/libxc/xc_hvm_build.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <xen/libelf.h>
|
||||
|
||||
@ -10,7 +10,7 @@ Index: xen-3.2-testing/tools/libxc/xc_hvm_build.c
|
||||
|
||||
static void build_e820map(void *e820_page, unsigned long long mem_size)
|
||||
{
|
||||
@@ -154,6 +155,7 @@ static int setup_guest(int xc_handle,
|
||||
@@ -160,6 +161,7 @@ static int setup_guest(int xc_handle,
|
||||
struct xen_add_to_physmap xatp;
|
||||
struct shared_info *shared_info;
|
||||
void *e820_page;
|
||||
@ -18,7 +18,7 @@ Index: xen-3.2-testing/tools/libxc/xc_hvm_build.c
|
||||
struct elf_binary elf;
|
||||
uint64_t v_start, v_end;
|
||||
int rc;
|
||||
@@ -254,6 +256,18 @@ static int setup_guest(int xc_handle,
|
||||
@@ -269,6 +271,18 @@ static int setup_guest(int xc_handle,
|
||||
xc_set_hvm_param(xc_handle, dom, HVM_PARAM_BUFIOREQ_PFN, shared_page_nr-2);
|
||||
xc_set_hvm_param(xc_handle, dom, HVM_PARAM_IOREQ_PFN, shared_page_nr);
|
||||
|
||||
@ -37,11 +37,11 @@ Index: xen-3.2-testing/tools/libxc/xc_hvm_build.c
|
||||
/* Insert JMP <rel32> instruction at address 0x0 to reach entry point. */
|
||||
entry_eip = elf_uval(&elf, elf.ehdr, e_entry);
|
||||
if ( entry_eip != 0 )
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/hvm.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/hvm.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/hvm.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/hvm.c
|
||||
@@ -1954,6 +1954,10 @@ long do_hvm_op(unsigned long op, XEN_GUE
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/hvm.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/hvm.c
|
||||
@@ -1992,6 +1992,10 @@ long do_hvm_op(unsigned long op, XEN_GUE
|
||||
}
|
||||
d->arch.hvm_domain.params[a.index] = a.value;
|
||||
rc = 0;
|
||||
@ -52,10 +52,10 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/hvm.c
|
||||
}
|
||||
else
|
||||
{
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
@@ -105,11 +105,23 @@ static void vmx_init_vmcs_config(void)
|
||||
|
||||
if ( _vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS )
|
||||
@ -169,11 +169,11 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
|
||||
vmx_vmcs_exit(v);
|
||||
}
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -90,6 +90,8 @@ static int vmx_vcpu_initialise(struct vc
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -89,6 +89,8 @@ static int vmx_vcpu_initialise(struct vc
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -182,7 +182,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
vmx_install_vlapic_mapping(v);
|
||||
|
||||
#ifndef VMXASSIST
|
||||
@@ -530,20 +532,23 @@ static int vmx_restore_cr0_cr3(
|
||||
@@ -529,20 +531,23 @@ static int vmx_restore_cr0_cr3(
|
||||
unsigned long mfn = 0;
|
||||
p2m_type_t p2mt;
|
||||
|
||||
@ -215,7 +215,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
|
||||
v->arch.hvm_vcpu.guest_cr[0] = cr0 | X86_CR0_ET;
|
||||
v->arch.hvm_vcpu.guest_cr[3] = cr3;
|
||||
@@ -1014,6 +1019,45 @@ static enum hvm_intblk vmx_interrupt_blo
|
||||
@@ -1018,6 +1023,45 @@ static enum hvm_intblk vmx_interrupt_blo
|
||||
return hvm_intblk_none;
|
||||
}
|
||||
|
||||
@ -261,9 +261,9 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
static void vmx_update_host_cr3(struct vcpu *v)
|
||||
{
|
||||
ASSERT((v == current) || !vcpu_runnable(v));
|
||||
@@ -1039,21 +1083,57 @@ static void vmx_update_guest_cr(struct v
|
||||
__vm_clear_bit(EXCEPTION_BITMAP, TRAP_no_device);
|
||||
}
|
||||
@@ -1049,21 +1093,57 @@ static void vmx_update_guest_cr(struct v
|
||||
v->arch.hvm_vmx.vmxemul |= VMXEMUL_REALMODE;
|
||||
#endif
|
||||
|
||||
+ if ( paging_mode_hap(v->domain) )
|
||||
+ {
|
||||
@ -322,7 +322,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
__vmwrite(GUEST_CR4, v->arch.hvm_vcpu.hw_cr[4]);
|
||||
__vmwrite(CR4_READ_SHADOW, v->arch.hvm_vcpu.guest_cr[4]);
|
||||
break;
|
||||
@@ -1121,6 +1201,7 @@ static int vmx_event_pending(struct vcpu
|
||||
@@ -1131,6 +1211,7 @@ static int vmx_event_pending(struct vcpu
|
||||
|
||||
static struct hvm_function_table vmx_function_table = {
|
||||
.name = "VMX",
|
||||
@ -330,7 +330,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
.domain_initialise = vmx_domain_initialise,
|
||||
.domain_destroy = vmx_domain_destroy,
|
||||
.vcpu_initialise = vmx_vcpu_initialise,
|
||||
@@ -1178,6 +1259,12 @@ void start_vmx(void)
|
||||
@@ -1188,6 +1269,12 @@ void start_vmx(void)
|
||||
return;
|
||||
}
|
||||
|
||||
@ -400,19 +400,19 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
default:
|
||||
exit_and_crash:
|
||||
gdprintk(XENLOG_ERR, "Bad vmexit (reason %x)\n", exit_reason);
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/Makefile
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/Makefile
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/mm/Makefile
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/Makefile
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/Makefile
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/Makefile
|
||||
@@ -3,3 +3,4 @@ subdir-y += hap
|
||||
|
||||
obj-y += paging.o
|
||||
obj-y += p2m.o
|
||||
+obj-y += p2m-ept.o
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
@@ -0,0 +1,177 @@
|
||||
+/*
|
||||
+ * ept-p2m.c: use the EPT page table as p2m
|
||||
@ -591,10 +591,10 @@ Index: xen-3.2-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
+ * indent-tabs-mode: nil
|
||||
+ * End:
|
||||
+ */
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/p2m.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/mm/p2m.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/p2m.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/p2m.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <asm/paging.h>
|
||||
#include <asm/p2m.h>
|
||||
@ -652,10 +652,10 @@ Index: xen-3.2-testing/xen/arch/x86/mm/p2m.c
|
||||
/* Read another domain's p2m entries */
|
||||
{
|
||||
mfn_t mfn;
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/domain.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/domain.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/domain.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/domain.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/domain.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/domain.h
|
||||
@@ -131,6 +131,27 @@ struct hap_domain {
|
||||
/************************************************/
|
||||
/* p2m handling */
|
||||
@ -696,10 +696,10 @@ Index: xen-3.2-testing/xen/include/asm-x86/domain.h
|
||||
|
||||
/* Highest guest frame that's ever been mapped in the p2m */
|
||||
unsigned long max_mapped_pfn;
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/hvm.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/hvm.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/hvm.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/hvm.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/hvm.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/hvm.h
|
||||
@@ -60,6 +60,9 @@ struct hvm_function_table {
|
||||
/* Support Hardware-Assisted Paging? */
|
||||
int hap_supported;
|
||||
@ -723,11 +723,11 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/hvm.h
|
||||
int hvm_domain_initialise(struct domain *d);
|
||||
void hvm_domain_relinquish_resources(struct domain *d);
|
||||
void hvm_domain_destroy(struct domain *d);
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
@@ -57,6 +57,9 @@ struct vmx_msr_state {
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
@@ -56,6 +56,9 @@ struct vmx_msr_state {
|
||||
unsigned long msrs[VMX_MSR_COUNT];
|
||||
};
|
||||
|
||||
@ -737,7 +737,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
struct arch_vmx_struct {
|
||||
/* Virtual address of VMCS. */
|
||||
struct vmcs_struct *vmcs;
|
||||
@@ -73,8 +76,19 @@ struct arch_vmx_struct {
|
||||
@@ -72,8 +75,19 @@ struct arch_vmx_struct {
|
||||
int active_cpu;
|
||||
int launched;
|
||||
|
||||
@ -757,7 +757,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
|
||||
#ifdef __x86_64__
|
||||
struct vmx_msr_state msr_state;
|
||||
@@ -111,6 +125,8 @@ void vmx_vmcs_exit(struct vcpu *v);
|
||||
@@ -120,6 +134,8 @@ void vmx_vmcs_exit(struct vcpu *v);
|
||||
#define CPU_BASED_MWAIT_EXITING 0x00000400
|
||||
#define CPU_BASED_RDPMC_EXITING 0x00000800
|
||||
#define CPU_BASED_RDTSC_EXITING 0x00001000
|
||||
@ -766,7 +766,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
#define CPU_BASED_CR8_LOAD_EXITING 0x00080000
|
||||
#define CPU_BASED_CR8_STORE_EXITING 0x00100000
|
||||
#define CPU_BASED_TPR_SHADOW 0x00200000
|
||||
@@ -139,6 +155,7 @@ extern u32 vmx_vmexit_control;
|
||||
@@ -148,6 +164,7 @@ extern u32 vmx_vmexit_control;
|
||||
extern u32 vmx_vmentry_control;
|
||||
|
||||
#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
|
||||
@ -774,7 +774,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
#define SECONDARY_EXEC_WBINVD_EXITING 0x00000040
|
||||
extern u32 vmx_secondary_exec_control;
|
||||
|
||||
@@ -154,6 +171,10 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
@@ -163,6 +180,10 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
(vmx_pin_based_exec_control & PIN_BASED_VIRTUAL_NMIS)
|
||||
#define cpu_has_vmx_msr_bitmap \
|
||||
(vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_MSR_BITMAP)
|
||||
@ -785,7 +785,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
|
||||
/* GUEST_INTERRUPTIBILITY_INFO flags. */
|
||||
#define VMX_INTR_SHADOW_STI 0x00000001
|
||||
@@ -195,11 +216,23 @@ enum vmcs_field {
|
||||
@@ -204,11 +225,23 @@ enum vmcs_field {
|
||||
VIRTUAL_APIC_PAGE_ADDR = 0x00002012,
|
||||
VIRTUAL_APIC_PAGE_ADDR_HIGH = 0x00002013,
|
||||
APIC_ACCESS_ADDR = 0x00002014,
|
||||
@ -810,10 +810,10 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
PIN_BASED_VM_EXEC_CONTROL = 0x00004000,
|
||||
CPU_BASED_VM_EXEC_CONTROL = 0x00004002,
|
||||
EXCEPTION_BITMAP = 0x00004004,
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
@@ -23,9 +23,27 @@
|
||||
#include <asm/types.h>
|
||||
#include <asm/regs.h>
|
||||
@ -843,7 +843,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
|
||||
void vmx_asm_vmexit_handler(struct cpu_user_regs);
|
||||
void vmx_asm_do_vmentry(void);
|
||||
@@ -85,6 +103,8 @@ int vmx_realmode_io_complete(void);
|
||||
@@ -88,6 +106,8 @@ int vmx_realmode_io_complete(void);
|
||||
#define EXIT_REASON_MACHINE_CHECK 41
|
||||
#define EXIT_REASON_TPR_BELOW_THRESHOLD 43
|
||||
#define EXIT_REASON_APIC_ACCESS 44
|
||||
@ -852,7 +852,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
#define EXIT_REASON_WBINVD 54
|
||||
|
||||
/*
|
||||
@@ -151,12 +171,14 @@ int vmx_realmode_io_complete(void);
|
||||
@@ -154,12 +174,14 @@ int vmx_realmode_io_complete(void);
|
||||
#define VMREAD_OPCODE ".byte 0x0f,0x78\n"
|
||||
#define VMRESUME_OPCODE ".byte 0x0f,0x01,0xc3\n"
|
||||
#define VMWRITE_OPCODE ".byte 0x0f,0x79\n"
|
||||
@ -868,7 +868,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
|
||||
static inline void __vmptrld(u64 addr)
|
||||
{
|
||||
@@ -240,6 +262,21 @@ static inline void __vm_clear_bit(unsign
|
||||
@@ -243,6 +265,21 @@ static inline void __vm_clear_bit(unsign
|
||||
__vmwrite(field, __vmread(field) & ~(1UL << bit));
|
||||
}
|
||||
|
||||
@ -890,7 +890,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
static inline void __vmxoff(void)
|
||||
{
|
||||
asm volatile (
|
||||
@@ -269,6 +306,29 @@ static inline int __vmxon(u64 addr)
|
||||
@@ -272,6 +309,29 @@ static inline int __vmxon(u64 addr)
|
||||
return rc;
|
||||
}
|
||||
|
||||
@ -920,17 +920,17 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
static inline void __vmx_inject_exception(
|
||||
struct vcpu *v, int trap, int type, int error_code)
|
||||
{
|
||||
@@ -314,4 +374,6 @@ static inline void vmx_inject_nmi(struct
|
||||
@@ -317,4 +377,6 @@ static inline void vmx_inject_nmi(struct
|
||||
HVM_DELIVER_NO_ERROR_CODE);
|
||||
}
|
||||
|
||||
+void ept_p2m_init(struct domain *d);
|
||||
+
|
||||
#endif /* __ASM_X86_HVM_VMX_VMX_H__ */
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/p2m.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/p2m.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/p2m.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/p2m.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/p2m.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/p2m.h
|
||||
@@ -43,27 +43,6 @@
|
||||
*/
|
||||
#define phys_to_machine_mapping ((l1_pgentry_t *)RO_MPT_VIRT_START)
|
||||
@ -999,10 +999,10 @@ Index: xen-3.2-testing/xen/include/asm-x86/p2m.h
|
||||
return gfn_to_mfn_foreign(d, gfn, t);
|
||||
}
|
||||
|
||||
Index: xen-3.2-testing/xen/include/public/hvm/params.h
|
||||
Index: xen-3.2.1-testing/xen/include/public/hvm/params.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/public/hvm/params.h
|
||||
+++ xen-3.2-testing/xen/include/public/hvm/params.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/public/hvm/params.h
|
||||
+++ xen-3.2.1-testing/xen/include/public/hvm/params.h
|
||||
@@ -83,7 +83,8 @@
|
||||
|
||||
/* Boolean: Enable virtual HPET (high-precision event timer)? (x86-only) */
|
||||
|
@ -1003,13 +1003,13 @@ Index: xen-3.2.1-testing/xen/include/public/hvm/params.h
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/include/public/hvm/params.h
|
||||
+++ xen-3.2.1-testing/xen/include/public/hvm/params.h
|
||||
@@ -87,6 +87,8 @@
|
||||
@@ -86,7 +86,8 @@
|
||||
|
||||
/* Boolean: Enable virtual HPET (high-precision event timer)? (x86-only) */
|
||||
#define HVM_PARAM_HPET_ENABLED 12
|
||||
+#define HVM_PARAM_IDENT_PT 13
|
||||
|
||||
-#define HVM_NR_PARAMS 13
|
||||
+#define HVM_PARAM_IDENT_PT 13
|
||||
+
|
||||
+#define HVM_NR_PARAMS 14
|
||||
|
||||
#endif /* __XEN_PUBLIC_HVM_PARAMS_H__ */
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -50,6 +50,7 @@
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -49,6 +49,7 @@
|
||||
#include <asm/hvm/vpt.h>
|
||||
#include <public/hvm/save.h>
|
||||
#include <asm/hvm/trace.h>
|
||||
@ -57,10 +57,10 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
return;
|
||||
}
|
||||
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/hap/hap.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/hap/hap.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/mm/hap/hap.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/hap/hap.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/hap/hap.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/hap/hap.c
|
||||
@@ -61,7 +61,7 @@ int hap_enable_log_dirty(struct domain *
|
||||
hap_unlock(d);
|
||||
|
||||
@ -87,10 +87,10 @@ Index: xen-3.2-testing/xen/arch/x86/mm/hap/hap.c
|
||||
flush_tlb_mask(d->domain_dirty_cpumask);
|
||||
}
|
||||
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/p2m.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/mm/p2m.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/p2m.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/p2m.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
@@ -279,11 +279,19 @@ void p2m_init(struct domain *d)
|
||||
d->arch.p2m.set_entry = p2m_set_entry;
|
||||
d->arch.p2m.get_entry = p2m_gfn_to_mfn;
|
||||
@ -128,10 +128,10 @@ Index: xen-3.2-testing/xen/arch/x86/mm/p2m.c
|
||||
}
|
||||
|
||||
/* Modify the p2m type of a single gfn from ot to nt, returning the
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/domain.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/domain.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/domain.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/domain.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/domain.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/domain.h
|
||||
@@ -171,6 +171,8 @@ struct p2m_domain {
|
||||
p2m_type_t *p2mt);
|
||||
mfn_t (*get_entry_fast)(unsigned long gfn, p2m_type_t *p2mt);
|
||||
@ -141,10 +141,10 @@ Index: xen-3.2-testing/xen/include/asm-x86/domain.h
|
||||
/* Highest guest frame that's ever been mapped in the p2m */
|
||||
unsigned long max_mapped_pfn;
|
||||
};
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hap.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hap.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hap.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hap.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hap.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hap.h
|
||||
@@ -97,6 +97,49 @@ extern struct paging_mode hap_paging_pro
|
||||
extern struct paging_mode hap_paging_pae_mode;
|
||||
extern struct paging_mode hap_paging_long_mode;
|
||||
@ -195,10 +195,10 @@ Index: xen-3.2-testing/xen/include/asm-x86/hap.h
|
||||
#endif /* XEN_HAP_H */
|
||||
|
||||
/*
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/p2m.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/p2m.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/p2m.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/p2m.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/p2m.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/p2m.h
|
||||
@@ -209,6 +209,7 @@ void guest_physmap_remove_page(struct do
|
||||
|
||||
/* Change types across all p2m entries in a domain */
|
||||
|
@ -91,7 +91,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/p2m-ept.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
@@ -24,6 +24,27 @@
|
||||
@@ -23,6 +23,27 @@
|
||||
#include <asm/types.h>
|
||||
#include <asm/domain.h>
|
||||
#include <asm/hvm/vmx/vmx.h>
|
||||
@ -119,7 +119,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
|
||||
static int ept_next_level(struct domain *d, bool_t read_only,
|
||||
ept_entry_t **table, unsigned long *gfn_remainder,
|
||||
@@ -132,6 +153,7 @@ ept_set_entry(struct domain *d, unsigned
|
||||
@@ -100,6 +121,7 @@ ept_set_entry(struct domain *d, unsigned
|
||||
ept_entry->avail2 = 0;
|
||||
/* last step */
|
||||
ept_entry->r = ept_entry->w = ept_entry->x = 1;
|
||||
@ -127,7 +127,24 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
}
|
||||
else
|
||||
ept_entry->epte = 0;
|
||||
@@ -202,11 +224,94 @@ static mfn_t ept_get_entry_fast(unsigned
|
||||
@@ -140,13 +162,10 @@ static mfn_t ept_get_entry(struct domain
|
||||
index = gfn_remainder;
|
||||
ept_entry = table + index;
|
||||
|
||||
- if ( (ept_entry->epte & 0x7) == 0x7 )
|
||||
+ if ( ept_entry->avail1 != p2m_invalid )
|
||||
{
|
||||
- if ( ept_entry->avail1 != p2m_invalid )
|
||||
- {
|
||||
- *t = ept_entry->avail1;
|
||||
- mfn = _mfn(ept_entry->mfn);
|
||||
- }
|
||||
+ *t = ept_entry->avail1;
|
||||
+ mfn = _mfn(ept_entry->mfn);
|
||||
}
|
||||
|
||||
out:
|
||||
@@ -159,11 +178,64 @@ static mfn_t ept_get_entry_fast(unsigned
|
||||
return ept_get_entry(current->domain, gfn, t);
|
||||
}
|
||||
|
||||
@ -137,80 +154,50 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m-ept.c
|
||||
+
|
||||
+static void ept_change_entry_type_global(struct domain *d, p2m_type_t ot, p2m_type_t nt)
|
||||
+{
|
||||
+ if ( pagetable_get_pfn(d->arch.phys_table) == 0 )
|
||||
+ return;
|
||||
+ if ( pagetable_get_pfn(d->arch.phys_table) == 0 )
|
||||
+ return;
|
||||
+
|
||||
+ if ( EPT_DEFAULT_GAW == 3 )
|
||||
+ {
|
||||
+ ept_entry_t *l4e, *l3e, *l2e, *l1e;
|
||||
+ int i4, i3, i2, i1;
|
||||
+ if ( EPT_DEFAULT_GAW == 3 )
|
||||
+ {
|
||||
+ ept_entry_t *l4e, *l3e, *l2e, *l1e;
|
||||
+ int i4, i3, i2, i1;
|
||||
+
|
||||
+ l4e = map_domain_page(mfn_x(pagetable_get_mfn(d->arch.phys_table)));
|
||||
+ for (i4 = 0; i4 < EPT_PAGETABLE_ENTRIES; i4++ )
|
||||
+ {
|
||||
+ if ( !(l4e+i4)->epte )
|
||||
+ continue;
|
||||
+ if ( !(l4e+i4)->sp_avail )
|
||||
+ {
|
||||
+ l3e = map_domain_page((l4e+i4)->mfn);
|
||||
+ for ( i3 = 0; i3 < EPT_PAGETABLE_ENTRIES; i3++ )
|
||||
+ {
|
||||
+ if ( !(l3e+i3)->epte )
|
||||
+ continue;
|
||||
+ if ( !(l3e+i3)->sp_avail )
|
||||
+ {
|
||||
+ l2e = map_domain_page((l3e+i3)->mfn);
|
||||
+ for ( i2 = 0; i2 < EPT_PAGETABLE_ENTRIES; i2++ )
|
||||
+ {
|
||||
+ if ( !(l2e+i2)->epte )
|
||||
+ continue;
|
||||
+ if ( !(l2e+i2)->sp_avail )
|
||||
+ {
|
||||
+ l1e = map_domain_page((l2e+i2)->mfn);
|
||||
+ for ( i1 = 0; i1 < EPT_PAGETABLE_ENTRIES; i1++ )
|
||||
+ {
|
||||
+ if ( !(l1e+i1)->epte )
|
||||
+ continue;
|
||||
+ if ( (l1e+i1)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l1e+i1)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l1e+i1, nt);
|
||||
+ }
|
||||
+ unmap_domain_page(l1e);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if ( (l2e+i2)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l2e+i2)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l2e+i2, nt);
|
||||
+ }
|
||||
+ }
|
||||
+ unmap_domain_page(l2e);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if ( (l3e+i3)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l3e+i3)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l3e+i3, nt);
|
||||
+ }
|
||||
+ }
|
||||
+ unmap_domain_page(l3e);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if ( (l4e+i4)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l4e+i4)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l4e+i4, nt);
|
||||
+ }
|
||||
+ }
|
||||
+ unmap_domain_page(l4e);
|
||||
+ l4e = map_domain_page(mfn_x(pagetable_get_mfn(d->arch.phys_table)));
|
||||
+ for (i4 = 0; i4 < EPT_PAGETABLE_ENTRIES; i4++ )
|
||||
+ {
|
||||
+ if ( !(l4e+i4)->epte || (l4e+i4)->sp_avail)
|
||||
+ continue;
|
||||
+ l3e = map_domain_page((l4e+i4)->mfn);
|
||||
+ for ( i3 = 0; i3 < EPT_PAGETABLE_ENTRIES; i3++ )
|
||||
+ {
|
||||
+ if ( !(l3e+i3)->epte || (l3e+i3)->sp_avail )
|
||||
+ continue;
|
||||
+ l2e = map_domain_page((l3e+i3)->mfn);
|
||||
+ for ( i2 = 0; i2 < EPT_PAGETABLE_ENTRIES; i2++ )
|
||||
+ {
|
||||
+ if ( !(l2e+i2)->epte || (l2e+i2)->sp_avail )
|
||||
+ continue;
|
||||
+ l1e = map_domain_page((l2e+i2)->mfn);
|
||||
+ for ( i1 = 0; i1 < EPT_PAGETABLE_ENTRIES; i1++ )
|
||||
+ {
|
||||
+ if ( !(l1e+i1)->epte )
|
||||
+ continue;
|
||||
+ if ( (l1e+i1)->avail1 != ot )
|
||||
+ continue;
|
||||
+ (l1e+i1)->avail1 = nt;
|
||||
+ ept_p2m_type_to_flags(l1e+i1, nt);
|
||||
+ }
|
||||
+ unmap_domain_page(l1e);
|
||||
+ }
|
||||
+ unmap_domain_page(l2e);
|
||||
+ }
|
||||
+ unmap_domain_page(l3e);
|
||||
+ }
|
||||
+ unmap_domain_page(l4e);
|
||||
+
|
||||
+ if ( d->vcpu[0] )
|
||||
+ ept_sync_domain(d->vcpu[0]);
|
||||
+ }
|
||||
+ if ( d->vcpu[0] )
|
||||
+ ept_sync_domain(d->vcpu[0]);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ept_p2m_init(struct domain *d)
|
||||
@ -244,9 +231,9 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
+}
|
||||
+
|
||||
static inline
|
||||
int set_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn, int order, p2m_type_t p2mt)
|
||||
int set_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn, p2m_type_t p2mt)
|
||||
{
|
||||
@@ -807,8 +815,6 @@ void p2m_change_type_global(struct domai
|
||||
@@ -806,8 +814,6 @@ void p2m_change_type_global(struct domai
|
||||
if ( pagetable_get_pfn(d->arch.phys_table) == 0 )
|
||||
return;
|
||||
|
||||
@ -255,7 +242,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/mm/p2m.c
|
||||
#if CONFIG_PAGING_LEVELS == 4
|
||||
l4e = map_domain_page(mfn_x(pagetable_get_mfn(d->arch.phys_table)));
|
||||
#elif CONFIG_PAGING_LEVELS == 3
|
||||
@@ -879,7 +885,6 @@ void p2m_change_type_global(struct domai
|
||||
@@ -878,7 +884,6 @@ void p2m_change_type_global(struct domai
|
||||
unmap_domain_page(l2e);
|
||||
#endif
|
||||
|
||||
@ -334,7 +321,7 @@ Index: xen-3.2.1-testing/xen/include/asm-x86/p2m.h
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/p2m.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/p2m.h
|
||||
@@ -220,6 +220,7 @@ void guest_physmap_remove_page(struct do
|
||||
@@ -209,6 +209,7 @@ void guest_physmap_remove_page(struct do
|
||||
|
||||
/* Change types across all p2m entries in a domain */
|
||||
void p2m_change_type_global(struct domain *d, p2m_type_t ot, p2m_type_t nt);
|
@ -33,7 +33,7 @@ Index: xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/tools/python/xen/xend/XendConfig.py
|
||||
+++ xen-3.2.1-testing/tools/python/xen/xend/XendConfig.py
|
||||
@@ -138,6 +138,7 @@ XENAPI_PLATFORM_CFG_TYPES = {
|
||||
@@ -139,6 +139,7 @@ XENAPI_PLATFORM_CFG_TYPES = {
|
||||
'monitor': int,
|
||||
'nographic': int,
|
||||
'pae' : int,
|
||||
|
@ -19,7 +19,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/hvm/svm/svm.c
|
||||
static void inline __update_guest_eip(
|
||||
struct cpu_user_regs *regs, unsigned int inst_len)
|
||||
{
|
||||
@@ -882,7 +884,7 @@ static struct hvm_function_table svm_fun
|
||||
@@ -883,7 +885,7 @@ static struct hvm_function_table svm_fun
|
||||
.set_tsc_offset = svm_set_tsc_offset,
|
||||
.inject_exception = svm_inject_exception,
|
||||
.init_hypercall_page = svm_init_hypercall_page,
|
||||
@ -28,7 +28,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/hvm/svm/svm.c
|
||||
};
|
||||
|
||||
int start_svm(struct cpuinfo_x86 *c)
|
||||
@@ -1033,6 +1035,7 @@ static void svm_vmexit_do_cpuid(struct v
|
||||
@@ -1034,6 +1036,7 @@ static void svm_vmexit_do_cpuid(struct v
|
||||
HVMTRACE_3D(CPUID, v, input,
|
||||
((uint64_t)eax << 32) | ebx, ((uint64_t)ecx << 32) | edx);
|
||||
|
||||
@ -36,7 +36,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/hvm/svm/svm.c
|
||||
inst_len = __get_instruction_length(v, INSTR_CPUID, NULL);
|
||||
__update_guest_eip(regs, inst_len);
|
||||
}
|
||||
@@ -1728,6 +1731,11 @@ static void svm_do_msr_access(
|
||||
@@ -1736,6 +1739,11 @@ static void svm_do_msr_access(
|
||||
/* is it a read? */
|
||||
if (vmcb->exitinfo1 == 0)
|
||||
{
|
||||
@ -48,7 +48,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/hvm/svm/svm.c
|
||||
switch (ecx) {
|
||||
case MSR_IA32_TSC:
|
||||
msr_content = hvm_get_guest_time(v);
|
||||
@@ -1818,6 +1826,11 @@ static void svm_do_msr_access(
|
||||
@@ -1826,6 +1834,11 @@ static void svm_do_msr_access(
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -60,7 +60,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/hvm/svm/svm.c
|
||||
msr_content = (u32)regs->eax | ((u64)regs->edx << 32);
|
||||
|
||||
hvmtrace_msr_write(v, ecx, msr_content);
|
||||
@@ -1878,6 +1891,7 @@ static void svm_do_msr_access(
|
||||
@@ -1886,6 +1899,7 @@ static void svm_do_msr_access(
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
@@ -38,6 +38,9 @@
|
||||
#include <asm/shadow.h>
|
||||
#include <asm/tboot.h>
|
||||
@ -61,11 +61,11 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
|
||||
vmx_vmcs_exit(v);
|
||||
}
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -58,18 +58,23 @@ static void vmx_ctxt_switch_to(struct vc
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -57,18 +57,23 @@ static void vmx_ctxt_switch_to(struct vc
|
||||
|
||||
static int vmx_alloc_vlapic_mapping(struct domain *d);
|
||||
static void vmx_free_vlapic_mapping(struct domain *d);
|
||||
@ -90,7 +90,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
}
|
||||
|
||||
static int vmx_vcpu_initialise(struct vcpu *v)
|
||||
@@ -1122,6 +1127,7 @@ static void vmx_update_guest_cr(struct v
|
||||
@@ -1132,6 +1137,7 @@ static void vmx_update_guest_cr(struct v
|
||||
vmx_load_pdptrs(v);
|
||||
}
|
||||
__vmwrite(GUEST_CR3, v->arch.hvm_vcpu.hw_cr[3]);
|
||||
@ -98,7 +98,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
break;
|
||||
case 4:
|
||||
v->arch.hvm_vcpu.hw_cr[4] = HVM_CR4_HOST_MASK;
|
||||
@@ -1170,9 +1176,14 @@ static void vmx_update_guest_efer(struct
|
||||
@@ -1180,9 +1186,14 @@ static void vmx_update_guest_efer(struct
|
||||
|
||||
static void vmx_flush_guest_tlbs(void)
|
||||
{
|
||||
@ -116,7 +116,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
}
|
||||
|
||||
static void vmx_inject_exception(
|
||||
@@ -1226,6 +1237,11 @@ static struct hvm_function_table vmx_fun
|
||||
@@ -1236,6 +1247,11 @@ static struct hvm_function_table vmx_fun
|
||||
.cpu_down = vmx_cpu_down,
|
||||
};
|
||||
|
||||
@ -128,7 +128,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
void start_vmx(void)
|
||||
{
|
||||
static int bootstrapped;
|
||||
@@ -1265,6 +1281,26 @@ void start_vmx(void)
|
||||
@@ -1275,6 +1291,26 @@ void start_vmx(void)
|
||||
vmx_function_table.hap_supported = 1;
|
||||
}
|
||||
|
||||
@ -201,10 +201,10 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
static void vmx_install_vlapic_mapping(struct vcpu *v)
|
||||
{
|
||||
paddr_t virt_page_ma, apic_page_ma;
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/mm/shadow/multi.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/shadow/multi.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <asm/hvm/hvm.h>
|
||||
#include <asm/hvm/cacheattr.h>
|
||||
@ -213,7 +213,7 @@ Index: xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
#include "private.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -3106,6 +3107,7 @@ sh_invlpg(struct vcpu *v, unsigned long
|
||||
@@ -3102,6 +3103,7 @@ sh_invlpg(struct vcpu *v, unsigned long
|
||||
== SH_type_fl1_shadow )
|
||||
{
|
||||
flush_tlb_local();
|
||||
@ -221,10 +221,10 @@ Index: xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/domain.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/domain.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/domain.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/domain.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/domain.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/domain.h
|
||||
@@ -61,6 +61,7 @@ struct hvm_domain {
|
||||
uint64_t params[HVM_NR_PARAMS];
|
||||
|
||||
@ -233,11 +233,11 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/domain.h
|
||||
|
||||
/* Memory ranges with pinned cache attributes. */
|
||||
struct list_head pinned_cacheattr_ranges;
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
@@ -90,6 +90,8 @@ struct arch_vmx_struct {
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
@@ -89,6 +89,8 @@ struct arch_vmx_struct {
|
||||
u32 exec_control;
|
||||
u32 secondary_exec_control;
|
||||
|
||||
@ -246,7 +246,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
#ifdef __x86_64__
|
||||
struct vmx_msr_state msr_state;
|
||||
unsigned long shadow_gs;
|
||||
@@ -156,6 +158,7 @@ extern u32 vmx_vmentry_control;
|
||||
@@ -165,6 +167,7 @@ extern u32 vmx_vmentry_control;
|
||||
|
||||
#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
|
||||
#define SECONDARY_EXEC_ENABLE_EPT 0x00000002
|
||||
@ -254,7 +254,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
#define SECONDARY_EXEC_WBINVD_EXITING 0x00000040
|
||||
extern u32 vmx_secondary_exec_control;
|
||||
|
||||
@@ -175,6 +178,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
@@ -184,6 +187,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
(vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
|
||||
#define cpu_has_vmx_ept \
|
||||
(vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
|
||||
@ -263,7 +263,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
|
||||
/* GUEST_INTERRUPTIBILITY_INFO flags. */
|
||||
#define VMX_INTR_SHADOW_STI 0x00000001
|
||||
@@ -184,6 +189,7 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
@@ -193,6 +198,7 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
|
||||
/* VMCS field encodings. */
|
||||
enum vmcs_field {
|
||||
@ -271,7 +271,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
GUEST_ES_SELECTOR = 0x00000800,
|
||||
GUEST_CS_SELECTOR = 0x00000802,
|
||||
GUEST_SS_SELECTOR = 0x00000804,
|
||||
@@ -323,6 +329,8 @@ enum vmcs_field {
|
||||
@@ -332,6 +338,8 @@ enum vmcs_field {
|
||||
HOST_RIP = 0x00006c16,
|
||||
};
|
||||
|
||||
@ -280,11 +280,11 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
void vmx_disable_intercept_for_msr(struct vcpu *v, u32 msr);
|
||||
int vmx_read_guest_msr(struct vcpu *v, u32 msr, u64 *val);
|
||||
int vmx_write_guest_msr(struct vcpu *v, u32 msr, u64 val);
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
@@ -172,6 +172,7 @@ int vmx_realmode_io_complete(void);
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
@@ -175,6 +175,7 @@ int vmx_realmode_io_complete(void);
|
||||
#define VMRESUME_OPCODE ".byte 0x0f,0x01,0xc3\n"
|
||||
#define VMWRITE_OPCODE ".byte 0x0f,0x79\n"
|
||||
#define INVEPT_OPCODE ".byte 0x66,0x0f,0x38,0x80\n" /* m128,r64/32 */
|
||||
@ -292,7 +292,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
#define VMXOFF_OPCODE ".byte 0x0f,0x01,0xc4\n"
|
||||
#define VMXON_OPCODE ".byte 0xf3,0x0f,0xc7\n"
|
||||
|
||||
@@ -277,6 +278,23 @@ static inline void __invept(int ext, u64
|
||||
@@ -280,6 +281,23 @@ static inline void __invept(int ext, u64
|
||||
: "memory");
|
||||
}
|
||||
|
||||
@ -316,7 +316,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
static inline void __vmxoff(void)
|
||||
{
|
||||
asm volatile (
|
||||
@@ -329,6 +347,22 @@ static inline void ept_sync_all(void)
|
||||
@@ -332,6 +350,22 @@ static inline void ept_sync_all(void)
|
||||
__invept(2, 0, 0);
|
||||
}
|
||||
|
||||
|
@ -144,7 +144,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/x86_emulate.c
|
||||
#endif
|
||||
#include <asm-x86/x86_emulate.h>
|
||||
|
||||
@@ -3306,60 +3309,64 @@ x86_emulate(
|
||||
@@ -3320,60 +3323,64 @@ x86_emulate(
|
||||
src.val = x86_seg_gs;
|
||||
goto pop_seg;
|
||||
|
||||
@ -253,7 +253,7 @@ Index: xen-3.2.1-testing/xen/arch/x86/x86_emulate.c
|
||||
|
||||
case 0xc8 ... 0xcf: /* bswap */
|
||||
dst.type = OP_REG;
|
||||
@@ -3369,7 +3376,7 @@ x86_emulate(
|
||||
@@ -3383,7 +3390,7 @@ x86_emulate(
|
||||
{
|
||||
default: /* case 2: */
|
||||
/* Undefined behaviour. Writes zero on all tested CPUs. */
|
||||
@ -266,7 +266,7 @@ Index: xen-3.2.1-testing/xen/include/asm-x86/cpufeature.h
|
||||
===================================================================
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/cpufeature.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/cpufeature.h
|
||||
@@ -145,6 +145,7 @@
|
||||
@@ -149,6 +149,7 @@
|
||||
#define cpu_has_cyrix_arr boot_cpu_has(X86_FEATURE_CYRIX_ARR)
|
||||
#define cpu_has_centaur_mcr boot_cpu_has(X86_FEATURE_CENTAUR_MCR)
|
||||
#define cpu_has_clflush boot_cpu_has(X86_FEATURE_CLFLSH)
|
||||
@ -274,7 +274,7 @@ Index: xen-3.2.1-testing/xen/include/asm-x86/cpufeature.h
|
||||
#define cpu_has_page1gb 0
|
||||
#define cpu_has_efer (boot_cpu_data.x86_capability[1] & 0x20100800)
|
||||
#else /* __x86_64__ */
|
||||
@@ -171,6 +172,7 @@
|
||||
@@ -175,6 +176,7 @@
|
||||
#define cpu_has_cyrix_arr 0
|
||||
#define cpu_has_centaur_mcr 0
|
||||
#define cpu_has_clflush boot_cpu_has(X86_FEATURE_CLFLSH)
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:53d07207f8907ba02d152852ff216695c07be2e97b53bac025ac991542aef08f
|
||||
size 5467794
|
||||
oid sha256:b76bdbe8d7703cef1c7498bbdfc73f8b178ebafb737ddbdf352a76144c8d6e2b
|
||||
size 5468802
|
||||
|
11
xen.changes
11
xen.changes
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 24 16:47:56 MDT 2008 - carnold@novell.com
|
||||
|
||||
- bnc#373194 - The xen module and the kernel for Dom0 don't match.
|
||||
- Add ncurses-devel build dependency
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 24 10:56:35 MDT 2008 - carnold@novell.com
|
||||
|
||||
- Update to Xen 3.2.1 RC1 changeset 16820.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 20 09:38:03 CET 2008 - coolo@suse.de
|
||||
|
||||
|
230
xen.spec
230
xen.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package xen (Version 3.2.1_16805_01)
|
||||
# spec file for package xen (Version 3.2.1_16820_01)
|
||||
#
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -14,14 +14,14 @@
|
||||
Name: xen
|
||||
%define xvers 3.2
|
||||
%define xvermaj 3
|
||||
%define changeset 16718
|
||||
%define changeset 16820
|
||||
%define xen_build_dir xen-3.2.1-testing
|
||||
%if %sles_version
|
||||
%define with_kmp 1
|
||||
%else
|
||||
%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 pciutils-devel python-devel transfig
|
||||
BuildRequires: LibVNCServer-devel SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel ncurses-devel openssl openssl-devel pciutils-devel python-devel transfig
|
||||
%if %suse_version >= 1030
|
||||
BuildRequires: texlive texlive-latex
|
||||
%else
|
||||
@ -33,8 +33,8 @@ BuildRequires: glibc-32bit glibc-devel-32bit
|
||||
%if %{?with_kmp}0
|
||||
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
|
||||
%endif
|
||||
Version: 3.2.1_16805_01
|
||||
Release: 4
|
||||
Version: 3.2.1_16820_01
|
||||
Release: 1
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
AutoReqProv: on
|
||||
@ -86,7 +86,9 @@ Patch17: 17124-numa-free-memory-size.patch
|
||||
Patch18: 17131-numa-set-vcpu-affinity.patch
|
||||
Patch19: 17190-remove-hap-boot-param.patch
|
||||
Patch20: 17191-remove-hap-boot-param-doc.patch
|
||||
Patch21: 17xxx-xenapi-defaults.patch
|
||||
Patch21: 17210-xenapi-defaults.patch
|
||||
Patch22: 17211-xenapi-defaults.patch
|
||||
Patch23: 17212-xenapi-defaults.patch
|
||||
# Our patches
|
||||
Patch100: xen-config.diff
|
||||
Patch101: xend-config.diff
|
||||
@ -155,16 +157,17 @@ Patch402: ns_xen_extension.patch
|
||||
# Intel EPT / VPID patches
|
||||
Patch500: ept-novell-x64.patch
|
||||
Patch501: vpid-novell-x64.patch
|
||||
Patch502: ept-novell-x64-2m.patch
|
||||
Patch503: ept-with-livemgr-2m.diff
|
||||
Patch502: livemig-ept-novell-x64.patch
|
||||
Patch503: ept-2m-x64.patch
|
||||
Patch504: ept-novell-i386.patch
|
||||
Patch505: vpid-novell-i386.patch
|
||||
Patch506: livemig-ept-novell-i386.patch
|
||||
Patch507: ept-livemgr-x86-miss.patch
|
||||
Url: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
||||
%if %{?with_kmp}0
|
||||
%suse_kernel_module_package -n xen um xen xenpae
|
||||
%suse_kernel_module_package -n xen um xen
|
||||
%endif
|
||||
|
||||
%description
|
||||
@ -505,6 +508,8 @@ Authors:
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
@ -575,6 +580,7 @@ Authors:
|
||||
%patch504 -p1
|
||||
%patch505 -p1
|
||||
%patch506 -p1
|
||||
%patch507 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
@ -624,18 +630,19 @@ install_xen()
|
||||
}
|
||||
%ifarch %ix86
|
||||
make -C xen install pae=y debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
|
||||
install_xen pae-dbg
|
||||
install_xen dbg
|
||||
make -C xen clean
|
||||
make -C xen install pae=y debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
|
||||
install_xen pae
|
||||
install_xen
|
||||
make -C xen clean
|
||||
%endif
|
||||
%else
|
||||
make -C xen install pae=n debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
|
||||
install_xen dbg
|
||||
make -C xen clean
|
||||
make -C xen install pae=n debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
|
||||
install_xen
|
||||
make -C xen clean
|
||||
%endif
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
export RPM_OPT_FLAGS
|
||||
make -C xen/include/public/foreign
|
||||
@ -734,20 +741,6 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
/boot/xen-syms-dbg
|
||||
/boot/xen-syms-dbg-%{version}-%{release}
|
||||
/boot/xen.gz
|
||||
%ifarch %ix86
|
||||
/boot/xen-pae-%{version}-%{release}.gz
|
||||
/boot/xen-pae-%{xvermaj}.gz
|
||||
/boot/xen-pae-%{xvers}.gz
|
||||
/boot/xen-pae-dbg-%{version}-%{release}.gz
|
||||
/boot/xen-pae-dbg-%{xvermaj}.gz
|
||||
/boot/xen-pae-dbg-%{xvers}.gz
|
||||
/boot/xen-pae-dbg.gz
|
||||
/boot/xen-pae.gz
|
||||
/boot/xen-syms-pae
|
||||
/boot/xen-syms-pae-%{version}-%{release}
|
||||
/boot/xen-syms-pae-dbg
|
||||
/boot/xen-syms-pae-dbg-%{version}-%{release}
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%defattr(-,root,root)
|
||||
@ -895,6 +888,11 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
/sbin/ldconfig
|
||||
|
||||
%changelog
|
||||
* Mon Mar 24 2008 carnold@novell.com
|
||||
- bnc#373194 - The xen module and the kernel for Dom0 don't match.
|
||||
- Add ncurses-devel build dependency
|
||||
* Mon Mar 24 2008 carnold@novell.com
|
||||
- Update to Xen 3.2.1 RC1 changeset 16820.
|
||||
* Thu Mar 20 2008 coolo@suse.de
|
||||
- 3.1.0 is unfortunately not enough to obsolete 3.1.0_<something>
|
||||
in rpm terms
|
||||
@ -905,12 +903,12 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Wed Mar 12 2008 jfehlig@novell.com
|
||||
- Increased dom0-min-mem value to 512Mb in xend-config.sxp
|
||||
bnc#370007
|
||||
* Tue Mar 11 2008 jfehlig@novell.com
|
||||
* Mon Mar 10 2008 jfehlig@novell.com
|
||||
- Fixed initialization of default VM config values when creating
|
||||
VMs through Xen API. bnc#368273
|
||||
* Mon Mar 10 2008 jfehlig@novell.com
|
||||
- Removed unused/untested xend-relocation script.
|
||||
* Sat Mar 08 2008 jfehlig@novell.com
|
||||
* Fri Mar 07 2008 jfehlig@novell.com
|
||||
- Set device model when creating pvfb consoles via XenAPI.
|
||||
bnc#367851
|
||||
* Fri Mar 07 2008 jfehlig@novell.com
|
||||
@ -921,7 +919,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Fri Feb 29 2008 plc@novell.com
|
||||
- Send UNIT_ATTENTION when CD drive has newly inserted media and
|
||||
becomes ready. bnc#365386
|
||||
* Fri Feb 29 2008 jfehlig@novell.com
|
||||
* Thu Feb 28 2008 jfehlig@novell.com
|
||||
- Updated block-iscsi script and xen-domUloader patch, bnc #365385
|
||||
* Thu Feb 28 2008 carnold@novell.com
|
||||
- Add support for Intel EPT / VPID.
|
||||
@ -937,7 +935,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Tranlate colors from 32 bit to 16 bit when viewing a 32 bit PV
|
||||
VM from a 16 bit client. bnc#351470
|
||||
Also includes upstream mouse queue patch.
|
||||
* Sat Feb 23 2008 jfehlig@novell.com
|
||||
* Fri Feb 22 2008 jfehlig@novell.com
|
||||
- Added PAM configuration files for remote authentication via
|
||||
Xen API. bnc #353464
|
||||
* Tue Feb 19 2008 carnold@novell.com
|
||||
@ -948,7 +946,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Thu Feb 14 2008 carnold@novell.com
|
||||
- Added upstream changesets that fix various bugs.
|
||||
16859 16929 16930 16945 16947 16962 16976 16980 16995 16998 17036
|
||||
* Thu Feb 14 2008 jfehlig@novell.com
|
||||
* Wed Feb 13 2008 jfehlig@novell.com
|
||||
- Updated network-multinet
|
||||
- Simplify bridge creation
|
||||
- Create traditional bridge and hostonly networks by default
|
||||
@ -959,12 +957,12 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Mon Feb 04 2008 plc@novell.com
|
||||
- Replaced xen-blktab-subtype-strip.patch with official upstream
|
||||
changeset for bnc#353065.
|
||||
* Sat Feb 02 2008 carnold@novell.com
|
||||
* Fri Feb 01 2008 carnold@novell.com
|
||||
- Update to xen 3.2 FCS. Changeset 16718
|
||||
- Merge xen-tools and xen-tools-ioemu into xen-tools.
|
||||
* Thu Dec 20 2007 carnold@novell.com
|
||||
* Wed Dec 19 2007 carnold@novell.com
|
||||
- Update to xen 3.2 RC2. Changeset 16646
|
||||
* Fri Dec 14 2007 carnold@novell.com
|
||||
* Thu Dec 13 2007 carnold@novell.com
|
||||
- Added agent support for HP Proliant hardware.
|
||||
* Wed Dec 05 2007 carnold@novell.com
|
||||
- #338108 - VUL-0: Xen security issues in SLE10
|
||||
@ -979,11 +977,11 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- #334445: xenbaked: Fix security vulnerability CVE-2007-3919.
|
||||
* Thu Nov 01 2007 carnold@novell.com
|
||||
- #310279: Kernel Panic while booting Xen
|
||||
* Wed Oct 03 2007 ccoffing@novell.com
|
||||
* Tue Oct 02 2007 ccoffing@novell.com
|
||||
- #286859: Fix booting from SAN
|
||||
* Thu Sep 13 2007 ccoffing@novell.com
|
||||
- #310338: Fix "No such file or directory" in network-multinet
|
||||
* Thu Sep 13 2007 jfehlig@novell.com
|
||||
* Wed Sep 12 2007 jfehlig@novell.com
|
||||
- #309940: Fix 'xm reboot'
|
||||
- Moved hvm_vnc.diff and xend_mem_leak.diff to 'Upstream patches'
|
||||
section of spec file since both have been accepted upstream now.
|
||||
@ -995,13 +993,13 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- #302106: Update network-multinet
|
||||
* Wed Sep 05 2007 carnold@novell.com
|
||||
- #307458: AMD-V CR8 intercept reduction for HVM windows 64b guests
|
||||
* Thu Aug 30 2007 ccoffing@novell.com
|
||||
* Wed Aug 29 2007 ccoffing@novell.com
|
||||
- Update block-iscsi to match changes to open-iscsi.
|
||||
* Tue Aug 28 2007 carnold@novell.com
|
||||
* Mon Aug 27 2007 carnold@novell.com
|
||||
- #289275 - domu will not reboot if pci= is passed in at boot time.
|
||||
* Fri Aug 24 2007 carnold@novell.com
|
||||
- #297345: Added several upstream patches for hvm migration.
|
||||
* Sat Aug 18 2007 jfehlig@novell.com
|
||||
* Fri Aug 17 2007 jfehlig@novell.com
|
||||
- Added upstream c/s 15128, 15153, 15477, and 15716. These patches
|
||||
provide foundation for bug #238986
|
||||
- Renamed xend_dev_destroy_cleanup.patch to reflect the upstream
|
||||
@ -1009,7 +1007,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
file.
|
||||
* Mon Aug 13 2007 carnold@novell.com
|
||||
- hvm svm: Log into 'xm dmesg' that SVM NPT is enabled.
|
||||
* Sat Aug 11 2007 ccoffing@novell.com
|
||||
* Fri Aug 10 2007 ccoffing@novell.com
|
||||
- Honor RPM_OPT_FLAGS better
|
||||
* Thu Aug 09 2007 ccoffing@novell.com
|
||||
- #298176: Do not enable NX if CPU/BIOS does not support it
|
||||
@ -1058,16 +1056,16 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Fri Jul 06 2007 ccoffing@novell.com
|
||||
- xensource bug #858: Disable strict aliasing for xenstore, to
|
||||
avoid domU hangs.
|
||||
* Wed Jul 04 2007 ccoffing@novell.com
|
||||
* Tue Jul 03 2007 ccoffing@novell.com
|
||||
- #285929: Bad "xendomains status" output w/ empty XENDOMAINS_SAVE
|
||||
* Tue Jul 03 2007 carnold@novell.com
|
||||
- Changes necessary to support EDD and EDID from Jan.
|
||||
* Thu Jun 21 2007 jfehlig@novell.com
|
||||
* Wed Jun 20 2007 jfehlig@novell.com
|
||||
- Added upstream changesets 15273, 15274, and 15275.
|
||||
- Removed the modified 15157 patch. This patch was actually a
|
||||
consolidation of changesets 15157 and 15250. These changesets
|
||||
are now discrete patches to ease subsequent updates of Xen.
|
||||
* Thu Jun 21 2007 ccoffing@novell.com
|
||||
* Wed Jun 20 2007 ccoffing@novell.com
|
||||
- Split vm-install off as a separate package.
|
||||
- Update man page.
|
||||
- Update Ron Terry's network-multi script.
|
||||
@ -1095,7 +1093,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
'xm block-detach dom dev_name'. Modified version fixes bug 262805
|
||||
without introducing regression. Patch fixing c/s 15157 has been
|
||||
submitted upstream.
|
||||
* Thu May 24 2007 ccoffing@novell.com
|
||||
* Wed May 23 2007 ccoffing@novell.com
|
||||
- Drop xen-messages.diff; Xen now supports HVM save/restore.
|
||||
* Tue May 22 2007 ccoffing@novell.com
|
||||
- Update Ron Terry's network-multi script.
|
||||
@ -1109,7 +1107,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
+ #259994: disk size would reset when editing path
|
||||
+ #247073: handle autoyast URLs
|
||||
+ #254311: physical disks were showing as 0.0 GB
|
||||
* Thu May 17 2007 ccoffing@novell.com
|
||||
* Wed May 16 2007 ccoffing@novell.com
|
||||
- Properly quote pathnames in domUloader to fix EVMS. (#274484)
|
||||
- Allow user to specify a default 'keymap' in xend's configuration
|
||||
file. (#258818 and 241149)
|
||||
@ -1133,10 +1131,10 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Added security fixes for problems found Travis Orandy (#270621)
|
||||
CVE-2007-1320, CVE-2007-1321, CVE-2007-1322, CVE-2007-1323,
|
||||
CVE-2007-1366
|
||||
* Fri May 04 2007 ccoffing@novell.com
|
||||
* Thu May 03 2007 ccoffing@novell.com
|
||||
- Update to xen-3.1-testing rc7 (changeset 15020).
|
||||
- Fix identification of virt-manager windows. (#264162)
|
||||
* Wed May 02 2007 jfehlig@novell.com
|
||||
* Tue May 01 2007 jfehlig@novell.com
|
||||
- Integrated domUloader with 3.0.5. Updated xen-domUloader.diff.
|
||||
* Mon Apr 30 2007 ccoffing@novell.com
|
||||
- Update to xen-3.0.5-testing rc4 (changeset 14993).
|
||||
@ -1152,7 +1150,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Fri Apr 20 2007 ccoffing@novell.com
|
||||
- Updated README. (#250705)
|
||||
- Fix vm-install's detection of PV RHEL4/5 kernels. (#260983)
|
||||
* Fri Apr 20 2007 ccoffing@novell.com
|
||||
* Thu Apr 19 2007 ccoffing@novell.com
|
||||
- Place xenstore-* tools in new xen-tools-domU package, to be used
|
||||
by suse_register. (#249157)
|
||||
* Tue Apr 17 2007 ccoffing@novell.com
|
||||
@ -1163,18 +1161,18 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
responsive and less likely to time out or lock up. Partial fix
|
||||
for #237406.
|
||||
- If disk is read-only, pass -r to losetup. (#264158)
|
||||
* Fri Apr 06 2007 ccoffing@novell.com
|
||||
* Thu Apr 05 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
|
||||
* Wed Apr 04 2007 ccoffing@novell.com
|
||||
* Tue Apr 03 2007 ccoffing@novell.com
|
||||
- Could not do simultaneous installs via virt-manager. (#259917)
|
||||
* Tue Apr 03 2007 jfehlig@novell.com
|
||||
* Mon Apr 02 2007 jfehlig@novell.com
|
||||
- Fix improper handling of guest kernel arguments in domUloader.
|
||||
Bug #259810
|
||||
* Tue Apr 03 2007 ccoffing@novell.com
|
||||
* Mon Apr 02 2007 ccoffing@novell.com
|
||||
- Update vm-install:
|
||||
+ #259420: refresh available memory more often
|
||||
+ #259972: cannot enter autoyast url
|
||||
@ -1197,11 +1195,11 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Mon Mar 19 2007 ccoffing@novell.com
|
||||
- Update to xen-unstable changeset 14444.
|
||||
- Include Ron Terry's network-multi_bridge
|
||||
* Sat Mar 10 2007 jfehlig@novell.com
|
||||
* Fri Mar 09 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
|
||||
* Sat Mar 10 2007 carnold@novell.com
|
||||
* Fri Mar 09 2007 carnold@novell.com
|
||||
- Added AMD support for Vista 64 installation and boot.
|
||||
* Fri Mar 09 2007 ccoffing@novell.com
|
||||
- Make vm-install support NFS for SUSE (#241251).
|
||||
@ -1218,7 +1216,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
PV installation disk)
|
||||
+ #252437: Allow virtual CDROM to be added (via ISO) even if
|
||||
physical CDROM doesn't exist
|
||||
* Thu Mar 08 2007 jfehlig@novell.com
|
||||
* Wed Mar 07 2007 jfehlig@novell.com
|
||||
- Fixed bug #252396
|
||||
+ Added upstream c/s 14021. Applies to Xen API c-bindings -
|
||||
low risk.
|
||||
@ -1227,10 +1225,10 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Wed Mar 07 2007 jfehlig@novell.com
|
||||
- Added upstream patch that fixes save/restore on 32pae guests.
|
||||
Upstream c/s 14150. Bug #237859
|
||||
* Wed Mar 07 2007 carnold@novell.com
|
||||
* Tue Mar 06 2007 carnold@novell.com
|
||||
- Remove a debug message which is spamming the logs during live
|
||||
migration.
|
||||
* Tue Mar 06 2007 jfehlig@novell.com
|
||||
* Mon Mar 05 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
|
||||
@ -1238,7 +1236,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
purpose of patch.
|
||||
* Mon Mar 05 2007 ccoffing@novell.com
|
||||
- Default apic=0 for SLES 8 and 9, for performance. (#228133)
|
||||
* Sat Mar 03 2007 carnold@novell.com
|
||||
* Fri Mar 02 2007 carnold@novell.com
|
||||
- Xen kernel crashes at domain creation time. Bug #248183.
|
||||
Fix mouse for win2k hvm guest.
|
||||
* Fri Mar 02 2007 jfehlig@novell.com
|
||||
@ -1253,15 +1251,15 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Fri Mar 02 2007 jfehlig@novell.com
|
||||
- Add check for HVM domain in domain_save. The check is
|
||||
performed in domain_suspend and should be included here as well.
|
||||
* Fri Mar 02 2007 ccoffing@novell.com
|
||||
* Thu Mar 01 2007 ccoffing@novell.com
|
||||
- Update vm-install:
|
||||
+ #250201: for linux PVFB, pass xencons=tty if graphics=none
|
||||
+ #250016: honor non-sparse flag
|
||||
* Fri Mar 02 2007 jfehlig@novell.com
|
||||
* Thu Mar 01 2007 jfehlig@novell.com
|
||||
- Fix exception caused by incorrect method name in xen-messages.diff.
|
||||
This is one of perhaps several problems with save/restore,
|
||||
bug #237859
|
||||
* Fri Mar 02 2007 dpmerrill@novell.com
|
||||
* Thu Mar 01 2007 dpmerrill@novell.com
|
||||
- Add xen-ioemu-hvm-pv-support.diff
|
||||
This patch allows for shutting down the IDE drive.
|
||||
* Thu Mar 01 2007 jfehlig@novell.com
|
||||
@ -1269,7 +1267,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
+ Updated domUloader to accept '--args' parameter. The args
|
||||
provided as an option to --args are simply added to the sexpr
|
||||
returned by domUloader. pygrub has similar behavior.
|
||||
* Thu Mar 01 2007 ccoffing@novell.com
|
||||
* Wed Feb 28 2007 ccoffing@novell.com
|
||||
- Update vm-install:
|
||||
+ #249013, #228113: default to realtek instead of pcnet
|
||||
+ #249124: write os-type to config files
|
||||
@ -1278,7 +1276,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
model exceptions
|
||||
+ Add "Add" button to Operating System Installation page, based
|
||||
on usability feedback
|
||||
* Thu Mar 01 2007 jfehlig@novell.com
|
||||
* Wed Feb 28 2007 jfehlig@novell.com
|
||||
- Added changeset 13786 and 14022 from xen-unstable. These
|
||||
changesets affect the Xen API C bindings only and are low risk.
|
||||
This is a continuation of support for FATE feature 110320. ECO
|
||||
@ -1288,7 +1286,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
+ #244772: display error message in GUI if xen isn't running
|
||||
+ #246049: better error message when OS==SUSE but ISO looks wrong
|
||||
+ Fix printing of jobid when run with --background
|
||||
* Thu Feb 22 2007 ccoffing@novell.com
|
||||
* Wed Feb 21 2007 ccoffing@novell.com
|
||||
- Don't allow "xm create" of running VM. (#245253)
|
||||
- Update vm-install:
|
||||
+ Fix inability to use already-extracted SUSE kernel/initrds
|
||||
@ -1300,7 +1298,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Tue Feb 20 2007 ccoffing@novell.com
|
||||
- Fix typo in xendomains. (#246107)
|
||||
- Fix order in which vm-install processes command-line arguments.
|
||||
* Sat Feb 17 2007 jfehlig@novell.com
|
||||
* Fri Feb 16 2007 jfehlig@novell.com
|
||||
- Added changeset 13775 from xen-unstable. This patch fixes
|
||||
the last known issue with the Xen API patchset backported
|
||||
from xen-unstable.
|
||||
@ -1308,7 +1306,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Added c/s 13226 from xen-unstable. It affects Xen API only.
|
||||
- Added patch to remove ':disk' and 'tap:qcow' from stored domain
|
||||
config. Fixes bug #237414 and helps with bug #242953.
|
||||
* Fri Feb 16 2007 jfehlig@novell.com
|
||||
* Thu Feb 15 2007 jfehlig@novell.com
|
||||
- Backported Xen API functionality from xen-unstable to support
|
||||
hosting CIM providers. This functionality is required for
|
||||
FATE feature 110320. ECO has been approved.
|
||||
@ -1323,7 +1321,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
Dom0. (#244055) Patches 13630-domctl.patch,
|
||||
13903-domctl.patch and 13908-domctl.patch
|
||||
- Updated patch pae-guest-linear-pgtable.patch
|
||||
* Tue Feb 13 2007 ccoffing@novell.com
|
||||
* Mon Feb 12 2007 ccoffing@novell.com
|
||||
- Load xenblk at dom0 start to support bootstrapping from
|
||||
non-loopback devices. (#242963, #186696)
|
||||
- Update vm-install:
|
||||
@ -1333,9 +1331,9 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
+ #240984: properly detach vncviewer
|
||||
+ #240387: default to absolute coordinate mouse for Windows
|
||||
- Drop logging patch. (#245150)
|
||||
* Mon Feb 12 2007 ro@suse.de
|
||||
* Sun Feb 11 2007 ro@suse.de
|
||||
- remove -fstack-protector from RPM_OPT_FLAGS for now
|
||||
* Fri Feb 09 2007 ccoffing@novell.com
|
||||
* Thu Feb 08 2007 ccoffing@novell.com
|
||||
- Update vm-install:
|
||||
+ Allow specifing disk (and disk size) vs. cdrom from CLI
|
||||
+ Add missing -M/--max-memory parameter to CLI to match GUI
|
||||
@ -1392,12 +1390,12 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Wed Jan 17 2007 ccoffing@novell.com
|
||||
- Update xen-vm-install (more disk UI work; support NetWare
|
||||
response files and licenses)
|
||||
* Wed Jan 17 2007 ccoffing@novell.com
|
||||
* Tue Jan 16 2007 ccoffing@novell.com
|
||||
- Major fixes to xen-vm-install (adding disks in the UI now works,
|
||||
and fixed several CLI exceptions)
|
||||
- Microcode does not need to be exactly 2048 bytes (changeset
|
||||
13079; Kurt)
|
||||
* Sat Jan 13 2007 ccoffing@novell.com
|
||||
* Fri Jan 12 2007 ccoffing@novell.com
|
||||
- Include script to clone SLES 10 domU, from coolsolutions (fate
|
||||
[#301742])
|
||||
- Updated patches from Gerd and Jan, including PAE > 4 gig fix,
|
||||
@ -1407,7 +1405,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Include xen-unstable patches for HVM save/restore and 32-on-64
|
||||
HVM.
|
||||
- Update to xen-3.0.4-1 (changeset 13132).
|
||||
* Thu Jan 11 2007 ccoffing@novell.com
|
||||
* Wed Jan 10 2007 ccoffing@novell.com
|
||||
- Update xen-vm-install and domUloader to support NetWare.
|
||||
- Include AMD's nested page table patches.
|
||||
* Mon Jan 08 2007 ccoffing@novell.com
|
||||
@ -1438,11 +1436,11 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Update to xen-unstable (changeset 12757).
|
||||
- Enable LIBXENAPI_BINDINGS and XENFB_TOOLS.
|
||||
- Enable unix domain socket for xend; needed by tools.
|
||||
* Wed Dec 06 2006 ccoffing@novell.com
|
||||
* Tue Dec 05 2006 ccoffing@novell.com
|
||||
- Update to xen-unstable (changeset 12734; feature freeze for
|
||||
3.0.4)
|
||||
- Make /etc/xen mode 0700 to protect vnc passwords.
|
||||
* Tue Nov 28 2006 ccoffing@novell.com
|
||||
* Mon Nov 27 2006 ccoffing@novell.com
|
||||
- Fix how bootloader is called by the xend during restarts.
|
||||
(#223850)
|
||||
* Wed Nov 22 2006 ccoffing@novell.com
|
||||
@ -1456,7 +1454,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Fix some problems in the xen-hvm-default-bridge patch. (#219092)
|
||||
- xmlrpc isn't 64-bit clean, causing xend to get exceptions when
|
||||
PFN is > 2 GB. (#220418)
|
||||
* Tue Nov 14 2006 kallan@novell.com
|
||||
* Mon Nov 13 2006 kallan@novell.com
|
||||
- Backport changesets 11847, 11888, 1189[6-9], 119[00-18], 11974,
|
||||
1203[0-2], and 12205 from xen-unstable so that the PV drivers
|
||||
can compile on older kernels such as sles9 and rhel4
|
||||
@ -1479,7 +1477,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Tue Oct 31 2006 ccoffing@novell.com
|
||||
- Backport xen-unstable changesets 1184[1-3] to address SVM
|
||||
interrupt injection issues. Replaces earlier (broken) patches.
|
||||
* Tue Oct 31 2006 ccoffing@novell.com
|
||||
* Mon Oct 30 2006 ccoffing@novell.com
|
||||
- /var/lib/xen/images should not be world readable. (#214638)
|
||||
- Update to xen-3.0.3-0 (changeset 11774; no code changes).
|
||||
* Mon Oct 16 2006 ccoffing@novell.com
|
||||
@ -1520,7 +1518,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Build debug version of xen-pae.
|
||||
* Mon Sep 25 2006 ccoffing@novell.com
|
||||
- Update to xen-unstable changeset 11616.
|
||||
* Wed Sep 13 2006 ccoffing@novell.com
|
||||
* Tue Sep 12 2006 ccoffing@novell.com
|
||||
- Update check_python script to identify Python 2.5 RCs as valid.
|
||||
* Mon Sep 11 2006 ccoffing@novell.com
|
||||
- Update to xen-unstable changeset 11440.
|
||||
@ -1528,17 +1526,17 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
(#204758)
|
||||
- Include Jan's updated patch for #192150 (to preserve register
|
||||
context when doing IO).
|
||||
* Wed Sep 06 2006 ccoffing@novell.com
|
||||
* Tue Sep 05 2006 ccoffing@novell.com
|
||||
- Update block-nbd and xmexample.nbd, and add block-iscsi and
|
||||
xmexample.iscsi (from Kurt).
|
||||
* Thu Aug 31 2006 ccoffing@novell.com
|
||||
- Automatically create/destroy virtual frame buffer viewer. Add
|
||||
"sdl=1" to config file of a paravirtualized VM to get the viewer.
|
||||
- Log files have moved to /var/log/xen.
|
||||
* Wed Aug 30 2006 ccoffing@novell.com
|
||||
* Tue Aug 29 2006 ccoffing@novell.com
|
||||
- xendomains does not actually save domains. (#201349)
|
||||
- Update to xen-unstable changeset 11299.
|
||||
* Tue Aug 29 2006 ccoffing@novell.com
|
||||
* Mon Aug 28 2006 ccoffing@novell.com
|
||||
- Fix incorrect path on x86_64 for vncfb and sdlfb.
|
||||
* Thu Aug 17 2006 ccoffing@novell.com
|
||||
- Improve xendomains init script, to handle unset sysconfig vars.
|
||||
@ -1547,7 +1545,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Wed Aug 16 2006 ccoffing@novell.com
|
||||
- Update to xen-unstable changeset 11134.
|
||||
- Drop xen-reverse-10064.diff now that kernel is updated.
|
||||
* Wed Aug 09 2006 ccoffing@novell.com
|
||||
* Tue Aug 08 2006 ccoffing@novell.com
|
||||
- Re-enabled patch for #184175.
|
||||
- Update to xen-unstable changeset 10986.
|
||||
- Include Jan's patch to preserve register context when doing
|
||||
@ -1574,13 +1572,13 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Added for loop to retry the losetup -d in /etc/xen/scripts/block.
|
||||
It is possible for the losetup -d to fail if another process is
|
||||
examining the loopback devices e.g. losetup -a. (#151105)
|
||||
* Thu Jul 13 2006 ccoffing@novell.com
|
||||
* Wed Jul 12 2006 ccoffing@novell.com
|
||||
- Corrected and updated README.
|
||||
* Mon Jul 10 2006 ccoffing@novell.com
|
||||
- Add Jeff Mahoney's block-sync.diff, to give control of
|
||||
"losetup -y" to the user (and potentially yast). Defaults to
|
||||
old async behavior. (#190869)
|
||||
* Fri Jul 07 2006 ccoffing@novell.com
|
||||
* Thu Jul 06 2006 ccoffing@novell.com
|
||||
- Update to xen-unstable tree. Revert changeset 10064, to maintain
|
||||
backwards compatibility with SLES 10.
|
||||
* Wed Jul 05 2006 ccoffing@novell.com
|
||||
@ -1608,7 +1606,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Fri Jun 23 2006 kallan@novell.com
|
||||
- Updated xen-bonding.diff to enable bonding again after the latest
|
||||
patches to network-bridge etc. (#161888)
|
||||
* Thu Jun 22 2006 ccoffing@novell.com
|
||||
* Wed Jun 21 2006 ccoffing@novell.com
|
||||
- Clean up the useless "Nothing to flush" messages, from 'ip addr
|
||||
flush', in /var/log/xen-hotplug.log
|
||||
- Fix race condition in domUloader.py, when another process did
|
||||
@ -1821,18 +1819,18 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Handle memory failure when staring fully virtualized
|
||||
guests to prevent reboot of the box (AMD) or
|
||||
hanging the box (VT) (#149179).
|
||||
* Wed May 10 2006 ccoffing@novell.com
|
||||
* Tue May 09 2006 ccoffing@novell.com
|
||||
- Include select patches from xen-3.0-testing:
|
||||
+ 9665: Fix pciif parsing for compatibility variable.
|
||||
+ 9666: Fix HVM hang; was broken due to previous "hda lost
|
||||
interrupt" patch. (#169146)
|
||||
+ 9667: Do not set GP fault in VMCS for VMX (no bug#; from Intel)
|
||||
* Fri May 05 2006 cgriffin@novell.com
|
||||
* Thu May 04 2006 cgriffin@novell.com
|
||||
- Update xen-3.0-testing tree, changeset 9664:
|
||||
+ Changesets 9663 and 9664 fix AMD fully virtualized
|
||||
guests causing the system to reboot when
|
||||
first starting up. (#169855)
|
||||
* Fri May 05 2006 cgriffin@novell.com
|
||||
* Thu May 04 2006 cgriffin@novell.com
|
||||
- With a Xen domain set up with a loop-mountable file as rootfs,
|
||||
the "xm start " invocation fails. The cause is a bug
|
||||
domUloader.py (#172586)
|
||||
@ -1864,7 +1862,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
+ Fix reboot on large SMP machines (IBM, no bug #).
|
||||
- Integrate Jan's patches:
|
||||
+ Spurious interrupt roundup (#152892).
|
||||
* Tue Apr 25 2006 ccoffing@novell.com
|
||||
* Mon Apr 24 2006 ccoffing@novell.com
|
||||
- Integrate Jan's patches:
|
||||
+ FXSR patch (#135677).
|
||||
+ APIC option patch (work-around #150114).
|
||||
@ -1898,7 +1896,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Wed Apr 19 2006 agruen@suse.de
|
||||
- Create /boot symlinks in the %%install section instead of in
|
||||
%%post so that they will end up in the package file list.
|
||||
* Wed Apr 19 2006 ccoffing@novell.com
|
||||
* Tue Apr 18 2006 ccoffing@novell.com
|
||||
- Add /etc/xen/vm to vm config file search path (#167208).
|
||||
* Fri Apr 14 2006 kallan@novell.com
|
||||
- Add support for bonding in network-bridge. (#161678).
|
||||
@ -1915,7 +1913,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
+ Fixes xmlrpc issues.
|
||||
+ Fixes several emulated instructions for HVM.
|
||||
+ Fixes for x86_64 inline assembly.
|
||||
* Wed Apr 12 2006 ccoffing@novell.com
|
||||
* Tue Apr 11 2006 ccoffing@novell.com
|
||||
- Fix "jitter" and race in dom0's memory target calculation, which
|
||||
could cause auto-ballooning to fail (#164714).
|
||||
* Tue Apr 11 2006 brogers@novell.com
|
||||
@ -1941,7 +1939,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Fix default localtime for full (Bruce Rogers).
|
||||
- Fix path in mk-xen-resue-img.sh (#163622).
|
||||
- Update README (pathnames, yast2-vm descriptions, terminology).
|
||||
* Tue Apr 04 2006 garloff@suse.de
|
||||
* Mon Apr 03 2006 garloff@suse.de
|
||||
- init script: Test for control_d in capabilities to determine dom0
|
||||
rather than privcmd.
|
||||
- init script: Try loading netloop and backend modules.
|
||||
@ -1960,7 +1958,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Correctly default XAUTHORITY if it is not set. This allows the
|
||||
GUI to come up for fully virtualized guests (was especially
|
||||
problematic when VM was started from YaST). (#142472)
|
||||
* Thu Mar 30 2006 ccoffing@novell.com
|
||||
* Wed Mar 29 2006 ccoffing@novell.com
|
||||
- Fixed reversed "Do I have enough memory?" test when creating
|
||||
new VMs (#156448).
|
||||
* Tue Mar 28 2006 ccoffing@novell.com
|
||||
@ -1985,7 +1983,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Removed the intermediate sym-link between xen.gz and
|
||||
xen-<version>-<release>.gz. Grub 0.97 XFS can not handle a
|
||||
double indirect to a file. (#151792)
|
||||
* Tue Mar 14 2006 garloff@suse.de
|
||||
* Mon Mar 13 2006 garloff@suse.de
|
||||
- Update README.SuSE: Document limits (mem, cpu hotplug, max_loop),
|
||||
more network troubleshooting, update security info.
|
||||
- Be more tolerant against errors in ifdown/ifup to better coexist
|
||||
@ -2016,7 +2014,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Fix build of hvmloader and vmxassist by removing external
|
||||
CFLAGS (XS changeset #9110).
|
||||
- Fix build by forcing --prefix during installation of *.py.
|
||||
* Thu Mar 02 2006 ccoffing@novell.com
|
||||
* Wed Mar 01 2006 ccoffing@novell.com
|
||||
- Update to hg 9029 (xen-unstable tree). Adds support for HVM on
|
||||
64 bit hardware.
|
||||
- Update vncmouse diff to 20060301 from Intel; compensates for lack
|
||||
@ -2039,7 +2037,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Remove unnecessary x86_64 patch.
|
||||
- Fix auto-ballooning of dom0 memory for HVM domUs (XenSource bug
|
||||
521).
|
||||
* Wed Feb 22 2006 ccoffing@novell.com
|
||||
* Tue Feb 21 2006 ccoffing@novell.com
|
||||
- Update to hg 8920 (xen-unstable tree). Fixes instruction decode
|
||||
for fully virtualized guests, fixing booting from CDs.
|
||||
- Integrate 3 patches from Intel, to improve VNC performance.
|
||||
@ -2051,7 +2049,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Update to hg 8870 (xen-unstable tree). More HVM fixes.
|
||||
- Remove duplicate balloon.free call.
|
||||
- Add patch from Intel to fix dom0 crash on 64 bit SMP HVM.
|
||||
* Fri Feb 17 2006 carnold@novell.com
|
||||
* Thu Feb 16 2006 carnold@novell.com
|
||||
- Update to hg 8858 (xen-unstable tree).
|
||||
* Wed Feb 15 2006 ccoffing@novell.com
|
||||
- Update to hg 8857 (xen-unstable tree). Syncs hypervisor core
|
||||
@ -2091,7 +2089,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Correct return values and improve messages of init scripts.
|
||||
* Fri Jan 20 2006 ccoffing@novell.com
|
||||
- Use domUloader instead of pygrub.
|
||||
* Fri Jan 20 2006 carnold@novell.com
|
||||
* Thu Jan 19 2006 carnold@novell.com
|
||||
- Build based on the xen-unstable.hg 8628
|
||||
* Wed Jan 18 2006 carnold@novell.com
|
||||
- Update to hg 8646 xen-unstable-hvm.hg tree.
|
||||
@ -2099,7 +2097,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Allow version string "XEN_VER=3.0" instead of just
|
||||
"XEN_VER=xen-3.0" for backwards compatibility.
|
||||
- Correctly set changeset in compile.h.
|
||||
* Fri Jan 13 2006 carnold@novell.com
|
||||
* Thu Jan 12 2006 carnold@novell.com
|
||||
- Added two patches from AMD that apply to the 8513 changeset.
|
||||
* Thu Jan 12 2006 kukuk@suse.de
|
||||
- Add libreiserfs-devel to nfb.
|
||||
@ -2115,7 +2113,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Fix gcc 4.1 warnings.
|
||||
* Wed Dec 07 2005 ccoffing@novell.com
|
||||
- Update to hg 8241 (xen-3.0-testing).
|
||||
* Tue Nov 29 2005 ccoffing@novell.com
|
||||
* Mon Nov 28 2005 ccoffing@novell.com
|
||||
- Update to hg 8073.
|
||||
- Rationalize command names (eg, setsize -> xentrace-setsize).
|
||||
- Fix gcc 4.1 warnings.
|
||||
@ -2125,7 +2123,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Include a few simple, obvious fixes from upstream.
|
||||
- Build xm-test package.
|
||||
- Update udev scripts.
|
||||
* Tue Nov 15 2005 ccoffing@novell.com
|
||||
* Mon Nov 14 2005 ccoffing@novell.com
|
||||
- Includes upstream fixes to fix i586 save/restore.
|
||||
* Thu Nov 10 2005 ccoffing@novell.com
|
||||
- Include a few simple, obvious fixes: 7609, 7618, 7636, 7689,
|
||||
@ -2149,7 +2147,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
configurable timeout for the commands. Make xendomains status
|
||||
report something useful.
|
||||
- Make xendomains script comaptible to non-SUSE distros.
|
||||
* Tue Oct 18 2005 garloff@suse.de
|
||||
* Mon Oct 17 2005 garloff@suse.de
|
||||
- Update to hg 7398.
|
||||
* Mon Oct 17 2005 garloff@suse.de
|
||||
- Create useful xendomains init script and sysconfig file.
|
||||
@ -2182,15 +2180,15 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
* Sat Sep 10 2005 garloff@suse.de
|
||||
- Update to hg 6715.
|
||||
- Fix network-bridge down.
|
||||
* Thu Sep 08 2005 garloff@suse.de
|
||||
- Build PAE version along non-PAE version of Hypervisor.
|
||||
* Wed Sep 07 2005 garloff@suse.de
|
||||
- Build PAE version along non-PAE version of Hypervisor.
|
||||
* Tue Sep 06 2005 garloff@suse.de
|
||||
- Try to fix network bridge down issue.
|
||||
- Document netowrking and firewalling caveats in README.SUSE.
|
||||
- Enable PAE.
|
||||
* Tue Sep 06 2005 garloff@suse.de
|
||||
- Update to hg 6644.
|
||||
* Mon Sep 05 2005 garloff@suse.de
|
||||
* Sun Sep 04 2005 garloff@suse.de
|
||||
- Update to hg 6610.
|
||||
- Rename default name of xen-br0 to xenbr0.
|
||||
- Fix pygrub installation.
|
||||
@ -2213,12 +2211,12 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Include linux-public headers in xen-devel package.
|
||||
* Sun Aug 21 2005 garloff@suse.de
|
||||
- Update to hg 6305.
|
||||
* Sun Aug 21 2005 garloff@suse.de
|
||||
* Sat Aug 20 2005 garloff@suse.de
|
||||
- Update to hg 6299.
|
||||
- Enable VNC support (depending on LibVNCServer).
|
||||
* Sun Aug 21 2005 garloff@suse.de
|
||||
- Split off xen-tools-ioemu for supporting unmodified guests.
|
||||
* Sat Aug 20 2005 garloff@suse.de
|
||||
- Split off xen-tools-ioemu for supporting unmodified guests.
|
||||
* Fri Aug 19 2005 garloff@suse.de
|
||||
- Enable pygrub (at the cost of depending on e2fsprogs-devel)
|
||||
- Enable VMX ioemu SDL support (at the cost of many dependencies)
|
||||
* Fri Aug 19 2005 garloff@suse.de
|
||||
@ -2246,15 +2244,15 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Fix version-check in NetWare loader (0x336ec577 -> 0x326ec578).
|
||||
* Fri Jun 17 2005 ccoffing@novell.com
|
||||
- Backport NetWare-friendly loader from Xen 3.0.
|
||||
* Fri Jun 17 2005 ccoffing@novell.com
|
||||
* Thu Jun 16 2005 ccoffing@novell.com
|
||||
- Destroy domains that failed to be fully created.
|
||||
* Fri Jun 10 2005 garloff@suse.de
|
||||
- Update to latest 2.0-testing snapshot.
|
||||
- Use RPM version and release no as xen version.
|
||||
* Wed Jun 08 2005 garloff@suse.de
|
||||
* Tue Jun 07 2005 garloff@suse.de
|
||||
- Update mk-xen-rescue-img.sh script: Handle SLES9 better.
|
||||
- Export PYTHONOPTIMIZE in xend start script.
|
||||
* Tue Jun 07 2005 garloff@suse.de
|
||||
* Mon Jun 06 2005 garloff@suse.de
|
||||
- Merge _perform_err fixes.
|
||||
* Mon May 23 2005 ccoffing@novell.com
|
||||
- update to 2.0.6
|
||||
@ -2262,7 +2260,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- More gcc4 and binutils related fixes.
|
||||
* Wed Apr 13 2005 garloff@suse.de
|
||||
- Build fixes for gcc4.
|
||||
* Mon Apr 04 2005 garloff@suse.de
|
||||
* Sun Apr 03 2005 garloff@suse.de
|
||||
- Update xen: Various fixes (scheduling, memset, domain crash
|
||||
handling) and enhancements (bg page scrubbing).
|
||||
* Thu Mar 24 2005 garloff@suse.de
|
||||
@ -2276,7 +2274,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Require ports < 1024 to allow controlling VMs.
|
||||
* Mon Mar 21 2005 garloff@suse.de
|
||||
- Update xen.
|
||||
* Thu Mar 17 2005 garloff@suse.de
|
||||
* Wed Mar 16 2005 garloff@suse.de
|
||||
- Update xen.
|
||||
- Add /var/lib/xen/xen-db/ subdirs.
|
||||
* Sun Mar 13 2005 garloff@suse.de
|
||||
@ -2304,16 +2302,16 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Add bridge-utils dependency.
|
||||
- Update config file and README.
|
||||
- Activate xend init script on installation.
|
||||
* Thu Feb 10 2005 ro@suse.de
|
||||
* Wed Feb 09 2005 ro@suse.de
|
||||
- remove te_etex and te_pdf from neededforbuild.
|
||||
* Thu Feb 10 2005 garloff@suse.de
|
||||
* Wed Feb 09 2005 garloff@suse.de
|
||||
- Update README about IDE dma.
|
||||
- Default to dhcp.
|
||||
* Wed Feb 09 2005 garloff@suse.de
|
||||
- Update to xen post-2.0.4.
|
||||
- Little bugfix for xen rescue install script.
|
||||
- Update README.SUSE: Better explanation of root FS creation.
|
||||
* Mon Jan 24 2005 garloff@suse.de
|
||||
* Sun Jan 23 2005 garloff@suse.de
|
||||
- Change some defaults to be more secure (xend only binds to
|
||||
localhost, ip spoof protection on).
|
||||
- Avoid ipv6 issue with xend network script.
|
||||
@ -2323,7 +2321,7 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||
- Put boot.local script in root img to parse ip boot par.
|
||||
* Thu Jan 20 2005 garloff@suse.de
|
||||
- Update to newer snapshot.
|
||||
* Thu Jan 20 2005 garloff@suse.de
|
||||
* Wed Jan 19 2005 garloff@suse.de
|
||||
- Update to xen-2.0-unstable (post 2.0.3).
|
||||
* Thu Dec 09 2004 garloff@suse.de
|
||||
- Initial creation of package xen, xen-doc-*.
|
||||
|
Loading…
Reference in New Issue
Block a user