Macro g_assert_no_errno() intrudes into GLib's namespace. It's also
pretty pointless. Inline.
At one call site, its redundancy is now obvious. Delete it there.
Signed-off-by: Markus Armbruster
Message-Id: <20180926122933.3858-1-arm...@redhat.com>
Reviewed-by: Laurent Vivier
Reviewed-by: Thom
From: Kashyap Chamarthy
Remove repetition of 'independent of'. While at it, s/QMU/QEMU in
@CpuDefinitionInfo.
Signed-off-by: Kashyap Chamarthy
Message-Id: <20181003104605.8477-1-kcham...@redhat.com>
Reviewed-by: Marc-André Lureau
Reviewed-by: Eric Blake
Reviewed-by: Eduardo Habkost
[Commit
From: Marc-André Lureau
Spotted by ASAN:
=
==11893==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 1120 byte(s) in 28 object(s) allocated from:
#0 0x7fd0515b0c48 in malloc (/lib64/libasan.so.5+0xeec48)
#1 0x7fd05
Commit 2aece63c8a "hostmem: detect host backend memory is being used
properly" fixed "ivshmem-plain" to reject memory backends that are
already in use, and to block their deletion while in use. Two bugs
escaped review:
* New ivshmem_plain_exit() fails to call ivshmem_exit(). This breaks
unplug
Commit 0bcc8e5bd8d accidentally dropped check-qdict from the list of
unit tests (again, see commit 4429532b48a). Put it back, and fix up
the test.
Signed-off-by: Markus Armbruster
Message-Id: <20180926122309.30631-1-arm...@redhat.com>
Reviewed-by: Thomas Huth
---
tests/Makefile.include | 2 +-
The following changes since commit 7c69b7c849641a39ba3defa40d384a2ba24cd7a2:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20181008'
into staging (2018-10-08 15:01:30 +0100)
are available in the Git repository at:
git://repo.or.cz/qemu/armbru.git tags/pull-misc-2018-10
Why I didn't posted patch to qemu-devel ?
I have no idea how to patch it correctly, because it isn't clear how these
things are expected to work when referenced across all qemu code and different
use cases. Should vl.c/qemu_get_timedate() just be fixed ? Does each caller
expect same behavior fro
Public bug reported:
When specifying 'base' for RTC to start with, it has incorrect
implementation in combination with clock=vm.
I inspected source code. This is because it uses host clock (qemu_time()
function return value) as reference with 'rtc_date_offset' operations
across several places in
On Mon, Oct 08, 2018 at 02:25:39PM +1100, Suraj Jitindar Singh wrote:
> Add the spapr cap SPAPR_CAP_NESTED_KVM_HV to be used to control the
> availability of nested kvm-hv to the level 1 (L1) guest.
>
> Assuming a hypervisor with support enabled an L1 guest can be allowed to
> use the kvm-hv modul
On Mon, Oct 08, 2018 at 02:25:38PM +1100, Suraj Jitindar Singh wrote:
> The ptcr (partition table control register) is used to store the address
> and size of the partition table. For nested kvm-hv we have a level 1
> guest register the location of it's partition table with the hypervisor.
> Thus t
On Tue, Oct 09, 2018 at 05:12:49PM +0400, Marc-André Lureau wrote:
> Note: this patch will conflict with Peter "[PATCH v9 3/6] monitor:
> remove "x-oob", turn oob on by default", but can be trivially updated.
>
> Signed-off-by: Marc-André Lureau
> ---
> monitor.c | 5 +++--
> 1 file changed, 3 i
Signed-off-by: Li Qiang
---
hw/ide/piix.c | 16 ++--
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index a3afe1f..5f29cce 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -35,6 +35,10 @@
#include "hw/ide/pci.h"
#include "trace.h"
+#d
On Tue, Oct 09, 2018 at 05:12:48PM +0400, Marc-André Lureau wrote:
> The feature should be set if the chardev is able to switch
> GMainContext. Callers that want to put a chardev in a different thread
> context can/should check this capabilities.
IIRC we've had some discussion about whether we sho
On Tue, Oct 09, 2018 at 05:12:47PM +0400, Marc-André Lureau wrote:
> Chardev backends may not handle safely IO events from concurrent
> threads. Better to wake up the chardev from the monitor IO thread if
> it's being used as the chardev context.
>
> Signed-off-by: Marc-André Lureau
> ---
> moni
This does not appear to be DIRECTLY a bug in QEMU, but 'something' has
changed in the RPi Kernel to cause this issue.
The actual cause of the panic is (in my situation) because the kernel is
unable to mount root, and this is caused by it being unable to access
the SD interface, as it can't get tim
On Tue, Oct 09, 2018 at 12:54:37PM +0400, Marc-André Lureau wrote:
> Hi
> On Tue, Oct 9, 2018 at 10:28 AM Peter Xu wrote:
> >
> > Currently when QMP request queue full we won't resume the monitor until
> > we have completely handled the current command. It's not necessary
> > since even before it
On Wed, 10 Oct 2018 01:47:10 +
"Wuzongyong (Euler Dept)" wrote:
>
> You're right. The initial states are not identical.
> I found the function vfio_pci_pre_reset in qemu.
> /*
> * Stop any ongoing DMA by disconecting I/O, MMIO, and bus master.
> * Also put INTx Disable in known
Hi Eduardo/Paolo,
Do you have any comments about this patch ?
Thanks
Jingqi
> -Original Message-
> From: Xu, Tao3
> Sent: Wednesday, September 19, 2018 11:11 AM
> To: pbonz...@redhat.com; r...@twiddle.net; ehabk...@redhat.com
> Cc: qemu-devel@nongnu.org; Liu, Jingqi ; Xu, Tao3
>
> Subje
> > > Hi,
> > >
> > > I start a virtual machine with commandline:
> > > /usr/libexec/qemu-kvm --enable-kvm -smp 8 -m 8192 -device
> > > vfio-pci,host=:81:00.0
> > >
> > > Then I pause the qemu process before executing the main_loop
> > > function by
> > gdb.
> > > At this moment, lspci show
> > Hi,
> >
> > I start a virtual machine with commandline:
> > /usr/libexec/qemu-kvm --enable-kvm -smp 8 -m 8192 -device
> > vfio-pci,host=:81:00.0
> >
> > Then I pause the qemu process before executing the main_loop function by
> gdb.
> > At this moment, lspci shows the regions are disabl
On Mon, Oct 08, 2018 at 02:39:42PM +0200, Thomas Huth wrote:
> The spapr-rng device is suboptimal when compared to virtio-rng, so
> users might want to disable it in their builds. Thus let's introduce
> a proper CONFIG switch to allow us to compile QEMU without this device.
> The function spapr_rng
With the introduction of a variants file that can run the same
tests on various architectures, it makes sense to make most tests
to be reusable on those environments. The exception should be
when a test is really testing a specific architecture feature.
With the change proposed here, on a command
By setting the machine type, even if it's the one that will be picked
based on the arch, it's possible to run the same tests with targets
that require a machine type (in addition to those that don't).
Given that only boot_linux_console.py contains code specific to x86_64
(an explicit reference to
One of the Avocado features relevant to virtualization testing is the
ability to reuse tests in different scenarios, known as variants.
This adds a JSON based variants file, that can be used to run most
tests in a number of different architectures. It can be run with:
$ avocado run \
--js
On a number of different scenarios, such as when choosing a QEMU
binary to be used on tests (or a image to use to boot a test VM), it's
useful to define the architecture that should be used.
This introduces both a test parameter and a test instance attribute,
that will contain such a value.
The s
Some targets require a machine type to be set, as there's no default
(aarch64 is one example). To give a consistent interface to users of
this API, this changes set_machine() so that a predefined default can
be used, if one is not given. The approach used is exactly the same
with the console devi
The current version of the Acceptance Tests have been basically tested
on x86_64. Most of them should be valid tests on many different
architectures.
This introduces another standard test parameter, 'arch', and a public
test attribute with the same name. Then, because of the different
behavior i
Making it clear what is returned by this utility function.
Signed-off-by: Cleber Rosa
Reviewed-by: Philippe Mathieu-Daudé
---
tests/acceptance/avocado_qemu/__init__.py | 4
1 file changed, 4 insertions(+)
diff --git a/tests/acceptance/avocado_qemu/__init__.py
b/tests/acceptance/avocado_q
Because some sane defaults may require the knowledge of the arch,
let's give the QEMUMachine the opportunity to hold that information.
Signed-off-by: Cleber Rosa
Reviewed-by: Philippe Mathieu-Daudé
---
scripts/qemu.py | 7 +++
1 file changed, 7 insertions(+)
diff --git a/scripts/qemu.py b/
I sent out a patch:
http://lists.nongnu.org/archive/html/qemu-devel/2018-10/msg01657.html
(Please ignore the other 2 identical patches. It was my first time sending out
patches and I didn't know it was moderated so I sent it out multiple times).
--
You received this bug notification because you
On 10/5/18 11:42 AM, Philippe Mathieu-Daudé wrote:
> On 04/10/2018 17:14, Cleber Rosa wrote:
>> By setting the machine type, even if it's the one that will be picked
>> based on the arch, it's possible to run the same tests with targets
>> that require a machine type (in addition to those that d
On 10/09/2018 10:33 PM, John Snow wrote:
>
>
> On 09/17/2018 11:26 AM, Vladimir Sementsov-Ogievskiy wrote:
>> ping
>>
>
> Is this still pending or did I/we miss a v5?
still pending
>
>> 31.07.2018 20:30, Vladimir Sementsov-Ogievskiy wrote:
>>> Hi all.
>>>
>>> Here is NBD reconnect. Previous
If there are no changes, let's use a const pointer.
Signed-off-by: David Hildenbrand
---
include/qemu/range.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/qemu/range.h b/include/qemu/range.h
index f28f0c1825..7e75f4e655 100644
--- a/include/qemu/range.h
+++ b
Let's rewrite it properly using ranges. This fixes certain overflows that
are right now possible. E.g.
qemu-system-x86_64 -m 4G,slots=20,maxmem=40G -M pc \
-object memory-backend-file,id=mem1,share,mem-path=/dev/zero,size=2G
-device pc-dimm,memdev=mem1,id=dimm1,addr=-0x4000
Now proper
Should not be a problem right now, but it could theoretically happen
in the future.
Signed-off-by: David Hildenbrand
---
hw/mem/memory-device.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c
index 996ad1490f..8be63c8032 10064
Right now, we parse uint64_t values just like int64_t values, resulting
in negative values getting accepted and certain valid large numbers only
being representable as negative numbers. Also, reported errors indicate
that an int64_t is expected.
Parse uin64_t separately. Implementation inspired by
Shorter and easier to read.
Signed-off-by: David Hildenbrand
---
hw/mem/memory-device.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c
index 7de1ccd497..996ad1490f 100644
--- a/hw/mem/memory-device.c
+++ b/hw/mem/memory-d
The qemu api claims to be easier to use, and the resulting code
shows that.
Signed-off-by: David Hildenbrand
---
qapi/string-input-visitor.c | 16 +---
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/qapi/string-input-visitor.c b/qapi/string-input-visitor.c
index af0a8
Add some more functions that will be used in memory-device context.
range_init(): Init using lower bound and size
range_valid(): Check if there would be an overflow when initializin
range_size(): Extract the size of a range
range_overlaps_range(): Check for overlaps of two ranges
range_contains_ra
While working on memory device code, I noticed that specifiying an uint64_t
on command line does not work in all cases as we always parse an int64_t.
So I fix that and also cleanup the old int64_t parser.
To be able to fix some overflows in memory-device code in a clean way,
I am reusing the range
On 10/9/18 10:45 AM, Emilio G. Cota wrote:
> Paves the way for the addition of a per-TLB lock.
>
> Reviewed-by: Alex Bennée
> Signed-off-by: Emilio G. Cota
> ---
> include/exec/exec-all.h | 8
> accel/tcg/cputlb.c | 4
> exec.c | 1 +
> 3 files changed, 13 in
On 10/9/18 10:45 AM, Emilio G. Cota wrote:
> As far as I can tell tlb_flush does not need to be called
> this early. tlb_flush is eventually called after the CPU
> has been realized.
>
> This change paves the way to the introduction of tlb_init,
> which will be called from cpu_exec_realizefn.
>
>
On 10/9/18 11:25 AM, Peter Maydell wrote:
>> /* PALBR */
>> tcg_gen_st_i64(vb, cpu_env, offsetof(CPUAlphaState, palbr));
>> /* Changing the PAL base register implies un-chaining all of the TBs
>>that ended with a CALL_PAL. Since the base register usually only
>>
On 10/9/18 10:45 AM, Emilio G. Cota wrote:
> As far as I can tell tlb_flush does not need to be called
> this early. tlb_flush is eventually called after the CPU
> has been realized.
>
> This change paves the way to the introduction of tlb_init,
> which will be called from cpu_exec_realizefn.
>
>
On 10/9/18 12:45 PM, Laurent Vivier wrote:
> Le 09/10/2018 à 20:40, Peter Maydell a écrit :
>> Remove a comment suggesting that we need to call tb_flush()
>> after writing the SPARC signal frame trampoline insns.
>> This isn't necessary in QEMU, because (even if the guest
>> architecture requires e
(please CC me as I'm not subscribed to the list)
I verified the behaviour on two different machines, both running archlinux
with QEMU 3.0.0 and reported it on https://bugs.archlinux.org/task/60141
where it was suggested I bring it to the list.
So what happens: if you try to run OpenBSD with VirtIO
> +static void vfio_ap_realize(DeviceState *dev, Error **errp)
> +{
> +int ret;
> +char *mdevid;
> +Error *local_err = NULL;
> +VFIOGroup *vfio_group;
> +APDevice *apdev = AP_DEVICE(dev);
> +VFIOAPDevice *vapdev = VFIO_AP_DEVICE(apdev);
> +
> +vfio_group = vfio_ap_get_
On 09/10/2018 19:52, Tony Krowiak wrote:
> From: Tony Krowiak
>
> Let's use the KVM_SET_DEVICE_ATTR ioctl to enable hardware
> interpretation of AP instructions executed on the guest.
> If the S390_FEAT_AP feature is switched on for the guest,
> AP instructions must be interpreted by default; oth
On 09/10/2018 21:14, Christian Borntraeger wrote:
>
>
> On 10/09/2018 07:52 PM, Tony Krowiak wrote:
>> A new CPU model feature and two new CPU model facilities are
>> introduced to support AP devices for a KVM guest.
>>
>> CPU model features:
>>
>> 1. The S390_FEAT_AP CPU model feature indicates
Le 09/10/2018 à 20:40, Peter Maydell a écrit :
> Remove a comment suggesting that we need to call tb_flush()
> after writing the SPARC signal frame trampoline insns.
> This isn't necessary in QEMU, because (even if the guest
> architecture requires explicit icache maintenance) we
> ensure that memo
On 08/14/2018 02:27 AM, Paolo Bonzini wrote:
> nvme_poll_queues is already protected by q->lock, and
> AIO callbacks are invoked outside the AioContext lock.
> So remove the acquire/release pair in nvme_handle_event.
>
> Signed-off-by: Paolo Bonzini
> ---
> block/nvme.c | 2 --
> 1 file chang
If a management application builds the block graph node by node, the
protocol layer doesn't inherit its read-only option from the format
layer any more, so it must be set explicitly.
Backing files should work on read-only storage, but at the same time, a
block job like commit should be able to reo
Peter, would this provide what libvirt urgently needs for backing files
vs. the commit block job?
Kevin Wolf (4):
block: Update flags in bdrv_set_read_only()
block: Add auto-read-only option
nbd: Support auto-read-only option
file-posix: Support auto-read-only option
qapi/block-core.json
To fully change the read-only state of a node, we must not only change
bs->read_only, but also update bs->open_flags.
Signed-off-by: Kevin Wolf
---
block.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/block.c b/block.c
index 0d6e5f1a76..d7bd6d29b4 100644
--- a/block.c
+++ b/block.c
If read-only=off, but auto-read-only=on are given, open a read-write NBD
connection if the server provides a read-write export, but instead of
erroring out for read-only exports, just degrade to read-only.
Signed-off-by: Kevin Wolf
---
block/nbd-client.h | 1 +
block/nbd-client.c | 14 +
If read-only=off, but auto-read-only=on are given, open the file
read-write if we have the permissions, but instead of erroring out for
read-only files, just degrade to read-only.
Signed-off-by: Kevin Wolf
---
block/file-posix.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/
On Tue, 2018-10-09 at 15:10 +0200, Lukáš Hrázký wrote:
> Adds two functions to let QEMU provide information to identify
> graphics
> devices and their monitors in the guest:
>
> * device path - The path identifying the device on the system (e.g.
> PCI
> path):
> spice_qxl_device_set_path(...)
On 09/17/2018 11:26 AM, Vladimir Sementsov-Ogievskiy wrote:
> ping
>
Is this still pending or did I/we miss a v5?
> 31.07.2018 20:30, Vladimir Sementsov-Ogievskiy wrote:
>> Hi all.
>>
>> Here is NBD reconnect. Previously, if connection failed all current
>> and future requests will fail. Afte
On 08/31/2018 02:16 PM, Liam Merwick wrote:
> The function block_job_get() may return NULL so before dereferencing
> the 'job' pointer in img_commit() it should be checked.
>
> Signed-off-by: Liam Merwick
> Reviewed-by: Darren Kenny
> Reviewed-by: Mark Kanda
Reviewed-by: John Snow
> ---
>
On 10/09/2018 07:52 PM, Tony Krowiak wrote:
> A new CPU model feature and two new CPU model facilities are
> introduced to support AP devices for a KVM guest.
>
> CPU model features:
>
> 1. The S390_FEAT_AP CPU model feature indicates whether AP
>instructions are available to the guest. Th
On 08/31/2018 02:16 PM, Liam Merwick wrote:
> In the assert checking the array dereference of JobVerbTable[verb]
> in job_apply_verb() the check of the index, verb, allows an overrun
> because an index equal to the array size is permitted.
>
> Similarly, in the assert check of JobSTT[s0][s1] wi
On 10/09/2018 01:24 PM, Peter Maydell wrote:
> Taking the address of a field in a packed struct is a bad idea, because
> it might not be actually aligned enough for that pointer type (and
> thus cause a crash on dereference on some host architectures). Newer
> versions of clang warn about this.
On Wed, Oct 03, 2018 at 14:39:22 -0500, Richard Henderson wrote:
(snip)
> Richard Henderson (9):
> tcg: Split CONFIG_ATOMIC128
> target/i386: Convert to HAVE_CMPXCHG128
> target/arm: Convert to HAVE_CMPXCHG128
> target/arm: Check HAVE_CMPXCHG128 at translate time
> target/ppc: Convert to
Remove a comment suggesting that we need to call tb_flush()
after writing the SPARC signal frame trampoline insns.
This isn't necessary in QEMU, because (even if the guest
architecture requires explicit icache maintenance) we
ensure that memory writes result in invalidation of
translated code from
On 9 October 2018 at 19:23, Eric Blake wrote:
> On 10/9/18 1:16 PM, Peter Maydell wrote:
>>
>> Add a new Coccinelle script which replaces uses of the inplace
>> byteswapping functions *_to_cpus() and cpu_to_*s() with their
>> not-in-place equivalents. This is useful for where the swapping
>> is do
Remove a debugging hack which could be used to cause the
undocumented 'icebp' instruction to enable QEMU internal
debug logging. This code has always been #ifdeffed out
since it was introduced in commit aba9d61e34b9 in 2005;
judging by the rest of that commit (which is entirely
unrelated) it may ha
On 9 October 2018 at 19:20, Emilio G. Cota wrote:
> On Tue, Oct 09, 2018 at 18:55:30 +0100, Peter Maydell wrote:
>>
>> What's the codepath by which tlb_flush gets called on
>> cpu reset? I had a quick look but couldn't find it...
>
> From cpu.c:
>
> static void cpu_common_reset(CPUState *cpu)
> {
On 10/9/18 1:16 PM, Peter Maydell wrote:
Add a new Coccinelle script which replaces uses of the inplace
byteswapping functions *_to_cpus() and cpu_to_*s() with their
not-in-place equivalents. This is useful for where the swapping
is done on members of a packed struct -- taking the address
of the
On Tue, Oct 09, 2018 at 18:55:30 +0100, Peter Maydell wrote:
> On 9 October 2018 at 18:45, Emilio G. Cota wrote:
(snip)
> > @@ -201,7 +201,6 @@ static void alpha_cpu_initfn(Object *obj)
> > CPUAlphaState *env = &cpu->env;
> >
> > cs->env_ptr = env;
> > -tlb_flush(cs);
> >
> > en
Cleber Rosa writes:
> On 10/9/18 9:46 AM, Philippe Mathieu-Daudé wrote:
>> Hi Cleber,
>>
>> On 09/10/2018 06:18, Cleber Rosa wrote:
>>> This enables the execution of the acceptance tests on Travis.
>>
>> Did you test this? =)
>>
>
> I did have some jobs on Travis that looked promising. But yea
Add a new Coccinelle script which replaces uses of the inplace
byteswapping functions *_to_cpus() and cpu_to_*s() with their
not-in-place equivalents. This is useful for where the swapping
is done on members of a packed struct -- taking the address
of the member to pass it to an inplace function is
Emilio G. Cota writes:
> As far as I can tell tlb_flush does not need to be called
> this early. tlb_flush is eventually called after the CPU
> has been realized.
>
> This change paves the way to the introduction of tlb_init,
> which will be called from cpu_exec_realizefn.
>
> Cc: Guan Xuetao
Emilio G. Cota writes:
> As far as I can tell tlb_flush does not need to be called
> this early. tlb_flush is eventually called after the CPU
> has been realized.
>
> This change paves the way to the introduction of tlb_init,
> which will be called from cpu_exec_realizefn.
>
> Signed-off-by: Em
From: Tony Krowiak
Introduces the base object model for virtualizing AP devices.
Signed-off-by: Tony Krowiak
Tested-by: Pierre Morel
Acked-by: David Hildenbrand
---
MAINTAINERS | 12 ++
hw/s390x/Makefile.objs | 2 +
hw/s390x/ap-bridge.c | 78 +++
This enables the execution of the acceptance tests on Travis.
Because the Travis environment is based on Ubuntu Trusty, it requires
the python3-pip.
Note: while another supposedely required component on newer versions
(such as on Bionic) split the Python 3 installation further on the
python3-venv
From: Tony Krowiak
Let's use the KVM_SET_DEVICE_ATTR ioctl to enable hardware
interpretation of AP instructions executed on the guest.
If the S390_FEAT_AP feature is switched on for the guest,
AP instructions must be interpreted by default; otherwise,
they will be intercepted.
This attribute set
On 10/9/18 12:57 PM, Cleber Rosa wrote:
A number of QEMU tests are written in Python, and may benefit
from an untainted Python venv.
By using make rules, tests that depend on specific Python libs
can set that rule as a requiment, along with rules that require
s/requiment/requirement/
the pre
TL;DR
=
Allow acceptance tests to be run with `make check-acceptance`.
Details
===
This introduces a Python virtual environment that will be setup within
the QEMU build directory, that will contain the exact environment that
tests may require.
There's one current caveat: it requires Pyt
The acceptance (aka functional, aka Avocado-based) tests are
Python files located in "tests/acceptance" that need to be run
with the Avocado libs and test runner.
Let's provide a convenient way for QEMU developers to run them,
by making use of the tests-venv with the required setup.
Also, while t
Updates the linux header files in preparation for introduction
of the VFIO AP device:
* Added device attributes to the KVM_S390_VM_CRYPTO group
to indicate whether AP instructions are to be interpreted
* Added VFIO device information for AP devices
Signed-off-by: Tony Krowiak
---
linux-heade
On 9 October 2018 at 18:45, Emilio G. Cota wrote:
> As far as I can tell tlb_flush does not need to be called
> this early. tlb_flush is eventually called after the CPU
> has been realized.
>
> This change paves the way to the introduction of tlb_init,
> which will be called from cpu_exec_realizef
This paves the way for implementing dynamic TLB resizing.
XXX: convert other TCG backends
Signed-off-by: Emilio G. Cota
---
include/exec/cpu-defs.h | 10 ++
include/exec/cpu_ldst.h | 14 +-
accel/tcg/cputlb.c| 18 +++---
tcg/i386/tcg-target.inc.c | 26
Introduces a VFIO based AP device. The device is defined via
the QEMU command line by specifying:
-device vfio-ap,sysfsdev=
There may be only one vfio-ap device configured for a guest.
The mediated matrix device is created by the VFIO AP device
driver by writing a UUID to a sysfs attribute f
This patch provides documentation describing the AP architecture and
design concepts behind the virtualization of AP devices. It also
includes an example of how to configure AP devices for exclusive
use of KVM guests.
Signed-off-by: Tony Krowiak
Reviewed-by: Pierre Morel
Tested-by: Pierre Morel
-
A number of QEMU tests are written in Python, and may benefit
from an untainted Python venv.
By using make rules, tests that depend on specific Python libs
can set that rule as a requiment, along with rules that require
the presence or installation of specific libraries.
The tests/venv-requiremen
This paves the way for implementing a dynamically-sized softmmu.
Reviewed-by: Alex Bennée
Signed-off-by: Emilio G. Cota
---
include/exec/cpu-defs.h | 5 +
accel/tcg/cputlb.c | 17 ++---
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/include/exec/cpu-defs.h
From: Tony Krowiak
This patch series is the QEMU counterpart to the KVM/kernel support for
guest dedicated crypto adapters. The KVM/kernel model is built on the
VFIO mediated device framework and provides the infrastructure for
granting exclusive guest access to crypto devices installed on the
v2: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01495.html
Changes since v2:
- Add R-b's
- Apply on top of tlb-lock-v5 series, fixing the alpha
boot segfault due to the early tlb_flush
+ The series now passes `make check-qtest'
- Alloc the iotlb with g_new instead of g_new0
-
XXX: convert CPU_TLB_BITS/CPU_TLB_SIZE users in non-i386
TCG backends
Perform the resizing only on flushes, otherwise we'd
have to take a perf hit by either rehashing the array
or unnecessarily flushing it.
We grow the array aggressively, and reduce the size more
slowly. This accommodates mi
From: Richard Henderson
Isolate the computation of an index from an address into a
helper before we change that function.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
[ cota: convert tlb_vaddr_to_host; use atomic_read on addr_write ]
Signed-off-by: Emilio G. Cota
---
accel/tcg/s
On 10/9/18 10:24 AM, Peter Maydell wrote:
> Peter Maydell (3):
> block/qcow2: Don't take address of fields in packed structs
> block/qcow: Don't take address of fields in packed structs
> block/qcow2-bitmap: Don't take address of fields in packed structs
Reviewed-by: Richard Henderson
Alth
A new CPU model feature and two new CPU model facilities are
introduced to support AP devices for a KVM guest.
CPU model features:
1. The S390_FEAT_AP CPU model feature indicates whether AP
instructions are available to the guest. This feature will
be enabled only if the AP instructions are
Updates can come from other threads, so readers that do not
take tlb_lock must use atomic_read to avoid undefined
behaviour (UB).
This and the previous commit result on average in no performance loss,
as the following experiments (run on an Intel i7-6700K CPU @ 4.00GHz)
show.
1. aarch64 bootup+sh
Currently we evict an entry to the victim TLB when it doesn't match
the current address. But it could be that there's no match because
the current entry is empty (i.e. all -1's, for instance via tlb_flush).
Do not evict the entry to the vtlb in that case.
This change will help us keep track of the
As far as I can tell tlb_flush does not need to be called
this early. tlb_flush is eventually called after the CPU
has been realized.
This change paves the way to the introduction of tlb_init,
which will be called from cpu_exec_realizefn.
Cc: Guan Xuetao
Signed-off-by: Emilio G. Cota
---
targe
Currently we rely on atomic operations for cross-CPU invalidations.
There are two cases that these atomics miss: cross-CPU invalidations
can race with either (1) vCPU threads flushing their TLB, which
happens via memset, or (2) vCPUs calling tlb_reset_dirty on their TLB,
which updates .addr_write w
v4: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01421.html
Changes since v4:
- Add two patches to remove early calls to tlb_flush.
You can fetch the series from:
https://github.com/cota/qemu/tree/tlb-lock-v5
Thanks,
Emilio
Paves the way for the addition of a per-TLB lock.
Reviewed-by: Alex Bennée
Signed-off-by: Emilio G. Cota
---
include/exec/exec-all.h | 8
accel/tcg/cputlb.c | 4
exec.c | 1 +
3 files changed, 13 insertions(+)
diff --git a/include/exec/exec-all.h b/include/e
As far as I can tell tlb_flush does not need to be called
this early. tlb_flush is eventually called after the CPU
has been realized.
This change paves the way to the introduction of tlb_init,
which will be called from cpu_exec_realizefn.
Signed-off-by: Emilio G. Cota
---
target/alpha/cpu.c | 1
Reviewed-by: Richard Henderson
Reviewed-by: Alex Bennée
Signed-off-by: Emilio G. Cota
---
accel/tcg/cputlb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
index 502eea2850..f6b388c961 100644
--- a/accel/tcg/cputlb.c
+++ b/accel/t
1 - 100 of 315 matches
Mail list logo