Re: [PATCH] VMX: Fix and improve guest state validity checks

2010-05-25 Thread Mohammed Gamal
On Tue, May 25, 2010 at 12:37 PM, Avi Kivity wrote: > On 05/13/2010 11:15 PM, Mohammed Gamal wrote: >> >> On Thu, May 13, 2010 at 9:24 AM, Avi Kivity  wrote: >> >>> >>> On 05/11/2010 07:52 PM, Mohammed Gamal wrote: >>> - Add 's' and 'g' field checks on segment registers - Correct SS

[PATCH 3/7] trace: Add simple built-in tracing backend

2010-05-25 Thread Stefan Hajnoczi
This patch adds a simple tracer which produces binary trace files and is built into QEMU. The main purpose of this patch is to show how new tracing backends can be added to tracetool. To try out the simple backend: ./configure --trace-backend=simple make After running QEMU you can pretty-print

[PATCH 5/7] trace: Trace qemu_malloc() and qemu_vmalloc()

2010-05-25 Thread Stefan Hajnoczi
It is often useful to instrument memory management functions in order to find leaks or performance problems. This patch adds trace events for the memory allocation primitives. Signed-off-by: Stefan Hajnoczi --- v2: * Record pointer result from allocation functions osdep.c | 24 +++

[PATCH 6/7] trace: Trace virtio-blk, multiwrite, and paio_submit

2010-05-25 Thread Stefan Hajnoczi
This patch adds trace events that make it possible to observe virtio-blk. Signed-off-by: Stefan Hajnoczi --- block.c|7 +++ hw/virtio-blk.c|7 +++ posix-aio-compat.c |2 ++ trace-events | 14 ++ 4 files changed, 30 insertions(+), 0 deletion

[PATCH 7/7] trace: Trace virtqueue operations

2010-05-25 Thread Stefan Hajnoczi
This patch adds trace events for virtqueue operations including adding/removing buffers, notifying the guest, and receiving a notify from the guest. Signed-off-by: Stefan Hajnoczi --- v2: * This patch is new in v2 hw/virtio.c |8 trace-events |8 2 files changed, 16

[PATCH 4/7] trace: Add LTTng Userspace Tracer backend

2010-05-25 Thread Stefan Hajnoczi
This patch adds LTTng Userspace Tracer (UST) backend support. The UST system requires no kernel support but libust and liburcu must be installed. $ ./configure --trace-backend ust $ make Start the UST daemon: $ ustd & List available tracepoints and enable some: $ ustctl --list-markers $(pgrep q

[PATCH 1/7] trace: Add trace-events file for declaring trace events

2010-05-25 Thread Stefan Hajnoczi
This patch introduces the trace-events file where trace events can be declared like so: qemu_malloc(size_t size) "size %zu" qemu_free(void *ptr) "ptr %p" These trace event declarations are processed by a new tool called tracetool to generate code for the trace events. Trace event declarations ar

[PATCH 2/7] trace: Support disabled events in trace-events

2010-05-25 Thread Stefan Hajnoczi
Sometimes it is useful to disable a trace event. Removing the event from trace-events is not enough since source code will call the trace_*() function for the event. This patch makes it easy to build without specific trace events by marking them disabled in trace-events: disable multiwrite_cb(vo

[PATCH v2 0/7] Tracing backends

2010-05-25 Thread Stefan Hajnoczi
After the RFC discussion, updated patches which I propose for review and merge: The following patches against qemu.git allow static trace events to be declared in QEMU. Trace events use a lightweight syntax and are independent of the backend tracing system (e.g. LTTng UST). Supported backends ar

Re: host panic on kernel 2.6.34

2010-05-25 Thread Avi Kivity
Copying netdev, bridge mailing lists. On 05/24/2010 11:23 AM, Hao, Xudong wrote: Hi all I build latest kvm 37dec075a7854f0f550540bf3b9bbeef37c11e2a, based on kernel 2.6.34, after kvm and kvm_intel module loaded, then /etc/init.d/kvm start, a few minutes later, the system will panic. kernel: 2

Re: KVM call agenda for May 18

2010-05-25 Thread Avi Kivity
On 05/19/2010 11:20 AM, Christoph Hellwig wrote: It's time we get a proper bugzilla.qemu.org for both qemu and qemu-kvm that can be used sanely. If you ask nicely you might even get a virtual instance of bugzilla.kernel.org which works quite nicely. That would be my preference too but the

Re: [PATCH] VMX: Fix and improve guest state validity checks

2010-05-25 Thread Avi Kivity
On 05/13/2010 11:15 PM, Mohammed Gamal wrote: On Thu, May 13, 2010 at 9:24 AM, Avi Kivity wrote: On 05/11/2010 07:52 PM, Mohammed Gamal wrote: - Add 's' and 'g' field checks on segment registers - Correct SS checks for request and descriptor privilege levels Signed-off-by: Mohammed

RE: ixgbe: macvlan on PF/VF when SRIOV is enabled

2010-05-25 Thread Shirley Ma
On Mon, 2010-05-24 at 10:54 -0700, Rose, Gregory V wrote: > We look forward to it and will be happy to provide feedback. I have submitted the patch to make macvlan on PF works when SRIOV is enabled. > One thing you can do is allocate VFs and then load the VF driver in > your host domain and then a

Re: [PATCH 2/2 v2] KVM: MMU: allow more page become unsync at getting sp time

2010-05-25 Thread Avi Kivity
On 05/24/2010 10:41 AM, Xiao Guangrong wrote: Allow more page become asynchronous at getting sp time, if need create new shadow page for gfn but it not allow unsync(level> 1), we should unsync all gfn's unsync page Both applied, thanks. -- error compiling committee.c: too many arguments t

Re: [qemu-kvm tests PATCH] qemu-kvm tests cleanup

2010-05-25 Thread Avi Kivity
On 05/15/2010 11:12 AM, Asias He wrote: fix test/x86/msr.c fail to build on i386 Applied, thanks. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More ma

Re: [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm

2010-05-25 Thread Avi Kivity
On 05/24/2010 10:19 PM, Anthony Liguori wrote: On 05/24/2010 06:03 AM, Avi Kivity wrote: On 05/24/2010 11:27 AM, Stefan Hajnoczi wrote: On Sun, May 23, 2010 at 1:01 PM, Avi Kivity wrote: On 05/21/2010 12:29 AM, Anthony Liguori wrote: I'd be more interested in enabling people to build these ty

Re: [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm

2010-05-25 Thread Avi Kivity
On 05/24/2010 10:16 PM, Anthony Liguori wrote: On 05/24/2010 06:56 AM, Avi Kivity wrote: On 05/24/2010 02:42 PM, MORITA Kazutaka wrote: The server would be local and talk over a unix domain socket, perhaps anonymous. nbd has other issues though, such as requiring a copy and no support for

Re: [Qemu-devel] [RFC PATCH 1/1] ceph/rbd block driver for qemu-kvm

2010-05-25 Thread Avi Kivity
On 05/24/2010 10:38 PM, Anthony Liguori wrote: - Building a plugin API seems a bit simpler to me, although I'm to sure if I'd get the idea correctly: The block layer has already some kind of api (.bdrv_file_open, .bdrv_read). We could simply compile the block-drivers as shared objects

Re: [Qemu-devel] [PATCH 1/5] trace: Add trace-events file for declaring trace events

2010-05-25 Thread Avi Kivity
On 05/25/2010 01:07 AM, Anthony Liguori wrote: Interesting approach as it lets us defer the tracing backend decision. Also, it's compatible with the multiplatform nature of qemu. -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "u

Re: Gentoo guest with smp: emerge freeze while recompile world

2010-05-25 Thread Avi Kivity
On 05/24/2010 12:15 AM, Riccardo wrote: Please try with kvmclock disabled. I have recompile gentoo-sources-2.6.34 without kvm-clock: # cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc # dmesg | grep clock [0.00] hpet clockevent registered [0.661050] Sw

[RFC PATCH 21/23] virtio-blk: Modify save/load handler to handle inuse varialble.

2010-05-25 Thread Yoshiaki Tamura
Modify inuse type to uint16_t, let save/load to handle, and revert last_avail_idx with inuse if there are outstanding emulation. Signed-off-by: Yoshiaki Tamura --- hw/virtio.c |8 +++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/hw/virtio.c b/hw/virtio.c index 7c020a3.

[RFC PATCH 02/23] Introduce cpu_physical_memory_get_dirty_range().

2010-05-25 Thread Yoshiaki Tamura
It checks the first row and puts dirty addr in the array. If the first row is empty, it skips to the first non-dirty row or the end addr, and put the length in the first entry of the array. Signed-off-by: Yoshiaki Tamura Signed-off-by: OHMURA Kei --- cpu-all.h |4 +++ exec.c| 67

[RFC PATCH 12/23] Insent event-tap callbacks to net/block layer.

2010-05-25 Thread Yoshiaki Tamura
Introduce event-tap callbacks to functions which actually fire outputs at net/block layer. By synchronizing VMs before outputs are fired, we can failover to the receiver upon failure. Signed-off-by: Yoshiaki Tamura --- block.c | 22 ++ block.h |4 net/queu

[RFC PATCH 07/23] Introduce skip_header parameter to qemu_loadvm_state().

2010-05-25 Thread Yoshiaki Tamura
Introduce skip_header parameter to qemu_loadvm_state() so that it can be called iteratively without reading the header. Signed-off-by: Yoshiaki Tamura --- migration-exec.c |2 +- migration-fd.c |2 +- migration-tcp.c |2 +- migration-unix.c |2 +- savevm.c | 24 +

[RFC PATCH 08/23] Introduce some socket util functions.

2010-05-25 Thread Yoshiaki Tamura
Signed-off-by: Yoshiaki Tamura --- osdep.c | 13 + qemu-char.c | 25 - qemu_socket.h |4 3 files changed, 41 insertions(+), 1 deletions(-) diff --git a/osdep.c b/osdep.c index 3bab79a..63444e7 100644 --- a/osdep.c +++ b/osdep.c @@ -201,6 +

[RFC PATCH 18/23] Call event_tap_replay() at vm_start().

2010-05-25 Thread Yoshiaki Tamura
Call event_tap_replay() at vm_start() to replay the last ioport/mmio event upon failover. Signed-off-by: Yoshiaki Tamura --- vl.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/vl.c b/vl.c index 56d12c7..762440d 100644 --- a/vl.c +++ b/vl.c @@ -3094,6 +3094,7 @@ void vm

[RFC PATCH 15/23] Insert event_tap_ioport() to ioport_write().

2010-05-25 Thread Yoshiaki Tamura
Record ioport event to replay it upon failover. Signed-off-by: Yoshiaki Tamura --- ioport.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/ioport.c b/ioport.c index 53dd87a..ad7a017 100644 --- a/ioport.c +++ b/ioport.c @@ -26,6 +26,7 @@ */ #include "ioport.h" +#in

[RFC PATCH 14/23] Call init handler of event-tap at main().

2010-05-25 Thread Yoshiaki Tamura
Signed-off-by: Yoshiaki Tamura --- vl.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/vl.c b/vl.c index 70a8aed..56d12c7 100644 --- a/vl.c +++ b/vl.c @@ -169,6 +169,8 @@ int main(int argc, char **argv) #include "qemu-queue.h" +#include "event-tap.h" + //#define

[RFC PATCH 20/23] Modify tcp_accept_incoming_migration() to handle ft_mode, and add a hack not to close fd when ft_mode is enabled.

2010-05-25 Thread Yoshiaki Tamura
When ft_mode is set in the header, tcp_accept_incoming_migration() receives ft_transaction iteratively. We also need a hack no to close fd before moving to ft_transaction mode, so that we can reuse the fd for it. Signed-off-by: Yoshiaki Tamura --- migration-tcp.c | 36

[RFC PATCH 10/23] Introduce util functions to control ft_transaction from savevm layer.

2010-05-25 Thread Yoshiaki Tamura
To utilize ft_transaction function, savevm needs interfaces to be exported. Signed-off-by: Yoshiaki Tamura --- hw/hw.h |5 + savevm.c | 41 + 2 files changed, 46 insertions(+), 0 deletions(-) diff --git a/hw/hw.h b/hw/hw.h index fc9ed29..5a48a9

[RFC PATCH 03/23] Use cpu_physical_memory_set_dirty_range() to update phys_ram_dirty.

2010-05-25 Thread Yoshiaki Tamura
Modifies kvm_get_dirty_pages_log_range to use cpu_physical_memory_set_dirty_range() to update the row of the bit-based phys_ram_dirty bitmap at once. Signed-off-by: Yoshiaki Tamura Signed-off-by: OHMURA Kei --- qemu-kvm.c | 19 +++ 1 files changed, 7 insertions(+), 12 deletion

[RFC PATCH 22/23] Introduce -k option to enable FT migration mode (Kemari).

2010-05-25 Thread Yoshiaki Tamura
When -k option is set to migrate command, it will turn on ft_mode to start FT migration mode (Kemari). Signed-off-by: Yoshiaki Tamura --- migration.c |3 +++ qemu-monitor.hx |7 --- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/migration.c b/migration.c index 5b9

[RFC PATCH 13/23] Introduce event-tap.

2010-05-25 Thread Yoshiaki Tamura
event-tap controls when to start ft transaction, and inserts callbacks to the net/block. Signed-off-by: Yoshiaki Tamura --- Makefile.target |1 + event-tap.c | 184 +++ event-tap.h | 32 ++ 3 files changed, 217 insertions

[RFC PATCH 00/23] Kemari for KVM v0.1.1

2010-05-25 Thread Yoshiaki Tamura
Hi, This patch series is a revised version of Kemari for KVM, which applied comments for the previous post. The current code is based on qemu-kvm.git 2b644fd0e737407133c88054ba498e772ce01f27. On the contrary to the previous version, this series doesn't require any modifications to KVM. The I/O

[RFC PATCH 09/23] Introduce fault tolerant VM transaction QEMUFile and ft_mode.

2010-05-25 Thread Yoshiaki Tamura
This code implements VM transaction protocol. Like buffered_file, it sits between savevm and migration layer. With this architecture, VM transaction protocol is implemented mostly independent from other existing code. Signed-off-by: Yoshiaki Tamura Signed-off-by: OHMURA Kei --- Makefile.objs

[RFC PATCH 11/23] Introduce qemu_savevm_state_all().

2010-05-25 Thread Yoshiaki Tamura
Introduce qemu_savevm_state_all() to send the memory and device info together, while avoiding cancelling memory state tracking. Signed-off-by: Yoshiaki Tamura --- savevm.c | 60 sysemu.h |1 + 2 files changed, 61 insertions(+), 0

[RFC PATCH 05/23] Make QEMUFile buf expandable, and introduce qemu_realloc_buffer() and qemu_clear_buffer().

2010-05-25 Thread Yoshiaki Tamura
Currently buf size is fixed at 32KB. It would be useful if it could be flexible. Signed-off-by: Yoshiaki Tamura --- hw/hw.h |2 ++ savevm.c | 21 - 2 files changed, 22 insertions(+), 1 deletions(-) diff --git a/hw/hw.h b/hw/hw.h index 05131a0..fc9ed29 100644 --- a/hw

[RFC PATCH 00/23] Kemari for KVM v0.1.1

2010-05-25 Thread Yoshiaki Tamura
Hi, This patch series is a revised version of Kemari for KVM, which applied comments for the previous post. The current code is based on qemu-kvm.git 2b644fd0e737407133c88054ba498e772ce01f27. On the contrary to the previous version, this series doesn't require any modifications to KVM. The I/O

[RFC PATCH 01/23] Modify DIRTY_FLAG value and introduce DIRTY_IDX to use as indexes of bit-based phys_ram_dirty.

2010-05-25 Thread Yoshiaki Tamura
Replaces byte-based phys_ram_dirty bitmap with four (MASTER, VGA, CODE, MIGRATION) bit-based phys_ram_dirty bitmap. On allocation, it sets all bits in the bitmap. It uses ffs() to convert DIRTY_FLAG to DIRTY_IDX. Modifies wrapper functions for byte-based phys_ram_dirty bitmap to bit-based phys_r

[RFC PATCH 06/23] Introduce read() to FdMigrationState.

2010-05-25 Thread Yoshiaki Tamura
Currently FdMigrationState doesn't support read(), and this patch introduces it to get response from the other side. Signed-off-by: Yoshiaki Tamura --- migration-tcp.c | 14 ++ migration.c | 12 migration.h |3 +++ 3 files changed, 29 insertions(+), 0 del

[RFC PATCH 04/23] Use cpu_physical_memory_get_dirty_range() to check multiple dirty pages.

2010-05-25 Thread Yoshiaki Tamura
Modifies ram_save_block() and ram_save_remaining() to use cpu_physical_memory_get_dirty_range() to check multiple dirty and non-dirty pages at once. Signed-off-by: Yoshiaki Tamura Signed-off-by: OHMURA Kei --- vl.c | 52 +--- 1 files changed, 33

[RFC PATCH 16/23] Insert event_tap_mmio() to cpu_physical_memory_rw().

2010-05-25 Thread Yoshiaki Tamura
Record mmio write event to replay it upon failover. Signed-off-by: Yoshiaki Tamura --- exec.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/exec.c b/exec.c index d5c2a05..e9ed477 100644 --- a/exec.c +++ b/exec.c @@ -44,6 +44,7 @@ #include "hw/hw.h" #include "osdep

[RFC PATCH 23/23] Add a parser to accept FT migration incoming mode.

2010-05-25 Thread Yoshiaki Tamura
The option looks like, -incoming ::,ft_mode Signed-off-by: Yoshiaki Tamura --- migration.c | 14 +- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/migration.c b/migration.c index 3334650..a4850f9 100644 --- a/migration.c +++ b/migration.c @@ -42,7 +42,19 @@ static

[RFC PATCH 17/23] Skip assert() when event_tap_state weren't EVENT_TAP_OFF.

2010-05-25 Thread Yoshiaki Tamura
Skip assert(!cpu_single_env) in resume_all_threads() when event_tap_state weren't EVENT_TAP_OFF. Signed-off-by: Yoshiaki Tamura --- qemu-kvm.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/qemu-kvm.c b/qemu-kvm.c index 1414f49..e28bf59 100644 --- a/qemu-kvm.c +++ b/

[RFC PATCH 19/23] Introduce ft_tranx_ready(), and modify migrate_fd_put_ready() when ft_mode is on.

2010-05-25 Thread Yoshiaki Tamura
Introduce ft_tranx_ready() which kicks the FT transaction cycle. When ft_mode is on, migrate_fd_put_ready() would open ft_transaction file and turn on event_tap. To end or cancel ft_transaction, ft_mode and event_tap is turned off. Signed-off-by: Yoshiaki Tamura --- migration.c | 78

Re: [Qemu-devel] Re: [RFC PATCH] AMD IOMMU emulation

2010-05-25 Thread Joerg Roedel
On Mon, May 24, 2010 at 08:10:16PM +, Blue Swirl wrote: > On Mon, May 24, 2010 at 3:40 PM, Joerg Roedel wrote: > >> + > >> +#define MMIO_SIZE               0x2028 > > > > This size should be a power-of-two value. In this case probably 0x4000. > > Not really, the devices can reserve regions of

Re: Windows guest debugging on KVM/Qemu

2010-05-25 Thread Avi Kivity
On 05/24/2010 11:07 PM, Neo Jia wrote: hi, I am using KVM/Qemu to debug my Windows guest according to KVM wiki page (http://www.linux-kvm.org/page/WindowsGuestDrivers/GuestDebugging). It works for me and also I can only use one Windows guest and bind its serial port to a TCP port and run "Virtua

Re: [Qemu-devel] [PATCH 1/5] trace: Add trace-events file for declaring trace events

2010-05-25 Thread Stefan Hajnoczi
On Mon, May 24, 2010 at 11:20 PM, Anthony Liguori wrote: >> +# check if trace backend exists >> + >> +sh tracetool "--$trace_backend" --check-backend>  /dev/null 2>  /dev/null >> > > This will fail if objdir != srcdir.  You have to qualify tracetool with the > path to srcdir. Thanks Anthony, fixe

Re: [PATCH] vhost: Fix host panic if ioctl called with wrong index

2010-05-25 Thread Michael S. Tsirkin
On Tue, May 25, 2010 at 11:10:36AM +0530, Krishna Kumar wrote: > From: Krishna Kumar > > Missed a boundary value check in vhost_set_vring. The host panics if > idx == nvqs is used in ioctl commands in vhost_virtqueue_init. > > Signed-off-by: Krishna Kumar Thanks, applied. > --- > drivers/vho

Re: [PATCH v4] KVM: VMX: Enable XSAVE/XRSTORE for guest

2010-05-25 Thread Avi Kivity
On 05/25/2010 09:28 AM, Sheng Yang wrote: @@ -3354,6 +3356,29 @@ static int handle_wbinvd(struct kvm_vcpu *vcpu) return 1; } +static int handle_xsetbv(struct kvm_vcpu *vcpu) +{ + u64 new_bv = kvm_read_edx_eax(vcpu); + + if (kvm_register_read(vcpu, VCPU_REGS_RCX) != 0)

<    1   2