OBS User unknown 2007-05-12 10:54:21 +00:00 committed by Git OBS Bridge
parent b52c73e219
commit 28b141bb6f
19 changed files with 552 additions and 111 deletions

View File

@ -147,18 +147,21 @@ For a more complete discussion of possible parameters, see the user
documentation in the xen-doc-* packages.
Start Scripts
-------------
Init scripts
------------
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
activated at installation time. You can (de)activate it using insserv. You
can also start it manually with "rcxend start".
One other relevant startup script is xendomains. This script can be used to
start other VMs when the VM server boots. It also cleanly shuts down the
other VMs when the VM server shuts down. To use this feature, place a
symbolic link in /etc/xen/auto that points to the VM's configuration file.
Look in /etc/sysconfig/xendomains for relevant settings.
The deprecated xendomains script is also shipped, but disabled by default. In
SLES 10 GA (xen 3.0.2) and older, this script allowed VMs to be started and
stopped automatically when the machine starts and stops. In SLES 10 SP1 (xen
3.0.4) and newer, the proper way to start and stop VMs automatically is to set
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

View File

@ -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'),

View File

@ -22,13 +22,28 @@ dir=$(dirname "$0")
# 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()
{
unset dev
lun=${2:-0}
for session in /sys/class/iscsi_session/session*; do
if ! test -e $session; then return; fi
if test $1 = `cat $session/targetname`; then
dev=`readlink $session/device/target*/*:0:*/block*`
dev=${dev##*/}
sess_lun_to_bdev $session $lun
echo "fs: $1[$lun] ($cnt) -> $dev" 1>&2
return
fi
done
@ -38,12 +53,15 @@ find_sdev_rev()
{
unset tgt
for session in /sys/class/iscsi_session/session*; do
dev=`readlink $session/device/target*/*:0:*/block*`
dev=${dev##*/}
if test $dev = $1; then
tgt=`cat $session/targetname`
return
fi
if ! test -e $session; then return; fi
sess_lun_to_bdev $session "*"
for d in $dev; do
if test "$d" = "$1"; then
tgt=`cat $session/targetname`
echo "fsr: $2 -> $tgt ($cnt)" 1>&2
return
fi
done
done
}
@ -55,14 +73,17 @@ case "$command" in
# list of targets on node
par=`xenstore-read $XENBUS_PATH/params` || true
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
if test $uuid = $TGTID; then
rec=${rec%]}; rec=${rec#[}
find_sdev $TGTID
find_sdev $TGTID $LUN
if test -z "$dev"; then
iscsiadm -m node -r $rec -l || exit 2
usleep 100000
find_sdev $TGTID
find_sdev $TGTID $LUN
fi
xenstore-write $XENBUS_PATH/node /dev/$dev
write_dev /dev/$dev

View File

@ -118,18 +118,6 @@ case "$1" in
rc_reset
else
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
cleanup
rc_reset

17
netfront_mac.patch Normal file
View 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
View 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;

View File

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

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cc63852b3a7401ff69ba3348247ae18373b5d67ad36610c4796d0b9b4e8fc207
size 5797383

View File

@ -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.0.5-testing/tools/python/xen/xend/XendBootloader.py
--- xen-3.1-testing.orig/tools/python/xen/xend/XendBootloader.py
+++ xen-3.1-testing/tools/python/xen/xend/XendBootloader.py
@@ -14,6 +14,7 @@
import os, select, errno, stat, signal
@ -25,10 +25,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendBootloader.py
+ if m:
+ return vdisk == m.group(1) or vdisk == m.group(2)
+ 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.0.5-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
@@ -42,7 +42,7 @@ from xen.xend import balloon, sxp, uuid,
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.XendDevices import XendDevices
from xen.xend.XendTask import XendTask
@@ -1779,8 +1779,11 @@ class XendDomainInfo:
@@ -1783,8 +1783,11 @@ class XendDomainInfo:
blexec = osdep.pygrub_path
blcfg = None

View File

@ -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.0.5-testing/tools/python/xen/xend/XendNode.py
@@ -558,9 +558,33 @@ class XendNode:
--- xen-3.1-testing.orig/tools/python/xen/xend/XendNode.py
+++ xen-3.1-testing/tools/python/xen/xend/XendNode.py
@@ -541,9 +541,33 @@ class XendNode:
info['threads_per_core'])
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',
'nr_nodes',
@@ -571,6 +595,9 @@ class XendNode:
@@ -554,6 +578,9 @@ class XendNode:
'hw_caps',
'total_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]
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.0.5-testing/tools/python/xen/xend/balloon.py
--- xen-3.1-testing.orig/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
# label actually shown in the PROC_XEN_BALLOON file.
labels = { 'current' : 'Current allocation',
@ -86,10 +86,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/balloon.py
def free(need_mem):
"""Balloon out memory from the privileged domain so that there is the
specified required amount (in KiB) free.
Index: xen-3.0.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.0.5-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
@@ -573,6 +573,27 @@ class XendDomainInfo:
return sxprs
@ -118,10 +118,10 @@ Index: xen-3.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
def setMemoryTarget(self, target):
"""Set the memory target of this domain.
@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.0.5-testing/tools/python/xen/xend/server/SrvDomain.py
--- xen-3.1-testing.orig/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):

View File

@ -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.0.5-testing/tools/misc/xend
--- xen-3.1-testing.orig/tools/misc/xend
+++ xen-3.1-testing/tools/misc/xend
@@ -50,22 +50,6 @@ def hline():
def msg(message):
print >>sys.stderr, "*" * 3, message
@ -33,11 +33,11 @@ Index: xen-3.0.5-testing/tools/misc/xend
check_user()
except CheckError:
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.0.5-testing/tools/python/xen/xend/XendDomain.py
@@ -825,6 +825,8 @@ class XendDomain:
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomain.py
+++ xen-3.1-testing/tools/python/xen/xend/XendDomain.py
@@ -827,6 +827,8 @@ class XendDomain:
if dominfo.getDomid() == DOM0_ID:
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:
raise VMBadState("Domain is not running",
@@ -1243,6 +1245,8 @@ class XendDomain:
@@ -1245,6 +1247,8 @@ class XendDomain:
if dominfo.getDomid() == DOM0_ID:
raise XendError("Cannot save privileged domain %i" % domid)

View File

@ -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-unstable/tools/python/xen/xm/create.py
@@ -884,9 +884,8 @@ def preprocess_access_control(vals):
--- xen-3.1-testing.orig/tools/python/xen/xm/create.py
+++ xen-3.1-testing/tools/python/xen/xm/create.py
@@ -887,9 +887,8 @@ def preprocess_access_control(vals):
def preprocess_ip(vals):
if vals.ip or vals.dhcp != 'off':

View File

@ -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-unstable/tools/python/xen/xm/create.py
@@ -978,8 +978,7 @@ def spawn_vnc(display):
--- xen-3.1-testing.orig/tools/python/xen/xm/create.py
+++ xen-3.1-testing/tools/python/xen/xm/create.py
@@ -981,8 +981,7 @@ def spawn_vnc(display):
returns the port that the vncviewer is listening on and sets the global
vncpid. On failure, returns 0. Note that vncviewer is daemonized.
"""

View File

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

View File

@ -1,11 +1,11 @@
From: Charles Coffing <ccoffing@novell.com>
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.0.5-testing/tools/python/xen/xm/main.py
@@ -1749,6 +1749,10 @@ def xm_debug_keys(args):
--- xen-3.1-testing.orig/tools/python/xen/xm/main.py
+++ xen-3.1-testing/tools/python/xen/xm/main.py
@@ -1755,6 +1755,10 @@ def xm_debug_keys(args):
def xm_top(args):
arg_check(args, "top", 0)

View File

@ -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

View File

@ -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.
# This file and all modifications and additions to the pristine
@ -11,10 +11,10 @@
# norootforbuild
Name: xen
%define xvers 3.0
%define xvers 3.1
%define xvermaj 3
%define changeset 14993
%define xen_build_dir xen-3.0.5-testing
%define changeset 15040
%define xen_build_dir xen-3.1-testing
%define with_install 1
%if %sles_version
%define with_kmp 1
@ -22,7 +22,7 @@ Name: xen
# openSUSE 10.3 kernel is not yet ready...
%define with_kmp 0
%endif
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel openssl openssl-devel python-devel 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
BuildRequires: texlive texlive-latex
%else
@ -34,14 +34,14 @@ BuildRequires: glibc-32bit glibc-devel-32bit
%if %{?with_kmp}0
BuildRequires: kernel-source kernel-syms xorg-x11
%endif
Version: 3.0.5_14993
Version: 3.1.0_15040
Release: 1
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
PreReq: %insserv_prereq %fillup_prereq
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
Source2: README.SuSE
Source3: boot.xen
@ -105,8 +105,10 @@ Patch45: xenapi-console-protocol.patch
Patch46: xen-disable-qemu-monitor.diff
Patch47: supported_module.diff
Patch48: disable_emulated_device.diff
Patch49: balloon-early.patch
Patch50: pv-driver-build.patch
Patch49: 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:
Patch300: xen-enable-hvm-debug.diff
URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
@ -175,7 +177,7 @@ Authors:
%package libs
Summary: Xen Virtualization: Libraries
Group: System/Kernel
Requires: xen >= 3.0.5_14000
Requires: xen >= 3.1.0_15000
AutoReqProv: on
%description libs
@ -224,7 +226,7 @@ Authors:
%package tools
Summary: Xen Virtualization: Control tools for domain 0
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
%if %{?with_install}0
Requires: python-urlgrabber libxml2-python
@ -301,7 +303,7 @@ Authors:
%package tools-ioemu
Summary: Xen Virtualization: BIOS and device emulation for unmodified guests
Group: System/Kernel
Requires: xen-tools >= 3.0.5_14000
Requires: xen-tools >= 3.1.0_15000
AutoReqProv: on
%description tools-ioemu
@ -548,14 +550,16 @@ cd ..
%patch40 -p1
%patch41 -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
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
#%patch48 -p1 # Currently not disabling FV devices when loading PV drivers
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
XEN_EXTRAVERSION=%version-%release
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
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/usr/lib*/xen/bin/qemu-dm.debug
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
%defattr(-,root,root)
@ -873,6 +879,24 @@ rm -rf $RPM_BUILD_DIR/%xen_build_dir
%{insserv_cleanup}
%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
- Integrated domUloader with 3.0.5. Updated xen-domUloader.diff.
* Mon Apr 30 2007 - ccoffing@novell.com

View File

@ -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.0.5-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -2325,6 +2325,14 @@ class XendDomainInfo:
--- xen-3.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.1-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -2351,6 +2351,14 @@ class XendDomainInfo:
if not config.has_key('backend'):
config['backend'] = "00000000-0000-0000-0000-000000000000"

24
xend-localtime.diff Normal file
View 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'])