[Qemu-devel] [RFC v4 2/6] acpi-build: allocate mcfg for pxb-pcie host bridges

2018-08-08 Thread Zihan Yang
Allocate new segment for pxb-pcie host bridges in MCFG table, and reserve corresponding MCFG space for them. This allows user-defined pxb-pcie host bridges to be placed in different pci domain than q35 host. The pci_host_bridges list is changed to be tail list to ensure the q35 host is always the

[Qemu-devel] [RFC v4 4/6] pci_expander_bridge: Add config_read callback

2018-08-08 Thread Zihan Yang
This allows SeaBIOS to retrieve MCFG base and size when it initializes pxb host bridges. A backlink to PXBPCIEHost is added in PXBDev to achieve above goal Signed-off-by: Zihan Yang --- hw/pci-bridge/pci_expander_bridge.c | 55 + include/hw/pci-bridge/pci_exp

[Qemu-devel] [RFC v4 6/6] i386/acpi-build: pxb-pcie start bus should always be 0 in separate pci domain

2018-08-08 Thread Zihan Yang
The bus_nr indicates the bus number of pxb-pcie under pcie.0, but since pxb host can be put into different pci domain, the start bus should always be 0 Signed-off-by: Zihan Yang --- hw/i386/acpi-build.c| 14 ++ hw/pci-bridge/pci_expander_bridge.c | 10 +- 2 fi

[Qemu-devel] [RFC v4 5/6] pci_expander_bridge: Add ioport for pxb host bus

2018-08-08 Thread Zihan Yang
This enables seabios to read config file in pxb host bus other than sysbus Signed-off-by: Zihan Yang --- hw/pci-bridge/pci_expander_bridge.c | 15 +++ include/hw/pci-bridge/pci_expander_bridge.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/hw/pci-bridge/pci_expan

[Qemu-devel] [RFC v4 3/6] i386/acpi-build: describe new pci domain in AML

2018-08-08 Thread Zihan Yang
Describe new pci segments of host bridges in AML as new pci devices, with _SEG and _BBN to let them be in DSDT. Besides, bus_nr indicates the bus number of pxb-pcie under pcie.0 bus, but since we put it into separate domain, it should be zero, which is equal to BBN. Signed-off-by: Zihan Yang ---

[Qemu-devel] [RFC v4 1/6] pci_expander_bridge: add type TYPE_PXB_PCIE_HOST

2018-08-08 Thread Zihan Yang
The inner host bridge created by pxb-pcie is TYPE_PXB_PCI_HOST by default, change it to a new type TYPE_PXB_PCIE_HOST to better utilize ECAM of PCIe Signed-off-by: Zihan Yang --- hw/pci-bridge/pci_expander_bridge.c | 127 ++-- 1 file changed, 122 insertions(+), 5

[Qemu-devel] [RFC v4 0/6] pci_expander_brdige: Support pxb-pcie host bridge into separate pci domain

2018-08-08 Thread Zihan Yang
Currently only q35 host bridge is allocated an item in MCFG table, all pxb host bridges stay within pci domain 0. This series of patches put each pxb host bridge in separate pci domain, allocating a new MCFG table item for it. Users can configure whether to put pxb host bridge into separate domain

Re: [Qemu-devel] [PATCH v2 13/22] virtio: split rng bits from virtio-pci

2018-08-08 Thread Thomas Huth
On 08/08/2018 01:48 PM, Juan Quintela wrote: > Signed-off-by: Juan Quintela > --- > hw/virtio/Makefile.objs| 1 + > hw/virtio/virtio-pci.c | 52 - > hw/virtio/virtio-rng-pci.c | 77 ++ > tests/Makefile.include | 4 +- > 4 f

Re: [Qemu-devel] [PATCH v2 12/22] virtio: split input bits from virtio-pci

2018-08-08 Thread Thomas Huth
On 08/08/2018 01:48 PM, Juan Quintela wrote: > Signed-off-by: Juan Quintela > --- > hw/virtio/Makefile.objs | 1 + > hw/virtio/virtio-input-pci.c | 136 +++ > hw/virtio/virtio-pci.c | 112 - > 3 files changed, 137 insertions

Re: [Qemu-devel] [PATCH v2 11/22] virtio: split host bits from virtio-pci

2018-08-08 Thread Thomas Huth
On 08/08/2018 01:48 PM, Juan Quintela wrote: > Signed-off-by: Juan Quintela > --- > default-configs/virtio.mak| 3 +++ > hw/virtio/Makefile.objs | 1 + > hw/virtio/virtio-input-host-pci.c | 42 +++ > hw/virtio/virtio-pci.c| 20 --

Re: [Qemu-devel] [PATCH v2 3/4] tests/boot-serial-test: Add microbit board testcase

2018-08-08 Thread Thomas Huth
On 08/08/2018 11:07 PM, Julia Suvorova via Qemu-devel wrote: > New mini-kernel test for nRF51 SoC UART. > > Signed-off-by: Julia Suvorova > --- > tests/boot-serial-test.c | 19 +++ > 1 file changed, 19 insertions(+) > > diff --git a/tests/boot-serial-test.c b/tests/boot-serial-t

Re: [Qemu-devel] [PATCH 00/20] target/arm: sve system mode patches

2018-08-08 Thread Laurent Desnogues
Hello, On Thu, Aug 9, 2018 at 6:21 AM, Richard Henderson wrote: > This is my current set of patches for running SVE in system mode. > > The first half deal with the system registers that affect SVE. > I recall that Peter has said he'd like the first patch to be > done a different way, but we have

Re: [Qemu-devel] [PATCH 08/11] target/arm: Fix offset scaling for LD_zprr and ST_zprr

2018-08-08 Thread Laurent Desnogues
On Thu, Aug 9, 2018 at 5:40 AM, Richard Henderson wrote: > The scaling should be solely on the memory operation size; the number > of registers being loaded does not come in to the initial computation. > > Cc: qemu-sta...@nongnu.org (3.0.1) > Reported-by: Laurent Desnogues > Signed-off-by: Richar

Re: [Qemu-devel] [PATCH v2 05/22] check: Only test usb-xhci-nec when it is compiled in

2018-08-08 Thread Thomas Huth
On 08/08/2018 07:02 PM, Juan Quintela wrote: > Thomas Huth wrote: [...] > I didn't want to go "further", but I think that we should have here is > something like: > > check-qtest-$(CONFIG_USB_XHCI_NEC) += tests/usb-hcd-xhci-test$(EXESUF) > gcov-files-$(CONFIG_USB_XHCI) += hw/usb/hcd-xhci.c > > a

Re: [Qemu-devel] [PATCH 07/11] target/arm: Fix offset for LD1R instructions

2018-08-08 Thread Laurent Desnogues
On Thu, Aug 9, 2018 at 5:40 AM, Richard Henderson wrote: > The immediate should be scaled by the size of the memory reference, > not the size of the elements into which it is loaded. > > Cc: qemu-sta...@nongnu.org (3.0.1) > Reported-by: Laurent Desnogues > Signed-off-by: Richard Henderson Teste

Re: [Qemu-devel] [PATCH 06/11] target/arm: Fix sign-extension in sve do_ldr/do_str

2018-08-08 Thread Laurent Desnogues
On Thu, Aug 9, 2018 at 5:40 AM, Richard Henderson wrote: > The expression (int) imm + (uint32_t) len_align turns into uint32_t > and thus with negative imm produces a memory operation at the wrong > offset. None of the numbers involved are particularly large, so > change everything to use int. >

[Qemu-devel] [PATCH 19/20] target/arm: Rewrite vector gather first-fault loads

2018-08-08 Thread Richard Henderson
This implements the feature for softmmu, and moves the main loop out of a macro and into a function. Signed-off-by: Richard Henderson --- target/arm/helper-sve.h| 84 --- target/arm/sve_helper.c| 290 +++-- target/arm/translate-sve.c | 84 +--

[Qemu-devel] [PATCH 17/20] target/arm: Rewrite vector gather loads

2018-08-08 Thread Richard Henderson
This fixes the endianness problem for softmmu, and does move the main loop out of a macro and into an inlined function. Signed-off-by: Richard Henderson --- target/arm/helper-sve.h| 84 + target/arm/sve_helper.c| 218 +++-- target/arm/translate-sv

[Qemu-devel] [PATCH 18/20] target/arm: Rewrite vector gather stores

2018-08-08 Thread Richard Henderson
This fixes the endianness problem for softmmu, and does move the main loop out of a macro and into an inlined function. Signed-off-by: Richard Henderson --- target/arm/helper-sve.h| 52 ++ target/arm/sve_helper.c| 139 - target/arm/transla

[Qemu-devel] [PATCH 15/20] target/arm: Split contiguous loads for endianness

2018-08-08 Thread Richard Henderson
We can choose the endianness at translation time, rather than re-computing it at execution time. Signed-off-by: Richard Henderson --- target/arm/helper-sve.h| 117 +++--- target/arm/sve_helper.c| 70 ++--- target/arm/translate-sve.c | 196

[Qemu-devel] [PATCH 16/20] target/arm: Split contiguous stores for endianness

2018-08-08 Thread Richard Henderson
We can choose the endianness at translation time, rather than re-computing it at execution time. Signed-off-by: Richard Henderson --- target/arm/helper-sve.h| 48 + target/arm/sve_helper.c| 11 -- target/arm/translate-sve.c | 72 +--

[Qemu-devel] [PATCH 12/20] target/arm: Rewrite helper_sve_ld1*_r using pages

2018-08-08 Thread Richard Henderson
Uses tlb_vaddr_to_host for correct operation with softmmu. Optimize for accesses within a single page or pair of pages. Perf report comparison for cortex-strings test-strlen with aarch64-linux-user: before: 1.59% qemu-aarch64 qemu-aarch64 [.] do_sve_ld1bb_r 0.86% qemu-aarch64 qemu-aarc

[Qemu-devel] [PATCH 14/20] target/arm: Rewrite helper_sve_st[1234]*_r

2018-08-08 Thread Richard Henderson
This fixes the endianness problem for softmmu, and does move the main loop out of a macro and into an inlined function. Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 351 1 file changed, 172 insertions(+), 179 deletions(-) diff --git a/t

[Qemu-devel] [PATCH 10/20] target/arm: Adjust aarch64_cpu_dump_state for system mode SVE

2018-08-08 Thread Richard Henderson
Use the existing helpers to determine if (1) the fpu is enabled, (2) sve state is enabled, and (3) the current sve vector length. Signed-off-by: Richard Henderson --- target/arm/cpu.h | 4 target/arm/helper.c| 6 +++--- target/arm/translate-a64.c | 8 ++-- 3 files chan

[Qemu-devel] [PATCH 11/20] target/arm: Clear unused predicate bits for LD1RQ

2018-08-08 Thread Richard Henderson
The 16-byte load only uses 16 predicate bits. But while reusing the other load infrastructure, we find other bits that are set and trigger an assert. To avoid this and retain the assert, zero-extend the predicate that we pass to the LD1 helper. Reported-by: Laurent Desnogues Signed-off-by: Rich

[Qemu-devel] [PATCH 07/20] target/arm: Fix is_a64 for user-only

2018-08-08 Thread Richard Henderson
Saves about 8k code size in qemu-aarch64. Signed-off-by: Richard Henderson --- target/arm/cpu.h | 8 1 file changed, 8 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index aedaf2631e..ed51a2f5aa 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -918,7 +918,15 @@ v

[Qemu-devel] [PATCH 20/20] target/arm: Pass TCGMemOpIdx to sve memory helpers

2018-08-08 Thread Richard Henderson
There is quite a lot of code required to compute cpu_mem_index, or even put together the full TCGMemOpIdx. This can easily be done at translation time. Signed-off-by: Richard Henderson --- target/arm/internals.h | 5 ++ target/arm/sve_helper.c| 138 +++-

[Qemu-devel] [PATCH 09/20] target/arm: Handle SVE vector length changes in system mode

2018-08-08 Thread Richard Henderson
SVE vector length can change when changing EL, or when writing to one of the ZCR_ELn registers. For correctness, our implementation requires that predicate bits that are inaccessible are never set. Which means noticing length changes and zeroing the appropriate register bits. Signed-off-by: Rich

[Qemu-devel] [PATCH 13/20] target/arm: Rewrite helper_sve_ld[234]*_r

2018-08-08 Thread Richard Henderson
Use the same *_tlb primitives as we use for ld1. This is not a significant change, but does (for linux-user) hoist the set of helper_retaddr, and (for softmmu) hoist the computation of the current mmu_idx outside the loop. This does fix the endianness problem for softmmu, and does move the main l

[Qemu-devel] [PATCH 03/20] target/arm: Define ID_AA64ZFR0_EL1

2018-08-08 Thread Richard Henderson
Given that the only field defined for this new register may only be 0, we don't actually need to change anything except the name. Signed-off-by: Richard Henderson --- target/arm/helper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/arm/helper.c b/target/arm/helper

[Qemu-devel] [PATCH 06/20] target/arm: Fix arm_current_el for user-only

2018-08-08 Thread Richard Henderson
Saves about 12k code size in qemu-aarch64. Signed-off-by: Richard Henderson --- target/arm/cpu.h | 4 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 2d6d7d03aa..aedaf2631e 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1958,6 +1958,9 @@ sta

[Qemu-devel] [PATCH 05/20] target/arm: Fix arm_cpu_data_is_big_endian for aa64 user-only

2018-08-08 Thread Richard Henderson
Unlike aa32, endianness cannot be adjusted by userland in aa64. Signed-off-by: Richard Henderson --- target/arm/cpu.h | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 9526ed27cb..2d6d7d03aa 100644 --- a/ta

[Qemu-devel] [PATCH 08/20] target/arm: Pass in current_el to fp and sve_exception_el

2018-08-08 Thread Richard Henderson
We are going to want to determine whether sve is enabled for EL than current. Signed-off-by: Richard Henderson --- target/arm/helper.c | 21 + 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/target/arm/helper.c b/target/arm/helper.c index 26e9098c5f..290b1a849e

[Qemu-devel] [PATCH 04/20] target/arm: Adjust sve_exception_el

2018-08-08 Thread Richard Henderson
Check for EL3 before testing CPTR_EL3.EZ. Return 0 when the exception should be routed via AdvSIMDFPAccessTrap. Mirror the structure of CheckSVEEnabled more closely. Fixes: 5be5e8eda78 Signed-off-by: Richard Henderson --- target/arm/helper.c | 96 ++---

[Qemu-devel] [PATCH 01/20] target/arm: Set ISAR bits for -cpu max

2018-08-08 Thread Richard Henderson
For the supported extensions, fill in the appropriate bits in ID_ISAR5, ID_ISAR6, ID_AA64ISAR0, ID_AA64ISAR1. Signed-off-by: Richard Henderson --- target/arm/cpu.c | 24 +--- target/arm/cpu64.c | 36 2 files changed, 45 insertions(+), 15

[Qemu-devel] [PATCH 02/20] target/arm: Set ID_AA64PFR0 bits for SVE for -cpu max

2018-08-08 Thread Richard Henderson
This it a hair out of spec in that we have and advertise, support for fp16 in aarch64 mode, but do not have nor advertise the same in aarch32 mode. Rationale as commented. Signed-off-by: Richard Henderson --- target/arm/cpu64.c | 21 +++-- 1 file changed, 15 insertions(+), 6 del

[Qemu-devel] [PATCH 00/20] target/arm: sve system mode patches

2018-08-08 Thread Richard Henderson
This is my current set of patches for running SVE in system mode. The first half deal with the system registers that affect SVE. I recall that Peter has said he'd like the first patch to be done a different way, but we haven't had a chance to talk about what form it should take. I've left it as-i

[Qemu-devel] [PATCH 11/11] target/arm: Add sve-max-vq cpu property to -cpu max

2018-08-08 Thread Richard Henderson
This allows the default (and maximum) vector length to be set from the command-line. Which is extraordinarily helpful in debuging problems depending on vector length without having to bake knowledge of PR_SET_SVE_VL into every guest binary. Cc: qemu-sta...@nongnu.org (3.0.1) Signed-off-by: Richar

[Qemu-devel] [PATCH 08/11] target/arm: Fix offset scaling for LD_zprr and ST_zprr

2018-08-08 Thread Richard Henderson
The scaling should be solely on the memory operation size; the number of registers being loaded does not come in to the initial computation. Cc: qemu-sta...@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/translate-sve.c | 5 ++--- 1 file change

[Qemu-devel] [PATCH 07/11] target/arm: Fix offset for LD1R instructions

2018-08-08 Thread Richard Henderson
The immediate should be scaled by the size of the memory reference, not the size of the elements into which it is loaded. Cc: qemu-sta...@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/translate-sve.c | 3 ++- 1 file changed, 2 insertions(+), 1

[Qemu-devel] [PATCH 04/11] target/arm: Fix typo in helper_sve_movz_d

2018-08-08 Thread Richard Henderson
Cc: qemu-sta...@nongnu.org (3.0.1) Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues Reviewed-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 de

[Qemu-devel] [PATCH 10/11] target/arm: Dump SVE state if enabled

2018-08-08 Thread Richard Henderson
Also fold the FPCR/FPSR state onto the same line as PSTATE, and mention but do not dump disabled FPU state. Cc: qemu-sta...@nongnu.org (3.0.1) Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 95 +- 1 file changed, 83 insertions(+), 12 deletio

[Qemu-devel] [PATCH 02/11] target/arm: Fix typo in do_sat_addsub_64

2018-08-08 Thread Richard Henderson
Used the wrong temporary in the computation of subtractive overflow. Cc: qemu-sta...@nongnu.org (3.0.1) Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/translate-sve.c | 2 +- 1 file changed, 1 insertio

[Qemu-devel] [PATCH 06/11] target/arm: Fix sign-extension in sve do_ldr/do_str

2018-08-08 Thread Richard Henderson
The expression (int) imm + (uint32_t) len_align turns into uint32_t and thus with negative imm produces a memory operation at the wrong offset. None of the numbers involved are particularly large, so change everything to use int. Cc: qemu-sta...@nongnu.org (3.0.1) Reported-by: Laurent Desnogues

[Qemu-devel] [PATCH 03/11] target/arm: Reorganize SVE WHILE

2018-08-08 Thread Richard Henderson
The pseudocode for this operation is an increment + compare loop, so comparing <= the maximum integer produces an all-true predicate. Rather than bound in both the inline code and the helper, pass the helper the number of predicate bits to set instead of the number of predicate elements to set. C

[Qemu-devel] [PATCH 09/11] target/arm: Reformat integer register dump

2018-08-08 Thread Richard Henderson
With PC, there are 33 registers. Three per line lines up nicely without overflowing 80 columns. Cc: qemu-sta...@nongnu.org (3.0.1) Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/target/arm/transla

[Qemu-devel] [PATCH 01/11] target/arm: Fix sign of sve_cmpeq_ppzw/sve_cmpne_ppzw

2018-08-08 Thread Richard Henderson
The normal vector element is sign-extended before comparing with the wide vector element. Cc: qemu-sta...@nongnu.org (3.0.1) Tested-by: Laurent Desnogues Reviewed-by: Laurent Desnogues Reviewed-by: Alex Bennée Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson --- target/arm/sve

[Qemu-devel] [PATCH 05/11] target/arm: Fix typo in helper_sve_ld1hss_r

2018-08-08 Thread Richard Henderson
Cc: qemu-sta...@nongnu.org (3.0.1) Signed-off-by: Richard Henderson --- target/arm/sve_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index c3cbec9cf5..e03f954a26 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/

[Qemu-devel] [PATCH 00/11] target/arm: sve linux-user patches

2018-08-08 Thread Richard Henderson
I posted a few of these before, and I thought Peter had applied them to his target-arm.for-3-1 branch, but I don't see them there now. I've taken the opportunity to tag all of these for backport into the next stable release. I'm intending to do so for all of the correctness patches affecting sv

Re: [Qemu-devel] [PATCH v3 10/10] migration: show the statistics of compression

2018-08-08 Thread Peter Xu
On Thu, Aug 09, 2018 at 11:13:17AM +0800, Xiao Guangrong wrote: > > > On 08/08/2018 02:12 PM, Peter Xu wrote: > > On Tue, Aug 07, 2018 at 05:12:09PM +0800, guangrong.x...@gmail.com wrote: > > > > [...] > > > > > @@ -1602,6 +1614,26 @@ static void migration_update_rates(RAMState *rs, > > > int6

Re: [Qemu-devel] [PATCH v3 10/10] migration: show the statistics of compression

2018-08-08 Thread Xiao Guangrong
On 08/08/2018 02:12 PM, Peter Xu wrote: On Tue, Aug 07, 2018 at 05:12:09PM +0800, guangrong.x...@gmail.com wrote: [...] @@ -1602,6 +1614,26 @@ static void migration_update_rates(RAMState *rs, int64_t end_time) rs->xbzrle_cache_miss_prev) / page_count; rs->xbzrle_cac

Re: [Qemu-devel] [PATCH v3 08/10] migration: handle the error condition properly

2018-08-08 Thread Xiao Guangrong
On 08/08/2018 10:11 PM, Dr. David Alan Gilbert wrote: * Xiao Guangrong (guangrong.x...@gmail.com) wrote: On 08/08/2018 01:08 PM, Peter Xu wrote: On Tue, Aug 07, 2018 at 05:12:07PM +0800, guangrong.x...@gmail.com wrote: From: Xiao Guangrong ram_find_and_save_block() can return negative i

Re: [Qemu-devel] [PATCH] spapr_cpu_core: vmstate_[un]register per-CPU data from (un)realizefn

2018-08-08 Thread David Gibson
On Wed, Aug 08, 2018 at 09:29:19PM +0530, Bharata B Rao wrote: > VMStateDescription vmstate_spapr_cpu_state was added by commit > b94020268e0b6 (spapr_cpu_core: migrate per-CPU data) to migrate per-CPU > data with the required vmstate registration and unregistration calls. > However the unregistrat

Re: [Qemu-devel] [PATCH v3 0/4] Balloon inhibit enhancements, vfio restriction

2018-08-08 Thread Alex Williamson
On Wed, 8 Aug 2018 11:45:43 +0800 Peter Xu wrote: > On Wed, Aug 08, 2018 at 12:58:32AM +0300, Michael S. Tsirkin wrote: > > At least with VTD, it seems entirely possible to change e.g. a PMD > > atomically to point to a different set of PTEs, then flush. > > That will allow removing memory at hig

[Qemu-devel] [PATCH v4 4/5] qcow2: Set the default cache-clean-interval to 10 minutes

2018-08-08 Thread Leonid Bloch
The default cache-clean-interval is set to 10 minutes, in order to lower the overhead of the qcow2 caches (before the default was 0, i.e. disabled). Signed-off-by: Leonid Bloch --- block/qcow2.c| 2 +- block/qcow2.h| 1 + docs/qcow2-cache.txt | 4 ++-- qapi/block-core.json | 3 ++

[Qemu-devel] [PATCH v4 5/5] qcow2: Explicit number replaced by a constant

2018-08-08 Thread Leonid Bloch
Signed-off-by: Leonid Bloch --- block/qcow2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 15d849d1f0..0d9d20e46b 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1321,7 +1321,7 @@ static int coroutine_fn qcow2_do_open(BlockDriverSt

[Qemu-devel] [PATCH v4 2/5] qcow2: Assign the L2 cache relatively to image size

2018-08-08 Thread Leonid Bloch
Sufficient L2 cache can noticeably improve the performance when using large images with frequent I/O. The memory overhead is not significant in most cases, as the cache size is only 1 MB for each 8 GB of virtual image size (with the default cluster size of 64 KB). Previously, the L2 cache was allo

[Qemu-devel] [PATCH v4 3/5] qcow2: Resize the cache upon image resizing

2018-08-08 Thread Leonid Bloch
The caches are now recalculated upon image resizing. This is done because the new default behavior of assigning L2 cache relatively to the image size, implies that the cache will be adapted accordingly after an image resize. Signed-off-by: Leonid Bloch --- block/qcow2.c | 10 ++ 1 file c

[Qemu-devel] [PATCH v4 1/5] qcow2: Options' documentation fixes

2018-08-08 Thread Leonid Bloch
Signed-off-by: Leonid Bloch --- docs/qcow2-cache.txt | 3 +++ qemu-options.hx | 9 ++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/qcow2-cache.txt b/docs/qcow2-cache.txt index 8a09a5cc5f..5bf2a8ad29 100644 --- a/docs/qcow2-cache.txt +++ b/docs/qcow2-cache.txt @@

[Qemu-devel] [PATCH v4 0/5] qcow2: Take the image size into account when allocating the L2 cache

2018-08-08 Thread Leonid Bloch
This series makes the qcow2 L2 cache assignment aware of the image size, with the intention for it to cover the entire image. The importance of this change is in noticeable performance improvement, especially with heavy random I/O. The memory overhead is not big in most cases, as only 1 MB of cache

Re: [Qemu-devel] [PATCH v4 3/6] loader: extract rom_free() function

2018-08-08 Thread Alistair Francis
On Fri, Aug 3, 2018 at 7:47 AM, Stefan Hajnoczi wrote: > The next patch will need to free a rom. There is already code to do > this in rom_add_file(). > > Note that rom_add_file() uses: > > rom = g_malloc0(sizeof(*rom)); > ... > if (rom->fw_dir) { > g_free(rom->fw_dir); > g_free

Re: [Qemu-devel] [PATCH v4 4/6] loader: add rom transaction API

2018-08-08 Thread Alistair Francis
On Fri, Aug 3, 2018 at 7:47 AM, Stefan Hajnoczi wrote: > Image file loaders may add a series of roms. If an error occurs partway > through loading there is no easy way to drop previously added roms. > > This patch adds a transaction mechanism that works like this: > > rom_transaction_begin(); >

[Qemu-devel] [PATCH v2 3/4] tests/boot-serial-test: Add microbit board testcase

2018-08-08 Thread Julia Suvorova via Qemu-devel
New mini-kernel test for nRF51 SoC UART. Signed-off-by: Julia Suvorova --- tests/boot-serial-test.c | 19 +++ 1 file changed, 19 insertions(+) diff --git a/tests/boot-serial-test.c b/tests/boot-serial-test.c index 952a2e7ead..19714c3f87 100644 --- a/tests/boot-serial-test.c +++

[Qemu-devel] [PATCH v2 4/4] tests/microbit-test: Check nRF51 UART functionality

2018-08-08 Thread Julia Suvorova via Qemu-devel
Some functional tests for: Basic reception/transmittion Suspending INTEN* registers Based-on: <20180806100114.21410-6-cont...@steffen-goertz.de> Signed-off-by: Julia Suvorova --- tests/microbit-test.c | 106 -- 1 file changed, 103 insertions(+

[Qemu-devel] [PATCH v2 2/4] hw/arm/nrf51_soc: Connect UART to nRF51 SoC

2018-08-08 Thread Julia Suvorova via Qemu-devel
Wire up nRF51 UART in the corresponding SoC using in-place init/realize. Based-on: <20180803052137.10602-1-j...@jms.id.au> Signed-off-by: Julia Suvorova --- hw/arm/nrf51_soc.c | 20 include/hw/arm/nrf51_soc.h | 3 +++ 2 files changed, 23 insertions(+) diff --git a

[Qemu-devel] [PATCH v2 1/4] hw/char: Implement nRF51 SoC UART

2018-08-08 Thread Julia Suvorova via Qemu-devel
Not implemented: CTS/NCTS, PSEL*. Signed-off-by: Julia Suvorova --- hw/char/Makefile.objs| 1 + hw/char/nrf51_uart.c | 329 +++ hw/char/trace-events | 4 + include/hw/char/nrf51_uart.h | 78 + 4 files changed, 412 insertions(+)

[Qemu-devel] [PATCH v2 0/4] arm: Add nRF51 SoC UART support

2018-08-08 Thread Julia Suvorova via Qemu-devel
This series adds support for the nRF51 SoC UART, that used in BBC Micro:bit board, and QTest for it. v2: * Suspend/Enable functionality added * Connection to SoC moved to a separate patch * Added QTest for checking reception functionality * Mini-kernel test changed to fit current i

Re: [Qemu-devel] [PATCH] fw_cfg: add bootdevice-ignore-suffixes property

2018-08-08 Thread Eduardo Habkost
On Wed, Aug 08, 2018 at 09:19:31PM +0100, Mark Cave-Ayland wrote: > On 08/08/18 20:53, Eduardo Habkost wrote: > > > On Wed, Aug 08, 2018 at 08:19:51PM +0100, Mark Cave-Ayland wrote: > > > For the older machines (such as Mac and SPARC) the DT nodes representing > > > bootdevices for disk nodes are

[Qemu-devel] [PATCH 1/3] vhost-user-scsi: move host_features into VHostSCSICommon

2018-08-08 Thread Greg Edwards
In preparation for having vhost-scsi also make use of host_features, move it from struct VHostUserSCSI into struct VHostSCSICommon. Signed-off-by: Greg Edwards --- hw/scsi/vhost-user-scsi.c | 15 --- include/hw/virtio/vhost-scsi-common.h | 1 + include/hw/virtio/vhost-us

[Qemu-devel] [PATCH 3/3] vhost-scsi: expose 't10_pi' property for VIRTIO_SCSI_F_T10_PI

2018-08-08 Thread Greg Edwards
Allow toggling on/off the VIRTIO_SCSI_F_T10_PI feature bit for both vhost-scsi and vhost-user-scsi devices. Signed-off-by: Greg Edwards --- hw/scsi/vhost-scsi.c | 3 +++ hw/scsi/vhost-user-scsi.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-sc

[Qemu-devel] [PATCH 2/3] vhost-scsi: unify vhost-scsi get_features implementations

2018-08-08 Thread Greg Edwards
Move the enablement of preset host features into the common vhost_scsi_common_get_features() function. This is in preparation for having vhost-scsi also make use of host_features. Signed-off-by: Greg Edwards --- hw/scsi/vhost-scsi-common.c | 3 +++ hw/scsi/vhost-user-scsi.c | 14 +---

[Qemu-devel] [PATCH 0/3] expose VIRTIO_SCSI_F_T10_PI for vhost-scsi and vhost-user-scsi

2018-08-08 Thread Greg Edwards
Unify the get_features functions for vhost-scsi and vhost-user-scsi, including their use of host_features, and expose a new 't10_pi' property to enable negotiation of the VIRTIO_SCSI_F_T10_PI feature bit with the backend. Greg Edwards (3): vhost-user-scsi: move host_features into VHostSCSICommon

Re: [Qemu-devel] [RFC PATCH 0/4] "pc: acpi: _CST support"

2018-08-08 Thread Michael S. Tsirkin
On Wed, Aug 08, 2018 at 05:15:45PM +0200, Igor Mammedov wrote: > It's an alternative approach to > 1) [PATCH hack dontapply v2 0/7] Dynamic _CST generation > which instead of dynamic AML loading uses static AML with > dynamic values. It allows us to keep firmware blob static and > to avoid split

Re: [Qemu-devel] [PATCH] fw_cfg: add bootdevice-ignore-suffixes property

2018-08-08 Thread Mark Cave-Ayland
On 08/08/18 20:53, Eduardo Habkost wrote: On Wed, Aug 08, 2018 at 08:19:51PM +0100, Mark Cave-Ayland wrote: For the older machines (such as Mac and SPARC) the DT nodes representing bootdevices for disk nodes are irregular for mainly historical reasons. Since the majority of bootdevice nodes fo

Re: [Qemu-devel] [RFC PATCH 3/4] pc: acpi: add _CST support

2018-08-08 Thread Michael S. Tsirkin
On Wed, Aug 08, 2018 at 05:15:48PM +0200, Igor Mammedov wrote: > Reuse CPU hotplug IO registers for passing a CST entry > containing package for shalowest C1 using mwait and > read it out in guest with new CCST AML method. I don't see how 1 entry is enough. We need to describe full _CST package so

Re: [Qemu-devel] [PATCH] fw_cfg: add bootdevice-ignore-suffixes property

2018-08-08 Thread Eduardo Habkost
On Wed, Aug 08, 2018 at 09:39:49PM +0200, Laszlo Ersek wrote: > On 08/08/18 21:19, Mark Cave-Ayland wrote: > > For the older machines (such as Mac and SPARC) the DT nodes representing > > bootdevices for disk nodes are irregular for mainly historical reasons. > > > > Since the majority of bootdevi

Re: [Qemu-devel] [PATCH] fw_cfg: add bootdevice-ignore-suffixes property

2018-08-08 Thread Eduardo Habkost
On Wed, Aug 08, 2018 at 08:19:51PM +0100, Mark Cave-Ayland wrote: > For the older machines (such as Mac and SPARC) the DT nodes representing > bootdevices for disk nodes are irregular for mainly historical reasons. > > Since the majority of bootdevice nodes for these machines either do not have a

Re: [Qemu-devel] [PATCH] fw_cfg: add bootdevice-ignore-suffixes property

2018-08-08 Thread Laszlo Ersek
On 08/08/18 21:19, Mark Cave-Ayland wrote: > For the older machines (such as Mac and SPARC) the DT nodes representing > bootdevices for disk nodes are irregular for mainly historical reasons. > > Since the majority of bootdevice nodes for these machines either do not have a > separate disk node or

Re: [Qemu-devel] [PATCH v2 18/34] tests: virtio: separate ccw tests from libqos

2018-08-08 Thread Laurent Vivier
On 06/08/2018 16:33, Emanuele Giuseppe Esposito wrote: > From: Paolo Bonzini > > Because qtest does not support s390 channel I/O, s390 only performs smoke > tests on > those few devices that do not have any functional tests. Therefore, every > time we > add functional tests for a virtio device

Re: [Qemu-devel] [PATCH v2 04/34] tests/qgraph: x86_64/pc machine node

2018-08-08 Thread Laurent Vivier
On 06/08/2018 16:33, Emanuele Giuseppe Esposito wrote: > Add pc machine for the x86_64 QEMU binary. This machine contains an > i440FX-pcihost > driver, that contains itself a pci-bus-pc that produces the pci-bus interface. > > Signed-off-by: Emanuele Giuseppe Esposito > --- > tests/Makefile.inc

[Qemu-devel] [PATCH] fw_cfg: add bootdevice-ignore-suffixes property

2018-08-08 Thread Mark Cave-Ayland
For the older machines (such as Mac and SPARC) the DT nodes representing bootdevices for disk nodes are irregular for mainly historical reasons. Since the majority of bootdevice nodes for these machines either do not have a separate disk node or require different (custom) names then it is much eas

Re: [Qemu-devel] [PATCH 2/2] fw_cfg: set the get_boot_devices_list() ignore_suffixes parameter from machine property

2018-08-08 Thread Mark Cave-Ayland
On 07/08/18 20:45, Eduardo Habkost wrote: Is this sufficient, or are the compat properties supposed to be versioned according to the QEMU machine version? I never saw compat_properties being used for non-versioned machines, but it should work for this use case as well. But, I'm not sure this

Re: [Qemu-devel] [PATCH 3/4] serial-mcb: Add serial via MEN chameleon bus

2018-08-08 Thread Philippe Mathieu-Daudé
Hi Johannes, On 08/08/2018 11:16 AM, Johannes Thumshirn wrote: > Add MEN z125 UART over MEN Chameleon Bus emulation. > > Signed-off-by: Johannes Thumshirn > --- > hw/char/Makefile.objs | 1 + > hw/char/serial-mcb.c | 97 > +++ > 2 files changed

Re: [Qemu-devel] [PATCH v2] monitor: print message when using 'help' with an unknown command

2018-08-08 Thread Dr. David Alan Gilbert
* Collin Walling (wall...@linux.ibm.com) wrote: > When typing 'help' followed by an unknown command, QEMU will > not print anything to the command line to let the user know > they typed a bad command. Let's fix this by printing a message > to the monitor when this happens. For example: > > (qe

Re: [Qemu-devel] [PATCH v2 03/34] tests/qgraph: pci-pc driver and interface nodes

2018-08-08 Thread Laurent Vivier
On 06/08/2018 16:33, Emanuele Giuseppe Esposito wrote: > Add pci-bus-pc node, move QPCIBusPC struct declaration in its header > (since it will be needed by other drivers) and introduce a setter method > for drivers that do not need to allocate but have to initialize QPCIBusPC. > > Signed-off-by: E

Re: [Qemu-devel] [PATCH v3 2/5] qcow2: Make the default L2 cache sufficient to cover the entire image

2018-08-08 Thread Leonid Bloch
On 08/08/2018 06:16 PM, Alberto Garcia wrote: On Wed 08 Aug 2018 04:35:19 PM CEST, Leonid Bloch wrote: The way I see it: there are two simple changes from the user's point of view (they can even be two separate patches). 1) The default l2-cache-size is now 32MB. DEFAULT_L2_CACHE_CLUSTERS is

Re: [Qemu-devel] [PATCH v2 05/22] check: Only test usb-xhci-nec when it is compiled in

2018-08-08 Thread Juan Quintela
Thomas Huth wrote: > On 08/08/2018 01:48 PM, Juan Quintela wrote: >> Signed-off-by: Juan Quintela >> --- >> tests/Makefile.include | 9 + >> 1 file changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/tests/Makefile.include b/tests/Makefile.include >> index 4e5f47aac0..1105469daa

Re: [Qemu-devel] [PATCH v2 06/22] i386-softmmu: Configuration is identical to x86_64-softmmu

2018-08-08 Thread Juan Quintela
Thomas Huth wrote: > On 08/08/2018 01:48 PM, Juan Quintela wrote: >> If we ever changed that, just make the things that are different >> explicit. >> >> Signed-off-by: Juan Quintela >> --- >> default-configs/i386-softmmu.mak | 65 +--- >> 1 file changed, 1 insertion(

[Qemu-devel] [PATCH] spapr_cpu_core: vmstate_[un]register per-CPU data from (un)realizefn

2018-08-08 Thread Bharata B Rao
VMStateDescription vmstate_spapr_cpu_state was added by commit b94020268e0b6 (spapr_cpu_core: migrate per-CPU data) to migrate per-CPU data with the required vmstate registration and unregistration calls. However the unregistration is being done only from vcpu creation error path and not from CPU d

[Qemu-devel] [Bug 1785698] Re: Solaris build error: unknown type name ‘gcry_error_t’

2018-08-08 Thread Michele Denber
"echo $solaris " That gives: # /usr/xpg4/bin/sh ../configure --extra-cflags="-m32" --target-list=x86_64-softmmu yes Install prefix/usr/local BIOS directory/usr/local/share/qemu firmware path /usr/local/share/qemu-firmware binary directory /usr/local/bin library di

Re: [Qemu-devel] [PATCH 04/21] block/commit: utilize job_exit shim

2018-08-08 Thread Kevin Wolf
Am 07.08.2018 um 06:33 hat John Snow geschrieben: > Change the manual deferment to commit_complete into the implicit > callback to job_exit. > > Signed-off-by: John Snow There is one tricky thing in this patch that the commit message could be a bit more explicit about, which is moving job_comple

Re: [Qemu-devel] [RFC PATCH 4/4] disas: allow capstone to defer to a fallback function on failure

2018-08-08 Thread Alex Bennée
Alex Bennée writes: > We can abuse the CS_OPT_SKIPDATA by providing a call back when > capstone can't disassemble something. The passing of the string to the > dump function is a little clunky but works. > > Signed-off-by: Alex Bennée > --- > disas.c | 30 +

Re: [Qemu-devel] [PATCH 01/21] jobs: canonize Error object

2018-08-08 Thread Kevin Wolf
Am 08.08.2018 um 17:50 hat John Snow geschrieben: > > > On 08/08/2018 10:57 AM, Kevin Wolf wrote: > > Am 07.08.2018 um 06:33 hat John Snow geschrieben: > >> Jobs presently use both an Error object in the case of the create job, > >> and char strings in the case of generic errors elsewhere. > >> >

Re: [Qemu-devel] [PATCH 01/21] jobs: canonize Error object

2018-08-08 Thread John Snow
On 08/08/2018 10:57 AM, Kevin Wolf wrote: > Am 07.08.2018 um 06:33 hat John Snow geschrieben: >> Jobs presently use both an Error object in the case of the create job, >> and char strings in the case of generic errors elsewhere. >> >> Unify the two paths as just j->err, and remove the extra argu

Re: [Qemu-devel] [PATCH 02/21] jobs: add exit shim

2018-08-08 Thread Kevin Wolf
Am 08.08.2018 um 17:38 hat John Snow geschrieben: > On 08/08/2018 11:23 AM, Kevin Wolf wrote: > > Am 08.08.2018 um 06:02 hat Jeff Cody geschrieben: > >> On Tue, Aug 07, 2018 at 12:33:30AM -0400, John Snow wrote: > >>> Most jobs do the same thing when they leave their running loop: > >>> - Store the

Re: [Qemu-devel] [PATCH 02/21] jobs: add exit shim

2018-08-08 Thread John Snow
On 08/08/2018 11:23 AM, Kevin Wolf wrote: > Am 08.08.2018 um 06:02 hat Jeff Cody geschrieben: >> On Tue, Aug 07, 2018 at 12:33:30AM -0400, John Snow wrote: >>> Most jobs do the same thing when they leave their running loop: >>> - Store the return code in a structure >>> - wait to receive this st

Re: [Qemu-devel] [PATCH v3 2/5] qcow2: Make the default L2 cache sufficient to cover the entire image

2018-08-08 Thread Alberto Garcia
On Wed 08 Aug 2018 03:58:02 PM CEST, Alberto Garcia wrote: > 1) If l2-cache-size > l2_metadata_size, then make l2-cache-size = > l2_metadata_size. This is already useful on its own, even with the > current default of 1MB. > > 2) Increase the default to 32MB. This won't waste additional me

Re: [Qemu-devel] [PATCH v2 08/34] tests/qgraph: rename qpci_init_spapr functions

2018-08-08 Thread Laurent Vivier
On 06/08/2018 16:33, Emanuele Giuseppe Esposito wrote: > Rename qpci_init_spapr in qpci_new_spapr, since the function actually > allocates a new QPCIBusSPAPR and initialize it. > I think you should merge this one with 02/34. Thanks, Laurent

Re: [Qemu-devel] [PATCH hack dontapply v2 0/7] Dynamic _CST generation

2018-08-08 Thread Igor Mammedov
On Thu, 2 Aug 2018 11:18:08 +0200 Igor Mammedov wrote: > On Thu, 26 Jul 2018 19:09:22 +0300 > "Michael S. Tsirkin" wrote: > > > On Wed, Jul 25, 2018 at 05:53:35PM +0200, Igor Mammedov wrote: > > > On Wed, 25 Jul 2018 15:44:37 +0300 > > > "Michael S. Tsirkin" wrote: > > > > > > > On Wed,

Re: [Qemu-devel] [PATCH 02/21] jobs: add exit shim

2018-08-08 Thread Kevin Wolf
Am 08.08.2018 um 06:02 hat Jeff Cody geschrieben: > On Tue, Aug 07, 2018 at 12:33:30AM -0400, John Snow wrote: > > Most jobs do the same thing when they leave their running loop: > > - Store the return code in a structure > > - wait to receive this structure in the main thread > > - signal job comp

  1   2   3   >