diff --git a/0032-PPC-Fix-linker-scripts-on-ppc-hosts.patch b/0032-PPC-Fix-linker-scripts-on-ppc-hosts.patch deleted file mode 100644 index 11ff61a1..00000000 --- a/0032-PPC-Fix-linker-scripts-on-ppc-hosts.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 4fddaa4befeb3ddb1c14d9b2c882474ba4166940 Mon Sep 17 00:00:00 2001 -From: Alexander Graf -Date: Mon, 12 Dec 2011 23:16:43 +0100 -Subject: [PATCH] PPC: Fix linker scripts on ppc hosts - -When compiling qemu statically with multilib on PPC, we hit the -same issue that commit 845f2c2812d9ed24b36c02a3d06ee83aeafe8b49 -is fixing. Do the same here. - -Signed-off-by: Alexander Graf ---- - ppc.ld | 16 ++++++++++++++-- - ppc64.ld | 16 ++++++++++++++-- - 2 files changed, 28 insertions(+), 4 deletions(-) - -diff --git a/ppc.ld b/ppc.ld -index 69aa3f2..2a0dcad 100644 ---- a/ppc.ld -+++ b/ppc.ld -@@ -49,8 +49,20 @@ SECTIONS - .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) } - .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } - .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } -- .rel.plt : { *(.rel.plt) } -- .rela.plt : { *(.rela.plt) } -+ .rel.plt : -+ { -+ *(.rel.plt) -+ PROVIDE (__rel_iplt_start = .); -+ *(.rel.iplt) -+ PROVIDE (__rel_iplt_end = .); -+ } -+ .rela.plt : -+ { -+ *(.rela.plt) -+ PROVIDE (__rela_iplt_start = .); -+ *(.rela.iplt) -+ PROVIDE (__rela_iplt_end = .); -+ } - .init : - { - KEEP (*(.init)) -diff --git a/ppc64.ld b/ppc64.ld -index 0a7c0dd..e2dafa0 100644 ---- a/ppc64.ld -+++ b/ppc64.ld -@@ -54,8 +54,20 @@ SECTIONS - *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) - *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) - } -- .rel.plt : { *(.rel.plt) } -- .rela.plt : { *(.rela.plt) } -+ .rel.plt : -+ { -+ *(.rel.plt) -+ PROVIDE (__rel_iplt_start = .); -+ *(.rel.iplt) -+ PROVIDE (__rel_iplt_end = .); -+ } -+ .rela.plt : -+ { -+ *(.rela.plt) -+ PROVIDE (__rela_iplt_start = .); -+ *(.rela.iplt) -+ PROVIDE (__rela_iplt_end = .); -+ } - .rela.tocbss : { *(.rela.tocbss) } - .init : - { --- -1.6.0.2 - diff --git a/0033-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch b/0032-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch similarity index 100% rename from 0033-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch rename to 0032-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch diff --git a/0034-PPC-KVM-Disable-mmu-notifier-check.patch b/0033-PPC-KVM-Disable-mmu-notifier-check.patch similarity index 100% rename from 0034-PPC-KVM-Disable-mmu-notifier-check.patch rename to 0033-PPC-KVM-Disable-mmu-notifier-check.patch diff --git a/0035-linux-user-improve-fake-proc-self-stat-making-ps.patch b/0034-linux-user-improve-fake-proc-self-stat-making-ps.patch similarity index 100% rename from 0035-linux-user-improve-fake-proc-self-stat-making-ps.patch rename to 0034-linux-user-improve-fake-proc-self-stat-making-ps.patch diff --git a/0036-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch b/0035-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch similarity index 100% rename from 0036-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch rename to 0035-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch diff --git a/0037-PPC-KVM-Ignore-SET_ONE_REG-failures.patch b/0036-PPC-KVM-Ignore-SET_ONE_REG-failures.patch similarity index 100% rename from 0037-PPC-KVM-Ignore-SET_ONE_REG-failures.patch rename to 0036-PPC-KVM-Ignore-SET_ONE_REG-failures.patch diff --git a/0038-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch b/0037-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch similarity index 100% rename from 0038-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch rename to 0037-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch diff --git a/0045-linux-user-fix-segfault-deadlock.patch b/0038-linux-user-fix-segfault-deadlock.patch similarity index 100% rename from 0045-linux-user-fix-segfault-deadlock.patch rename to 0038-linux-user-fix-segfault-deadlock.patch diff --git a/0039-console-Fix-segfault-on-screendump-without-VGA-adap.patch b/0039-console-Fix-segfault-on-screendump-without-VGA-adap.patch deleted file mode 100644 index bb965ada..00000000 --- a/0039-console-Fix-segfault-on-screendump-without-VGA-adap.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 2b0fc5def570362c27ce526b8a08529a6ae22362 Mon Sep 17 00:00:00 2001 -From: Alexander Graf -Date: Fri, 18 Nov 2011 16:41:59 +0100 -Subject: [PATCH] console: Fix segfault on screendump without VGA adapter - -When trying to create a screen dump without having any VGA adapter -inside the guest, QEMU segfaults. - -This is because it's trying to switch back to the "previous" screen -it was on before dumping the VGA screen. Unfortunately, in my case -there simply is no previous screen so it accesses a NULL pointer. - -Fix it by checking if previous_active_console is actually available. - -This is 1.0 material. - -Signed-off-by: Alexander Graf ---- - console.c | 4 +++- - 1 files changed, 3 insertions(+), 1 deletions(-) - -diff --git a/console.c b/console.c -index f6fe441..ed6a653 100644 ---- a/console.c -+++ b/console.c -@@ -186,7 +186,9 @@ void vga_hw_screen_dump(const char *filename) - consoles[0]->hw_screen_dump(consoles[0]->hw, filename); - } - -- console_select(previous_active_console->index); -+ if (previous_active_console) { -+ console_select(previous_active_console->index); -+ } - } - - void vga_hw_text_update(console_ch_t *chardata) --- -1.6.0.2 - diff --git a/0046-linux-user-implement-device-mapper-ioctls.patch b/0039-linux-user-implement-device-mapper-ioctls.patch similarity index 100% rename from 0046-linux-user-implement-device-mapper-ioctls.patch rename to 0039-linux-user-implement-device-mapper-ioctls.patch diff --git a/0047-linux-user-add-struct-old_dev_t-compat.patch b/0040-linux-user-add-struct-old_dev_t-compat.patch similarity index 100% rename from 0047-linux-user-add-struct-old_dev_t-compat.patch rename to 0040-linux-user-add-struct-old_dev_t-compat.patch diff --git a/0040-pseries-Fix-array-overrun-bug-in-PCI-code.patch b/0040-pseries-Fix-array-overrun-bug-in-PCI-code.patch deleted file mode 100644 index 1fce9b56..00000000 --- a/0040-pseries-Fix-array-overrun-bug-in-PCI-code.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 632e46dfa29a19ba656a5580b610fda0003cf3b0 Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Mon, 28 Nov 2011 20:21:39 +0000 -Subject: [PATCH] pseries: Fix array overrun bug in PCI code - -spapr_populate_pci_devices() containd a loop with PCI_NUM_REGIONS (7) -iterations. However this overruns the 'bars' global array, which only has -6 elements. In fact we only want to run this loop for things listed in the -bars array, so this patch corrects the loop bounds to reflect that. - -Signed-off-by: David Gibson -Signed-off-by: Alexander Graf -(cherry picked from commit 135712de61dfa22368e98914d65b8b0860ec8505) ---- - hw/spapr_pci.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/hw/spapr_pci.c b/hw/spapr_pci.c -index 7162588..9b6a032 100644 ---- a/hw/spapr_pci.c -+++ b/hw/spapr_pci.c -@@ -454,7 +454,7 @@ int spapr_populate_pci_devices(sPAPRPHBState *phb, - reg[0].size = 0; - - n = 0; -- for (i = 0; i < PCI_NUM_REGIONS; ++i) { -+ for (i = 0; i < ARRAY_SIZE(bars); ++i) { - if (0 == dev->io_regions[i].size) { - continue; - } --- -1.6.0.2 - diff --git a/0041-kvm-ppc-halt-secondary-cpus-when-guest-reset.patch b/0041-kvm-ppc-halt-secondary-cpus-when-guest-reset.patch deleted file mode 100644 index b02a0176..00000000 --- a/0041-kvm-ppc-halt-secondary-cpus-when-guest-reset.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 0ae672e84c7f722aebdcca35f1573e7b6f83fddd Mon Sep 17 00:00:00 2001 -From: Liu Yu-B13201 -Date: Mon, 28 Nov 2011 20:41:18 +0000 -Subject: [PATCH] kvm-ppc: halt secondary cpus when guest reset - -When guest reset, we need to halt secondary cpus until guest kick them. -This already works for tcg. The patch add the support for kvm. - -Signed-off-by: Liu Yu -Signed-off-by: Alexander Graf -[agraf: remove in-kernel irqchip code] -(cherry picked from commit 157feeadbaec09fe4dca539a24f6f6d327d6eeb6) ---- - hw/ppce500_spin.c | 1 + - target-ppc/kvm.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/hw/ppce500_spin.c b/hw/ppce500_spin.c -index cccd940..2b52728 100644 ---- a/hw/ppce500_spin.c -+++ b/hw/ppce500_spin.c -@@ -112,6 +112,7 @@ static void spin_kick(void *data) - - env->halted = 0; - env->exception_index = -1; -+ env->stopped = 0; - qemu_cpu_kick(env); - } - -diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c -index 923677c..9541626 100644 ---- a/target-ppc/kvm.c -+++ b/target-ppc/kvm.c -@@ -504,7 +504,7 @@ void kvm_arch_post_run(CPUState *env, struct kvm_run *run) - - int kvm_arch_process_async_events(CPUState *env) - { -- return 0; -+ return env->halted; - } - - static int kvmppc_handle_halt(CPUState *env) --- -1.6.0.2 - diff --git a/0048-linux-user-fix-BLK-ioctl-arguments.patch b/0041-linux-user-fix-BLK-ioctl-arguments.patch similarity index 100% rename from 0048-linux-user-fix-BLK-ioctl-arguments.patch rename to 0041-linux-user-fix-BLK-ioctl-arguments.patch diff --git a/0049-linux-user-add-BLKSSZGET-ioctl-wrapper.patch b/0042-linux-user-add-BLKSSZGET-ioctl-wrapper.patch similarity index 100% rename from 0049-linux-user-add-BLKSSZGET-ioctl-wrapper.patch rename to 0042-linux-user-add-BLKSSZGET-ioctl-wrapper.patch diff --git a/0042-pseries-Emit-device-tree-nodes-in-reg-order.patch b/0042-pseries-Emit-device-tree-nodes-in-reg-order.patch deleted file mode 100644 index 5eb82ae4..00000000 --- a/0042-pseries-Emit-device-tree-nodes-in-reg-order.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 7fe6b9bf81290f708919ffb6065daa16e5dbe7e3 Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Mon, 12 Dec 2011 18:24:32 +0000 -Subject: [PATCH] pseries: Emit device tree nodes in reg order - -Although in theory the device tree has no inherent ordering, in practice -the order of nodes in the device tree does effect the order that devices -are detected by software. - -Currently the ordering is determined by the order the devices appear on -the QEMU command line. Although that does give the user control over the -ordering, it is fragile, especially when the user does not generate the -command line manually - eg. when using libvirt etc. - -So order the device tree based on the reg value, ie. the address of on -the VIO bus of the devices. This gives us a sane and stable ordering. - -Signed-off-by: Michael Ellerman -Signed-off-by: David Gibson -Signed-off-by: Alexander Graf - -[agraf] add braces -(cherry picked from commit 05c194384f836240ea4c2da5fa3be43a54bff021) ---- - hw/spapr_vio.c | 50 +++++++++++++++++++++++++++++++++++++++++++++----- - 1 files changed, 45 insertions(+), 5 deletions(-) - -diff --git a/hw/spapr_vio.c b/hw/spapr_vio.c -index 2dcc036..8bd00ca 100644 ---- a/hw/spapr_vio.c -+++ b/hw/spapr_vio.c -@@ -749,21 +749,61 @@ static void spapr_vio_register_devices(void) - device_init(spapr_vio_register_devices) - - #ifdef CONFIG_FDT -+static int compare_reg(const void *p1, const void *p2) -+{ -+ VIOsPAPRDevice const *dev1, *dev2; -+ -+ dev1 = (VIOsPAPRDevice *)*(DeviceState **)p1; -+ dev2 = (VIOsPAPRDevice *)*(DeviceState **)p2; -+ -+ if (dev1->reg < dev2->reg) { -+ return -1; -+ } -+ if (dev1->reg == dev2->reg) { -+ return 0; -+ } -+ -+ /* dev1->reg > dev2->reg */ -+ return 1; -+} -+ - int spapr_populate_vdevice(VIOsPAPRBus *bus, void *fdt) - { -- DeviceState *qdev; -- int ret = 0; -+ DeviceState *qdev, **qdevs; -+ int i, num, ret = 0; - -+ /* Count qdevs on the bus list */ -+ num = 0; - QTAILQ_FOREACH(qdev, &bus->bus.children, sibling) { -- VIOsPAPRDevice *dev = (VIOsPAPRDevice *)qdev; -+ num++; -+ } -+ -+ /* Copy out into an array of pointers */ -+ qdevs = g_malloc(sizeof(qdev) * num); -+ num = 0; -+ QTAILQ_FOREACH(qdev, &bus->bus.children, sibling) { -+ qdevs[num++] = qdev; -+ } -+ -+ /* Sort the array */ -+ qsort(qdevs, num, sizeof(qdev), compare_reg); -+ -+ /* Hack alert. Give the devices to libfdt in reverse order, we happen -+ * to know that will mean they are in forward order in the tree. */ -+ for (i = num - 1; i >= 0; i--) { -+ VIOsPAPRDevice *dev = (VIOsPAPRDevice *)(qdevs[i]); - - ret = vio_make_devnode(dev, fdt); - - if (ret < 0) { -- return ret; -+ goto out; - } - } - -- return 0; -+ ret = 0; -+out: -+ free(qdevs); -+ -+ return ret; - } - #endif /* CONFIG_FDT */ --- -1.6.0.2 - diff --git a/0050-linux-user-Add-ioctl-for-BLKBSZGET.patch b/0043-linux-user-Add-ioctl-for-BLKBSZGET.patch similarity index 100% rename from 0050-linux-user-Add-ioctl-for-BLKBSZGET.patch rename to 0043-linux-user-Add-ioctl-for-BLKBSZGET.patch diff --git a/0043-pseries-Add-a-routine-to-find-a-stable-default-vt.patch b/0043-pseries-Add-a-routine-to-find-a-stable-default-vt.patch deleted file mode 100644 index df932362..00000000 --- a/0043-pseries-Add-a-routine-to-find-a-stable-default-vt.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 2f5760ec14a8f595c347f8a6ad2f8b6adfc20bc2 Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Mon, 12 Dec 2011 18:24:33 +0000 -Subject: [PATCH] pseries: Add a routine to find a stable "default" vty and use it - -In vty_lookup() we have a special case for supporting early debug in -the kernel. This accepts reg == 0 as a special case to mean "any vty". - -We implement this by searching the vtys on the bus and returning the -first we find. This means that the vty we chose depends on the order -the vtys are specified on the QEMU command line - because that determines -the order of the vtys on the bus. - -We'd rather the command line order was irrelevant, so instead return -the vty with the lowest reg value. This is still a guess as to what the -user really means, but it is at least stable WRT command line ordering. - -Signed-off-by: Michael Ellerman -Signed-off-by: David Gibson -Signed-off-by: Alexander Graf - -[agraf] fix braces -(cherry picked from commit 98331f8ad6a3e2cfbb402d72e6be47eac7706251) ---- - hw/spapr_vty.c | 47 ++++++++++++++++++++++++++++++++++++++--------- - 1 files changed, 38 insertions(+), 9 deletions(-) - -diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c -index f23cc36..e2fec58 100644 ---- a/hw/spapr_vty.c -+++ b/hw/spapr_vty.c -@@ -156,24 +156,53 @@ static VIOsPAPRDeviceInfo spapr_vty = { - }, - }; - -+static VIOsPAPRDevice *spapr_vty_get_default(VIOsPAPRBus *bus) -+{ -+ VIOsPAPRDevice *sdev, *selected; -+ DeviceState *iter; -+ -+ /* -+ * To avoid the console bouncing around we want one VTY to be -+ * the "default". We haven't really got anything to go on, so -+ * arbitrarily choose the one with the lowest reg value. -+ */ -+ -+ selected = NULL; -+ QTAILQ_FOREACH(iter, &bus->bus.children, sibling) { -+ /* Only look at VTY devices */ -+ if (iter->info != &spapr_vty.qdev) { -+ continue; -+ } -+ -+ sdev = DO_UPCAST(VIOsPAPRDevice, qdev, iter); -+ -+ /* First VTY we've found, so it is selected for now */ -+ if (!selected) { -+ selected = sdev; -+ continue; -+ } -+ -+ /* Choose VTY with lowest reg value */ -+ if (sdev->reg < selected->reg) { -+ selected = sdev; -+ } -+ } -+ -+ return selected; -+} -+ - static VIOsPAPRDevice *vty_lookup(sPAPREnvironment *spapr, target_ulong reg) - { - VIOsPAPRDevice *sdev; - - sdev = spapr_vio_find_by_reg(spapr->vio_bus, reg); - if (!sdev && reg == 0) { -- DeviceState *qdev; -- - /* Hack for kernel early debug, which always specifies reg==0. -- * We search all VIO devices, and grab the first available vty -- * device. This attempts to mimic existing PowerVM behaviour -+ * We search all VIO devices, and grab the vty with the lowest -+ * reg. This attempts to mimic existing PowerVM behaviour - * (early debug does work there, despite having no vty with - * reg==0. */ -- QTAILQ_FOREACH(qdev, &spapr->vio_bus->bus.children, sibling) { -- if (qdev->info == &spapr_vty.qdev) { -- return DO_UPCAST(VIOsPAPRDevice, qdev, qdev); -- } -- } -+ return spapr_vty_get_default(spapr->vio_bus); - } - - return sdev; --- -1.6.0.2 - diff --git a/0051-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch b/0044-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch similarity index 100% rename from 0051-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch rename to 0044-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch diff --git a/0044-pseries-Populate-chosen-linux-stdout-path-in-the.patch b/0044-pseries-Populate-chosen-linux-stdout-path-in-the.patch deleted file mode 100644 index 922ecab0..00000000 --- a/0044-pseries-Populate-chosen-linux-stdout-path-in-the.patch +++ /dev/null @@ -1,119 +0,0 @@ -From cdec03dc7bb33b4ebf5bd286338e5c50be77a055 Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Tue, 13 Dec 2011 15:24:34 +1100 -Subject: [PATCH] pseries: Populate "/chosen/linux,stdout-path" in the FDT - -There is a device tree property "/chosen/linux,stdout-path" which indicates -which device should be used as stdout - ie. "the console". - -Currently we don't specify anything, which means both firmware and Linux -choose something arbitrarily. Use the routine we added in the last patch -to pick a default vty and specify it as stdout. - -Currently SLOF doesn't use the property, but we are hoping to update it -to do so. - -Signed-off-by: Michael Ellerman -Signed-off-by: David Gibson -Signed-off-by: Alexander Graf -(cherry picked from commit 68f3a94c64bbaaf8c7f2daa70de1b5d87a432f86) ---- - hw/spapr.c | 2 ++ - hw/spapr_vio.c | 34 ++++++++++++++++++++++++++++++++++ - hw/spapr_vio.h | 3 +++ - hw/spapr_vty.c | 2 +- - 4 files changed, 40 insertions(+), 1 deletions(-) - -diff --git a/hw/spapr.c b/hw/spapr.c -index 2b901f1..5a98d86 100644 ---- a/hw/spapr.c -+++ b/hw/spapr.c -@@ -351,6 +351,8 @@ static void spapr_finalize_fdt(sPAPREnvironment *spapr, - fprintf(stderr, "Couldn't set up RTAS device tree properties\n"); - } - -+ spapr_populate_chosen_stdout(fdt, spapr->vio_bus); -+ - _FDT((fdt_pack(fdt))); - - cpu_physical_memory_write(fdt_addr, fdt, fdt_totalsize(fdt)); -diff --git a/hw/spapr_vio.c b/hw/spapr_vio.c -index 8bd00ca..464fe87 100644 ---- a/hw/spapr_vio.c -+++ b/hw/spapr_vio.c -@@ -806,4 +806,38 @@ out: - - return ret; - } -+ -+int spapr_populate_chosen_stdout(void *fdt, VIOsPAPRBus *bus) -+{ -+ VIOsPAPRDevice *dev; -+ char *name, *path; -+ int ret, offset; -+ -+ dev = spapr_vty_get_default(bus); -+ if (!dev) -+ return 0; -+ -+ offset = fdt_path_offset(fdt, "/chosen"); -+ if (offset < 0) { -+ return offset; -+ } -+ -+ name = vio_format_dev_name(dev); -+ if (!name) { -+ return -ENOMEM; -+ } -+ -+ if (asprintf(&path, "/vdevice/%s", name) < 0) { -+ path = NULL; -+ ret = -ENOMEM; -+ goto out; -+ } -+ -+ ret = fdt_setprop_string(fdt, offset, "linux,stdout-path", path); -+out: -+ free(name); -+ free(path); -+ -+ return ret; -+} - #endif /* CONFIG_FDT */ -diff --git a/hw/spapr_vio.h b/hw/spapr_vio.h -index a325a5f..9fcd304 100644 ---- a/hw/spapr_vio.h -+++ b/hw/spapr_vio.h -@@ -83,6 +83,7 @@ extern VIOsPAPRBus *spapr_vio_bus_init(void); - extern VIOsPAPRDevice *spapr_vio_find_by_reg(VIOsPAPRBus *bus, uint32_t reg); - extern void spapr_vio_bus_register_withprop(VIOsPAPRDeviceInfo *info); - extern int spapr_populate_vdevice(VIOsPAPRBus *bus, void *fdt); -+extern int spapr_populate_chosen_stdout(void *fdt, VIOsPAPRBus *bus); - - extern int spapr_vio_signal(VIOsPAPRDevice *dev, target_ulong mode); - -@@ -108,6 +109,8 @@ void spapr_vty_create(VIOsPAPRBus *bus, uint32_t reg, CharDriverState *chardev); - void spapr_vlan_create(VIOsPAPRBus *bus, uint32_t reg, NICInfo *nd); - void spapr_vscsi_create(VIOsPAPRBus *bus, uint32_t reg); - -+VIOsPAPRDevice *spapr_vty_get_default(VIOsPAPRBus *bus); -+ - int spapr_tce_set_bypass(uint32_t unit, uint32_t enable); - void spapr_vio_quiesce(void); - -diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c -index e2fec58..386ccf7 100644 ---- a/hw/spapr_vty.c -+++ b/hw/spapr_vty.c -@@ -156,7 +156,7 @@ static VIOsPAPRDeviceInfo spapr_vty = { - }, - }; - --static VIOsPAPRDevice *spapr_vty_get_default(VIOsPAPRBus *bus) -+VIOsPAPRDevice *spapr_vty_get_default(VIOsPAPRBus *bus) - { - VIOsPAPRDevice *sdev, *selected; - DeviceState *iter; --- -1.6.0.2 - diff --git a/0052-linux-user-binfmt-support-host-binaries.patch b/0045-linux-user-binfmt-support-host-binaries.patch similarity index 100% rename from 0052-linux-user-binfmt-support-host-binaries.patch rename to 0045-linux-user-binfmt-support-host-binaries.patch diff --git a/0053-linux-user-fix-fallocate.patch b/0046-linux-user-fix-fallocate.patch similarity index 100% rename from 0053-linux-user-fix-fallocate.patch rename to 0046-linux-user-fix-fallocate.patch diff --git a/0054-e1000-bounds-packet-size-against-buffer-size.patch b/0054-e1000-bounds-packet-size-against-buffer-size.patch deleted file mode 100644 index c5ad40c8..00000000 --- a/0054-e1000-bounds-packet-size-against-buffer-size.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2335c9428ecb8066cf354bd6f2b21998941e8518 Mon Sep 17 00:00:00 2001 -From: Anthony Liguori -Date: Mon, 23 Jan 2012 07:30:43 -0600 -Subject: [PATCH 53/53] e1000: bounds packet size against buffer size - -Otherwise we can write beyond the buffer and corrupt memory. This is tracked -as CVE-2012-0029. - -Signed-off-by: Anthony Liguori ---- - hw/e1000.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/hw/e1000.c b/hw/e1000.c -index 19ca5bf..22a601a 100644 ---- a/hw/e1000.c -+++ b/hw/e1000.c -@@ -466,6 +466,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) - bytes = split_size; - if (tp->size + bytes > msh) - bytes = msh - tp->size; -+ -+ bytes = MIN(sizeof(tp->data) - tp->size, bytes); - pci_dma_read(&s->dev, addr, tp->data + tp->size, bytes); - if ((sz = tp->size + bytes) >= hdr && tp->size < hdr) - memmove(tp->header, tp->data, hdr); -@@ -481,6 +483,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) - // context descriptor TSE is not set, while data descriptor TSE is set - DBGOUT(TXERR, "TCP segmentaion Error\n"); - } else { -+ split_size = MIN(sizeof(tp->data) - tp->size, split_size); - pci_dma_read(&s->dev, addr, tp->data + tp->size, split_size); - tp->size += split_size; - } --- -1.7.7 - diff --git a/qemu-1.0.1.tar.bz2 b/qemu-1.0.1.tar.bz2 new file mode 100644 index 00000000..044b07f8 --- /dev/null +++ b/qemu-1.0.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ae6aa62497c2414bcd10d32c00f17fbcf3a1dc1278160cca3dcd1ef85d0d12a +size 9062824 diff --git a/qemu-1.0.tar.bz2 b/qemu-1.0.tar.bz2 deleted file mode 100644 index a5d267fe..00000000 --- a/qemu-1.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17af2cf9b04314ad87eccabf9eb2dae0e42a287c2cb1233145ce1fd278caa452 -size 9056102 diff --git a/qemu.changes b/qemu.changes index 955761aa..05c86d26 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 22 23:04:48 UTC 2012 - brogers@suse.com + +- update to latest stable release: 1.0.1. For changes see: + http://wiki.qemu.org/ChangeLog/1.0 + ------------------------------------------------------------------- Mon Feb 6 22:24:27 UTC 2012 - brogers@suse.com diff --git a/qemu.spec b/qemu.spec index 6efea4ff..9c5ac717 100644 --- a/qemu.spec +++ b/qemu.spec @@ -15,12 +15,13 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: qemu Url: http://fabrice.bellard.free.fr/qemu/ Summary: Universal CPU emulator License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT Group: System/Emulators/PC -Version: 1.0 +Version: 1.0.1 Release: 0 Source: %name-%version.tar.bz2 Patch0001: 0001-Handle-CPU-interrupts-by-inline-checking-of-a-flag.patch @@ -54,29 +55,21 @@ Patch0028: 0028-Integrating-Dynamips-and-GNS3-UDP-tunnels-Patches.patch Patch0029: 0029-linux-user-add-binfmt-wrapper-for-argv-0-handling.patch Patch0030: 0030-linux-user-Ignore-timer_create-syscall.patch Patch0031: 0031-linux-user-be-silent-about-capget-failures.patch -Patch0032: 0032-PPC-Fix-linker-scripts-on-ppc-hosts.patch -Patch0033: 0033-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch -Patch0034: 0034-PPC-KVM-Disable-mmu-notifier-check.patch -Patch0035: 0035-linux-user-improve-fake-proc-self-stat-making-ps.patch -Patch0036: 0036-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch -Patch0037: 0037-PPC-KVM-Ignore-SET_ONE_REG-failures.patch -Patch0038: 0038-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch -Patch0039: 0039-console-Fix-segfault-on-screendump-without-VGA-adap.patch -Patch0040: 0040-pseries-Fix-array-overrun-bug-in-PCI-code.patch -Patch0041: 0041-kvm-ppc-halt-secondary-cpus-when-guest-reset.patch -Patch0042: 0042-pseries-Emit-device-tree-nodes-in-reg-order.patch -Patch0043: 0043-pseries-Add-a-routine-to-find-a-stable-default-vt.patch -Patch0044: 0044-pseries-Populate-chosen-linux-stdout-path-in-the.patch -Patch0045: 0045-linux-user-fix-segfault-deadlock.patch -Patch0046: 0046-linux-user-implement-device-mapper-ioctls.patch -Patch0047: 0047-linux-user-add-struct-old_dev_t-compat.patch -Patch0048: 0048-linux-user-fix-BLK-ioctl-arguments.patch -Patch0049: 0049-linux-user-add-BLKSSZGET-ioctl-wrapper.patch -Patch0050: 0050-linux-user-Add-ioctl-for-BLKBSZGET.patch -Patch0051: 0051-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch -Patch0052: 0052-linux-user-binfmt-support-host-binaries.patch -Patch0053: 0053-linux-user-fix-fallocate.patch -Patch0054: 0054-e1000-bounds-packet-size-against-buffer-size.patch +Patch0032: 0032-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch +Patch0033: 0033-PPC-KVM-Disable-mmu-notifier-check.patch +Patch0034: 0034-linux-user-improve-fake-proc-self-stat-making-ps.patch +Patch0035: 0035-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch +Patch0036: 0036-PPC-KVM-Ignore-SET_ONE_REG-failures.patch +Patch0037: 0037-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch +Patch0038: 0038-linux-user-fix-segfault-deadlock.patch +Patch0039: 0039-linux-user-implement-device-mapper-ioctls.patch +Patch0040: 0040-linux-user-add-struct-old_dev_t-compat.patch +Patch0041: 0041-linux-user-fix-BLK-ioctl-arguments.patch +Patch0042: 0042-linux-user-add-BLKSSZGET-ioctl-wrapper.patch +Patch0043: 0043-linux-user-Add-ioctl-for-BLKBSZGET.patch +Patch0044: 0044-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch +Patch0045: 0045-linux-user-binfmt-support-host-binaries.patch +Patch0046: 0046-linux-user-fix-fallocate.patch # this is to make lint happy Source300: rpmlintrc Source400: update_git.sh @@ -183,14 +176,6 @@ run cross architectures builds %patch0044 -p1 %patch0045 -p1 %patch0046 -p1 -%patch0047 -p1 -%patch0048 -p1 -%patch0049 -p1 -%patch0050 -p1 -%patch0051 -p1 -%patch0052 -p1 -%patch0053 -p1 -%patch0054 -p1 %build # build QEMU