Rebase to upstream qemu-kvm checkout in time for F18 feature freeze

This commit is contained in:
Cole Robinson 2012-08-06 15:53:39 -04:00
parent 5439f9b0ec
commit b6dd5ac167
22 changed files with 233 additions and 511 deletions

View File

@ -1,70 +0,0 @@
From baf954154e7c0acda038c01a5c28aea4db7eec67 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 5 Jul 2012 14:28:03 +0100
Subject: [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
glibc 2.16 will remove the undocumented definition of 'struct siginfo'
from <bits/siginfo.h>.
This change is already present in glibc 2.15.90, so qemu compilation
of certain targets (eg. cris-user) breaks.
This struct was always typedef'd to be the same as 'siginfo_t' which
is what POSIX documents, so use that instead.
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
linux-user/signal.c | 8 ++++----
user-exec.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 43346dc..108dff9 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka,
* Arguments to signal handler:
*
* a0 = signal number
- * a1 = pointer to struct siginfo
+ * a1 = pointer to siginfo_t
* a2 = pointer to struct ucontext
*
* $25 and PC point to the signal handler, $29 points to the
@@ -3255,7 +3255,7 @@ struct target_signal_frame {
};
struct rt_signal_frame {
- struct siginfo info;
+ siginfo_t info;
struct ucontext uc;
uint32_t tramp[2];
};
@@ -3474,9 +3474,9 @@ struct target_signal_frame {
};
struct rt_signal_frame {
- struct siginfo *pinfo;
+ siginfo_t *pinfo;
void *puc;
- struct siginfo info;
+ siginfo_t info;
struct ucontext uc;
uint8_t retcode[8]; /* Trampoline code. */
};
diff --git a/user-exec.c b/user-exec.c
index b2a4261..1a9c276 100644
--- a/user-exec.c
+++ b/user-exec.c
@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
int cpu_signal_handler(int host_signum, void *pinfo,
void *puc)
{
- struct siginfo *info = pinfo;
+ siginfo_t *info = pinfo;
struct ucontext *uc = puc;
unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
uint32_t insn = *(uint32_t *)pc;
--
1.7.10.4

View File

@ -1,29 +0,0 @@
From bbf3b80401d55ac3339160cefa17f0015317f512 Mon Sep 17 00:00:00 2001
From: Jan Kiszka <jan.kiszka@siemens.com>
Date: Thu, 17 May 2012 10:32:37 -0300
Subject: [PATCH] kvm: Enable use of kvm_irqchip_in_kernel in hwlib code
Provide a dummy kvm_kernel_irqchip so that kvm_irqchip_in_kernel can be
used by code that is not under CONFIG_KVM protection.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
---
kvm-stub.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kvm-stub.c b/kvm-stub.c
index b4cf03f..ec9a364 100644
--- a/kvm-stub.c
+++ b/kvm-stub.c
@@ -18,6 +18,7 @@
#include "kvm.h"
KVMState *kvm_state;
+bool kvm_kernel_irqchip;
int kvm_init_vcpu(CPUArchState *env)
{
--
1.7.10.4

View File

@ -0,0 +1,28 @@
From 2852820d9d765141c9bae0f586c9b782258fb07d Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Mon, 6 Aug 2012 17:12:40 -0400
Subject: [PATCH] mips: Fix link error with 'piix4_pm_init'
LINK mips-softmmu/qemu-system-mips
LINK m68k-softmmu/qemu-system-m68k
hw/mips/../mips_malta.o: In function `mips_malta_init':
/home/crobinso/qemu-kvm/hw/mips/../mips_malta.c:961: undefined reference to `piix4_pm_init'
---
hw/mips/Makefile.objs | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/mips/Makefile.objs b/hw/mips/Makefile.objs
index 29a5d0d..89af0e9 100644
--- a/hw/mips/Makefile.objs
+++ b/hw/mips/Makefile.objs
@@ -1,6 +1,7 @@
obj-y = mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
obj-y += mips_addr.o mips_timer.o mips_int.o
obj-y += gt64xxx.o mc146818rtc.o
+obj-y += acpi.o acpi_piix4.o
obj-$(CONFIG_FULONG) += bonito.o vt82c686.o mips_fulong2e.o
obj-y := $(addprefix ../,$(obj-y))
--
1.7.11.2

View File

@ -1,111 +0,0 @@
From ad47ffe7134fc7cd6a74fd3cdc0470723b883b93 Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Tue, 10 Jul 2012 10:54:55 +0100
Subject: [PATCH] qemu-kvm: Fix default machine options
qemu-kvm-specific machine defaults were missing for pc-0.15 to pc-1.1.
Then Daniel noted that --disable-kvm caused problems as the generated
binaries would be unable to run. As we are at it, we can drop the
kernel_irqchip=on that is now enable by default in upstream.
---
hw/pc_piix.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 4e8a280..50e108a 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -355,6 +355,12 @@ static void pc_xen_hvm_init(ram_addr_t ram_size,
}
#endif
+#ifdef CONFIG_KVM_OPTIONS
+#define KVM_MACHINE_OPTIONS "accel=kvm"
+#else
+#define KVM_MACHINE_OPTIONS ""
+#endif
+
static QEMUMachine pc_machine_v1_1 = {
.name = "pc-1.1",
.alias = "pc",
@@ -362,7 +368,7 @@ static QEMUMachine pc_machine_v1_1 = {
.init = pc_init_pci,
.max_cpus = 255,
.is_default = 1,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
};
#define PC_COMPAT_1_0 \
@@ -393,7 +399,7 @@ static QEMUMachine pc_machine_v1_0 = {
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_1_0,
{ /* end of list */ }
@@ -408,7 +414,7 @@ static QEMUMachine pc_machine_v0_15 = {
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_15,
{ /* end of list */ }
@@ -440,7 +446,7 @@ static QEMUMachine pc_machine_v0_14 = {
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_14,
{
@@ -473,7 +479,7 @@ static QEMUMachine pc_machine_v0_13 = {
.desc = "Standard PC",
.init = pc_init_pci_no_kvmclock,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_13,
{
@@ -510,7 +516,7 @@ static QEMUMachine pc_machine_v0_12 = {
.desc = "Standard PC",
.init = pc_init_pci_no_kvmclock,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_12,
{
@@ -543,7 +549,7 @@ static QEMUMachine pc_machine_v0_11 = {
.desc = "Standard PC, qemu 0.11",
.init = pc_init_pci_no_kvmclock,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_11,
{
@@ -564,7 +570,7 @@ static QEMUMachine pc_machine_v0_10 = {
.desc = "Standard PC, qemu 0.10",
.init = pc_init_pci_no_kvmclock,
.max_cpus = 255,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_11,
{
@@ -597,7 +603,7 @@ static QEMUMachine isapc_machine = {
.desc = "ISA-only PC",
.init = pc_init_isa,
.max_cpus = 1,
- .default_machine_opts = "accel=kvm,kernel_irqchip=on",
+ .default_machine_opts = KVM_MACHINE_OPTIONS,
.compat_props = (GlobalProperty[]) {
{
.driver = "pc-sysfw",

View File

@ -1,16 +1,15 @@
From 5b79aa329a378537ec939cee75df10ca073b367f Mon Sep 17 00:00:00 2001
From 618a5f8a10c69813dddd86d966ff1778f22ab456 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 21:57:47 +0100
Subject: [PATCH 101/114] char: Split out tcp socket close code in a separate
function
Subject: [PATCH] char: Split out tcp socket close code in a separate function
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
qemu-char.c | 25 ++++++++++++++++---------
qemu-char.c | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
index fe1126f..78d2a69 100644
index c2aaaee..132ac08 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -2141,6 +2141,21 @@ typedef struct {
@ -53,5 +52,5 @@ index fe1126f..78d2a69 100644
if (s->do_telnetopt)
tcp_chr_process_IAC_bytes(chr, s, buf, &size);
--
1.7.10.4
1.7.11.2

View File

@ -1,51 +1,52 @@
From 0e725325a4f3d1eb0eaa243cc059df2774c9c098 Mon Sep 17 00:00:00 2001
From 58011a6f6c7c284f6532486f819b5895be9b76c7 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 20:31:45 +0100
Subject: [PATCH 102/114] char: Add a QemuChrHandlers struct to initialise
chardev handlers
Subject: [PATCH] char: Add a QemuChrHandlers struct to initialise chardev
handlers
Instead of passing each handler in the qemu_add_handlers() function,
create a struct of handlers that can be passed to the function instead.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
gdbstub.c | 9 +++++++--
hw/cadence_uart.c | 9 +++++++--
hw/ccid-card-passthru.c | 11 +++++++----
hw/debugcon.c | 2 +-
hw/escc.c | 9 +++++++--
hw/etraxfs_ser.c | 13 +++++++++----
hw/exynos4210_uart.c | 9 +++++++--
hw/grlib_apbuart.c | 12 +++++++-----
hw/ivshmem.c | 28 ++++++++++++++++++++++------
hw/lm32_juart.c | 8 +++++++-
hw/lm32_uart.c | 8 +++++++-
hw/mcf_uart.c | 9 +++++++--
hw/milkymist-uart.c | 8 +++++++-
hw/pl011.c | 9 +++++++--
hw/pxa2xx.c | 13 +++++++++----
hw/qdev-properties.c | 2 +-
hw/serial.c | 9 +++++++--
hw/sh_serial.c | 12 +++++++++---
hw/spapr_vty.c | 8 ++++++--
hw/strongarm.c | 12 +++++++-----
hw/usb/dev-serial.c | 9 +++++++--
hw/usb/redirect.c | 9 +++++++--
hw/virtio-console.c | 9 +++++++--
hw/xen_console.c | 16 +++++++++++-----
hw/xilinx_uartlite.c | 11 +++++++++--
monitor.c | 18 ++++++++++++++----
net/slirp.c | 8 ++++++--
qemu-char.c | 32 ++++++++++++++++++++++----------
qemu-char.h | 13 +++++++++----
qtest.c | 9 ++++++++-
30 files changed, 248 insertions(+), 86 deletions(-)
gdbstub.c | 9 +++++++--
hw/cadence_uart.c | 9 +++++++--
hw/ccid-card-passthru.c | 11 +++++++----
hw/debugcon.c | 2 +-
hw/escc.c | 9 +++++++--
hw/etraxfs_ser.c | 13 +++++++++----
hw/exynos4210_uart.c | 9 +++++++--
hw/grlib_apbuart.c | 12 +++++++-----
hw/imx_serial.c | 9 +++++++--
hw/ivshmem.c | 28 ++++++++++++++++++++++------
hw/lm32_juart.c | 8 +++++++-
hw/lm32_uart.c | 8 +++++++-
hw/mcf_uart.c | 9 +++++++--
hw/milkymist-uart.c | 8 +++++++-
hw/pl011.c | 9 +++++++--
hw/pxa2xx.c | 13 +++++++++----
hw/qdev-properties.c | 2 +-
hw/serial.c | 9 +++++++--
hw/sh_serial.c | 12 +++++++++---
hw/spapr_vty.c | 8 ++++++--
hw/strongarm.c | 12 +++++++-----
hw/usb/dev-serial.c | 9 +++++++--
hw/usb/redirect.c | 9 +++++++--
hw/virtio-console.c | 9 +++++++--
hw/xen_console.c | 16 +++++++++++-----
hw/xilinx_uartlite.c | 11 +++++++++--
monitor.c | 18 ++++++++++++++----
net/slirp.c | 8 ++++++--
qemu-char.c | 32 ++++++++++++++++++++++----------
qemu-char.h | 13 +++++++++----
qtest.c | 9 ++++++++-
31 files changed, 255 insertions(+), 88 deletions(-)
diff --git a/gdbstub.c b/gdbstub.c
index 6a77a66..9e099b0 100644
index 5d37dd9..7f6b1cb 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -2874,6 +2874,12 @@ static void gdb_sigterm_handler(int signal)
@@ -2929,6 +2929,12 @@ static void gdb_sigterm_handler(int signal)
}
#endif
@ -58,7 +59,7 @@ index 6a77a66..9e099b0 100644
int gdbserver_start(const char *device)
{
GDBState *s;
@@ -2903,8 +2909,7 @@ int gdbserver_start(const char *device)
@@ -2958,8 +2964,7 @@ int gdbserver_start(const char *device)
if (!chr)
return -1;
@ -138,7 +139,7 @@ index 14ab326..7887fd2 100644
static int debugcon_isa_initfn(ISADevice *dev)
diff --git a/hw/escc.c b/hw/escc.c
index 4d8a8e8..689f275 100644
index e1f5e73..ff9d8b1 100644
--- a/hw/escc.c
+++ b/hw/escc.c
@@ -867,6 +867,12 @@ void slavio_serial_ms_kbd_init(target_phys_addr_t base, qemu_irq irq,
@ -249,11 +250,38 @@ index 73fc989..fd77d52 100644
sysbus_init_irq(dev, &uart->irq);
diff --git a/hw/imx_serial.c b/hw/imx_serial.c
index d4eae43..f2304d2 100644
--- a/hw/imx_serial.c
+++ b/hw/imx_serial.c
@@ -381,6 +381,12 @@ static const struct MemoryRegionOps imx_serial_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
+static const QemuChrHandlers imx_handlers = {
+ .fd_can_read = imx_can_receive,
+ .fd_read = imx_receive,
+ .fd_event = imx_event,
+};
+
static int imx_serial_init(SysBusDevice *dev)
{
IMXSerialState *s = FROM_SYSBUS(IMXSerialState, dev);
@@ -391,8 +397,7 @@ static int imx_serial_init(SysBusDevice *dev)
sysbus_init_irq(dev, &s->irq);
if (s->chr) {
- qemu_chr_add_handlers(s->chr, imx_can_receive, imx_receive,
- imx_event, s);
+ qemu_chr_add_handlers(s->chr, &imx_handlers, s);
} else {
DPRINTF("No char dev for uart at 0x%lx\n",
(unsigned long)s->iomem.ram_addr);
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index d48e5f9..2dbf86e 100644
index 0c58161..f9a7fe8 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -279,6 +279,18 @@ static void fake_irqfd(void *opaque, const uint8_t *buf, int size) {
@@ -273,6 +273,18 @@ static void fake_irqfd(void *opaque, const uint8_t *buf, int size) {
msix_notify(pdev, entry->vector);
}
@ -269,10 +297,10 @@ index d48e5f9..2dbf86e 100644
+ .fd_event = ivshmem_event,
+};
+
static CharDriverState* create_eventfd_chr_device(void * opaque, int eventfd,
int vector)
static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *n,
int vector)
{
@@ -298,11 +310,10 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, int eventfd,
@@ -293,11 +305,10 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
s->eventfd_table[vector].pdev = &s->dev;
s->eventfd_table[vector].vector = vector;
@ -287,7 +315,7 @@ index d48e5f9..2dbf86e 100644
}
return chr;
@@ -635,6 +646,12 @@ static void ivshmem_write_config(PCIDevice *pci_dev, uint32_t address,
@@ -641,6 +652,12 @@ static void ivshmem_write_config(PCIDevice *pci_dev, uint32_t address,
msix_write_config(pci_dev, address, val, len);
}
@ -300,7 +328,7 @@ index d48e5f9..2dbf86e 100644
static int pci_ivshmem_init(PCIDevice *dev)
{
IVShmemState *s = DO_UPCAST(IVShmemState, dev, dev);
@@ -724,8 +741,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
@@ -730,8 +747,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
s->eventfd_chr = g_malloc0(s->vectors * sizeof(CharDriverState *));
@ -415,10 +443,10 @@ index 291fe3c..2dcb41c 100644
return 0;
diff --git a/hw/pl011.c b/hw/pl011.c
index 8a5a8f5..b125c40 100644
index 3245702..0d620f8 100644
--- a/hw/pl011.c
+++ b/hw/pl011.c
@@ -256,6 +256,12 @@ static const VMStateDescription vmstate_pl011 = {
@@ -258,6 +258,12 @@ static const VMStateDescription vmstate_pl011 = {
}
};
@ -431,7 +459,7 @@ index 8a5a8f5..b125c40 100644
static int pl011_init(SysBusDevice *dev, const unsigned char *id)
{
pl011_state *s = FROM_SYSBUS(pl011_state, dev);
@@ -271,8 +277,7 @@ static int pl011_init(SysBusDevice *dev, const unsigned char *id)
@@ -273,8 +279,7 @@ static int pl011_init(SysBusDevice *dev, const unsigned char *id)
s->cr = 0x300;
s->flags = 0x90;
if (s->chr) {
@ -442,10 +470,10 @@ index 8a5a8f5..b125c40 100644
vmstate_register(&dev->qdev, -1, &vmstate_pl011, s);
return 0;
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c
index ddaa846..81827a4 100644
index d5f1420..0b308cf 100644
--- a/hw/pxa2xx.c
+++ b/hw/pxa2xx.c
@@ -2011,6 +2011,12 @@ static int pxa2xx_fir_load(QEMUFile *f, void *opaque, int version_id)
@@ -1962,6 +1962,12 @@ static int pxa2xx_fir_load(QEMUFile *f, void *opaque, int version_id)
return 0;
}
@ -458,7 +486,7 @@ index ddaa846..81827a4 100644
static PXA2xxFIrState *pxa2xx_fir_init(MemoryRegion *sysmem,
target_phys_addr_t base,
qemu_irq irq, qemu_irq rx_dma, qemu_irq tx_dma,
@@ -2029,10 +2035,9 @@ static PXA2xxFIrState *pxa2xx_fir_init(MemoryRegion *sysmem,
@@ -1980,10 +1986,9 @@ static PXA2xxFIrState *pxa2xx_fir_init(MemoryRegion *sysmem,
memory_region_init_io(&s->iomem, &pxa2xx_fir_ops, s, "pxa2xx-fir", 0x1000);
memory_region_add_subregion(sysmem, base, &s->iomem);
@ -473,10 +501,10 @@ index ddaa846..81827a4 100644
pxa2xx_fir_load, s);
diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index b7b5597..e3c1b40 100644
index 8aca0d4..677c665 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -551,7 +551,7 @@ static void release_chr(Object *obj, const char *name, void *opaque)
@@ -549,7 +549,7 @@ static void release_chr(Object *obj, const char *name, void *opaque)
CharDriverState **ptr = qdev_get_prop_ptr(dev, prop);
if (*ptr) {
@ -513,10 +541,10 @@ index a421d1e..056d823 100644
/* Change the main reference oscillator frequency. */
diff --git a/hw/sh_serial.c b/hw/sh_serial.c
index 43b0eb1..c322784 100644
index 1d1883d..ce1c765 100644
--- a/hw/sh_serial.c
+++ b/hw/sh_serial.c
@@ -350,6 +350,12 @@ static const MemoryRegionOps sh_serial_ops = {
@@ -352,6 +352,12 @@ static const MemoryRegionOps sh_serial_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
@ -529,7 +557,7 @@ index 43b0eb1..c322784 100644
void sh_serial_init(MemoryRegion *sysmem,
target_phys_addr_t base, int feat,
uint32_t freq, CharDriverState *chr,
@@ -394,9 +400,9 @@ void sh_serial_init(MemoryRegion *sysmem,
@@ -396,9 +402,9 @@ void sh_serial_init(MemoryRegion *sysmem,
s->chr = chr;
@ -543,7 +571,7 @@ index 43b0eb1..c322784 100644
s->eri = eri_source;
s->rxi = rxi_source;
diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c
index c9674f3..15f61c3 100644
index 99e52cc..e7cb84f 100644
--- a/hw/spapr_vty.c
+++ b/hw/spapr_vty.c
@@ -54,6 +54,11 @@ void vty_putchars(VIOsPAPRDevice *sdev, uint8_t *buf, int len)
@ -569,7 +597,7 @@ index c9674f3..15f61c3 100644
return 0;
}
diff --git a/hw/strongarm.c b/hw/strongarm.c
index 1b15f39..2ae2f7e 100644
index 7150eeb..594cf31 100644
--- a/hw/strongarm.c
+++ b/hw/strongarm.c
@@ -1199,6 +1199,12 @@ static const MemoryRegionOps strongarm_uart_ops = {
@ -599,7 +627,7 @@ index 1b15f39..2ae2f7e 100644
return 0;
diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c
index 56743ee..af670cc 100644
index 8aa6552..8fc9bdd 100644
--- a/hw/usb/dev-serial.c
+++ b/hw/usb/dev-serial.c
@@ -475,6 +475,12 @@ static void usb_serial_event(void *opaque, int event)
@ -626,10 +654,10 @@ index 56743ee..af670cc 100644
return 0;
}
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 51c27b4..6e8180e 100644
index 10b4fbb..ecb2cd4 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -890,6 +890,12 @@ static void usbredir_chardev_event(void *opaque, int event)
@@ -892,6 +892,12 @@ static void usbredir_chardev_event(void *opaque, int event)
}
}
@ -642,7 +670,7 @@ index 51c27b4..6e8180e 100644
/*
* init + destroy
*/
@@ -928,8 +934,7 @@ static int usbredir_initfn(USBDevice *udev)
@@ -930,8 +936,7 @@ static int usbredir_initfn(USBDevice *udev)
/* Let the backend know we are ready */
qemu_chr_fe_open(dev->cs);
@ -680,10 +708,10 @@ index cffee3d..066590c 100644
return 0;
diff --git a/hw/xen_console.c b/hw/xen_console.c
index 3794b19..ee872c3 100644
index 9426d73..e9fcadc 100644
--- a/hw/xen_console.c
+++ b/hw/xen_console.c
@@ -212,6 +212,11 @@ out:
@@ -211,6 +211,11 @@ out:
return ret;
}
@ -695,7 +723,7 @@ index 3794b19..ee872c3 100644
static int con_initialise(struct XenDevice *xendev)
{
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
@@ -232,9 +237,9 @@ static int con_initialise(struct XenDevice *xendev)
@@ -231,9 +236,9 @@ static int con_initialise(struct XenDevice *xendev)
return -1;
xen_be_bind_evtchn(&con->xendev);
@ -708,7 +736,7 @@ index 3794b19..ee872c3 100644
xen_be_printf(xendev, 1, "ring mfn %d, remote port %d, local port %d, limit %zd\n",
con->ring_ref,
@@ -251,8 +256,9 @@ static void con_disconnect(struct XenDevice *xendev)
@@ -250,8 +255,9 @@ static void con_disconnect(struct XenDevice *xendev)
if (!xendev->dev) {
return;
}
@ -721,7 +749,7 @@ index 3794b19..ee872c3 100644
if (con->sring) {
diff --git a/hw/xilinx_uartlite.c b/hw/xilinx_uartlite.c
index aa0170d..6ca45dc 100644
index d0f32db..33f0cd5 100644
--- a/hw/xilinx_uartlite.c
+++ b/hw/xilinx_uartlite.c
@@ -195,6 +195,12 @@ static void uart_event(void *opaque, int event)
@ -737,7 +765,7 @@ index aa0170d..6ca45dc 100644
static int xilinx_uartlite_init(SysBusDevice *dev)
{
struct xlx_uartlite *s = FROM_SYSBUS(typeof (*s), dev);
@@ -206,8 +212,9 @@ static int xilinx_uartlite_init(SysBusDevice *dev)
@@ -207,8 +213,9 @@ static int xilinx_uartlite_init(SysBusDevice *dev)
sysbus_init_mmio(dev, &s->mmio);
s->chr = qemu_char_get_next_serial();
@ -750,10 +778,10 @@ index aa0170d..6ca45dc 100644
}
diff --git a/monitor.c b/monitor.c
index 71f4392..116accb 100644
index 99618a0..c020089 100644
--- a/monitor.c
+++ b/monitor.c
@@ -4601,6 +4601,18 @@ static void sortcmdlist(void)
@@ -4689,6 +4689,18 @@ static void sortcmdlist(void)
* End:
*/
@ -772,7 +800,7 @@ index 71f4392..116accb 100644
void monitor_init(CharDriverState *chr, int flags)
{
static int is_first_init = 1;
@@ -4623,12 +4635,10 @@ void monitor_init(CharDriverState *chr, int flags)
@@ -4712,12 +4724,10 @@ void monitor_init(CharDriverState *chr, int flags)
if (monitor_ctrl_mode(mon)) {
mon->mc = g_malloc0(sizeof(MonitorControl));
/* Control mode requires special handlers */
@ -788,10 +816,10 @@ index 71f4392..116accb 100644
QLIST_INSERT_HEAD(&mon_list, mon, entry);
diff --git a/net/slirp.c b/net/slirp.c
index 96f5032..aa8ed08 100644
index 08adb97..f5ba440 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -577,6 +577,11 @@ static void guestfwd_read(void *opaque, const uint8_t *buf, int size)
@@ -593,6 +593,11 @@ static void guestfwd_read(void *opaque, const uint8_t *buf, int size)
slirp_socket_recv(fwd->slirp, fwd->server, fwd->port, buf, size);
}
@ -803,18 +831,18 @@ index 96f5032..aa8ed08 100644
static int slirp_guestfwd(SlirpState *s, const char *config_str,
int legacy_format)
{
@@ -633,8 +638,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str,
fwd->port = port;
fwd->slirp = s->slirp;
@@ -658,8 +663,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str,
fwd->port = port;
fwd->slirp = s->slirp;
- qemu_chr_add_handlers(fwd->hd, guestfwd_can_read, guestfwd_read,
- NULL, fwd);
+ qemu_chr_add_handlers(fwd->hd, &guestfwd_handlers, fwd);
- qemu_chr_add_handlers(fwd->hd, guestfwd_can_read, guestfwd_read,
- NULL, fwd);
+ qemu_chr_add_handlers(fwd->hd, &guestfwd_handlers, fwd);
}
return 0;
fail_syntax:
diff --git a/qemu-char.c b/qemu-char.c
index 78d2a69..86bdabf 100644
index 132ac08..5c5ae1e 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -192,19 +192,26 @@ void qemu_chr_fe_printf(CharDriverState *s, const char *fmt, ...)
@ -927,5 +955,5 @@ index fbfab4e..4ab5b69 100644
inbuf = g_string_new("");
--
1.7.10.4
1.7.11.2

View File

@ -1,15 +1,14 @@
From 32876859aeee3722398d98abfb6b6307e701091f Mon Sep 17 00:00:00 2001
From 4ab66ef979faf3ad59fbf2bb8406117b657f966b Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 20:32:58 +0100
Subject: [PATCH 103/114] iohandlers: Add enable/disable_write_fd_handler()
functions
Subject: [PATCH] iohandlers: Add enable/disable_write_fd_handler() functions
These will be used to provide a cleaner API for the nonblocking case.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
iohandler.c | 35 +++++++++++++++++++++++++++++++++++
main-loop.h | 3 +++
iohandler.c | 35 +++++++++++++++++++++++++++++++++++
main-loop.h | 3 +++
2 files changed, 38 insertions(+)
diff --git a/iohandler.c b/iohandler.c
@ -73,5 +72,5 @@ index dce1cd9..eb31273 100644
* qemu_set_fd_handler2: Register a file descriptor with the main loop
*
--
1.7.10.4
1.7.11.2

View File

@ -1,7 +1,7 @@
From 3def2c629b31cfc6dfe54a1a5464bb35359c3b10 Mon Sep 17 00:00:00 2001
From 73426a9cec4f1a32553b122c78d083a297412cf4 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 21:41:42 +0100
Subject: [PATCH 104/114] char: Add framework for a 'write unblocked' callback
Subject: [PATCH] char: Add framework for a 'write unblocked' callback
The char layer can let users know that the driver will block on further
input. For users interested in not blocking, they can assign a function
@ -11,12 +11,12 @@ future patches will enable the nonblocking and callback functionality.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
qemu-char.c | 3 +++
qemu-char.h | 4 ++++
qemu-char.c | 3 +++
qemu-char.h | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index 86bdabf..88cbbd0 100644
index 5c5ae1e..1b70447 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -211,11 +211,14 @@ void qemu_chr_add_handlers(CharDriverState *s,
@ -57,5 +57,5 @@ index dfa8c2d..b5e23a4 100644
};
--
1.7.10.4
1.7.11.2

View File

@ -1,8 +1,8 @@
From 6a36990b303dc64709931e16783e2f2e0a54b9d6 Mon Sep 17 00:00:00 2001
From 8d1503b20a6a8f011b292c0f543acd98b4fc922e Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 22:00:27 +0100
Subject: [PATCH 105/114] char: Update send_all() to handle nonblocking
chardev write requests
Subject: [PATCH] char: Update send_all() to handle nonblocking chardev write
requests
The send_all function is modified to return to the caller in case the
driver cannot handle any more data. It returns -EAGAIN or
@ -16,16 +16,16 @@ commits will add such capability.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
net/socket.c | 4 ++--
qemu-char.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
qemu_socket.h | 2 +-
net/socket.c | 4 ++--
qemu-char.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
qemu_socket.h | 2 +-
3 files changed, 66 insertions(+), 9 deletions(-)
diff --git a/net/socket.c b/net/socket.c
index 0bcf229..c21bb60 100644
index c172c24..aa7c99e 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -56,8 +56,8 @@ static ssize_t net_socket_receive(VLANClientState *nc, const uint8_t *buf, size_
@@ -53,8 +53,8 @@ static ssize_t net_socket_receive(NetClientState *nc, const uint8_t *buf, size_t
uint32_t len;
len = htonl(size);
@ -35,9 +35,9 @@ index 0bcf229..c21bb60 100644
+ return send_all(NULL, s->fd, buf, size);
}
static ssize_t net_socket_receive_dgram(VLANClientState *nc, const uint8_t *buf, size_t size)
static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t *buf, size_t size)
diff --git a/qemu-char.c b/qemu-char.c
index 88cbbd0..d8059ff 100644
index 1b70447..fbb6f5f 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -508,7 +508,7 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
@ -184,5 +184,5 @@ index 4689ff3..3d780ce 100644
/* New, ipv6-ready socket helper functions, see qemu-sockets.c */
int inet_listen_opts(QemuOpts *opts, int port_offset, Error **errp);
--
1.7.10.4
1.7.11.2

View File

@ -1,8 +1,8 @@
From bccdec085744256038f35b243853d7142b85cddb Mon Sep 17 00:00:00 2001
From 7eab128ea16406bf450e0e53d9d629c290b317d7 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 22:02:47 +0100
Subject: [PATCH 106/114] char: Equip the unix/tcp backend to handle
nonblocking writes#
Subject: [PATCH] char: Equip the unix/tcp backend to handle nonblocking
writes#
Now that the infrastructure is in place to return -EAGAIN to callers,
individual char drivers can set their update_fd_handlers() function to
@ -14,11 +14,11 @@ users of chardevs know that a driver became writable again.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
qemu-char.c | 34 ++++++++++++++++++++++++++++++++++
qemu-char.c | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index d8059ff..ed306e5 100644
index fbb6f5f..cdc7f5c 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -106,6 +106,19 @@
@ -77,5 +77,5 @@ index d8059ff..ed306e5 100644
if (is_listen) {
s->listen_fd = fd;
--
1.7.10.4
1.7.11.2

View File

@ -1,7 +1,7 @@
From 52aef47122bcbdd556f9fd3510a2047b8f920064 Mon Sep 17 00:00:00 2001
From a8803b2972223fea435b519272c347f164e05512 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 22:05:10 +0100
Subject: [PATCH 107/114] char: Throttle when host connection is down#
Subject: [PATCH] char: Throttle when host connection is down#
When the host-side connection goes down, throttle the virtio-serial bus
and later unthrottle when a connection gets established. This helps
@ -16,11 +16,11 @@ worst case (host d/c, guest write, host connect).
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
qemu-char.c | 14 ++++++++++++++
qemu-char.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index ed306e5..c263328 100644
index cdc7f5c..caa2efb 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -140,6 +140,9 @@ static void qemu_chr_generic_open_bh(void *opaque)
@ -52,5 +52,5 @@ index ed306e5..c263328 100644
return ret;
} else {
--
1.7.10.4
1.7.11.2

View File

@ -1,8 +1,8 @@
From 738da364d19bd99b70c79cb1174eef0e19f8e368 Mon Sep 17 00:00:00 2001
From 596c901c52b211425afe4d40e361d3ee1e5ec4bc Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Mon, 21 Mar 2011 22:06:41 +0100
Subject: [PATCH 108/114] virtio-console: Enable port throttling when chardev
is slow to consume data
Subject: [PATCH] virtio-console: Enable port throttling when chardev is slow
to consume data
When a chardev indicates it can't accept more data, we tell the
virtio-serial code to stop sending us any more data till we tell
@ -12,7 +12,7 @@ As soon as the chardev indicates it can accept more data, start pushing!
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
hw/virtio-console.c | 11 +++++++++++
hw/virtio-console.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/hw/virtio-console.c b/hw/virtio-console.c
@ -45,5 +45,5 @@ index 066590c..2b5e515 100644
static int virtconsole_initfn(VirtIOSerialPort *port)
--
1.7.10.4
1.7.11.2

View File

@ -1,7 +1,7 @@
From 484eac58fb0cf9b0ba6d31db868a549ee8799437 Mon Sep 17 00:00:00 2001
From 3229d4b7de0d2611db5d4282b5d720861e63a085 Mon Sep 17 00:00:00 2001
From: Alon Levy <alevy@redhat.com>
Date: Tue, 22 Mar 2011 12:27:59 +0200
Subject: [PATCH 109/114] spice-qemu-char.c: add throttling
Subject: [PATCH] spice-qemu-char.c: add throttling
BZ: 672191
@ -35,7 +35,7 @@ This patch relies on Amit's series to expose throttling to chardev's, which
was not accepted upstream, and will not be accepted upstream until the mainloop
is reworked to use glib.
---
spice-qemu-char.c | 39 +++++++++++++++++++++++++++++++++++----
spice-qemu-char.c | 39 +++++++++++++++++++++++++++++++++++----
1 file changed, 35 insertions(+), 4 deletions(-)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
@ -129,5 +129,5 @@ index 09aa22d..fba2bfb 100644
#if SPICE_SERVER_VERSION < 0x000901
/* See comment in vmc_state() */
--
1.7.10.4
1.7.11.2

View File

@ -1,7 +1,7 @@
From 606c5ed5369c862c70fa527892b808f189a2b482 Mon Sep 17 00:00:00 2001
From 5b6e021bc56ffa305bfd68a23d7709df6856ec08 Mon Sep 17 00:00:00 2001
From: Alon Levy <alevy@redhat.com>
Date: Tue, 22 Mar 2011 12:28:00 +0200
Subject: [PATCH 110/114] spice-qemu-char.c: remove intermediate buffer
Subject: [PATCH] spice-qemu-char.c: remove intermediate buffer
BZ: 672191
upstream: not submitted (explained below)
@ -16,7 +16,7 @@ Also make datalen int and not ssize_t (to fit spice_chr_write signature).
This relied on the previous patch that introduces throttling, which
can't go upstream right now as explained in that patch.
---
spice-qemu-char.c | 18 ++++++------------
spice-qemu-char.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
@ -67,5 +67,5 @@ index fba2bfb..ef44bc0 100644
/* We'll get passed in the unconsumed data with the next call */
s->datalen = 0;
--
1.7.10.4
1.7.11.2

View File

@ -1,18 +1,18 @@
From 2f61a7bed440164c35c739fcef10d19edef3f8ea Mon Sep 17 00:00:00 2001
From 76cccf228dca6c73afabd7a82a576993bd15b3f1 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 19 Jul 2011 10:56:19 +0200
Subject: [PATCH 111/114] usb-redir: Add flow control support
Subject: [PATCH] usb-redir: Add flow control support
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
hw/usb/redirect.c | 26 ++++++++++++++++++++++++--
hw/usb/redirect.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 6e8180e..5f55d78 100644
index ecb2cd4..1460515 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -238,12 +238,22 @@ static int usbredir_read(void *priv, uint8_t *data, int count)
@@ -236,12 +236,22 @@ static int usbredir_read(void *priv, uint8_t *data, int count)
static int usbredir_write(void *priv, uint8_t *data, int count)
{
USBRedirDevice *dev = priv;
@ -37,7 +37,7 @@ index 6e8180e..5f55d78 100644
}
/*
@@ -890,10 +900,22 @@ static void usbredir_chardev_event(void *opaque, int event)
@@ -892,10 +902,22 @@ static void usbredir_chardev_event(void *opaque, int event)
}
}
@ -61,5 +61,5 @@ index 6e8180e..5f55d78 100644
/*
--
1.7.10.4
1.7.11.2

View File

@ -1,7 +1,7 @@
From be9fad02180478f6c9435257e6a7c29b9e4c9841 Mon Sep 17 00:00:00 2001
From 6ed4b7c0b0ed061925036744f60e376194cd67a3 Mon Sep 17 00:00:00 2001
From: Alon Levy <alevy@redhat.com>
Date: Thu, 28 Jul 2011 15:08:48 +0300
Subject: [PATCH 112/114] virtio-serial-bus: replay guest_open on migration
Subject: [PATCH] virtio-serial-bus: replay guest_open on migration
When migrating a host with with a spice agent running the mouse becomes
non operational after the migration. This is rhbz #725965.
@ -18,11 +18,11 @@ chardev.
Signed-off-by: Alon Levy <alevy@redhat.com>
---
hw/virtio-serial-bus.c | 6 ++++++
hw/virtio-serial-bus.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index 72287d1..7ea5bbf 100644
index 82073f5..18c2ed3 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -682,6 +682,7 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id)
@ -46,5 +46,5 @@ index 72287d1..7ea5bbf 100644
if (host_connected != port->host_connected) {
/*
--
1.7.10.4
1.7.11.2

View File

@ -1,7 +1,7 @@
From 303a46e3877f6d9600151fdf9719fdb2009db7ff Mon Sep 17 00:00:00 2001
From 131729b07be897a363d8d769ecc056dabe2ed7da Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Fri, 2 Dec 2011 15:42:55 +0530
Subject: [PATCH 113/114] char: Disable write callback if throttled chardev is
Subject: [PATCH] char: Disable write callback if throttled chardev is
detached
If a throttled chardev is detached from the frontend device, all future
@ -12,11 +12,11 @@ Upstream: Not applicable, since throttling is a RHEL6-only feature.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
qemu-char.c | 5 +++++
qemu-char.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/qemu-char.c b/qemu-char.c
index c263328..622c388 100644
index caa2efb..7f24878 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -223,6 +223,11 @@ void qemu_chr_add_handlers(CharDriverState *s,
@ -32,5 +32,5 @@ index c263328..622c388 100644
}
s->chr_can_read = handlers->fd_can_read;
--
1.7.10.4
1.7.11.2

View File

@ -1,27 +0,0 @@
From 1271c4b3437a8bcf9b35ae8ed03be3dc758fe756 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 22 Jun 2012 09:43:08 +0200
Subject: [PATCH] usb-redir: Correctly handle the usb_redir_babble usbredir
status
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
hw/usb/redirect.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index 5f55d78..c6358c0 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -1058,6 +1058,8 @@ static int usbredir_handle_status(USBRedirDevice *dev,
case usb_redir_inval:
WARNING("got invalid param error from usb-host?\n");
return USB_RET_NAK;
+ case usb_redir_babble:
+ return USB_RET_BABBLE;
case usb_redir_ioerror:
case usb_redir_timeout:
default:
--
1.7.10.4

View File

@ -1,30 +0,0 @@
From 050146c8b005683cbc36a837844d2d637b27100c Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 6 Jul 2012 12:04:15 +0200
Subject: [PATCH] usb-ehci: Fix an assert whenever isoc transfers are used
hcd-ehci.c is missing an usb_packet_init() call for the ipacket UsbPacket
it uses for isoc transfers, triggering an assert (taking the entire vm down)
in usb_packet_setup as soon as any isoc transfers are done by a high speed
USB device.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
hw/usb/hcd-ehci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index e759c99..eaa3ddd 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -2300,6 +2300,7 @@ static int usb_ehci_initfn(PCIDevice *dev)
s->frame_timer = qemu_new_timer_ns(vm_clock, ehci_frame_timer, s);
QTAILQ_INIT(&s->aqueues);
QTAILQ_INIT(&s->pqueues);
+ usb_packet_init(&s->ipacket);
qemu_register_reset(ehci_reset, s);
--
1.7.10.4

View File

@ -1,41 +0,0 @@
commit 256a721d46a112d8807a488ec0176985c09bbbf1
Author: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Date: Mon Apr 16 12:47:58 2012 +0100
tracetool: handle DTrace keywords 'in', 'next', 'self'
Language keywords cannot be used as argument names. The DTrace backend
appends an underscore to the argument name in order to make the argument
name legal.
This patch adds 'in', 'next', and 'self' keywords to dtrace.py.
Also drop the unnecessary argument name lstrip() call. The
Arguments.build() method already ensures there is no space around
argument names. Furthermore it is misleading to do the lstrip() *after*
checking against keywords because the keyword check would not match if
spaces were in the name.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Reviewed-by: Alon Levy <alevy@redhat.com>
Reviewed-by: Lluís Vilanova <vilanova@ac.upc.edu>
diff --git a/scripts/tracetool/backend/dtrace.py b/scripts/tracetool/backend/dtrace.py
index cebbd57..9cab75c 100644
--- a/scripts/tracetool/backend/dtrace.py
+++ b/scripts/tracetool/backend/dtrace.py
@@ -86,10 +86,10 @@ def stap(events):
i = 1
if len(e.args) > 0:
for name in e.args.names():
- # 'limit' is a reserved keyword
- if name == 'limit':
- name = '_limit'
- out(' %s = $arg%d;' % (name.lstrip(), i))
+ # Append underscore to reserved keywords
+ if name in ('limit', 'in', 'next', 'self'):
+ name += '_'
+ out(' %s = $arg%d;' % (name, i))
i += 1
out('}')

View File

@ -1,20 +0,0 @@
commit 83617103984eb4d81cf46c94435f3da2c6f33b55
Author: malc <av1474@comtv.ru>
Date: Mon Jul 16 18:08:36 2012 +0400
audio: Unbreak capturing in mixemu case
Signed-off-by: malc <av1474@comtv.ru>
diff --git a/audio/audio.c b/audio/audio.c
index 583ee51..1c77389 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -818,6 +818,7 @@ static int audio_attach_capture (HWVoiceOut *hw)
sw->active = hw->enabled;
sw->conv = noop_conv;
sw->ratio = ((int64_t) hw_cap->info.freq << 32) / sw->info.freq;
+ sw->vol = nominal_volume;
sw->rate = st_rate_start (sw->info.freq, hw_cap->info.freq);
if (!sw->rate) {
dolog ("Could not start rate conversion for `%s'\n", SW_NAME (sw));

View File

@ -34,11 +34,13 @@
%bcond_without fdt # enabled
%endif
%global gitdate 20120806
%global gitcommit 3e430569
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 1.1.1
Release: 1%{?dist}
Version: 1.2
Release: 0.1.%{gitdate}git%{gitcommit}%{?dist}
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
Epoch: 2
License: GPLv2+ and LGPLv2+ and BSD
@ -54,7 +56,14 @@ ExclusiveArch: x86_64
%define _smp_mflags %{nil}
%endif
Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz
# There aren't any 1.2 releases yet, so we have to pull from git:
#
# git clone git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git
# cd qemu-kvm
# git archive -o ../qemu-kvm-%{version}-%{gitcommit}.tar.gz \
# --prefix=qemu-kvm-%{version}/ %{gitcommit}
Source0: qemu-kvm-%{version}-%{gitcommit}.tar.gz
#Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz
Source1: qemu.binfmt
@ -75,17 +84,8 @@ Source9: ksmtuned.conf
Source10: qemu-guest-agent.service
Source11: 99-qemu-guest-agent.rules
# Upstream patch to fix build of msi/virtio-pci.
Patch3: 0001-kvm-Enable-use-of-kvm_irqchip_in_kernel-in-hwlib-cod.patch
# Use siginfo_t instead of struct siginfo, for glibc in Rawhide.
# Sent upstream 2012-07-05.
Patch4: 0001-Replace-struct-siginfo-with-siginfo_t.patch
# Patch to fix default machine options.
# http://www.spinics.net/lists/kvm/msg75509.html
# Sent upstream by danpb on 2012-07-06.
Patch5: 0001-qemu-kvm-Fix-default-machine-options.patch
# Non upstream build fix
Patch1: 0001-mips-Fix-link-error-with-piix4_pm_init.patch
# The infamous chardev flow control patches
Patch101: 0101-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
@ -102,14 +102,13 @@ Patch111: 0111-usb-redir-Add-flow-control-support.patch
Patch112: 0112-virtio-serial-bus-replay-guest_open-on-migration.patch
Patch113: 0113-char-Disable-write-callback-if-throttled-chardev-is-.patch
# USB-redir bugfixes
Patch201: 0201-usb-redir-Correctly-handle-the-usb_redir_babble-usbr.patch
Patch202: 0202-usb-ehci-Fix-an-assert-whenever-isoc-transfers-are-u.patch
# Fix VNC audio tunnelling (bz 840653)
Patch203: %{name}-fix-vnc-audio.patch
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
BuildRequires: SDL-devel
BuildRequires: zlib-devel
BuildRequires: which
BuildRequires: texi2html
BuildRequires: gnutls-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: libtool
BuildRequires: libaio-devel
BuildRequires: rsync
BuildRequires: pciutils-devel
@ -362,9 +361,8 @@ such as kvm_stat.
%prep
%setup -q -n qemu-kvm-%{version}
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch1 -p1
%patch101 -p1
%patch102 -p1
@ -380,11 +378,6 @@ such as kvm_stat.
%patch112 -p1
%patch113 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%build
# By default we build everything, but allow x86 to build a minimal version
@ -754,7 +747,6 @@ fi
%{_datadir}/%{name}/sgabios.bin
%{_datadir}/%{name}/linuxboot.bin
%{_datadir}/%{name}/multiboot.bin
%{_datadir}/%{name}/mpc8544ds.dtb
%{_datadir}/%{name}/kvmvapic.bin
%{_datadir}/%{name}/vgabios.bin
%{_datadir}/%{name}/vgabios-cirrus.bin
@ -826,9 +818,13 @@ fi
%defattr(-,root,root)
%{_bindir}/qemu-img
%{_bindir}/qemu-io
%{_bindir}/vscclient
%{_mandir}/man1/qemu-img.1*
%changelog
* Mon Aug 06 2012 Cole Robinson <crobinso@redhat.com> - 1.2-0.1.20120806git3e430569.fc18
- Update to git snapshot
* Sun Jul 29 2012 Cole Robinson <crobinso@redhat.com> - 1.1.1-1
- Upstream stable release 1.1.1
- Fix systemtap tapsets (bz 831763)