> Before this one we only invalidate context cache when we receive context
> entry invalidations. However it's possible that the invalidation also
> contains a domain switch (only if cache-mode is enabled for vIOMMU). In
> that case we need to notify all the registered components about the new
> ma
> The default replay() don't work for VT-d since vt-d will have a huge
> default memory region which covers address range 0-(2^64-1). This will
> normally bring a dead loop when guest starts.
>
> The solution is simple - we don't walk over all the regions. Instead, we
> jump over the regions when
There is a program that I run inside of QEMU that doesn't use the virtual CPU
very efficiently. It causes QEMU to use 100% of the guest's CPU time. I was
wondering if there were a way to reduce the amount of host CPU time that a
guest CPU can use? This feature would help prevent laptops from hea
> From: Fam Zheng
> Sent: Wednesday, December 21, 2016 12:32 AM
>
> This series adds a new protocol driver that is intended to achieve about 20%
> better performance for latency bound workloads (i.e. synchronous I/O) than
> linux-aio when guest is exclusively accessing a NVMe device, by talking to
Nit picking: Multi-function PCI Express Root Ports should mean that
'addr' property is mandatory, and slot is optional because it defaults
to 0, and 'chassis' is mandatory for 2nd & 3rd root port because it
defaults to 0 too.
Bonus: fix a typo(2->3)
Signed-off-by: Cao jin
Reviewed-by: Marcel Apfe
On 12/28/2016 11:21 PM, Andrew Jones wrote:
> On Wed, Dec 28, 2016 at 03:24:30PM +0200, Marcel Apfelbaum wrote:
>> On 12/27/2016 09:40 AM, Cao jin wrote:
>>> Nit picking: Multi-function PCI Express Root Ports should mean that
>>> 'addr' property is mandatory, and slot is optional because it is de
On 27 December 2016 at 17:53, Laurent Vivier wrote:
> The following changes since commit e5fdf663cf01f824f0e29701551a2c29554d80a4:
>
> Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20161223' into
> staging (2016-12-27 14:56:47 +)
>
> are available in the git repository at:
>
> g
On Dec 24, 2016 9:04 AM, "Thomas Huth" wrote:
Hi all,
the last door of the QEMU advent calendar 2016 can now be opened
(http://www.qemu-advent-calendar.org/2016/index.html#day-24), so we'd
now like to say thank you to everybody who has contributed to or
followed the advent calendar! It was fun
The definition of the major() and minor() macros are moving within glibc to
. Include this header when it is available to avoid the
following sorts of build-stopping messages:
qga/commands-posix.c: In function ‘dev_major_minor’:
qga/commands-posix.c:656:13: error: In the GNU C Library, "major" is
Hi Eric,
On 12/28/2016 11:10 AM, Eric Blake wrote:
> On 12/28/2016 08:53 AM, Christopher Covington wrote:
>> The definition of the major() and minor() macros are moving within glibc to
>> . Include this header to avoid the following sorts of
>> build-stopping messages:
>>
>
>> The additional incl
[Qemu-devel] [PATCH] target-x86:Add GDB XML register description support
This patch implements XML target description support for X86 and X86-64
architectures in the GDB stub, as the way with ARM and PowerPC:
- gdb-xml/32bit-core.xml & gdb-xml/64bit-core.xml: Adding the XML target
description f
Hi Eric,
There is something I don't understand.
We are doing: "virsh save", "qemu-img convert", "qemu-img rebase" and
"virsh restore".
We only touch the backing chain by doing the rebase while the VM is down.
Is there any chance this procedure can destroy data?
If so, is there any difference b
CMSIS SVD
-
The latest release of GNU ARM Eclipse QEMU (2.8.0-20161227) introduced a new
technology for implementing peripherals, based on standard CMSIS SVD
definitions (http://www.keil.com/pack/doc/CMSIS/SVD/html/index.html).
The SVD files are large XML files produced by the silicon v
If an event is dynamically disabled, the TCG code that calls the
execution-time tracer is not generated.
Removes the overheads of execution-time tracers for dynamically disabled
events. As a bonus, also avoids checking the event state when the
execution-time tracer is called from TCG-generated cod
Last patch removed a nesting level in generated code. Re-align all code
generated by backends to be 4-column aligned.
Signed-off-by: Lluís Vilanova
---
scripts/tracetool/backend/dtrace.py |2 +-
scripts/tracetool/backend/ftrace.py | 20 ++--
scripts/tracetool/backend/log.py
Every vCPU now uses a separate set of TBs for each set of dynamic
tracing event state values. Each set of TBs can be used by any number of
vCPUs to maximize TB reuse when vCPUs have the same tracing state.
This feature is later used by tracetool to optimize tracing of guest
code events.
The maxim
Later patches will make use of it.
Signed-off-by: Lluís Vilanova
---
trace/control-internal.h |5 +
trace/control.c |9 ++---
trace/control.h |2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/trace/control-internal.h b/trace/control-inter
The optimizations of this series makes it feasible to have them
available on all builds.
Signed-off-by: Lluís Vilanova
---
trace-events |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/trace-events b/trace-events
index f74e1d3d22..0a0f4d9cd6 100644
--- a/trace-events
This keeps consistency across all decisions taken during translation
when the dynamic state of a vCPU is changed in the middle of translating
some guest code.
Signed-off-by: Lluís Vilanova
---
cpu-exec.c | 26 ++
include/qom/cpu.h |7 +++
qom/cp
The function is reused in later patches.
Signed-off-by: Lluís Vilanova
---
cputlb.c|2 +-
include/exec/exec-all.h |6 ++
translate-all.c | 14 +-
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/cputlb.c b/cputlb.c
index 813279f3bc
Optimizes tracing of events with the 'tcg' and 'vcpu' properties (e.g., memory
accesses), making it feasible to statically enable them by default on all QEMU
builds.
Some quick'n'dirty numbers with 400.perlbench (SPECcpu2006) on the train input
(medium size - suns.pl) and the guest_mem_before even
On 28 December 2016 at 17:12, Sean Bruno wrote:
> On 12/28/16 10:05, Peter Maydell wrote:
>> Ideally all of that rework (including the support for properly
>> interrupting syscalls without races) should be ported over to
>> bsd-user at some point.
>
> If you have a moment to point me at the merge
We always need real atomics, as we can have shared memory between
processes.
A good test case is the example from futex(2), futex_demo.c:
the use case is
mmap(...);
fork();
Parent and Child:
while(...)
__sync_bool_compare_and_swap(...)
...
futex(...)
In
On 12/28/16 10:05, Peter Maydell wrote:
> On 28 December 2016 at 15:06, Sean Bruno wrote:
>> After some recent-ish changes to how user mode executes things/stuff,
>> I'm running into issues with the out of tree bsd-user mode code that
>> FreeBSD has been maintaining. It looks like the host_sign
On 28 December 2016 at 16:10, Eric Blake wrote:
> On 12/28/2016 08:53 AM, Christopher Covington wrote:
>> The definition of the major() and minor() macros are moving within glibc to
>> . Include this header to avoid the following sorts of
>> build-stopping messages:
>>
>
>> The additional include
On Fri, Nov 18, 2016 at 12:02:54PM +0100, Igor Mammedov wrote:
> so it won't impose an additional limits on max_cpus limits
> supported by different targets.
>
> It removes global MAX_CPUMASK_BITS constant and need to
> bump it up whenever max_cpus is being increased for
> a target above MAX_CPUMA
On 28 December 2016 at 15:06, Sean Bruno wrote:
> After some recent-ish changes to how user mode executes things/stuff,
> I'm running into issues with the out of tree bsd-user mode code that
> FreeBSD has been maintaining. It looks like the host_signal_handler()
> is never executed or registered
On Sat, Dec 24, 2016 at 08:29:33PM +, Doug Evans wrote:
> In commit c52ab08aee6f7d4717fc6b517174043126bd302f,
> the patch snippet for the "syscall" insn got applied to "iret".
>
> Signed-off-by: Doug Evans
Patch was corrupt, I have fixed line wrapping by hand and had to
use git-am --ignore-w
Needed to implement a target-agnostic gen_intermediate_code() in the
future.
Signed-off-by: Lluís Vilanova
Reviewed-by: David Gibson
---
include/exec/exec-all.h |2 +-
target-alpha/translate.c | 11 +--
target-arm/translate.c| 24
targ
Signed-off-by: Lluís Vilanova
---
target-i386/translate.c | 304 ++-
1 file changed, 140 insertions(+), 164 deletions(-)
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 61d73e286f..a63627b470 100644
--- a/target-i386/translate.c
+
Signed-off-by: Lluís Vilanova
---
target-arm/translate-a64.c | 346 ++---
target-arm/translate.c | 720 ++--
target-arm/translate.h | 42 ++-
3 files changed, 555 insertions(+), 553 deletions(-)
diff --git a/target-arm/translate
no-reply writes:
> Hi,
> Your series failed automatic build test. Please find the testing commands and
> their output below. If you have docker installed, you can probably reproduce
> it
> locally.
Oh, my bad. Forgot to remove some of the "restrict" I added on previous
versions.
Thanks,
Llui
Signed-off-by: Lluís Vilanova
---
include/exec/gen-icount.h |2
include/exec/translate-all_template.h | 73
include/qom/cpu.h | 22
translate-all_template.h | 204 +
4 files changed, 300 inser
Temporarily redefine DISAS_* values based on DJ_TARGET. They should
disappear as targets get ported to the generic framework.
Signed-off-by: Lluís Vilanova
---
include/exec/exec-all.h | 11 +++
target-arm/translate.h | 15 ---
target-cris/translate.c |
Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list
traversal.
Signed-off-by: Lluís Vilanova
---
include/qemu/queue.h | 12
1 file changed, 12 insertions(+)
diff --git a/include/qemu/queue.h b/include/qemu/queue.h
index 342073fb4d..ea6130f1c9 100644
--- a/include/qemu/
This series proposes a generic (target-agnostic) instruction translation
framework.
It basically provides a generic main loop for instruction disassembly, which
calls target-specific functions when necessary. This generalization makes
inserting new code in the main loop easier, and helps in keepin
no-reply writes:
> Hi,
> Your series failed automatic build test. Please find the testing commands and
> their output below. If you have docker installed, you can probably reproduce
> it
> locally.
I did try to compile all targets and it works for me (gcc 6.2.1). I've also
tried the oldest gcc
Richard Henderson writes:
> On 12/28/2016 06:08 AM, Lluís Vilanova wrote:
>> @@ -83,6 +85,13 @@ uint32_t tb_hash_func5(uint64_t a0, uint64_t b0, uint32_t
>> e)
>> h32 += e * PRIME32_3;
>> h32 = rol32(h32, 17) * PRIME32_4;
>>
>> +if (sizeof(TRACE_QHT_VCPU_DSTATE_TYPE) == sizeof(uint32_t)) {
On 12/28/2016 08:53 AM, Christopher Covington wrote:
> The definition of the major() and minor() macros are moving within glibc to
> . Include this header to avoid the following sorts of
> build-stopping messages:
>
> The additional include allows the build to complete on Fedora 26 (Rawhide)
> wi
On 12/28/2016 06:08 AM, Lluís Vilanova wrote:
@@ -83,6 +85,13 @@ uint32_t tb_hash_func5(uint64_t a0, uint64_t b0, uint32_t e)
h32 += e * PRIME32_3;
h32 = rol32(h32, 17) * PRIME32_4;
+if (sizeof(TRACE_QHT_VCPU_DSTATE_TYPE) == sizeof(uint32_t)) {
+h32 += f * PRIME32_3;
+
Hi,
Your series failed automatic build test. Please find the testing commands and
their output below. If you have docker installed, you can probably reproduce it
locally.
Subject: [Qemu-devel] [RFC PATCH v4 0/6] translate: [tcg] Generic translation
framework
Type: series
Message-id: 148293987753
Signed-off-by: Lluís Vilanova
---
target-i386/translate.c | 304 ++-
1 file changed, 140 insertions(+), 164 deletions(-)
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 61d73e286f..a63627b470 100644
--- a/target-i386/translate.c
+
Signed-off-by: Lluís Vilanova
---
target-arm/translate-a64.c | 346 ++---
target-arm/translate.c | 720 ++--
target-arm/translate.h | 42 ++-
3 files changed, 555 insertions(+), 553 deletions(-)
diff --git a/target-arm/translate
Temporarily redefine DISAS_* values based on DJ_TARGET. They should
disappear as targets get ported to the generic framework.
Signed-off-by: Lluís Vilanova
---
include/exec/exec-all.h | 11 +++
target-arm/translate.h | 15 ---
target-cris/translate.c |
Needed to implement a target-agnostic gen_intermediate_code() in the
future.
Signed-off-by: Lluís Vilanova
Reviewed-by: David Gibson
---
include/exec/exec-all.h |2 +-
target-alpha/translate.c | 11 +--
target-arm/translate.c| 24
targ
Signed-off-by: Lluís Vilanova
---
include/exec/gen-icount.h |2
include/exec/translate-all_template.h | 73
include/qom/cpu.h | 22
translate-all_template.h | 204 +
4 files changed, 300 inser
Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list
traversal.
Signed-off-by: Lluís Vilanova
---
include/qemu/queue.h | 12
1 file changed, 12 insertions(+)
diff --git a/include/qemu/queue.h b/include/qemu/queue.h
index 342073fb4d..ea6130f1c9 100644
--- a/include/qemu/
This series proposes a generic (target-agnostic) instruction translation
framework.
It basically provides a generic main loop for instruction disassembly, which
calls target-specific functions when necessary. This generalization makes
inserting new code in the main loop easier, and helps in keepin
OK, if it works with -vga virtio, I think we should close this bug as
WONTFIX, since the -vga vmware code is pretty much unmaintained as far
as I know (if somebody is willing to fix this there, too, feel free to
open this bug again).
** Changed in: qemu
Status: New => Won't Fix
--
You rec
On Wed, Dec 28, 2016 at 03:24:30PM +0200, Marcel Apfelbaum wrote:
> On 12/27/2016 09:40 AM, Cao jin wrote:
> > Nit picking: Multi-function PCI Express Root Ports should mean that
> > 'addr' property is mandatory, and slot is optional because it is default
> > to 0, and 'chassis' is mandatory for 2n
After some recent-ish changes to how user mode executes things/stuff,
I'm running into issues with the out of tree bsd-user mode code that
FreeBSD has been maintaining. It looks like the host_signal_handler()
is never executed or registered correctly in our code. I'm curious if
the linux-user cod
The definition of the major() and minor() macros are moving within glibc to
. Include this header to avoid the following sorts of
build-stopping messages:
qga/commands-posix.c: In function ‘dev_major_minor’:
qga/commands-posix.c:656:13: error: In the GNU C Library, "major" is defined
by . For his
The optimizations of this series makes it feasible to have them
available on all builds.
Signed-off-by: Lluís Vilanova
---
trace-events |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/trace-events b/trace-events
index f74e1d3d22..0a0f4d9cd6 100644
--- a/trace-events
Every vCPU now uses a separate set of TBs for each set of dynamic
tracing event state values. Each set of TBs can be used by any number of
vCPUs to maximize TB reuse when vCPUs have the same tracing state.
This feature is later used by tracetool to optimize tracing of guest
code events.
The maxim
If an event is dynamically disabled, the TCG code that calls the
execution-time tracer is not generated.
Removes the overheads of execution-time tracers for dynamically disabled
events. As a bonus, also avoids checking the event state when the
execution-time tracer is called from TCG-generated cod
Later patches will make use of it.
Signed-off-by: Lluís Vilanova
---
trace/control-internal.h |5 +
trace/control.c |9 ++---
trace/control.h |2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/trace/control-internal.h b/trace/control-inter
Last patch removed a nesting level in generated code. Re-align all code
generated by backends to be 4-column aligned.
Signed-off-by: Lluís Vilanova
---
scripts/tracetool/backend/dtrace.py |2 +-
scripts/tracetool/backend/ftrace.py | 20 ++--
scripts/tracetool/backend/log.py
The function is reused in later patches.
Signed-off-by: Lluís Vilanova
---
cputlb.c|2 +-
include/exec/exec-all.h |6 ++
translate-all.c | 14 +-
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/cputlb.c b/cputlb.c
index 813279f3bc
This keeps consistency across all decisions taken during translation
when the dynamic state of a vCPU is changed in the middle of translating
some guest code.
Signed-off-by: Lluís Vilanova
---
cpu-exec.c | 26 ++
include/qom/cpu.h |7 +++
qom/cp
Optimizes tracing of events with the 'tcg' and 'vcpu' properties (e.g., memory
accesses), making it feasible to statically enable them by default on all QEMU
builds.
Some quick'n'dirty numbers with 400.perlbench (SPECcpu2006) on the train input
(medium size - suns.pl) and the guest_mem_before even
On 12/27/2016 09:40 AM, Cao jin wrote:
Nit picking: Multi-function PCI Express Root Ports should mean that
'addr' property is mandatory, and slot is optional because it is default
to 0, and 'chassis' is mandatory for 2nd & 3rd root port because it is
default to 0 too.
Bonus: fix a typo(2->3)
Sig
On Tue, Dec 13, 2016 at 10:36:24AM +, Peter Maydell wrote:
> Add a board level property to the virt board which will
> enable EL2 on the CPU if the user asks for it. The
> default is not to provide EL2. If EL2 is enabled then
> we will use SMC as our PSCI conduit, and report the
> virtualizatio
On Tue, Dec 13, 2016 at 10:36:22AM +, Peter Maydell wrote:
> If we are giving the guest a CPU with EL2, it is likely to
> want to use the HVC instruction itself, for instance for
> providing PSCI to inner guest VMs. This makes using HVC
> as the PSCI conduit for the outer QEMU a bad idea. We wi
On Tue, Dec 13, 2016 at 10:36:23AM +, Peter Maydell wrote:
> Enable the ARM_FEATURE_EL2 bit on Cortex-A52 and
> Cortex-A57, since this is all now sufficiently implemented
> to work with the GICv3. We provide the usual CPU property
> to disable it for backwards compatibility with the older
> vir
Hi,
Your series failed automatic build test. Please find the testing commands and
their output below. If you have docker installed, you can probably reproduce it
locally.
Message-id: 148292774946.380.3638349228328753405.st...@fimbulvetr.bsc.es
Subject: [Qemu-devel] [PATCH v4 0/7] trace: [tcg] Opt
If an event is dynamically disabled, the TCG code that calls the
execution-time tracer is not generated.
Removes the overheads of execution-time tracers for dynamically disabled
events. As a bonus, also avoids checking the event state when the
execution-time tracer is called from TCG-generated cod
This keeps consistency across all decisions taken during translation
when the dynamic state of a vCPU is changed in the middle of translating
some guest code.
Signed-off-by: Lluís Vilanova
---
cpu-exec.c | 26 ++
include/qom/cpu.h |7 +++
qom/cp
Last patch removed a nesting level in generated code. Re-align all code
generated by backends to be 4-column aligned.
Signed-off-by: Lluís Vilanova
---
scripts/tracetool/backend/dtrace.py |2 +-
scripts/tracetool/backend/ftrace.py | 20 ++--
scripts/tracetool/backend/log.py
Every vCPU now uses a separate set of TBs for each set of dynamic
tracing event state values. Each set of TBs can be used by any number of
vCPUs to maximize TB reuse when vCPUs have the same tracing state.
This feature is later used by tracetool to optimize tracing of guest
code events.
The maxim
Later patches will make use of it.
Signed-off-by: Lluís Vilanova
---
trace/control-internal.h |5 +
trace/control.c |9 ++---
trace/control.h |2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/trace/control-internal.h b/trace/control-inter
The optimizations of this series makes it feasible to have them
available on all builds.
Signed-off-by: Lluís Vilanova
---
trace-events |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/trace-events b/trace-events
index f74e1d3d22..0a0f4d9cd6 100644
--- a/trace-events
The function is reused in later patches.
Signed-off-by: Lluís Vilanova
---
cputlb.c|2 +-
include/exec/exec-all.h |6 ++
translate-all.c | 14 +-
3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/cputlb.c b/cputlb.c
index 813279f3bc
Optimizes tracing of events with the 'tcg' and 'vcpu' properties (e.g., memory
accesses), making it feasible to statically enable them by default on all QEMU
builds.
Some quick'n'dirty numbers with 400.perlbench (SPECcpu2006) on the train input
(medium size - suns.pl) and the guest_mem_before even
73 matches
Mail list logo