On Fri, Apr 20, 2018 at 12:38 AM, Dr. David Alan Gilbert
wrote:
>> -static void ram_list_init_bitmaps(void)
>> +static void ram_list_init_bitmaps(RAMState *rs)
>> {
>> RAMBlock *block;
>> unsigned long pages;
>> @@ -2151,9 +2152,17 @@ static void ram_list_init_bitmaps(void)
>> /*
On Tue, Apr 10, 2018 at 1:30 AM, Dr. David Alan Gilbert
wrote:
>>
>> +bool migrate_bypass_shared_memory(void)
>> +{
>> +MigrationState *s;
>> +
>> +/* it is not workable with postcopy yet. */
>> +if (migrate_postcopy_ram()) {
>> +return false;
>> +}
>
> Please change this
Ortiz
Cc: Sebastien Boeuf
Cc: James O. D. Hunt
Cc: Xu Wang
Cc: Peng Tao
Cc: Xiao Guangrong
Cc: Xiao Guangrong
Signed-off-by: Lai Jiangshan
---
Changes in V5:
check cappability conflict in migrate_caps_check()
Changes in V4:
fixes checkpatch.pl errors
Changes in V3:
rebased on upstream
On Tue, Apr 10, 2018 at 1:30 AM, Dr. David Alan Gilbert
wrote:
> Hi,
>
> * Lai Jiangshan (jiangshan...@gmail.com) wrote:
>> 1) What's this
>>
>> When the migration capability 'bypass-shared-memory'
>> is set, the shared memory will be bypassed when
c: Xiao Guangrong
Signed-off-by: Lai Jiangshan
---
Changes in V4:
fixes checkpatch.pl errors
Changes in V3:
rebased on upstream master
update the available version of the capability to
v2.13
Changes in V2:
rebased on 2.11.1
migration/migration.c | 14 ++
migration/migrat
c: Xiao Guangrong
Signed-off-by: Lai Jiangshan
---
Changes in V3:
rebased on upstream master
update the available version of the capability to
v2.13
Changes in V2:
rebased on 2.11.1
migration/migration.c | 13 +
migration/migration.h | 1 +
migration/ram.c | 26 +++
c: Xiao Guangrong
Signed-off-by: Lai Jiangshan
---
migration/migration.c | 13 +
migration/migration.h | 1 +
migration/ram.c | 26 +-
qapi/migration.json | 8 +++-
4 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/migration/migrat
The attached patch is based on v2.11.1. It was pushed on
https://github.com/hyperhq/qemu v2.11.1-template
The updated patch for upstream qemu is on
https://github.com/hyperhq/qemu upstream-template
On Sat, Mar 31, 2018 at 4:45 PM, Lai Jiangshan wrote:
> ---
> migration/migration.
e guest? i.e, the mapping from guest physical address to the
> host virtual address be the same?
I don't understand the question, the patch doesn't change
the memory hotplugging nor the way how the pages are mapped
in the guest physical.
>
> Thanks,
> Jianjun
>
>
>
On Wed, Aug 10, 2016 at 5:03 PM, Juan Quintela wrote:
> Lai Jiangshan wrote:
>
> Hi
>
> First of all, I like a lot the patchset, but I would preffer to split it
> to find "possible" bugs along the lines, especially in postcopy, but not only.
Hello, thanks for rev
On Fri, Aug 12, 2016 at 2:48 PM, Li, Liang Z wrote:
>> >> > BTW. Is it possible to bypass the shared block in the
>> >> 'ram_find_and_save_block'?
>> >> > I mean no to check if a page is dirty for a shared block, it may
>> >> > make things
>> >> faster.
>> >>
>> >> Nice spotted. That would make t
Note, the old local migration patchset:
https://lists.gnu.org/archive/html/qemu-devel/2013-12/msg00073.html
this patch can be considered as a new local migration implementation,
but with more restrictions (the memory must set shared when boot the qemu)
On Thu, Aug 11, 2016 at 3:11 PM, Li, Liang Z wrote:
>> >>
>> >> I might have missed something, could you tell me more?
>> >>
>> >> void bitmap_set(unsigned long *map, long start, long nr); I think the
>> >> @start and @nr are both the number of the bits.
>> >>
>> >> thanks,
>> >> Lai
>> >
>> > You
On Wed, Aug 10, 2016 at 10:22 AM, Li, Liang Z wrote:
> Hi Jiangshan,
>
> Glad to see your patch. It's a simple implementation which could provide very
> useful functions.
>
>> +static void migration_bitmap_init(unsigned long *bitmap) {
>> +RAMBlock *block;
>> +
>> +bitmap_clear(bitmap, 0,
On Wed, Aug 10, 2016 at 3:12 AM, Dr. David Alan Gilbert
wrote:
> * Lai Jiangshan (jiangshan...@gmail.com) wrote:
>> The feature vm-template makes the containers(VMs) can
>> be started in 130ms and save 80M memory for every
>> container(VM). So that the hyper containers
ure.
No one need yet another post copy migration method,
but it is possible when some crazy man need it.
Changed from v1:
fix style
Signed-off-by: Lai Jiangshan
---
exec.c| 5 +
include/exec/cpu-common.h | 1 +
include/migration/migration.h | 1 +
migration/migr
et another post copy migration method,
but it is possible when some crazy man need it.
Signed-off-by: Lai Jiangshan
---
exec.c| 5 +
include/exec/cpu-common.h | 1 +
include/migration/migration.h | 1 +
migration/migration.c | 9 +
migration/ram.
Wrapper for qemu_coroutine_create()+qemu_coroutine_enter()
Signed-off-by: Lai Jiangshan
Reviewed-by: Paolo Bonzini
---
block.c | 28 +++-
hw/9pfs/virtio-9p.c |4 +---
nbd.c |2 +-
qemu-coroutine.h| 12
qemu-io.c
use __attribute__((constructor)) to do the initialization.
Signed-off-by: Lai Jiangshan
Reviewed-by: Paolo Bonzini
---
qemu-coroutine-lock.c |9 +
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c
index 26ad76b..03b999e
split qemu_co_queue_next() as two parts:
the first part is dequeuing next from the wait queue.
the second part is schedule it to the runnable
queue(qemu_co_runnable_schedule())
Signed-off-by: Lai Jiangshan
---
qemu-coroutine-lock.c |9 +++--
1 files changed, 7 insertions(+), 2
Signed-off-by: Lai Jiangshan
---
qemu-coroutine-lock.c |6 +++---
trace-events |2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c
index 10e8dbb..90141cd 100644
--- a/qemu-coroutine-lock.c
+++ b/qemu-coroutine
runnable coroutine queue is the core mangement of the coroutine.
Signed-off-by: Lai Jiangshan
---
qemu-coroutine-lock.c | 27 ---
qemu-coroutine.c | 27 +++
qemu-coroutine.h |7 +++
trace-events |2 +-
4 files
When qemu_coroutine_switch() in the qemu_coroutine_yield() returns,
It must be someone calls qemu_coroutine_enter() for it, so the @to
is active, the tests in coroutine_swap() are unneeded, so we use
qemu_coroutine_switch() directly in qemu_coroutine_yield().
Signed-off-by: Lai Jiangshan
Avoid a timer callback spends too much time.
Signed-off-by: Lai Jiangshan
---
qemu-coroutine-sleep.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/qemu-coroutine-sleep.c b/qemu-coroutine-sleep.c
index fd65274..df9254a 100644
--- a/qemu-coroutine-sleep.c
+++ b/qemu
If the child wake up someone, process them.
It would the child complete its works if woken coroutine release the locks
that the child needs.
It may help for the cache, if the child wake up some someone, they are
probably accessing the same data.
Signed-off-by: Lai Jiangshan
---
qemu
queues are not just internal things for locks, split them.
Signed-off-by: Lai Jiangshan
---
Makefile.objs |2 +-
qemu-coroutine-lock.c | 49 +--
qemu-coroutine-queue.c | 76
trace-events
use __attribute__((constructor)) to do the initialization.
Signed-off-by: Lai Jiangshan
---
qemu-coroutine-lock.c |9 +
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c
index 90141cd..7c29bc4 100644
--- a/qemu-coroutine
Wrapper for qemu_coroutine_create()+qemu_coroutine_enter()
Signed-off-by: Lai Jiangshan
---
block.c | 28 +++-
hw/9pfs/virtio-9p.c |4 +---
nbd.c |2 +-
qemu-coroutine.h| 12
qemu-io.c |4 +---
5 files
It stands for runnable Coroutines.
Signed-off-by: Lai Jiangshan
---
qemu-coroutine-lock.c | 18 +-
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c
index 26ad76b..10e8dbb 100644
--- a/qemu-coroutine-lock.c
+++ b/qemu
On 04/02/2012 05:50 PM, Andreas Färber wrote:
> Am 02.04.2012 08:35, schrieb Lai Jiangshan:
>>
>> use & instead of the wrong &&
>>
>> Signed-off-by: Lai Jiangshan
>
> Patch looks okay but the subject should probably be fixed to say "usb:"
&g
use & instead of the wrong &&
Signed-off-by: Lai Jiangshan
---
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index 73b0c7f..89c2406 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -502,7 +502,7 @@ static void xhci_irq_update(XHCIState *xhci)
int level = 0;
On 03/13/2012 07:04 PM, Andreas Färber wrote:
> Am 13.03.2012 10:32, schrieb Lai Jiangshan:
>> On 02/16/2012 08:51 PM, Anthony Liguori wrote:
>>> On 02/16/2012 06:01 AM, Jan Kiszka wrote:
>>>> On 2012-02-16 00:16, Igor Mammedov wrote:
>>>>
On 02/16/2012 08:51 PM, Anthony Liguori wrote:
> On 02/16/2012 06:01 AM, Jan Kiszka wrote:
>> On 2012-02-16 00:16, Igor Mammedov wrote:
>>> +static ICCBusDeviceInfo cpu_device_info = {
>>> +.qdev.name = "cpu-pc",
>>> +.qdev.size = sizeof(CPUPC),
>>> +.qdev.reset = cpu_device_reset,
>>>
These two blocks of code are exactly the same, remove one.
Signed-off-by: Lai Jiangshan
---
cpus.c |8
1 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/cpus.c b/cpus.c
index 857f96f..f45a438 100644
--- a/cpus.c
+++ b/cpus.c
@@ -565,14 +565,6 @@ static void
Signed-off-by: Lai Jiangshan
---
main-loop.c |4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/main-loop.c b/main-loop.c
index 60e9748..692381c 100644
--- a/main-loop.c
+++ b/main-loop.c
@@ -142,14 +142,12 @@ static int qemu_signal_init(void)
*/
sigemptyset
doing (3).
> >
> > (note an additional issue with 3 is whether to make it a vm or vcpu
> > ioctl - we've been assuming vcpu ioctl but it's not necessarily the best
> > choice).
> >
It is the 2) approach.
It only changes the user space site, the kernel site is
This bug is triggered for my Windows XP guest, but not for my linux guests.
The gdb result shows that a "vga.vram" memoryregion is added twice.
libvirt log ---
2011-10-25 16:18:58.117: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none
/home/laijs/bin/qe
On 10/19/2011 05:29 PM, Avi Kivity wrote:
>
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> On 10/18/2011 09:41 PM, Jan Kiszka wrote:
>>
>> Looks OK to me.
>>
>>
>
> Same here.
Who will merge it?
Thanks,
Lai
>
> - --
> I have a truly marvellous patch that fixes the bug which this
> si
hen upstream gains that support. I'm working on
> a basic version an will incorporate the logic if your qemu patch is
> already available.
>
> Jan
>
Patch for qemu.git
From: Lai Jiangshan
Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
button event hap
On 10/19/2011 03:41 AM, Jan Kiszka wrote:
> On 2011-10-17 18:00, Lai Jiangshan wrote:
>> On 10/17/2011 05:49 PM, Avi Kivity wrote:
>>> On 10/17/2011 11:40 AM, Lai Jiangshan wrote:
>>>>>>
>>>>>
>>>>> LINT1 may have been programmed as
On 10/17/2011 05:49 PM, Avi Kivity wrote:
> On 10/17/2011 11:40 AM, Lai Jiangshan wrote:
>>>>
>>>
>>> LINT1 may have been programmed as a level -triggered interrupt instead
>>> of edge triggered (NMI or interrupt). We can use the ioctl argument for
>&g
On 10/16/2011 05:39 PM, Avi Kivity wrote:
> On 10/14/2011 11:03 AM, Lai Jiangshan wrote:
>> Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
>> button event happens. This doesn't properly emulate real hardware on
>> which NMI button event triggers LINT
On 10/16/2011 05:39 PM, Avi Kivity wrote:
> On 10/14/2011 11:03 AM, Lai Jiangshan wrote:
>> Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
>> button event happens. This doesn't properly emulate real hardware on
>> which NMI button event triggers LINT
On 10/14/2011 08:07 PM, Jan Kiszka wrote:
> On 2011-10-14 13:59, Sasha Levin wrote:
>> On Fri, 2011-10-14 at 17:51 +0800, Lai Jiangshan wrote:
>>> Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
>>> button event happens. This doesn't properly em
Synchronize newest kernel headers which have
KVM_CAP_SET_LINT1 and KVM_SET_LINT1 by
./scripts/update-linux-headers.sh
Signed-off-by: Lai Jiangshan
---
linux-headers/asm-powerpc/kvm.h | 19 +--
linux-headers/asm-x86/kvm_para.h | 14 ++
linux-headers
that kdump initiated by NMI sometimes doesn't work
on KVM, because kdump assumes NMI is masked on CPUs other than CPU0.
With this patch, we introduce introduce KVM_SET_LINT1,
and we can use KVM_SET_LINT1 to correctly emulate NMI button
without change the old KVM_NMI behavior.
Signed-o
On 10/14/2011 05:07 PM, Jan Kiszka wrote:
> On 2011-10-14 11:03, Lai Jiangshan wrote:
>> Currently, NMI interrupt is blindly sent to all the vCPUs when NMI
>> button event happens. This doesn't properly emulate real hardware on
>> which NMI button event triggers LINT1. Be
rwise when in-kernel irqchip is enabled, get the in-kernel
LAPIC states and test the APIC_LVT_MASKED, if LINT1 is unmasked,
and then delivering the NMI directly.
- otherwise, userland lapic emulates NMI button and inject NMI
if it is unmasked.
Signed-off-by: Lai Jiangshan
Reported-by: Kenji
that kdump initiated by NMI sometimes doesn't work
on KVM, because kdump assumes NMI is masked on CPUs other than CPU0.
With this patch, we introduce introduce KVM_SET_LINT1,
and we can use KVM_SET_LINT1 to correctly emulate NMI button
without change the old KVM_NMI behavior.
Signed-o
Synchronize newest kernel headers which have
KVM_CAP_SET_LINT1 and KVM_SET_LINT1 by
./scripts/update-linux-headers.sh
Signed-off-by: Lai Jiangshan
---
linux-headers/asm-powerpc/kvm.h | 19 +--
linux-headers/asm-x86/kvm.h |1 +
linux-headers/asm-x86
On 10/14/2011 02:49 PM, Jan Kiszka wrote:
> On 2011-10-14 08:36, Lai Jiangshan wrote:
>> On 10/14/2011 01:53 PM, Jan Kiszka wrote:
>>> On 2011-10-14 02:53, Lai Jiangshan wrote:
>>>>
>>>>>
>>>>> As explained in some other mail, we could
On 10/14/2011 01:53 PM, Jan Kiszka wrote:
> On 2011-10-14 02:53, Lai Jiangshan wrote:
>>
>>>
>>> As explained in some other mail, we could then emulate the missing
>>> kernel feature by reading out the current in-kernel APIC state, testing
>>> if L
Tested-by: Lai Jiangshan
---
Documentation/virtual/kvm/api.txt | 18 ++
arch/x86/kvm/irq.h|1 +
arch/x86/kvm/lapic.c |7 +++
arch/x86/kvm/x86.c|5 -
4 files changed, 30 insertions(+), 1 deletions(-)
diff --git a/Doc
in-kernel irqchip is enabled, send nmi event to kernel as the
current code does. LINT1 should be emulated in kernel.
Signed-off-by: Kenji Kaneshige
Tested-by: Lai Jiangshan
---
hw/apic.c | 11 +++
hw/apic.h |1 +
monitor.c |6 +-
3 files changed, 17 insertions(+), 1 deletion
>
> As explained in some other mail, we could then emulate the missing
> kernel feature by reading out the current in-kernel APIC state, testing
> if LINT1 is unmasked, and then delivering the NMI directly.
>
Only the thread of the VCPU can safely get the in-kernel LAPIC states,
so this approac
in-kernel irqchip is enabled, send nmi event to kernel as the
current code does. LINT1 should be emulated in kernel.
(laijs) changed from v1:
use KVM_CAP_LAPIC_NMI
adjust the pic_deliver_nmi() API
Signed-off-by: Kenji Kaneshige
Tested-by: Lai Jiangshan
---
hw/apic.c | 26
Synchronize newest kernel headers which have
KVM_CAP_IRQCHIP_LAPIC_NMI by
./scripts/update-linux-headers.sh
Signed-off-by: Lai Jiangshan
---
linux-headers/asm|1 +
linux-headers/asm-powerpc/kvm.h | 19 +--
linux-headers/asm-x86/kvm_para.h | 14
MI
Signed-off-by: Kenji Kaneshige
Tested-by: Lai Jiangshan
---
Documentation/virtual/kvm/api.txt | 20
arch/x86/kvm/irq.h|1 +
arch/x86/kvm/lapic.c |7 +++
arch/x86/kvm/x86.c| 12
include/l
On 09/26/2011 04:21 PM, Avi Kivity wrote:
> On 09/25/2011 08:22 PM, Jan Kiszka wrote:
>> On 2011-09-25 16:07, Avi Kivity wrote:
>> > On 09/23/2011 12:31 PM, Lai Jiangshan wrote:
>> >> > Moreover: wrong indention.
>> >> >
>> >> &
NT1 on the processor. LINT1 is emulated in
in-kernel irqchip.
- When in-kernel irqchip is disabled, KVM_NMI ioctl is handled as a
request of injecting NMI to the processor. This assumes LINT1 is
already emulated in userland.
Signed-off-by: Kenji Kaneshige
Tested-by: Lai Jiangshan
---
ar
Signed-off-by: Kenji Kaneshige
Reviewed-by: Lai Jiangshan
---
src/mptable.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: seabios/src/mptable.c
===
--- seabios.orig/src/mptable.c
+++ seabios/src/mptable.c
@
From: Kenji Kaneshige
ACPI NMI Structure describes LINT pin (LINT0 or LINT1) information to
which NMI is connected, and it is needed by OS to initialize local APIC.
Signed-off-by: Kenji Kaneshige
Reviewed-by: Lai Jiangshan
---
src/acpi.c | 22 --
1 file changed, 20
in-kernel irqchip is enabled, send nmi event to kernel as the
current code does. LINT1 should be emulated in kernel.
Signed-off-by: Kenji Kaneshige
Tested-by: Lai Jiangshan
---
hw/apic.c | 16
hw/apic.h |1 +
monitor.c |5 ++---
3 files changed, 19 insertions(+), 3
On 09/22/2011 10:51 PM, Jan Kiszka wrote:
> On 2011-09-22 11:50, Lai Jiangshan wrote:
>>
>> From: KAMEZAWA Hiroyuki
>> Subject: [PATCH] Fix inject-nmi
>>
>> Now, inject-nmi sends NMI to all cpus...but this doesn't emulate
>> pc hardware 'NMI bu
From: KAMEZAWA Hiroyuki
Subject: [PATCH] Fix inject-nmi
Now, inject-nmi sends NMI to all cpus...but this doesn't emulate
pc hardware 'NMI button', which triggers LINT1.
So, now, LINT1 mask is ignored by inject-nmi and NMIs are sent to
all cpus without checking LINT1 mask.
Because Linux masks L
r x86 guest
currently, it will returns "Unsupported" error for non-x86 guest.
This error and this behavior are described in the comments.
Signed-off-by: Lai Jiangshan
---
hmp-commands.hx | 21 +++--
monitor.c | 20 +---
qmp-commands.hx | 2
Adds new QERR_UNSUPPORTED, converts "nmi" to "inject-nmi" and
make it supports qmp.
Lai Jiangshan (2):
qemu,qmp: QError: New QERR_UNSUPPORTED
qmp,inject-nmi: convert do_inject_nmi() to QObject
hmp-commands.hx | 21 +++--
mo
New QERR_UNSUPPORTED for unsupported commands or requests.
Signed-off-by: Lai Jiangshan
---
qerror.c |4
qerror.h |3 +++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/qerror.c b/qerror.c
index 4855604..f905887 100644
--- a/qerror.c
+++ b/qerror.c
@@ -206,6
On 04/26/2011 09:29 PM, Anthony Liguori wrote:
> On 04/26/2011 08:26 AM, Luiz Capitulino wrote:
>> On Thu, 21 Apr 2011 11:23:54 +0800
>> Lai Jiangshan wrote:
>>
>>>
>>> Hi, Anthony Liguori
>>>
>>> Any suggestion?
>>>
>&g
Hi, Anthony Liguori
Any suggestion?
Although all command line interfaces will be converted to to use QMP interfaces
in 0.16,
I hope inject-nmi come into QAPI earlier, 0.15.
Thanks,
Lai
inject-nmi command injects an NMI on all CPUs of guest.
It is only supported for x86 guest currently, it will
returns "Unsupported" error for non-x86 guest.
Signed-off-by: Lai Jiangshan
---
qapi-schema.json | 12
qmp.c| 17 +
2 files c
Convert the name of HMP nmi to inject-nmi, and use QMP inject-nmi.
The behavier is also changed, it injects NMI to all CPUs of the guest.
When the guest is non-x86, it reports "Unsupported" error.
Signed-off-by: Lai Jiangshan
---
hmp-commands.hx | 18 ---
New QERR_UNSUPPORTED for unsupported commands or requests.
Signed-off-by: Lai Jiangshan
---
qerror.c |4
qerror.h |3 +++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/qerror.c b/qerror.c
index c76257f..bafe520 100644
--- a/qerror.c
+++ b/qerror.c
@@ -213,6
" can't work in my box.
Lai Jiangshan (3):
QError: Introduce QERR_UNSUPPORTED
qapi,nmi: add inject-nmi qmp command
qapi-hmp: Convert HMP nmi to use QMP
hmp-commands.hx | 18 --
hmp.c| 12
hmp.h|1 +
monitor.c|
On 04/04/2011 09:09 PM, Anthony Liguori wrote:
> On 04/04/2011 07:19 AM, Markus Armbruster wrote:
>> [Note cc: Anthony]
>>
>> "Daniel P. Berrange" writes:
>>
>>> On Mon, Mar 07, 2011 at 05:46:28PM +0800, Lai Jiangshan wrote:
>>>> Fro
On 04/20/2011 09:53 AM, Lai Jiangshan wrote:
> On 04/04/2011 09:09 PM, Anthony Liguori wrote:
>> On 04/04/2011 07:19 AM, Markus Armbruster wrote:
>>> [Note cc: Anthony]
>>>
>>> "Daniel P. Berrange" writes:
>>>
>>>> On Mon, Mar
t;keycode": 59 } } #press down f1
{ "execute": "keyup", "arguments": { "keycode": 59 } }#release f1
{ "execute": "keyup", "arguments": { "keycode": 56 } }#release alt
{ "execute": "keyup",
From: Lai Jiangshan
Date: Mon, 7 Mar 2011 17:05:15 +0800
Subject: [PATCH 2/2] qemu,qmp: add inject-nmi qmp command
inject-nmi command injects an NMI on all CPUs of guest.
It is only supported for x86 guest currently, it will
returns "Unsupported" error for non-x86 guest.
---
hmp-c
From: Lai Jiangshan
Date: Mon, 7 Mar 2011 17:05:04 +0800
Subject: [PATCH 1/2] qemu,qmp: QError: New QERR_UNSUPPORTED
New QERR_UNSUPPORTED for unsupported commands or requests.
---
qerror.h |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/qerror.h b/qerror.h
index
From: Lai Jiangshan
Date: Mon, 7 Mar 2011 17:08:46 +0800
Subject: [PATCH 0/2 V7] qemu,qmp: add inject-nmi qmp command
The new qmp command "inject-nmi" is different from the hmp
monitor command "nmi". The first one injects an NMI on all CPUs,
and the second one injects an NMI
Hi, Luiz Capitulino
Any problem?
Thanks,
Lai
On 02/14/2011 06:09 PM, Lai Jiangshan wrote:
> "cpu-index" which uses hyphen is better name.
>
> Signed-off-by: Lai Jiangshan
> ---
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index 5d4cb9e..e43ac7c 100644
>
On 02/09/2011 07:48 PM, Luiz Capitulino wrote:
>
> You should use Anthony's tree:
>
> git://git.qemu.org/qemu.git
>
Done, thank you for your concern and patience.
see my sent emails:
[PATCH V6 1/4 resend]
[PATCH V6 2/4 resend]
[PATCH V6 3/4 resend]
[PATCH V6 4/4 resend]
Thanks again.
Lai
Make we can inject NMI via qemu-monitor-protocol.
We use "inject-nmi" for the qmp command name, the meaning is clearer.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index b2c6cd6..6d3e7d2 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -74
uster for correcting the logic
detecting "cpu-index" is given or not.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index e43ac7c..ec1a4db 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -721,9 +721,10 @@ ETEXI
#if defined(TARGET_I386)
{
"cpu-index" which uses hyphen is better name.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 5d4cb9e..e43ac7c 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -721,7 +721,7 @@ ETEXI
#if defined(TARGET_I386)
{
.name
When cpu-index is found invalid in runtime, it will report
QERR_INVALID_PARAMETER_VALUE.
Signed-off-by: Lai Jiangshan
---
diff --git a/monitor.c b/monitor.c
index 1b1c0ba..82935f0 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2563,6 +2563,7 @@ static int do_inject_nmi(Monitor *mon, const QDict
On 02/01/2011 09:29 PM, Luiz Capitulino wrote:
> On Thu, 27 Jan 2011 16:20:27 +0800
> Lai Jiangshan wrote:
>
>> "cpu-index" which uses hyphen is better name.
>>
>> Signed-off-by: Lai Jiangshan
>
> It looks ok from a quick pass, but I can't ap
When cpu-index is found invalid in runtime, it will report
QERR_INVALID_PARAMETER_VALUE.
Signed-off-by: Lai Jiangshan
---
diff --git a/monitor.c b/monitor.c
index 1b1c0ba..82935f0 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2563,6 +2563,7 @@ static int do_inject_nmi(Monitor *mon, const QDict
Make we can inject NMI via qemu-monitor-protocol.
We use "inject-nmi" for the qmp command name, the meaning is clearer.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index ec1a4db..e763bf9 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -72
"cpu-index" which uses hyphen is better name.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 5d4cb9e..e43ac7c 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -721,7 +721,7 @@ ETEXI
#if defined(TARGET_I386)
{
.name
uster for correcting the logic
detecting "cpu-index" is given or not.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index e43ac7c..ec1a4db 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -721,9 +721,10 @@ ETEXI
#if defined(TARGET_I386)
{
When the argument "cpu-index" is not given,
then "nmi" command will inject NMI on all CPUs.
This simulate the nmi button on physical machine.
Thanks to Markus Armbruster for correcting the logic
detecting "cpu-index" is given or not.
Signed-off-by: Lai J
Make we can inject NMI via qemu-monitor-protocol.
We use "inject-nmi" for the qmp command name, the meaning is clearer.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index a49fcd4..4db413d 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -72
When cpu-index is found invalid in runtime, it will report
QERR_INVALID_PARAMETER_VALUE.
Signed-off-by: Lai Jiangshan
---
diff --git a/monitor.c b/monitor.c
index 1bee840..7402c0f 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2535,6 +2535,7 @@ static int do_inject_nmi(Monitor *mon, const QDict
"cpu-index" is better name.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index df134f8..99b96a8 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -721,7 +721,7 @@ ETEXI
#if defined(TARGET_I386)
{
.name = "nmi",
On 12/21/2010 12:58 AM, Markus Armbruster wrote:
> Lai Jiangshan writes:
>
>> When the argument "cpu-index" is not given,
>> then "nmi" command will inject NMI on all CPUs.
>>
>> This simulate the nmi button on physical machine.
>>
>
On 12/21/2010 01:00 AM, Markus Armbruster wrote:
> Lai Jiangshan writes:
>
>> "cpu-index" is better name.
>>
>> Signed-off-by: Lai Jiangshan
>> ---
>> diff --git a/hmp-commands.hx b/hmp-commands.hx
>> index 4befbe2..8de7aa3 100644
>> -
Make we can inject NMI via qemu-monitor-protocol.
We use "inject-nmi" for the qmp command name, the meaning is clearer.
When cpu-index is found invalid in runtime, it will report
QERR_INVALID_PARAMETER_VALUE.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-command
"cpu-index" is better name.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 4befbe2..8de7aa3 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -721,7 +721,7 @@ ETEXI
#if defined(TARGET_I386)
{
.name = "nmi",
When the argument "cpu-index" is not given,
then "nmi" command will inject NMI on all CPUs.
This simulate the nmi button on physical machine.
Signed-off-by: Lai Jiangshan
---
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 8de7aa3..d8fe4c0 100644
--- a/hmp-c
1 - 100 of 115 matches
Mail list logo