Rebase to upstream qemu-kvm checkout in time for F18 feature freeze
This commit is contained in:
parent
5439f9b0ec
commit
b6dd5ac167
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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",
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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('}')
|
|
@ -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));
|
58
qemu.spec
58
qemu.spec
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue