[Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features

Michael S. Tsirkin posted 28 patches 7 years ago
There is a newer version of this series
docs/specs/pci-testdev.txt           |  15 +-
hw/i386/amd_iommu.h                  |  96 +++++++-
hw/pci-bridge/ioh3420.h              |   6 -
hw/pci-bridge/xio3130_downstream.h   |  11 -
hw/pci-bridge/xio3130_upstream.h     |  10 -
include/hw/i386/intel_iommu.h        |  59 -----
include/hw/i386/x86-iommu.h          |  66 ++++++
include/hw/pci/pci_bus.h             |   2 +
hw/block/vhost-user-blk.c            |  25 +++
hw/block/virtio-blk.c                |   4 +-
hw/i386/acpi-build.c                 |  31 ++-
hw/i386/amd_iommu.c                  | 414 ++++++++++++++++++++++++++++++++++-
hw/i386/intel_iommu.c                | 131 +++++------
hw/i386/x86-iommu.c                  |  33 +++
hw/misc/pci-testdev.c                |  19 ++
hw/pci-bridge/ioh3420.c              |   2 +-
hw/pci-bridge/xio3130_downstream.c   |  28 +--
hw/pci-bridge/xio3130_upstream.c     |  24 +-
hw/pci-host/piix.c                   |  34 ++-
hw/pci-host/q35.c                    |  17 +-
hw/pci/pci_bridge.c                  |   2 +-
hw/scsi/vhost-scsi.c                 |   2 +-
tests/bios-tables-test.c             |  16 ++
MAINTAINERS                          |   2 +
hw/i386/trace-events                 |  14 ++
tests/acpi-test-data/q35/DSDT.mmio64 | Bin 0 -> 8947 bytes
tests/acpi-test-data/q35/SRAT.mmio64 | Bin 0 -> 224 bytes
27 files changed, 811 insertions(+), 252 deletions(-)
delete mode 100644 hw/pci-bridge/ioh3420.h
delete mode 100644 hw/pci-bridge/xio3130_downstream.h
delete mode 100644 hw/pci-bridge/xio3130_upstream.h
create mode 100644 tests/acpi-test-data/q35/DSDT.mmio64
create mode 100644 tests/acpi-test-data/q35/SRAT.mmio64
[Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Michael S. Tsirkin 7 years ago
The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:

  Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:

  vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)

----------------------------------------------------------------
pci, pc, virtio: fixes, features

AMD IOMMU VAPIC support + fixes all over the place.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

----------------------------------------------------------------
Gerd Hoffmann (1):
      pci-testdev: add optional memory bar

Laszlo Ersek (4):
      MAINTAINERS: list "tests/acpi-test-data" files in ACPI/SMBIOS section
      hw/pci-host/x86: extract get_pci_hole64_start_value() helpers
      hw/pci-host/x86: extend the 64-bit PCI hole relative to the fw-assigned base
      tests/bios-tables-test: add 64-bit PCI MMIO aperture round-up test on Q35

Li Qiang (3):
      i440fx: use ARRAY_SIZE for pam_regions
      piix: use TYPE_FOO constants than string constats
      piix_pci: fix i440fx data sheet link

Mao Zhongyi (1):
      pci_bridge: fix typo in comment

Peter Xu (4):
      intel_iommu: introduce vtd_reset_caches()
      intel_iommu: better handling of dmar state switch
      intel_iommu: move ce fetching out when sync shadow
      intel_iommu: handle invalid ce for shadow sync

Philippe Mathieu-Daudé (3):
      hw/pci-bridge/xio3130: Remove unused functions
      hw/pci-bridge/ioh3420: Remove unuseful header
      hw/pci: Add missing include

Singh, Brijesh (9):
      x86_iommu: move the kernel-irqchip check in common code
      x86_iommu: move vtd_generate_msi_message in common file
      x86_iommu/amd: remove V=1 check from amdvi_validate_dte()
      x86_iommu/amd: make the address space naming consistent with intel-iommu
      x86_iommu/amd: Prepare for interrupt remap support
      x86_iommu/amd: Add interrupt remap support when VAPIC is not enabled
      i386: acpi: add IVHD device entry for IOAPIC
      x86_iommu/amd: Add interrupt remap support when VAPIC is enabled
      x86_iommu/amd: Enable Guest virtual APIC support

Yaowei Bai (1):
      virtio-blk: fix comment for virtio_blk_rw_complete

Yongji Xie (1):
      vhost-user-blk: start vhost when guest kicks

yuchenlin (1):
      vhost-scsi: prevent using uninitialized vqs

 docs/specs/pci-testdev.txt           |  15 +-
 hw/i386/amd_iommu.h                  |  96 +++++++-
 hw/pci-bridge/ioh3420.h              |   6 -
 hw/pci-bridge/xio3130_downstream.h   |  11 -
 hw/pci-bridge/xio3130_upstream.h     |  10 -
 include/hw/i386/intel_iommu.h        |  59 -----
 include/hw/i386/x86-iommu.h          |  66 ++++++
 include/hw/pci/pci_bus.h             |   2 +
 hw/block/vhost-user-blk.c            |  25 +++
 hw/block/virtio-blk.c                |   4 +-
 hw/i386/acpi-build.c                 |  31 ++-
 hw/i386/amd_iommu.c                  | 414 ++++++++++++++++++++++++++++++++++-
 hw/i386/intel_iommu.c                | 131 +++++------
 hw/i386/x86-iommu.c                  |  33 +++
 hw/misc/pci-testdev.c                |  19 ++
 hw/pci-bridge/ioh3420.c              |   2 +-
 hw/pci-bridge/xio3130_downstream.c   |  28 +--
 hw/pci-bridge/xio3130_upstream.c     |  24 +-
 hw/pci-host/piix.c                   |  34 ++-
 hw/pci-host/q35.c                    |  17 +-
 hw/pci/pci_bridge.c                  |   2 +-
 hw/scsi/vhost-scsi.c                 |   2 +-
 tests/bios-tables-test.c             |  16 ++
 MAINTAINERS                          |   2 +
 hw/i386/trace-events                 |  14 ++
 tests/acpi-test-data/q35/DSDT.mmio64 | Bin 0 -> 8947 bytes
 tests/acpi-test-data/q35/SRAT.mmio64 | Bin 0 -> 224 bytes
 27 files changed, 811 insertions(+), 252 deletions(-)
 delete mode 100644 hw/pci-bridge/ioh3420.h
 delete mode 100644 hw/pci-bridge/xio3130_downstream.h
 delete mode 100644 hw/pci-bridge/xio3130_upstream.h
 create mode 100644 tests/acpi-test-data/q35/DSDT.mmio64
 create mode 100644 tests/acpi-test-data/q35/SRAT.mmio64


Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Peter Maydell 7 years ago
On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>
> for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
>
>   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
>
> ----------------------------------------------------------------
> pci, pc, virtio: fixes, features
>
> AMD IOMMU VAPIC support + fixes all over the place.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

Hi; I get some compile failures and a test assertion, I'm afraid:

On 32-bit hosts (where uint64_t and size_t are not the same):

/home/peter.maydell/qemu/include/qemu/compiler.h:80:35: error: invalid
operands to binary - (have 'uint64_t * {aka long long unsigned int *}'
and 'size_t * {aka unsigned int *}')
 #define type_check(t1,t2) ((t1*)0 - (t2*)0)
                                   ^
/home/peter.maydell/qemu/include/hw/qdev-properties.h:77:15: note: in
expansion of macro 'type_check'
             + type_check(_type, typeof_field(_state, _field)),          \
               ^
/home/peter.maydell/qemu/include/hw/qdev-properties.h:168:5: note: in
expansion of macro 'DEFINE_PROP_UNSIGNED'
     DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_size, uint64_t)
     ^
/home/peter.maydell/qemu/hw/misc/pci-testdev.c:322:5: note: in
expansion of macro 'DEFINE_PROP_SIZE'
     DEFINE_PROP_SIZE("membar", PCITestDevState, membar_size, 0),
     ^
/home/peter.maydell/qemu/rules.mak:69: recipe for target
'hw/misc/pci-testdev.o' failed

On the Windows w64 cross-compile:

In file included from /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:26:0:
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c: In function
'amdvi_int_remap_msi':
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:247:46: error: left
shift count >= width of type [-Werror=shift-count-overflow]
 #define AMDVI_DEV_NMI_PASS_MASK         (1UL << 58)
                                              ^
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1281:25: note: in
expansion of macro 'AMDVI_DEV_NMI_PASS_MASK'
         pass = dte[3] & AMDVI_DEV_NMI_PASS_MASK;
                         ^
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:245:46: error: left
shift count >= width of type [-Werror=shift-count-overflow]
 #define AMDVI_DEV_INT_PASS_MASK         (1UL << 56)
                                              ^
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1285:25: note: in
expansion of macro 'AMDVI_DEV_INT_PASS_MASK'
         pass = dte[3] & AMDVI_DEV_INT_PASS_MASK;
                         ^
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:246:46: error: left
shift count >= width of type [-Werror=shift-count-overflow]
 #define AMDVI_DEV_EINT_PASS_MASK        (1UL << 57)
                                              ^
/home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1289:25: note: in
expansion of macro 'AMDVI_DEV_EINT_PASS_MASK'
         pass = dte[3] & AMDVI_DEV_EINT_PASS_MASK;
                         ^

These should presumably all be "ULL". (The "UL" suffix is
usually a bug, as it's either unnecessary or should be ULL.)

On various Linux hosts (aarch64, s390, x86-64, sparc)
I get this assertion in the bios-tables-test:

  /x86_64/acpi/q35/mmio64:
Looking for expected file 'tests/acpi-test-data/q35/DSDT.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/DSDT'

Using expected file 'tests/acpi-test-data/q35/DSDT'

Looking for expected file 'tests/acpi-test-data/q35/FACP.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/FACP'

Using expected file 'tests/acpi-test-data/q35/FACP'

Looking for expected file 'tests/acpi-test-data/q35/APIC.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/APIC'

Using expected file 'tests/acpi-test-data/q35/APIC'

Looking for expected file 'tests/acpi-test-data/q35/HPET.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/HPET'

Using expected file 'tests/acpi-test-data/q35/HPET'

Looking for expected file 'tests/acpi-test-data/q35/SRAT.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/SRAT'
**
ERROR:/home/petmay01/linaro/qemu-for-merges/tests/bios-tables-test.c:398:load_expected_aml:
assertion failed: (exp_sdt.aml_file)
FAIL


thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Michael S. Tsirkin 7 years ago
On Thu, Oct 25, 2018 at 08:16:44PM +0100, Peter Maydell wrote:
> On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
> >
> >   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
> >
> >   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
> >
> > ----------------------------------------------------------------
> > pci, pc, virtio: fixes, features
> >
> > AMD IOMMU VAPIC support + fixes all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Hi; I get some compile failures and a test assertion, I'm afraid:
> 
> On 32-bit hosts (where uint64_t and size_t are not the same):
> 
> /home/peter.maydell/qemu/include/qemu/compiler.h:80:35: error: invalid
> operands to binary - (have 'uint64_t * {aka long long unsigned int *}'
> and 'size_t * {aka unsigned int *}')
>  #define type_check(t1,t2) ((t1*)0 - (t2*)0)
>                                    ^
> /home/peter.maydell/qemu/include/hw/qdev-properties.h:77:15: note: in
> expansion of macro 'type_check'
>              + type_check(_type, typeof_field(_state, _field)),          \
>                ^
> /home/peter.maydell/qemu/include/hw/qdev-properties.h:168:5: note: in
> expansion of macro 'DEFINE_PROP_UNSIGNED'
>      DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_size, uint64_t)
>      ^
> /home/peter.maydell/qemu/hw/misc/pci-testdev.c:322:5: note: in
> expansion of macro 'DEFINE_PROP_SIZE'
>      DEFINE_PROP_SIZE("membar", PCITestDevState, membar_size, 0),
>      ^
> /home/peter.maydell/qemu/rules.mak:69: recipe for target
> 'hw/misc/pci-testdev.o' failed
> 
> On the Windows w64 cross-compile:
> 
> In file included from /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:26:0:
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c: In function
> 'amdvi_int_remap_msi':
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:247:46: error: left
> shift count >= width of type [-Werror=shift-count-overflow]
>  #define AMDVI_DEV_NMI_PASS_MASK         (1UL << 58)
>                                               ^
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1281:25: note: in
> expansion of macro 'AMDVI_DEV_NMI_PASS_MASK'
>          pass = dte[3] & AMDVI_DEV_NMI_PASS_MASK;
>                          ^
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:245:46: error: left
> shift count >= width of type [-Werror=shift-count-overflow]
>  #define AMDVI_DEV_INT_PASS_MASK         (1UL << 56)
>                                               ^
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1285:25: note: in
> expansion of macro 'AMDVI_DEV_INT_PASS_MASK'
>          pass = dte[3] & AMDVI_DEV_INT_PASS_MASK;
>                          ^
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:246:46: error: left
> shift count >= width of type [-Werror=shift-count-overflow]
>  #define AMDVI_DEV_EINT_PASS_MASK        (1UL << 57)
>                                               ^
> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1289:25: note: in
> expansion of macro 'AMDVI_DEV_EINT_PASS_MASK'
>          pass = dte[3] & AMDVI_DEV_EINT_PASS_MASK;
>                          ^
> 
> These should presumably all be "ULL". (The "UL" suffix is
> usually a bug, as it's either unnecessary or should be ULL.)

Yea.  Fixed. Brijesh could you start cleaning up that header generally?
It has all kind of weird code like using bitfields for hardware
accesses. That isn't portable - switch to full dword fields with shift
and | to operate them and proper cpu_to_le APIs or similar please.

> On various Linux hosts (aarch64, s390, x86-64, sparc)
> I get this assertion in the bios-tables-test:
> 
>   /x86_64/acpi/q35/mmio64:
> Looking for expected file 'tests/acpi-test-data/q35/DSDT.mmio64'
> 
> Looking for expected file 'tests/acpi-test-data/q35/DSDT'
> 
> Using expected file 'tests/acpi-test-data/q35/DSDT'
> 
> Looking for expected file 'tests/acpi-test-data/q35/FACP.mmio64'
> 
> Looking for expected file 'tests/acpi-test-data/q35/FACP'
> 
> Using expected file 'tests/acpi-test-data/q35/FACP'
> 
> Looking for expected file 'tests/acpi-test-data/q35/APIC.mmio64'
> 
> Looking for expected file 'tests/acpi-test-data/q35/APIC'
> 
> Using expected file 'tests/acpi-test-data/q35/APIC'
> 
> Looking for expected file 'tests/acpi-test-data/q35/HPET.mmio64'
> 
> Looking for expected file 'tests/acpi-test-data/q35/HPET'
> 
> Using expected file 'tests/acpi-test-data/q35/HPET'
> 
> Looking for expected file 'tests/acpi-test-data/q35/SRAT.mmio64'
> 
> Looking for expected file 'tests/acpi-test-data/q35/SRAT'
> **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/bios-tables-test.c:398:load_expected_aml:
> assertion failed: (exp_sdt.aml_file)
> FAIL
> 
> 
> thanks
> -- PMM

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Singh, Brijesh 7 years ago

On 10/25/2018 07:59 PM, Michael S. Tsirkin wrote:
> On Thu, Oct 25, 2018 at 08:16:44PM +0100, Peter Maydell wrote:
>> On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
>>> The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
>>>
>>>    Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>>    git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>>>
>>> for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
>>>
>>>    vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
>>>
>>> ----------------------------------------------------------------
>>> pci, pc, virtio: fixes, features
>>>
>>> AMD IOMMU VAPIC support + fixes all over the place.
>>>
>>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>>
>> Hi; I get some compile failures and a test assertion, I'm afraid:
>>
>> On 32-bit hosts (where uint64_t and size_t are not the same):
>>
>> /home/peter.maydell/qemu/include/qemu/compiler.h:80:35: error: invalid
>> operands to binary - (have 'uint64_t * {aka long long unsigned int *}'
>> and 'size_t * {aka unsigned int *}')
>>   #define type_check(t1,t2) ((t1*)0 - (t2*)0)
>>                                     ^
>> /home/peter.maydell/qemu/include/hw/qdev-properties.h:77:15: note: in
>> expansion of macro 'type_check'
>>               + type_check(_type, typeof_field(_state, _field)),          \
>>                 ^
>> /home/peter.maydell/qemu/include/hw/qdev-properties.h:168:5: note: in
>> expansion of macro 'DEFINE_PROP_UNSIGNED'
>>       DEFINE_PROP_UNSIGNED(_n, _s, _f, _d, qdev_prop_size, uint64_t)
>>       ^
>> /home/peter.maydell/qemu/hw/misc/pci-testdev.c:322:5: note: in
>> expansion of macro 'DEFINE_PROP_SIZE'
>>       DEFINE_PROP_SIZE("membar", PCITestDevState, membar_size, 0),
>>       ^
>> /home/peter.maydell/qemu/rules.mak:69: recipe for target
>> 'hw/misc/pci-testdev.o' failed
>>
>> On the Windows w64 cross-compile:
>>
>> In file included from /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:26:0:
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c: In function
>> 'amdvi_int_remap_msi':
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:247:46: error: left
>> shift count >= width of type [-Werror=shift-count-overflow]
>>   #define AMDVI_DEV_NMI_PASS_MASK         (1UL << 58)
>>                                                ^
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1281:25: note: in
>> expansion of macro 'AMDVI_DEV_NMI_PASS_MASK'
>>           pass = dte[3] & AMDVI_DEV_NMI_PASS_MASK;
>>                           ^
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:245:46: error: left
>> shift count >= width of type [-Werror=shift-count-overflow]
>>   #define AMDVI_DEV_INT_PASS_MASK         (1UL << 56)
>>                                                ^
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1285:25: note: in
>> expansion of macro 'AMDVI_DEV_INT_PASS_MASK'
>>           pass = dte[3] & AMDVI_DEV_INT_PASS_MASK;
>>                           ^
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.h:246:46: error: left
>> shift count >= width of type [-Werror=shift-count-overflow]
>>   #define AMDVI_DEV_EINT_PASS_MASK        (1UL << 57)
>>                                                ^
>> /home/petmay01/qemu-for-merges/hw/i386/amd_iommu.c:1289:25: note: in
>> expansion of macro 'AMDVI_DEV_EINT_PASS_MASK'
>>           pass = dte[3] & AMDVI_DEV_EINT_PASS_MASK;
>>                           ^
>>
>> These should presumably all be "ULL". (The "UL" suffix is
>> usually a bug, as it's either unnecessary or should be ULL.)
> 
> Yea.  Fixed. Brijesh could you start cleaning up that header generally?
> It has all kind of weird code like using bitfields for hardware
> accesses. That isn't portable - switch to full dword fields with shift
> and | to operate them and proper cpu_to_le APIs or similar please.
> 


Noted, I will look into cleaning up this and send patches for reviews.

thanks

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Peter Maydell 7 years ago
On 26 October 2018 at 14:26, Singh, Brijesh <brijesh.singh@amd.com> wrote:
>
>
> On 10/25/2018 07:59 PM, Michael S. Tsirkin wrote:
>> On Thu, Oct 25, 2018 at 08:16:44PM +0100, Peter Maydell wrote:
>>> These should presumably all be "ULL". (The "UL" suffix is
>>> usually a bug, as it's either unnecessary or should be ULL.)
>>
>> Yea.  Fixed. Brijesh could you start cleaning up that header generally?
>> It has all kind of weird code like using bitfields for hardware
>> accesses. That isn't portable - switch to full dword fields with shift
>> and | to operate them and proper cpu_to_le APIs or similar please.
>>
>
>
> Noted, I will look into cleaning up this and send patches for reviews.

Thanks. You might like to look at the extract32()/extract64()/
deposit32()/deposit64() functions in bitops.h, which are often (but not
always) cleaner than hand-rolled shifts-and-logical-ops for assembling
and disassembling fields.

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Michael S. Tsirkin 7 years ago
On Thu, Oct 25, 2018 at 08:16:44PM +0100, Peter Maydell wrote:
> On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
> >
> >   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
> >
> >   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
> >
> > ----------------------------------------------------------------
> > pci, pc, virtio: fixes, features
> >
> > AMD IOMMU VAPIC support + fixes all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> Looking for expected file 'tests/acpi-test-data/q35/SRAT.mmio64'
> 
> Looking for expected file 'tests/acpi-test-data/q35/SRAT'
> **
> ERROR:/home/petmay01/linaro/qemu-for-merges/tests/bios-tables-test.c:398:load_expected_aml:
> assertion failed: (exp_sdt.aml_file)
> FAIL
> 
> 
> thanks
> -- PMM

Stumped by this one. Doesn't SRAT.mmio64 exist for you?

-- 
MST

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Michael S. Tsirkin 7 years ago
On Thu, Oct 25, 2018 at 08:16:44PM +0100, Peter Maydell wrote:
> On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
> >
> >   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
> >
> >   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
> >
> > ----------------------------------------------------------------
> > pci, pc, virtio: fixes, features
> >
> > AMD IOMMU VAPIC support + fixes all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Hi; I get some compile failures and a test assertion, I'm afraid:

OK  I fixed 32 bit issues. Could not reproduce the test issues,
could it be that it was a side effect of build issues maybe?

Could you retyr?
If it still ails I will drop the test for now.

Thanks!

-- 
MST

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Peter Maydell 7 years ago
On 26 October 2018 at 03:00, Michael S. Tsirkin <mst@redhat.com> wrote:
> OK  I fixed 32 bit issues. Could not reproduce the test issues,
> could it be that it was a side effect of build issues maybe?
>
> Could you retyr?
> If it still ails I will drop the test for now.

Compiles OK, but still asserts
ERROR:/home/pm215/qemu/tests/bios-tables-test.c:398:load_expected_aml: assertion
 failed: (exp_sdt.aml_file)

on Linux/aarch64, Linux/arm32, Linux/SPARC, Linux/s390x.

pm215@gcc113:~/qemu/build/all$
QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i386
./tests/bios-tables-test
/i386/acpi/piix4: OK
/i386/acpi/q35: ^[[AOK
/i386/acpi/piix4/bridge: OK
/i386/acpi/piix4/ipmi: OK
/i386/acpi/piix4/cpuhp: OK
/i386/acpi/piix4/memhp: OK
/i386/acpi/piix4/numamem: OK
/i386/acpi/piix4/dimmpxm: OK
/i386/acpi/q35/bridge: OK
/i386/acpi/q35/mmio64: **
ERROR:/home/pm215/qemu/tests/bios-tables-test.c:398:load_expected_aml:
assertion failed: (exp_sdt.aml_file)
Aborted (core dumped)

With V=1 it says
/i386/acpi/q35/mmio64:
Looking for expected file 'tests/acpi-test-data/q35/DSDT.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/DSDT'

Using expected file 'tests/acpi-test-data/q35/DSDT'

Looking for expected file 'tests/acpi-test-data/q35/FACP.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/FACP'

Using expected file 'tests/acpi-test-data/q35/FACP'

Looking for expected file 'tests/acpi-test-data/q35/APIC.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/APIC'

Using expected file 'tests/acpi-test-data/q35/APIC'

Looking for expected file 'tests/acpi-test-data/q35/HPET.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/HPET'

Using expected file 'tests/acpi-test-data/q35/HPET'

Looking for expected file 'tests/acpi-test-data/q35/SRAT.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/SRAT'
**
ERROR:/home/pm215/qemu/tests/bios-tables-test.c:398:load_expected_aml:
assertion failed: (exp_sdt.aml_file)

ET'

On an x86-64 host which works it says
/i386/acpi/q35/mmio64:
Looking for expected file 'tests/acpi-test-data/q35/DSDT.mmio64'

Using expected file 'tests/acpi-test-data/q35/DSDT.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/FACP.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/FACP'

Using expected file 'tests/acpi-test-data/q35/FACP'

Looking for expected file 'tests/acpi-test-data/q35/APIC.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/APIC'

Using expected file 'tests/acpi-test-data/q35/APIC'

Looking for expected file 'tests/acpi-test-data/q35/HPET.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/HPET'

Using expected file 'tests/acpi-test-data/q35/HPET'

Looking for expected file 'tests/acpi-test-data/q35/SRAT.mmio64'

Using expected file 'tests/acpi-test-data/q35/SRAT.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/MCFG.mmio64'

Looking for expected file 'tests/acpi-test-data/q35/MCFG'

Using expected file 'tests/acpi-test-data/q35/MCFG'
OK

So the difference is that the failing setup doesn't use
the SRAT.mmio64, and there is no SRAT file available for
fallback. (It also doesn't use DSDT.mmio64, but there there
is a fallback DSDT file in the tests/acpi-test-data/ directory.)

It looks like the test/acpi-test-data/ in the build directory
has not been populated with the MCFG.mmio64 file -- some of
the data files have symlinks from that directory back to the
source directory, but some do not. This seems to be done in
configure, but there is nothing in the makefile rules which
causes configure to be rerun because there is a new file
in your test data directory. A manual rerun of configure
adds the missing symlinks and causes the test to pass.

So I would characterise this as a makefile issue.

(PS: can we fix the extraneous extra blank lines in the test output
when run with V=1, please?)

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Peter Maydell 7 years ago
On 27 October 2018 at 19:53, Peter Maydell <peter.maydell@linaro.org> wrote:
> It looks like the test/acpi-test-data/ in the build directory
> has not been populated with the MCFG.mmio64 file -- some of
> the data files have symlinks from that directory back to the
> source directory, but some do not. This seems to be done in
> configure, but there is nothing in the makefile rules which
> causes configure to be rerun because there is a new file
> in your test data directory. A manual rerun of configure
> adds the missing symlinks and causes the test to pass.
>
> So I would characterise this as a makefile issue.

Is there a reason why we need to symlink all the data files
in tests/acpi-test-data/ individually, rather than just
having tests/acpi-test-data itself be a symlink back to
the directory in the source tree ? That would avoid this
problem; it's how we handle tests/acceptance and tests/data.

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Peter Maydell 7 years ago
On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>
> for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
>
>   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
>
> ----------------------------------------------------------------
> pci, pc, virtio: fixes, features
>
> AMD IOMMU VAPIC support + fixes all over the place.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>

Hi Michael -- just a reminder that you need to submit a respin
of this by 1200 UTC tomorrow (with my symlink-of-data-files
patchset) if you want it to get into rc0.

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Michael S. Tsirkin 7 years ago
On Mon, Nov 05, 2018 at 03:05:27PM +0000, Peter Maydell wrote:
> On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
> >
> >   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
> >
> >   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
> >
> > ----------------------------------------------------------------
> > pci, pc, virtio: fixes, features
> >
> > AMD IOMMU VAPIC support + fixes all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> 
> Hi Michael -- just a reminder that you need to submit a respin
> of this by 1200 UTC tomorrow (with my symlink-of-data-files
> patchset) if you want it to get into rc0.
> 
> thanks
> -- PMM

Working on it.

Re: [Qemu-devel] [PULL v2 00/28] pci, pc, virtio: fixes, features
Posted by Michael S. Tsirkin 7 years ago
On Mon, Nov 05, 2018 at 03:05:27PM +0000, Peter Maydell wrote:
> On 25 October 2018 at 01:52, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
> >
> >   Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to 6a9fb4e1ba5594cde7739068617ad88e6117db93:
> >
> >   vhost-scsi: prevent using uninitialized vqs (2018-10-24 20:50:13 -0400)
> >
> > ----------------------------------------------------------------
> > pci, pc, virtio: fixes, features
> >
> > AMD IOMMU VAPIC support + fixes all over the place.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> 
> Hi Michael -- just a reminder that you need to submit a respin
> of this by 1200 UTC tomorrow (with my symlink-of-data-files
> patchset) if you want it to get into rc0.
> 
> thanks
> -- PMM

Resent - hope it's fine now.

-- 
MST