This commit is contained in:
parent
b52c73e219
commit
28b141bb6f
17
README.SuSE
17
README.SuSE
@ -147,18 +147,21 @@ For a more complete discussion of possible parameters, see the user
|
|||||||
documentation in the xen-doc-* packages.
|
documentation in the xen-doc-* packages.
|
||||||
|
|
||||||
|
|
||||||
Start Scripts
|
Init scripts
|
||||||
-------------
|
------------
|
||||||
Before you can create additional VMs (or use any other xm command) xend must
|
Before you can create additional VMs (or use any other xm command) xend must
|
||||||
be running. This init script is part of the xen-tools package, and it is
|
be running. This init script is part of the xen-tools package, and it is
|
||||||
activated at installation time. You can (de)activate it using insserv. You
|
activated at installation time. You can (de)activate it using insserv. You
|
||||||
can also start it manually with "rcxend start".
|
can also start it manually with "rcxend start".
|
||||||
|
|
||||||
One other relevant startup script is xendomains. This script can be used to
|
The deprecated xendomains script is also shipped, but disabled by default. In
|
||||||
start other VMs when the VM server boots. It also cleanly shuts down the
|
SLES 10 GA (xen 3.0.2) and older, this script allowed VMs to be started and
|
||||||
other VMs when the VM server shuts down. To use this feature, place a
|
stopped automatically when the machine starts and stops. In SLES 10 SP1 (xen
|
||||||
symbolic link in /etc/xen/auto that points to the VM's configuration file.
|
3.0.4) and newer, the proper way to start and stop VMs automatically is to set
|
||||||
Look in /etc/sysconfig/xendomains for relevant settings.
|
the "on_xend_start" and "on_xend_stop" settings in the VMs configuration.
|
||||||
|
(Deprecating xendomains was necessary because xend, not the configuration file
|
||||||
|
in /etc/xen/vm, is now the authoritative source for the VM's settings.)
|
||||||
|
Consult the online documentation for more information.
|
||||||
|
|
||||||
|
|
||||||
Creating a VM with vm-install
|
Creating a VM with vm-install
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
|
||||||
===================================================================
|
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
|
||||||
@@ -1440,10 +1440,10 @@ class XendDomainInfo:
|
|
||||||
raise VmError("HVM guest support is unavailable: is VT/AMD-V "
|
|
||||||
"supported by your CPU and enabled in your "
|
|
||||||
"BIOS?")
|
|
||||||
- # Hack to pre-reserve some memory for HVM setup.
|
|
||||||
- # Needed because Xen allocates 1MB by default immediately.
|
|
||||||
- balloon.free(2*1024) # 2MB should be plenty
|
|
||||||
|
|
||||||
+ # The hypervisor needs some domheap pages to create the VM.
|
|
||||||
+ # Final ballooning for the domain's pages will be done later.
|
|
||||||
+ balloon.free(2 * 1024)
|
|
||||||
self.domid = xc.domain_create(
|
|
||||||
domid = 0,
|
|
||||||
ssidref = security.get_security_info(self.info, 'ssidref'),
|
|
41
block-iscsi
41
block-iscsi
@ -22,13 +22,28 @@ dir=$(dirname "$0")
|
|||||||
# echo "$1"
|
# echo "$1"
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
sess_lun_to_bdev()
|
||||||
|
{
|
||||||
|
unset dev
|
||||||
|
cnt=`ls -d $1/device/target*/*:0:*:$2/block* | wc -l`
|
||||||
|
nm=`ls -d $1/device/target*/*:0:*:$2/block*`
|
||||||
|
for n in $nm; do
|
||||||
|
d=`readlink $n`
|
||||||
|
d=${d##*/}
|
||||||
|
if test -z "$dev"; then dev=$d; else dev="$dev $d"; fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Arguments: IQN name, LUN
|
||||||
find_sdev()
|
find_sdev()
|
||||||
{
|
{
|
||||||
unset dev
|
unset dev
|
||||||
|
lun=${2:-0}
|
||||||
for session in /sys/class/iscsi_session/session*; do
|
for session in /sys/class/iscsi_session/session*; do
|
||||||
|
if ! test -e $session; then return; fi
|
||||||
if test $1 = `cat $session/targetname`; then
|
if test $1 = `cat $session/targetname`; then
|
||||||
dev=`readlink $session/device/target*/*:0:*/block*`
|
sess_lun_to_bdev $session $lun
|
||||||
dev=${dev##*/}
|
echo "fs: $1[$lun] ($cnt) -> $dev" 1>&2
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -38,12 +53,15 @@ find_sdev_rev()
|
|||||||
{
|
{
|
||||||
unset tgt
|
unset tgt
|
||||||
for session in /sys/class/iscsi_session/session*; do
|
for session in /sys/class/iscsi_session/session*; do
|
||||||
dev=`readlink $session/device/target*/*:0:*/block*`
|
if ! test -e $session; then return; fi
|
||||||
dev=${dev##*/}
|
sess_lun_to_bdev $session "*"
|
||||||
if test $dev = $1; then
|
for d in $dev; do
|
||||||
tgt=`cat $session/targetname`
|
if test "$d" = "$1"; then
|
||||||
return
|
tgt=`cat $session/targetname`
|
||||||
fi
|
echo "fsr: $2 -> $tgt ($cnt)" 1>&2
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,14 +73,17 @@ case "$command" in
|
|||||||
# list of targets on node
|
# list of targets on node
|
||||||
par=`xenstore-read $XENBUS_PATH/params` || true
|
par=`xenstore-read $XENBUS_PATH/params` || true
|
||||||
TGTID=$par; TGTID=${TGTID//@/:}
|
TGTID=$par; TGTID=${TGTID//@/:}
|
||||||
|
LUN=${TGTID##*,}; TGTID=${TGTID%,*}
|
||||||
|
if test $LUN = $TGTID; then unset LUN; fi
|
||||||
|
#echo "add $TGTID lun $LUN" 1>&2
|
||||||
while read rec port uuid; do
|
while read rec port uuid; do
|
||||||
if test $uuid = $TGTID; then
|
if test $uuid = $TGTID; then
|
||||||
rec=${rec%]}; rec=${rec#[}
|
rec=${rec%]}; rec=${rec#[}
|
||||||
find_sdev $TGTID
|
find_sdev $TGTID $LUN
|
||||||
if test -z "$dev"; then
|
if test -z "$dev"; then
|
||||||
iscsiadm -m node -r $rec -l || exit 2
|
iscsiadm -m node -r $rec -l || exit 2
|
||||||
usleep 100000
|
usleep 100000
|
||||||
find_sdev $TGTID
|
find_sdev $TGTID $LUN
|
||||||
fi
|
fi
|
||||||
xenstore-write $XENBUS_PATH/node /dev/$dev
|
xenstore-write $XENBUS_PATH/node /dev/$dev
|
||||||
write_dev /dev/$dev
|
write_dev /dev/$dev
|
||||||
|
12
init.xend
12
init.xend
@ -118,18 +118,6 @@ case "$1" in
|
|||||||
rc_reset
|
rc_reset
|
||||||
else
|
else
|
||||||
echo -n "(pid $XEND) "
|
echo -n "(pid $XEND) "
|
||||||
unset sysrq_sent
|
|
||||||
while read LN; do
|
|
||||||
parseln "$LN"
|
|
||||||
[ -z "$id" ] && continue
|
|
||||||
[ "$id" = 0 ] && continue
|
|
||||||
sysrq_sent=1
|
|
||||||
echo -en "\n Warning: Domain $name (ID $id) still up ($state)"
|
|
||||||
# Domains should be closed down by xendomains; anyway, send
|
|
||||||
# SysRq-S to avoid the worst in case domains are not shut down.
|
|
||||||
xm sysrq $id s
|
|
||||||
done < <(xm list | grep -v '^Name *ID')
|
|
||||||
if [ -n "$sysrq_sent" ]; then sleep 1; fi
|
|
||||||
xend stop
|
xend stop
|
||||||
cleanup
|
cleanup
|
||||||
rc_reset
|
rc_reset
|
||||||
|
17
netfront_mac.patch
Normal file
17
netfront_mac.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
Read the mac address from the otherend
|
||||||
|
|
||||||
|
Signed-off-by: ksrinivasan@novell.com
|
||||||
|
|
||||||
|
Index: xen-3.1-testing/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
|
||||||
|
+++ xen-3.1-testing/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c
|
||||||
|
@@ -375,7 +375,7 @@ static int xen_net_read_mac(struct xenbu
|
||||||
|
char *s, *e, *macstr;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
- macstr = s = xenbus_read(XBT_NIL, dev->nodename, "mac", NULL);
|
||||||
|
+ macstr = s = xenbus_read(XBT_NIL, dev->otherend, "mac", NULL);
|
||||||
|
if (IS_ERR(macstr))
|
||||||
|
return PTR_ERR(macstr);
|
||||||
|
|
355
qemu-security-etch1.diff
Normal file
355
qemu-security-etch1.diff
Normal file
@ -0,0 +1,355 @@
|
|||||||
|
Index: xen-3.1-testing/tools/ioemu/block.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/block.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/block.c
|
||||||
|
@@ -465,6 +465,11 @@ int bdrv_write(BlockDriverState *bs, int
|
||||||
|
if (sector_num == 0 && bs->boot_sector_enabled && nb_sectors > 0) {
|
||||||
|
memcpy(bs->boot_sector_data, buf, 512);
|
||||||
|
}
|
||||||
|
+ {
|
||||||
|
+ unsigned int ns = sector_num * 512;
|
||||||
|
+ if (ns < 0)
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
return bs->drv->bdrv_write(bs, sector_num, buf, nb_sectors);
|
||||||
|
}
|
||||||
|
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/cirrus_vga.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/cirrus_vga.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/cirrus_vga.c
|
||||||
|
@@ -220,6 +220,20 @@
|
||||||
|
#define CIRRUS_HOOK_NOT_HANDLED 0
|
||||||
|
#define CIRRUS_HOOK_HANDLED 1
|
||||||
|
|
||||||
|
+#define BLTUNSAFE(s) \
|
||||||
|
+ ( \
|
||||||
|
+ ( /* check dst is within bounds */ \
|
||||||
|
+ (s)->cirrus_blt_height * (s)->cirrus_blt_dstpitch \
|
||||||
|
+ + ((s)->cirrus_blt_dstaddr & (s)->cirrus_addr_mask) > \
|
||||||
|
+ (s)->vram_size \
|
||||||
|
+ ) || \
|
||||||
|
+ ( /* check src is within bounds */ \
|
||||||
|
+ (s)->cirrus_blt_height * (s)->cirrus_blt_srcpitch \
|
||||||
|
+ + ((s)->cirrus_blt_srcaddr & (s)->cirrus_addr_mask) > \
|
||||||
|
+ (s)->vram_size \
|
||||||
|
+ ) \
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
struct CirrusVGAState;
|
||||||
|
typedef void (*cirrus_bitblt_rop_t) (struct CirrusVGAState *s,
|
||||||
|
uint8_t * dst, const uint8_t * src,
|
||||||
|
@@ -598,7 +612,7 @@ static void cirrus_invalidate_region(Cir
|
||||||
|
|
||||||
|
for (y = 0; y < lines; y++) {
|
||||||
|
off_cur = off_begin;
|
||||||
|
- off_cur_end = off_cur + bytesperline;
|
||||||
|
+ off_cur_end = (off_cur + bytesperline) & s->cirrus_addr_mask;
|
||||||
|
off_cur &= TARGET_PAGE_MASK;
|
||||||
|
while (off_cur < off_cur_end) {
|
||||||
|
cpu_physical_memory_set_dirty(s->vram_offset +
|
||||||
|
@@ -614,7 +628,11 @@ static int cirrus_bitblt_common_patternc
|
||||||
|
{
|
||||||
|
uint8_t *dst;
|
||||||
|
|
||||||
|
- dst = s->vram_ptr + s->cirrus_blt_dstaddr;
|
||||||
|
+ dst = s->vram_ptr + (s->cirrus_blt_dstaddr & s->cirrus_addr_mask);
|
||||||
|
+
|
||||||
|
+ if (BLTUNSAFE(s))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
(*s->cirrus_rop) (s, dst, src,
|
||||||
|
s->cirrus_blt_dstpitch, 0,
|
||||||
|
s->cirrus_blt_width, s->cirrus_blt_height);
|
||||||
|
@@ -630,8 +648,11 @@ static int cirrus_bitblt_solidfill(Cirru
|
||||||
|
{
|
||||||
|
cirrus_fill_t rop_func;
|
||||||
|
|
||||||
|
+ if (BLTUNSAFE(s))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
rop_func = cirrus_fill[rop_to_index[blt_rop]][s->cirrus_blt_pixelwidth - 1];
|
||||||
|
- rop_func(s, s->vram_ptr + s->cirrus_blt_dstaddr,
|
||||||
|
+ rop_func(s, s->vram_ptr + (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
|
||||||
|
s->cirrus_blt_dstpitch,
|
||||||
|
s->cirrus_blt_width, s->cirrus_blt_height);
|
||||||
|
cirrus_invalidate_region(s, s->cirrus_blt_dstaddr,
|
||||||
|
@@ -650,8 +671,8 @@ static int cirrus_bitblt_solidfill(Cirru
|
||||||
|
static int cirrus_bitblt_videotovideo_patterncopy(CirrusVGAState * s)
|
||||||
|
{
|
||||||
|
return cirrus_bitblt_common_patterncopy(s,
|
||||||
|
- s->vram_ptr +
|
||||||
|
- (s->cirrus_blt_srcaddr & ~7));
|
||||||
|
+ s->vram_ptr + ((s->cirrus_blt_srcaddr & ~7) &
|
||||||
|
+ s->cirrus_addr_mask));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void cirrus_do_copy(CirrusVGAState *s, int dst, int src, int w, int h)
|
||||||
|
@@ -701,8 +722,10 @@ static void cirrus_do_copy(CirrusVGAStat
|
||||||
|
if (notify)
|
||||||
|
vga_hw_update();
|
||||||
|
|
||||||
|
- (*s->cirrus_rop) (s, s->vram_ptr + s->cirrus_blt_dstaddr,
|
||||||
|
- s->vram_ptr + s->cirrus_blt_srcaddr,
|
||||||
|
+ (*s->cirrus_rop) (s, s->vram_ptr +
|
||||||
|
+ (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
|
||||||
|
+ s->vram_ptr +
|
||||||
|
+ (s->cirrus_blt_srcaddr & s->cirrus_addr_mask),
|
||||||
|
s->cirrus_blt_dstpitch, s->cirrus_blt_srcpitch,
|
||||||
|
s->cirrus_blt_width, s->cirrus_blt_height);
|
||||||
|
|
||||||
|
@@ -728,8 +751,14 @@ static int cirrus_bitblt_videotovideo_co
|
||||||
|
s->cirrus_blt_srcaddr - s->start_addr,
|
||||||
|
s->cirrus_blt_width, s->cirrus_blt_height);
|
||||||
|
} else {
|
||||||
|
- (*s->cirrus_rop) (s, s->vram_ptr + s->cirrus_blt_dstaddr,
|
||||||
|
- s->vram_ptr + s->cirrus_blt_srcaddr,
|
||||||
|
+
|
||||||
|
+ if (BLTUNSAFE(s))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ (*s->cirrus_rop) (s, s->vram_ptr +
|
||||||
|
+ (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
|
||||||
|
+ s->vram_ptr +
|
||||||
|
+ (s->cirrus_blt_srcaddr & s->cirrus_addr_mask),
|
||||||
|
s->cirrus_blt_dstpitch, s->cirrus_blt_srcpitch,
|
||||||
|
s->cirrus_blt_width, s->cirrus_blt_height);
|
||||||
|
|
||||||
|
@@ -761,8 +790,9 @@ static void cirrus_bitblt_cputovideo_nex
|
||||||
|
} else {
|
||||||
|
/* at least one scan line */
|
||||||
|
do {
|
||||||
|
- (*s->cirrus_rop)(s, s->vram_ptr + s->cirrus_blt_dstaddr,
|
||||||
|
- s->cirrus_bltbuf, 0, 0, s->cirrus_blt_width, 1);
|
||||||
|
+ (*s->cirrus_rop)(s, s->vram_ptr +
|
||||||
|
+ (s->cirrus_blt_dstaddr & s->cirrus_addr_mask),
|
||||||
|
+ s->cirrus_bltbuf, 0, 0, s->cirrus_blt_width, 1);
|
||||||
|
cirrus_invalidate_region(s, s->cirrus_blt_dstaddr, 0,
|
||||||
|
s->cirrus_blt_width, 1);
|
||||||
|
s->cirrus_blt_dstaddr += s->cirrus_blt_dstpitch;
|
||||||
|
@@ -1862,7 +1892,7 @@ static void cirrus_mem_writeb_mode4and5_
|
||||||
|
unsigned val = mem_value;
|
||||||
|
uint8_t *dst;
|
||||||
|
|
||||||
|
- dst = s->vram_ptr + offset;
|
||||||
|
+ dst = s->vram_ptr + (offset &= s->cirrus_addr_mask);
|
||||||
|
for (x = 0; x < 8; x++) {
|
||||||
|
if (val & 0x80) {
|
||||||
|
*dst = s->cirrus_shadow_gr1;
|
||||||
|
@@ -1885,7 +1915,7 @@ static void cirrus_mem_writeb_mode4and5_
|
||||||
|
unsigned val = mem_value;
|
||||||
|
uint8_t *dst;
|
||||||
|
|
||||||
|
- dst = s->vram_ptr + offset;
|
||||||
|
+ dst = s->vram_ptr + (offset &= s->cirrus_addr_mask);
|
||||||
|
for (x = 0; x < 8; x++) {
|
||||||
|
if (val & 0x80) {
|
||||||
|
*dst = s->cirrus_shadow_gr1;
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/cirrus_vga_rop.h
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/cirrus_vga_rop.h
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/cirrus_vga_rop.h
|
||||||
|
@@ -49,6 +49,12 @@ glue(cirrus_bitblt_rop_fwd_, ROP_NAME)(C
|
||||||
|
src = src_ - src_base;
|
||||||
|
dstpitch -= bltwidth;
|
||||||
|
srcpitch -= bltwidth;
|
||||||
|
+
|
||||||
|
+ if (dstpitch < 0 || srcpitch < 0) {
|
||||||
|
+ /* is 0 valid? srcpitch == 0 could be useful */
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
for (y = 0; y < bltheight; y++) {
|
||||||
|
for (x = 0; x < bltwidth; x++) {
|
||||||
|
ROP_OP(*(dst_base + m(dst)), *(src_base + m(src)));
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/fdc.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/fdc.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/fdc.c
|
||||||
|
@@ -1110,8 +1110,13 @@ static uint32_t fdctrl_read_data (fdctrl
|
||||||
|
len = fdctrl->data_len - fdctrl->data_pos;
|
||||||
|
if (len > FD_SECTOR_LEN)
|
||||||
|
len = FD_SECTOR_LEN;
|
||||||
|
- bdrv_read(cur_drv->bs, fd_sector(cur_drv),
|
||||||
|
- fdctrl->fifo, len);
|
||||||
|
+ if (cur_drv->bs) {
|
||||||
|
+ bdrv_read(cur_drv->bs, fd_sector(cur_drv),
|
||||||
|
+ fdctrl->fifo, len);
|
||||||
|
+ } else {
|
||||||
|
+ FLOPPY_ERROR("can't read data from drive\n");
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
retval = fdctrl->fifo[pos];
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/i8259.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/i8259.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/i8259.c
|
||||||
|
@@ -292,9 +292,11 @@ static void pic_ioport_write(void *opaqu
|
||||||
|
s->init_state = 1;
|
||||||
|
s->init4 = val & 1;
|
||||||
|
if (val & 0x02)
|
||||||
|
- hw_error("single mode not supported");
|
||||||
|
+ /* hw_error("single mode not supported"); */
|
||||||
|
+ return;
|
||||||
|
if (val & 0x08)
|
||||||
|
- hw_error("level sensitive irq not supported");
|
||||||
|
+ /* hw_error("level sensitive irq not supported"); */
|
||||||
|
+ return;
|
||||||
|
} else if (val & 0x08) {
|
||||||
|
if (val & 0x04)
|
||||||
|
s->poll = 1;
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/ne2000.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/ne2000.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/ne2000.c
|
||||||
|
@@ -221,7 +221,7 @@ static int ne2000_can_receive(void *opaq
|
||||||
|
NE2000State *s = opaque;
|
||||||
|
|
||||||
|
if (s->cmd & E8390_STOP)
|
||||||
|
- return 1;
|
||||||
|
+ return 0;
|
||||||
|
return !ne2000_buffer_full(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -252,7 +252,7 @@ static void ne2000_receive(void *opaque,
|
||||||
|
{
|
||||||
|
NE2000State *s = opaque;
|
||||||
|
uint8_t *p;
|
||||||
|
- int total_len, next, avail, len, index, mcast_idx;
|
||||||
|
+ unsigned int total_len, next, avail, len, index, mcast_idx;
|
||||||
|
uint8_t buf1[60];
|
||||||
|
static const uint8_t broadcast_macaddr[6] =
|
||||||
|
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||||
|
@@ -327,7 +327,11 @@ static void ne2000_receive(void *opaque,
|
||||||
|
|
||||||
|
/* write packet data */
|
||||||
|
while (size > 0) {
|
||||||
|
- avail = s->stop - index;
|
||||||
|
+ /* taviso: this can wrap, so check its okay. */
|
||||||
|
+ if (index <= s->stop)
|
||||||
|
+ avail = s->stop - index;
|
||||||
|
+ else
|
||||||
|
+ avail = 0;
|
||||||
|
len = size;
|
||||||
|
if (len > avail)
|
||||||
|
len = avail;
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/pc.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/pc.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/pc.c
|
||||||
|
@@ -329,7 +329,8 @@ void bochs_bios_write(void *opaque, uint
|
||||||
|
case 0x400:
|
||||||
|
case 0x401:
|
||||||
|
fprintf(stderr, "BIOS panic at rombios.c, line %d\n", val);
|
||||||
|
- exit(1);
|
||||||
|
+ /* according to documentation, these can be safely ignored */
|
||||||
|
+ break;
|
||||||
|
case 0x402:
|
||||||
|
case 0x403:
|
||||||
|
#ifdef DEBUG_BIOS
|
||||||
|
@@ -352,8 +353,9 @@ void bochs_bios_write(void *opaque, uint
|
||||||
|
/* LGPL'ed VGA BIOS messages */
|
||||||
|
case 0x501:
|
||||||
|
case 0x502:
|
||||||
|
+ /* according to documentation, these can be safely ignored */
|
||||||
|
fprintf(stderr, "VGA BIOS panic, line %d\n", val);
|
||||||
|
- exit(1);
|
||||||
|
+ break;
|
||||||
|
case 0x500:
|
||||||
|
case 0x503:
|
||||||
|
#ifdef DEBUG_BIOS
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/hw/sb16.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/hw/sb16.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/hw/sb16.c
|
||||||
|
@@ -1235,8 +1235,10 @@ static int SB_read_DMA (void *opaque, in
|
||||||
|
s->block_size);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- while (s->left_till_irq <= 0) {
|
||||||
|
- s->left_till_irq = s->block_size + s->left_till_irq;
|
||||||
|
+ if (s->block_size) {
|
||||||
|
+ while (s->left_till_irq <= 0) {
|
||||||
|
+ s->left_till_irq = s->block_size + s->left_till_irq;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
return dma_pos;
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/target-i386/translate.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/target-i386/translate.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/target-i386/translate.c
|
||||||
|
@@ -5244,7 +5244,12 @@ static target_ulong disas_insn(DisasCont
|
||||||
|
if (CODE64(s))
|
||||||
|
goto illegal_op;
|
||||||
|
val = ldub_code(s->pc++);
|
||||||
|
- gen_op_aam(val);
|
||||||
|
+ /* taviso: operand can be zero */
|
||||||
|
+ if (val) {
|
||||||
|
+ gen_op_aam(val);
|
||||||
|
+ } else {
|
||||||
|
+ gen_exception(s, EXCP00_DIVZ, s->pc - s->cs_base);
|
||||||
|
+ }
|
||||||
|
s->cc_op = CC_OP_LOGICB;
|
||||||
|
break;
|
||||||
|
case 0xd5: /* aad */
|
||||||
|
@@ -5292,6 +5297,7 @@ static target_ulong disas_insn(DisasCont
|
||||||
|
gen_jmp_im(pc_start - s->cs_base);
|
||||||
|
gen_op_into(s->pc - pc_start);
|
||||||
|
break;
|
||||||
|
+#ifdef WANT_ICEBP
|
||||||
|
case 0xf1: /* icebp (undocumented, exits to external debugger) */
|
||||||
|
#if 1
|
||||||
|
gen_debug(s, pc_start - s->cs_base);
|
||||||
|
@@ -5301,6 +5307,7 @@ static target_ulong disas_insn(DisasCont
|
||||||
|
cpu_set_log(CPU_LOG_INT | CPU_LOG_TB_IN_ASM);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
+#endif /* icebp */
|
||||||
|
case 0xfa: /* cli */
|
||||||
|
if (!s->vm86) {
|
||||||
|
if (s->cpl <= s->iopl) {
|
||||||
|
Index: xen-3.1-testing/tools/ioemu/vl.c
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/ioemu/vl.c
|
||||||
|
+++ xen-3.1-testing/tools/ioemu/vl.c
|
||||||
|
@@ -3302,8 +3302,8 @@ typedef struct NetSocketState {
|
||||||
|
VLANClientState *vc;
|
||||||
|
int fd;
|
||||||
|
int state; /* 0 = getting length, 1 = getting data */
|
||||||
|
- int index;
|
||||||
|
- int packet_len;
|
||||||
|
+ unsigned int index;
|
||||||
|
+ unsigned int packet_len;
|
||||||
|
uint8_t buf[4096];
|
||||||
|
struct sockaddr_in dgram_dst; /* contains inet host and port destination iff connectionless (SOCK_DGRAM) */
|
||||||
|
} NetSocketState;
|
||||||
|
@@ -3334,7 +3334,8 @@ static void net_socket_receive_dgram(voi
|
||||||
|
static void net_socket_send(void *opaque)
|
||||||
|
{
|
||||||
|
NetSocketState *s = opaque;
|
||||||
|
- int l, size, err;
|
||||||
|
+ int size, err;
|
||||||
|
+ unsigned l;
|
||||||
|
uint8_t buf1[4096];
|
||||||
|
const uint8_t *buf;
|
||||||
|
|
||||||
|
@@ -3373,7 +3374,15 @@ static void net_socket_send(void *opaque
|
||||||
|
l = s->packet_len - s->index;
|
||||||
|
if (l > size)
|
||||||
|
l = size;
|
||||||
|
- memcpy(s->buf + s->index, buf, l);
|
||||||
|
+ if (s->index + l <= sizeof(s->buf)) {
|
||||||
|
+ memcpy(s->buf + s->index, buf, l);
|
||||||
|
+ } else {
|
||||||
|
+ fprintf(stderr, "serious error: oversized packet received,"
|
||||||
|
+ "connection terminated.\n");
|
||||||
|
+ s->state = 0;
|
||||||
|
+ goto eoc;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
s->index += l;
|
||||||
|
buf += l;
|
||||||
|
size -= l;
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:accb3d70e85d69ab2da07bcd904e53d0460b1bc7f24640bd710a2f07494f228c
|
|
||||||
size 5772627
|
|
3
xen-3.1-testing-src.tar.bz2
Normal file
3
xen-3.1-testing-src.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:cc63852b3a7401ff69ba3348247ae18373b5d67ad36610c4796d0b9b4e8fc207
|
||||||
|
size 5797383
|
@ -1,7 +1,7 @@
|
|||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendBootloader.py
|
Index: xen-3.1-testing/tools/python/xen/xend/XendBootloader.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendBootloader.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendBootloader.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendBootloader.py
|
+++ xen-3.1-testing/tools/python/xen/xend/XendBootloader.py
|
||||||
@@ -14,6 +14,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
|
|
||||||
import os, select, errno, stat, signal
|
import os, select, errno, stat, signal
|
||||||
@ -25,10 +25,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendBootloader.py
|
|||||||
+ if m:
|
+ if m:
|
||||||
+ return vdisk == m.group(1) or vdisk == m.group(2)
|
+ return vdisk == m.group(1) or vdisk == m.group(2)
|
||||||
+ return True
|
+ return True
|
||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
+++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
@@ -42,7 +42,7 @@ from xen.xend import balloon, sxp, uuid,
|
@@ -42,7 +42,7 @@ from xen.xend import balloon, sxp, uuid,
|
||||||
from xen.xend import XendOptions, XendNode, XendConfig
|
from xen.xend import XendOptions, XendNode, XendConfig
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
|||||||
from xen.xend.XendError import XendError, VmError
|
from xen.xend.XendError import XendError, VmError
|
||||||
from xen.xend.XendDevices import XendDevices
|
from xen.xend.XendDevices import XendDevices
|
||||||
from xen.xend.XendTask import XendTask
|
from xen.xend.XendTask import XendTask
|
||||||
@@ -1779,8 +1779,11 @@ class XendDomainInfo:
|
@@ -1783,8 +1783,11 @@ class XendDomainInfo:
|
||||||
blexec = osdep.pygrub_path
|
blexec = osdep.pygrub_path
|
||||||
|
|
||||||
blcfg = None
|
blcfg = None
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendNode.py
|
Index: xen-3.1-testing/tools/python/xen/xend/XendNode.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendNode.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendNode.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendNode.py
|
+++ xen-3.1-testing/tools/python/xen/xend/XendNode.py
|
||||||
@@ -558,9 +558,33 @@ class XendNode:
|
@@ -541,9 +541,33 @@ class XendNode:
|
||||||
info['threads_per_core'])
|
info['threads_per_core'])
|
||||||
info['cpu_mhz'] = info['cpu_khz'] / 1000
|
info['cpu_mhz'] = info['cpu_khz'] / 1000
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendNode.py
|
|||||||
|
|
||||||
ITEM_ORDER = ['nr_cpus',
|
ITEM_ORDER = ['nr_cpus',
|
||||||
'nr_nodes',
|
'nr_nodes',
|
||||||
@@ -571,6 +595,9 @@ class XendNode:
|
@@ -554,6 +578,9 @@ class XendNode:
|
||||||
'hw_caps',
|
'hw_caps',
|
||||||
'total_memory',
|
'total_memory',
|
||||||
'free_memory',
|
'free_memory',
|
||||||
@ -49,10 +49,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendNode.py
|
|||||||
]
|
]
|
||||||
|
|
||||||
return [[k, info[k]] for k in ITEM_ORDER]
|
return [[k, info[k]] for k in ITEM_ORDER]
|
||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/balloon.py
|
Index: xen-3.1-testing/tools/python/xen/xend/balloon.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/balloon.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/balloon.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/balloon.py
|
+++ xen-3.1-testing/tools/python/xen/xend/balloon.py
|
||||||
@@ -41,6 +41,8 @@ SLEEP_TIME_GROWTH = 0.1
|
@@ -41,6 +41,8 @@ SLEEP_TIME_GROWTH = 0.1
|
||||||
# label actually shown in the PROC_XEN_BALLOON file.
|
# label actually shown in the PROC_XEN_BALLOON file.
|
||||||
labels = { 'current' : 'Current allocation',
|
labels = { 'current' : 'Current allocation',
|
||||||
@ -86,10 +86,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/balloon.py
|
|||||||
def free(need_mem):
|
def free(need_mem):
|
||||||
"""Balloon out memory from the privileged domain so that there is the
|
"""Balloon out memory from the privileged domain so that there is the
|
||||||
specified required amount (in KiB) free.
|
specified required amount (in KiB) free.
|
||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
+++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
@@ -573,6 +573,27 @@ class XendDomainInfo:
|
@@ -573,6 +573,27 @@ class XendDomainInfo:
|
||||||
return sxprs
|
return sxprs
|
||||||
|
|
||||||
@ -118,10 +118,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
|||||||
def setMemoryTarget(self, target):
|
def setMemoryTarget(self, target):
|
||||||
"""Set the memory target of this domain.
|
"""Set the memory target of this domain.
|
||||||
@param target: In MiB.
|
@param target: In MiB.
|
||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/server/SrvDomain.py
|
Index: xen-3.1-testing/tools/python/xen/xend/server/SrvDomain.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/server/SrvDomain.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/server/SrvDomain.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/server/SrvDomain.py
|
+++ xen-3.1-testing/tools/python/xen/xend/server/SrvDomain.py
|
||||||
@@ -169,7 +169,7 @@ class SrvDomain(SrvDir):
|
@@ -169,7 +169,7 @@ class SrvDomain(SrvDir):
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: xen-3.0.5-testing/tools/misc/xend
|
Index: xen-3.1-testing/tools/misc/xend
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/misc/xend
|
--- xen-3.1-testing.orig/tools/misc/xend
|
||||||
+++ xen-3.0.5-testing/tools/misc/xend
|
+++ xen-3.1-testing/tools/misc/xend
|
||||||
@@ -50,22 +50,6 @@ def hline():
|
@@ -50,22 +50,6 @@ def hline():
|
||||||
def msg(message):
|
def msg(message):
|
||||||
print >>sys.stderr, "*" * 3, message
|
print >>sys.stderr, "*" * 3, message
|
||||||
@ -33,11 +33,11 @@ Index: xen-3.0.5-testing/tools/misc/xend
|
|||||||
check_user()
|
check_user()
|
||||||
except CheckError:
|
except CheckError:
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomain.py
|
Index: xen-3.1-testing/tools/python/xen/xend/XendDomain.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomain.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomain.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomain.py
|
+++ xen-3.1-testing/tools/python/xen/xend/XendDomain.py
|
||||||
@@ -825,6 +825,8 @@ class XendDomain:
|
@@ -827,6 +827,8 @@ class XendDomain:
|
||||||
|
|
||||||
if dominfo.getDomid() == DOM0_ID:
|
if dominfo.getDomid() == DOM0_ID:
|
||||||
raise XendError("Cannot save privileged domain %s" % domname)
|
raise XendError("Cannot save privileged domain %s" % domname)
|
||||||
@ -46,7 +46,7 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomain.py
|
|||||||
|
|
||||||
if dominfo._stateGet() != DOM_STATE_RUNNING:
|
if dominfo._stateGet() != DOM_STATE_RUNNING:
|
||||||
raise VMBadState("Domain is not running",
|
raise VMBadState("Domain is not running",
|
||||||
@@ -1243,6 +1245,8 @@ class XendDomain:
|
@@ -1245,6 +1247,8 @@ class XendDomain:
|
||||||
|
|
||||||
if dominfo.getDomid() == DOM0_ID:
|
if dominfo.getDomid() == DOM0_ID:
|
||||||
raise XendError("Cannot save privileged domain %i" % domid)
|
raise XendError("Cannot save privileged domain %i" % domid)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: xen-unstable/tools/python/xen/xm/create.py
|
Index: xen-3.1-testing/tools/python/xen/xm/create.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-unstable.orig/tools/python/xen/xm/create.py
|
--- xen-3.1-testing.orig/tools/python/xen/xm/create.py
|
||||||
+++ xen-unstable/tools/python/xen/xm/create.py
|
+++ xen-3.1-testing/tools/python/xen/xm/create.py
|
||||||
@@ -884,9 +884,8 @@ def preprocess_access_control(vals):
|
@@ -887,9 +887,8 @@ def preprocess_access_control(vals):
|
||||||
|
|
||||||
def preprocess_ip(vals):
|
def preprocess_ip(vals):
|
||||||
if vals.ip or vals.dhcp != 'off':
|
if vals.ip or vals.dhcp != 'off':
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: xen-unstable/tools/python/xen/xm/create.py
|
Index: xen-3.1-testing/tools/python/xen/xm/create.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-unstable.orig/tools/python/xen/xm/create.py
|
--- xen-3.1-testing.orig/tools/python/xen/xm/create.py
|
||||||
+++ xen-unstable/tools/python/xen/xm/create.py
|
+++ xen-3.1-testing/tools/python/xen/xm/create.py
|
||||||
@@ -978,8 +978,7 @@ def spawn_vnc(display):
|
@@ -981,8 +981,7 @@ def spawn_vnc(display):
|
||||||
returns the port that the vncviewer is listening on and sets the global
|
returns the port that the vncviewer is listening on and sets the global
|
||||||
vncpid. On failure, returns 0. Note that vncviewer is daemonized.
|
vncpid. On failure, returns 0. Note that vncviewer is daemonized.
|
||||||
"""
|
"""
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5c4b0bb9010787b4fc67782875381d545d060e3c7b1ef3c38ede447c62b93dda
|
oid sha256:26a506f1732698429dd8e4bf2a62b37aaab9bcd0b94578ba5cb548aaed70fa3e
|
||||||
size 174100
|
size 174056
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
From: Charles Coffing <ccoffing@novell.com>
|
From: Charles Coffing <ccoffing@novell.com>
|
||||||
Upstream: no
|
Upstream: no
|
||||||
|
|
||||||
Index: xen-3.0.5-testing/tools/python/xen/xm/main.py
|
Index: xen-3.1-testing/tools/python/xen/xm/main.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xm/main.py
|
--- xen-3.1-testing.orig/tools/python/xen/xm/main.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xm/main.py
|
+++ xen-3.1-testing/tools/python/xen/xm/main.py
|
||||||
@@ -1749,6 +1749,10 @@ def xm_debug_keys(args):
|
@@ -1755,6 +1755,10 @@ def xm_debug_keys(args):
|
||||||
def xm_top(args):
|
def xm_top(args):
|
||||||
arg_check(args, "top", 0)
|
arg_check(args, "top", 0)
|
||||||
|
|
||||||
|
27
xen.changes
27
xen.changes
@ -1,3 +1,30 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 11 12:29:27 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Update to xen-3.1-testing rc10 (changeset 15040).
|
||||||
|
- Update .desktop with proper group. (#258600)
|
||||||
|
- Include Kurt's updated block-iscsi. (#251368)
|
||||||
|
- Jim's updated patch to honor localtime setting. (#273430)
|
||||||
|
- Fix vm-install to work correctly when doing multiple simultaneous
|
||||||
|
installs via virt-manager. (#259917)
|
||||||
|
- Network connectivity fails in FV SLES 10 SP1; MAC address was
|
||||||
|
being read incorrectly from xenstore by PV driver. (#272351)
|
||||||
|
- For FV SLES 9, default apic=1 to allow x86_64 SLES 9 to boot.
|
||||||
|
(#264183)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri May 4 08:41:38 MDT 2007 - carnold@novell.com
|
||||||
|
|
||||||
|
- Added security fixes for problems found Travis Orandy (#270621)
|
||||||
|
CVE-2007-1320, CVE-2007-1321, CVE-2007-1322, CVE-2007-1323,
|
||||||
|
CVE-2007-1366
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 3 15:35:19 MDT 2007 - ccoffing@novell.com
|
||||||
|
|
||||||
|
- Update to xen-3.1-testing rc7 (changeset 15020).
|
||||||
|
- Fix identification of virt-manager windows. (#264162)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue May 1 17:43:33 MDT 2007 - jfehlig@novell.com
|
Tue May 1 17:43:33 MDT 2007 - jfehlig@novell.com
|
||||||
|
|
||||||
|
52
xen.spec
52
xen.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package xen (Version 3.0.5_14993)
|
# spec file for package xen (Version 3.1.0_15040)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
# This file and all modifications and additions to the pristine
|
||||||
@ -11,10 +11,10 @@
|
|||||||
# norootforbuild
|
# norootforbuild
|
||||||
|
|
||||||
Name: xen
|
Name: xen
|
||||||
%define xvers 3.0
|
%define xvers 3.1
|
||||||
%define xvermaj 3
|
%define xvermaj 3
|
||||||
%define changeset 14993
|
%define changeset 15040
|
||||||
%define xen_build_dir xen-3.0.5-testing
|
%define xen_build_dir xen-3.1-testing
|
||||||
%define with_install 1
|
%define with_install 1
|
||||||
%if %sles_version
|
%if %sles_version
|
||||||
%define with_kmp 1
|
%define with_kmp 1
|
||||||
@ -22,7 +22,7 @@ Name: xen
|
|||||||
# openSUSE 10.3 kernel is not yet ready...
|
# openSUSE 10.3 kernel is not yet ready...
|
||||||
%define with_kmp 0
|
%define with_kmp 0
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel openssl openssl-devel python-devel transfig
|
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel openssl openssl-devel python-devel transfig update-desktop-files
|
||||||
%if %suse_version >= 1030
|
%if %suse_version >= 1030
|
||||||
BuildRequires: texlive texlive-latex
|
BuildRequires: texlive texlive-latex
|
||||||
%else
|
%else
|
||||||
@ -34,14 +34,14 @@ BuildRequires: glibc-32bit glibc-devel-32bit
|
|||||||
%if %{?with_kmp}0
|
%if %{?with_kmp}0
|
||||||
BuildRequires: kernel-source kernel-syms xorg-x11
|
BuildRequires: kernel-source kernel-syms xorg-x11
|
||||||
%endif
|
%endif
|
||||||
Version: 3.0.5_14993
|
Version: 3.1.0_15040
|
||||||
Release: 1
|
Release: 1
|
||||||
License: GNU General Public License (GPL)
|
License: GNU General Public License (GPL)
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
Autoreqprov: on
|
Autoreqprov: on
|
||||||
PreReq: %insserv_prereq %fillup_prereq
|
PreReq: %insserv_prereq %fillup_prereq
|
||||||
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
|
||||||
Source0: xen-3.0.5-testing-src.tar.bz2
|
Source0: xen-3.1-testing-src.tar.bz2
|
||||||
Source1: xen-vm-install.tar.bz2
|
Source1: xen-vm-install.tar.bz2
|
||||||
Source2: README.SuSE
|
Source2: README.SuSE
|
||||||
Source3: boot.xen
|
Source3: boot.xen
|
||||||
@ -105,8 +105,10 @@ Patch45: xenapi-console-protocol.patch
|
|||||||
Patch46: xen-disable-qemu-monitor.diff
|
Patch46: xen-disable-qemu-monitor.diff
|
||||||
Patch47: supported_module.diff
|
Patch47: supported_module.diff
|
||||||
Patch48: disable_emulated_device.diff
|
Patch48: disable_emulated_device.diff
|
||||||
Patch49: balloon-early.patch
|
Patch49: pv-driver-build.patch
|
||||||
Patch50: pv-driver-build.patch
|
Patch50: xend-localtime.diff
|
||||||
|
Patch51: qemu-security-etch1.diff
|
||||||
|
Patch52: netfront_mac.patch
|
||||||
# Misc unused patches / need to be re-ported:
|
# Misc unused patches / need to be re-ported:
|
||||||
Patch300: xen-enable-hvm-debug.diff
|
Patch300: xen-enable-hvm-debug.diff
|
||||||
URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
|
||||||
@ -175,7 +177,7 @@ Authors:
|
|||||||
%package libs
|
%package libs
|
||||||
Summary: Xen Virtualization: Libraries
|
Summary: Xen Virtualization: Libraries
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
Requires: xen >= 3.0.5_14000
|
Requires: xen >= 3.1.0_15000
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
@ -224,7 +226,7 @@ Authors:
|
|||||||
%package tools
|
%package tools
|
||||||
Summary: Xen Virtualization: Control tools for domain 0
|
Summary: Xen Virtualization: Control tools for domain 0
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
Requires: xen-libs >= 3.0.5_14000
|
Requires: xen-libs >= 3.1.0_15000
|
||||||
Requires: bridge-utils multipath-tools python python-xml pyxml
|
Requires: bridge-utils multipath-tools python python-xml pyxml
|
||||||
%if %{?with_install}0
|
%if %{?with_install}0
|
||||||
Requires: python-urlgrabber libxml2-python
|
Requires: python-urlgrabber libxml2-python
|
||||||
@ -301,7 +303,7 @@ Authors:
|
|||||||
%package tools-ioemu
|
%package tools-ioemu
|
||||||
Summary: Xen Virtualization: BIOS and device emulation for unmodified guests
|
Summary: Xen Virtualization: BIOS and device emulation for unmodified guests
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
Requires: xen-tools >= 3.0.5_14000
|
Requires: xen-tools >= 3.1.0_15000
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
|
|
||||||
%description tools-ioemu
|
%description tools-ioemu
|
||||||
@ -548,14 +550,16 @@ cd ..
|
|||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
%patch42 -p1
|
%patch42 -p1
|
||||||
#%patch43 -p1 # check if bug still exists in 3.0.5
|
#%patch43 -p1 # check if bug still exists in 3.1.0
|
||||||
#%patch44 -p1 # re-port
|
#%patch44 -p1 # re-port
|
||||||
%patch45 -p1
|
%patch45 -p1
|
||||||
%patch46 -p1
|
%patch46 -p1
|
||||||
%patch47 -p1
|
%patch47 -p1
|
||||||
%patch48 -p1
|
#%patch48 -p1 # Currently not disabling FV devices when loading PV drivers
|
||||||
%patch49 -p1
|
%patch49 -p1
|
||||||
%patch50 -p1
|
%patch50 -p1
|
||||||
|
%patch51 -p1
|
||||||
|
%patch52 -p1
|
||||||
XEN_EXTRAVERSION=%version-%release
|
XEN_EXTRAVERSION=%version-%release
|
||||||
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
|
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
|
||||||
sed -i "s/XEN_EXTRAVERSION[ ]*.=.*\$/XEN_EXTRAVERSION = $XEN_EXTRAVERSION/" xen/Makefile
|
sed -i "s/XEN_EXTRAVERSION[ ]*.=.*\$/XEN_EXTRAVERSION = $XEN_EXTRAVERSION/" xen/Makefile
|
||||||
@ -699,6 +703,8 @@ rm -rf $RPM_BUILD_ROOT/usr/share/doc/qemu/
|
|||||||
rm $RPM_BUILD_ROOT/%{_mandir}/man1/qemu.*
|
rm $RPM_BUILD_ROOT/%{_mandir}/man1/qemu.*
|
||||||
rm $RPM_BUILD_ROOT/usr/lib*/xen/bin/qemu-dm.debug
|
rm $RPM_BUILD_ROOT/usr/lib*/xen/bin/qemu-dm.debug
|
||||||
rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
|
||||||
|
%suse_update_desktop_file xen-vm-install X-SuSE-YaST-Virtualization
|
||||||
|
sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;/' $RPM_BUILD_ROOT/%{_datadir}/applications/YaST2/xen-vm-install.desktop
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -873,6 +879,24 @@ rm -rf $RPM_BUILD_DIR/%xen_build_dir
|
|||||||
%{insserv_cleanup}
|
%{insserv_cleanup}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri May 11 2007 - ccoffing@novell.com
|
||||||
|
- Update to xen-3.1-testing rc10 (changeset 15040).
|
||||||
|
- Update .desktop with proper group. (#258600)
|
||||||
|
- Include Kurt's updated block-iscsi. (#251368)
|
||||||
|
- Jim's updated patch to honor localtime setting. (#273430)
|
||||||
|
- Fix vm-install to work correctly when doing multiple simultaneous
|
||||||
|
installs via virt-manager. (#259917)
|
||||||
|
- Network connectivity fails in FV SLES 10 SP1; MAC address was
|
||||||
|
being read incorrectly from xenstore by PV driver. (#272351)
|
||||||
|
- For FV SLES 9, default apic=1 to allow x86_64 SLES 9 to boot.
|
||||||
|
(#264183)
|
||||||
|
* Fri May 04 2007 - carnold@novell.com
|
||||||
|
- Added security fixes for problems found Travis Orandy (#270621)
|
||||||
|
CVE-2007-1320, CVE-2007-1321, CVE-2007-1322, CVE-2007-1323,
|
||||||
|
CVE-2007-1366
|
||||||
|
* Thu May 03 2007 - ccoffing@novell.com
|
||||||
|
- Update to xen-3.1-testing rc7 (changeset 15020).
|
||||||
|
- Fix identification of virt-manager windows. (#264162)
|
||||||
* Tue May 01 2007 - jfehlig@novell.com
|
* Tue May 01 2007 - jfehlig@novell.com
|
||||||
- Integrated domUloader with 3.0.5. Updated xen-domUloader.diff.
|
- Integrated domUloader with 3.0.5. Updated xen-domUloader.diff.
|
||||||
* Mon Apr 30 2007 - ccoffing@novell.com
|
* Mon Apr 30 2007 - ccoffing@novell.com
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xen-3.0.5-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||||
+++ xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
|
+++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
@@ -2325,6 +2325,14 @@ class XendDomainInfo:
|
@@ -2351,6 +2351,14 @@ class XendDomainInfo:
|
||||||
if not config.has_key('backend'):
|
if not config.has_key('backend'):
|
||||||
config['backend'] = "00000000-0000-0000-0000-000000000000"
|
config['backend'] = "00000000-0000-0000-0000-000000000000"
|
||||||
|
|
||||||
|
24
xend-localtime.diff
Normal file
24
xend-localtime.diff
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Jim Fehlig <jfehlig@novell.com>
|
||||||
|
# Date 1178858624 21600
|
||||||
|
# Node ID 29b301382bb60ce54e0ac9dc5e5163306de577ff
|
||||||
|
# Parent 3ef0510e44d04eb837ae238203251b969fc45df9
|
||||||
|
Configuration option 'localtime = 1' is not honored for PV domains.
|
||||||
|
This patch fixes an oversight when platform_* config options were collected in a dictionary.
|
||||||
|
|
||||||
|
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
|
||||||
|
|
||||||
|
Index: xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
|
===================================================================
|
||||||
|
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
|
||||||
|
+++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
|
||||||
|
@@ -1490,8 +1490,7 @@ class XendDomainInfo:
|
||||||
|
try:
|
||||||
|
self.image = image.create(self, self.info)
|
||||||
|
|
||||||
|
- localtime = self.info.get('platform_localtime', False)
|
||||||
|
- if localtime:
|
||||||
|
+ if self.info['platform'].get('localtime', 0):
|
||||||
|
xc.domain_set_time_offset(self.domid)
|
||||||
|
|
||||||
|
xc.domain_setcpuweight(self.domid, self.info['cpu_weight'])
|
Loading…
Reference in New Issue
Block a user