diff --git a/qemu-0.9.1-alpha-int.patch b/qemu-0.9.1-alpha-int.patch deleted file mode 100644 index 72de86d..0000000 --- a/qemu-0.9.1-alpha-int.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- qemu-0.9.1/target-alpha/exec.h.BAD 2008-12-31 23:17:10.000000000 -0600 -+++ qemu-0.9.1/target-alpha/exec.h 2008-12-31 23:17:48.000000000 -0600 -@@ -24,6 +24,7 @@ - #include "config.h" - - #include "dyngen-exec.h" -+#include - - #define TARGET_LONG_BITS 64 - diff --git a/qemu-0.9.1-block-rw-range-check.patch b/qemu-0.9.1-block-rw-range-check.patch deleted file mode 100644 index 9d098b6..0000000 --- a/qemu-0.9.1-block-rw-range-check.patch +++ /dev/null @@ -1,212 +0,0 @@ -diff -rup qemu-0.9.1.orig/block.c qemu-0.9.1.new/block.c ---- qemu-0.9.1.orig/block.c 2008-02-26 18:03:00.000000000 -0500 -+++ qemu-0.9.1.new/block.c 2008-02-26 18:05:26.000000000 -0500 -@@ -123,6 +123,60 @@ void path_combine(char *dest, int dest_s - } - } - -+static int bdrv_rd_badreq_sectors(BlockDriverState *bs, -+ int64_t sector_num, int nb_sectors) -+{ -+ return -+ nb_sectors < 0 || -+ sector_num < 0 || -+ nb_sectors > bs->total_sectors || -+ sector_num > bs->total_sectors - nb_sectors; -+} -+ -+static int bdrv_rd_badreq_bytes(BlockDriverState *bs, -+ int64_t offset, int count) -+{ -+ int64_t size = bs->total_sectors << SECTOR_BITS; -+ return -+ count < 0 || -+ size < 0 || -+ count > size || -+ offset > size - count; -+} -+ -+static int bdrv_wr_badreq_sectors(BlockDriverState *bs, -+ int64_t sector_num, int nb_sectors) -+{ -+ if (sector_num < 0 || -+ nb_sectors < 0) -+ return 1; -+ -+ if (sector_num > bs->total_sectors - nb_sectors) { -+ if (bs->autogrow) -+ bs->total_sectors = sector_num + nb_sectors; -+ else -+ return 1; -+ } -+ return 0; -+} -+ -+static int bdrv_wr_badreq_bytes(BlockDriverState *bs, -+ int64_t offset, int count) -+{ -+ int64_t size = bs->total_sectors << SECTOR_BITS; -+ if (count < 0 || -+ offset < 0) -+ return 1; -+ -+ if (offset > size - count) { -+ if (bs->autogrow) -+ bs->total_sectors = (offset + count + SECTOR_SIZE - 1) >> SECTOR_BITS; -+ else -+ return 1; -+ } -+ return 0; -+} -+ - - static void bdrv_register(BlockDriver *bdrv) - { -@@ -331,6 +385,10 @@ int bdrv_open2(BlockDriverState *bs, con - bs->read_only = 0; - bs->is_temporary = 0; - bs->encrypted = 0; -+ bs->autogrow = 0; -+ -+ if (flags & BDRV_O_AUTOGROW) -+ bs->autogrow = 1; - - if (flags & BDRV_O_SNAPSHOT) { - BlockDriverState *bs1; -@@ -375,6 +433,7 @@ int bdrv_open2(BlockDriverState *bs, con - } - bs->drv = drv; - bs->opaque = qemu_mallocz(drv->instance_size); -+ bs->total_sectors = 0; /* driver will set if it does not do getlength */ - if (bs->opaque == NULL && drv->instance_size > 0) - return -1; - /* Note: for compatibility, we open disk image files as RDWR, and -@@ -440,6 +499,7 @@ void bdrv_close(BlockDriverState *bs) - bs->drv = NULL; - - /* call the change callback */ -+ bs->total_sectors = 0; - bs->media_changed = 1; - if (bs->change_cb) - bs->change_cb(bs->change_opaque); -@@ -505,6 +565,8 @@ int bdrv_read(BlockDriverState *bs, int6 - if (!drv) - return -ENOMEDIUM; - -+ if (bdrv_rd_badreq_sectors(bs, sector_num, nb_sectors)) -+ return -EDOM; - if (sector_num == 0 && bs->boot_sector_enabled && nb_sectors > 0) { - memcpy(buf, bs->boot_sector_data, 512); - sector_num++; -@@ -545,6 +607,8 @@ int bdrv_write(BlockDriverState *bs, int - return -ENOMEDIUM; - if (bs->read_only) - return -EACCES; -+ if (bdrv_wr_badreq_sectors(bs, sector_num, nb_sectors)) -+ return -EDOM; - if (sector_num == 0 && bs->boot_sector_enabled && nb_sectors > 0) { - memcpy(bs->boot_sector_data, buf, 512); - } -@@ -670,6 +734,8 @@ int bdrv_pread(BlockDriverState *bs, int - return -ENOMEDIUM; - if (!drv->bdrv_pread) - return bdrv_pread_em(bs, offset, buf1, count1); -+ if (bdrv_rd_badreq_bytes(bs, offset, count1)) -+ return -EDOM; - return drv->bdrv_pread(bs, offset, buf1, count1); - } - -@@ -685,6 +751,8 @@ int bdrv_pwrite(BlockDriverState *bs, in - return -ENOMEDIUM; - if (!drv->bdrv_pwrite) - return bdrv_pwrite_em(bs, offset, buf1, count1); -+ if (bdrv_wr_badreq_bytes(bs, offset, count1)) -+ return -EDOM; - return drv->bdrv_pwrite(bs, offset, buf1, count1); - } - -@@ -951,6 +1019,8 @@ int bdrv_write_compressed(BlockDriverSta - return -ENOMEDIUM; - if (!drv->bdrv_write_compressed) - return -ENOTSUP; -+ if (bdrv_wr_badreq_sectors(bs, sector_num, nb_sectors)) -+ return -EDOM; - return drv->bdrv_write_compressed(bs, sector_num, buf, nb_sectors); - } - -@@ -1097,6 +1167,8 @@ BlockDriverAIOCB *bdrv_aio_read(BlockDri - - if (!drv) - return NULL; -+ if (bdrv_rd_badreq_sectors(bs, sector_num, nb_sectors)) -+ return NULL; - - /* XXX: we assume that nb_sectors == 0 is suppored by the async read */ - if (sector_num == 0 && bs->boot_sector_enabled && nb_sectors > 0) { -@@ -1128,6 +1200,8 @@ BlockDriverAIOCB *bdrv_aio_write(BlockDr - return NULL; - if (bs->read_only) - return NULL; -+ if (bdrv_wr_badreq_sectors(bs, sector_num, nb_sectors)) -+ return NULL; - if (sector_num == 0 && bs->boot_sector_enabled && nb_sectors > 0) { - memcpy(bs->boot_sector_data, buf, 512); - } -diff -rup qemu-0.9.1.orig/block.h qemu-0.9.1.new/block.h ---- qemu-0.9.1.orig/block.h 2008-01-06 14:38:42.000000000 -0500 -+++ qemu-0.9.1.new/block.h 2008-02-26 17:41:47.000000000 -0500 -@@ -45,6 +45,7 @@ typedef struct QEMUSnapshotInfo { - it (default for - bdrv_file_open()) */ - #define BDRV_O_DIRECT 0x0020 -+#define BDRV_O_AUTOGROW 0x0040 /* Allow backing file to extend when writing past end of file */ - - #ifndef QEMU_IMG - void bdrv_info(void); -diff -rup qemu-0.9.1.orig/block_int.h qemu-0.9.1.new/block_int.h ---- qemu-0.9.1.orig/block_int.h 2008-01-06 14:38:42.000000000 -0500 -+++ qemu-0.9.1.new/block_int.h 2008-02-26 17:41:47.000000000 -0500 -@@ -97,6 +97,7 @@ struct BlockDriverState { - int locked; /* if true, the media cannot temporarily be ejected */ - int encrypted; /* if true, the media is encrypted */ - int sg; /* if true, the device is a /dev/sg* */ -+ int autogrow; /* if true, the backing store can auto-extend to allocate new extents */ - /* event callback when inserting/removing */ - void (*change_cb)(void *opaque); - void *change_opaque; -diff -rup qemu-0.9.1.orig/block-qcow2.c qemu-0.9.1.new/block-qcow2.c ---- qemu-0.9.1.orig/block-qcow2.c 2008-01-06 14:38:42.000000000 -0500 -+++ qemu-0.9.1.new/block-qcow2.c 2008-02-26 18:01:06.000000000 -0500 -@@ -191,7 +191,7 @@ static int qcow_open(BlockDriverState *b - int len, i, shift, ret; - QCowHeader header; - -- ret = bdrv_file_open(&s->hd, filename, flags); -+ ret = bdrv_file_open(&s->hd, filename, flags | BDRV_O_AUTOGROW); - if (ret < 0) - return ret; - if (bdrv_pread(s->hd, 0, &header, sizeof(header)) != sizeof(header)) -diff -rup qemu-0.9.1.orig/block-qcow.c qemu-0.9.1.new/block-qcow.c ---- qemu-0.9.1.orig/block-qcow.c 2008-01-06 14:38:41.000000000 -0500 -+++ qemu-0.9.1.new/block-qcow.c 2008-02-26 18:00:53.000000000 -0500 -@@ -95,7 +95,7 @@ static int qcow_open(BlockDriverState *b - int len, i, shift, ret; - QCowHeader header; - -- ret = bdrv_file_open(&s->hd, filename, flags); -+ ret = bdrv_file_open(&s->hd, filename, flags | BDRV_O_AUTOGROW); - if (ret < 0) - return ret; - if (bdrv_pread(s->hd, 0, &header, sizeof(header)) != sizeof(header)) -diff -rup qemu-0.9.1.orig/block-vmdk.c qemu-0.9.1.new/block-vmdk.c ---- qemu-0.9.1.orig/block-vmdk.c 2008-01-06 14:38:42.000000000 -0500 -+++ qemu-0.9.1.new/block-vmdk.c 2008-02-26 18:02:17.000000000 -0500 -@@ -376,7 +376,7 @@ static int vmdk_open(BlockDriverState *b - flags = BDRV_O_RDONLY; - fprintf(stderr, "(VMDK) image open: flags=0x%x filename=%s\n", flags, bs->filename); - -- ret = bdrv_file_open(&s->hd, filename, flags); -+ ret = bdrv_file_open(&s->hd, filename, flags | BDRV_O_AUTOGROW); - if (ret < 0) - return ret; - if (bdrv_pread(s->hd, 0, &magic, sizeof(magic)) != sizeof(magic)) diff --git a/qemu-0.9.1-build.patch b/qemu-0.9.1-build.patch deleted file mode 100644 index b71afca..0000000 --- a/qemu-0.9.1-build.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urNp qemu-0.9.1.orig/Makefile.target qemu-0.9.1/Makefile.target ---- qemu-0.9.1.orig/Makefile.target 2009-01-11 23:01:20.000000000 +0530 -+++ qemu-0.9.1/Makefile.target 2009-01-11 23:02:16.000000000 +0530 -@@ -632,7 +632,7 @@ clean: - - install: all - ifneq ($(PROGS),) -- $(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)" -+ $(INSTALL) -m 755 $(PROGS) "$(DESTDIR)$(bindir)" - endif - - ifneq ($(wildcard .depend),) diff --git a/qemu-0.9.1-dirent.patch b/qemu-0.9.1-dirent.patch deleted file mode 100644 index 3457176..0000000 --- a/qemu-0.9.1-dirent.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qemu-0.9.1/linux-user/syscall.c.BAD 2008-12-31 20:20:00.000000000 -0600 -+++ qemu-0.9.1/linux-user/syscall.c 2008-12-31 20:20:27.000000000 -0600 -@@ -66,7 +66,7 @@ - #include - #include - #include --#include -+#include - #include - - #include "qemu.h" diff --git a/qemu-0.9.1-nic-defaults.patch b/qemu-0.9.1-nic-defaults.patch deleted file mode 100644 index 3e66471..0000000 --- a/qemu-0.9.1-nic-defaults.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rup qemu-0.9.1.orig/hw/pc.c qemu-0.9.1.new/hw/pc.c ---- qemu-0.9.1.orig/hw/pc.c 2008-01-06 14:38:42.000000000 -0500 -+++ qemu-0.9.1.new/hw/pc.c 2008-01-08 17:06:27.000000000 -0500 -@@ -913,7 +913,7 @@ static void pc_init1(int ram_size, int v - nd = &nd_table[i]; - if (!nd->model) { - if (pci_enabled) { -- nd->model = "ne2k_pci"; -+ nd->model = "rtl8139"; - } else { - nd->model = "ne2k_isa"; - } -diff -rup qemu-0.9.1.orig/vl.c qemu-0.9.1.new/vl.c ---- qemu-0.9.1.orig/vl.c 2008-01-06 14:38:42.000000000 -0500 -+++ qemu-0.9.1.new/vl.c 2008-01-08 17:05:40.000000000 -0500 -@@ -8787,7 +8787,7 @@ int main(int argc, char **argv) - char buf[1024]; - if (net_boot & (1 << i)) { - if (model == NULL) -- model = "ne2k_pci"; -+ model = "rtl8139"; - snprintf(buf, sizeof(buf), "%s/pxe-%s.bin", bios_dir, model); - if (get_image_size(buf) > 0) { - if (nb_option_roms >= MAX_OPTION_ROMS) { diff --git a/qemu-0.9.1-pty-rawmode.patch b/qemu-0.9.1-pty-rawmode.patch deleted file mode 100644 index 3959a55..0000000 --- a/qemu-0.9.1-pty-rawmode.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff -rup qemu-0.9.1.orig/vl.c qemu-0.9.1.new/vl.c ---- qemu-0.9.1.orig/vl.c 2008-05-05 13:32:55.000000000 -0400 -+++ qemu-0.9.1.new/vl.c 2008-05-05 13:33:17.000000000 -0400 -@@ -2200,28 +2200,78 @@ static CharDriverState *qemu_chr_open_st - return chr; - } - -+#ifdef __sun__ -+/* Once Solaris has openpty(), this is going to be removed. */ -+int openpty(int *amaster, int *aslave, char *name, -+ struct termios *termp, struct winsize *winp) -+{ -+ const char *slave; -+ int mfd = -1, sfd = -1; -+ -+ *amaster = *aslave = -1; -+ -+ mfd = open("/dev/ptmx", O_RDWR | O_NOCTTY); -+ if (mfd < 0) -+ goto err; -+ -+ if (grantpt(mfd) == -1 || unlockpt(mfd) == -1) -+ goto err; -+ -+ if ((slave = ptsname(mfd)) == NULL) -+ goto err; -+ -+ if ((sfd = open(slave, O_RDONLY | O_NOCTTY)) == -1) -+ goto err; -+ -+ if (ioctl(sfd, I_PUSH, "ptem") == -1 || -+ (termp != NULL && tcgetattr(sfd, termp) < 0)) -+ goto err; -+ -+ if (amaster) -+ *amaster = mfd; -+ if (aslave) -+ *aslave = sfd; -+ if (winp) -+ ioctl(sfd, TIOCSWINSZ, winp); -+ -+ return 0; -+ -+err: -+ if (sfd != -1) -+ close(sfd); -+ close(mfd); -+ return -1; -+} -+ -+void cfmakeraw (struct termios *termios_p) -+{ -+ termios_p->c_iflag &= -+ ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); -+ termios_p->c_oflag &= ~OPOST; -+ termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); -+ termios_p->c_cflag &= ~(CSIZE|PARENB); -+ termios_p->c_cflag |= CS8; -+ -+ termios_p->c_cc[VMIN] = 0; -+ termios_p->c_cc[VTIME] = 0; -+} -+#endif -+ - #if defined(__linux__) || defined(__sun__) - static CharDriverState *qemu_chr_open_pty(void) - { - struct termios tty; -- char slave_name[1024]; - int master_fd, slave_fd; - --#if defined(__linux__) -- /* Not satisfying */ -- if (openpty(&master_fd, &slave_fd, slave_name, NULL, NULL) < 0) { -+ if (openpty(&master_fd, &slave_fd, NULL, NULL, NULL) < 0) { - return NULL; - } --#endif - -- /* Disabling local echo and line-buffered output */ -- tcgetattr (master_fd, &tty); -- tty.c_lflag &= ~(ECHO|ICANON|ISIG); -- tty.c_cc[VMIN] = 1; -- tty.c_cc[VTIME] = 0; -- tcsetattr (master_fd, TCSAFLUSH, &tty); -+ /* Set raw attributes on the pty. */ -+ cfmakeraw(&tty); -+ tcsetattr(slave_fd, TCSAFLUSH, &tty); - -- fprintf(stderr, "char device redirected to %s\n", slave_name); -+ fprintf(stderr, "char device redirected to %s\n", ptsname(master_fd)); - return qemu_chr_open_fd(master_fd, master_fd); - } - diff --git a/qemu-0.9.1-sparc-configure.patch b/qemu-0.9.1-sparc-configure.patch deleted file mode 100644 index 3ad019f..0000000 --- a/qemu-0.9.1-sparc-configure.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- qemu-0.9.1/configure.BAD 2008-12-31 20:49:19.000000000 -0600 -+++ qemu-0.9.1/configure 2008-12-31 20:51:45.000000000 -0600 -@@ -307,6 +307,8 @@ - target_cpu="sparc"; cpu="sparc" ;; - v8plus|v8plusa) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m32" - target_cpu="sparc"; cpu="sparc" ;; -+ v932) SP_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v9__"; SP_LDFLAGS="-m32" -+ target_cpu="sparc"; cpu="sparc" ;; - v9) SP_CFLAGS="-m64 -mcpu=ultrasparc -D__sparc_${sparc_cpu}__"; SP_LDFLAGS="-m64" - target_cpu="sparc64"; cpu="sparc64" ;; - *) echo "undefined SPARC architecture. Exiting";exit 1;; -@@ -337,11 +339,11 @@ - - # - # If cpu ~= sparc and sparc_cpu hasn't been defined, plug in the right --# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit) -+# ARCH_CFLAGS/ARCH_LDFLAGS (assume sparc_v9 for 32-bit and sparc_v9 for 64-bit) - # - case $cpu in - sparc) if test -z "$sparc_cpu" ; then -- ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v8plus__" -+ ARCH_CFLAGS="-m32 -mcpu=ultrasparc -D__sparc_v9__" - ARCH_LDFLAGS="-m32" - else - ARCH_CFLAGS="${SP_CFLAGS}"