mbox

[PULL,v5] pci, pc, virtio fixes and cleanups

Message ID 20150304151003.GA3635@redhat.com
State New
Headers show

Pull-request

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

Message

Michael S. Tsirkin March 4, 2015, 3:10 p.m. UTC
Sorry about all the problems.
Same as v4, but updated generated files for non-iasl systems.
Not re-sending the patches therefore.

The following changes since commit 11d39a131020cc5c54ff9bc86d3259f7d32bf849:

  Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20150218' into staging (2015-02-26 09:08:54 +0000)

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 09d219a31cf87ed98150c0a9e772e54f470f2a01:

  acpi: update generated files (2015-03-04 16:05:32 +0100)

----------------------------------------------------------------
pci, pc, virtio fixes and cleanups

Last pull for hard freeze.

A bunch of fixes all over the place.
All of ACPI refactoring has been merged.
Legacy pci commands have been dropped.

Additionally, this includes patches from soft-freeze
(which apparently haven't been merged yet):

a bunch of fixes all over the place
virtio header cleanup
initial patches from virtio-1.0 branch

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

----------------------------------------------------------------
Cornelia Huck (3):
      virtio: cull virtio_bus_set_vdev_features
      virtio: feature bit manipulation helpers
      virtio: add feature checking helpers

Denis V. Lunev (1):
      balloon: call qdev_alias_all_properties for proxy dev in balloon class init

Haifeng Gao (1):
      vhost user:support vhost user nic for non msi guests

Igor Mammedov (59):
      acpi: move generic aml building helpers into dedictated file
      acpi: add build_append_namestring() helper
      acpi: drop min-bytes in build_package()
      pc: acpi-build: update linker on guest access
      pc: acpi-build: migrate RSDP table
      pc: acpi: use local var for accessing ACPI tables blob in acpi_build()
      acpi: introduce AML composer aml_append()
      acpi: add aml_scope() term
      pc: acpi-build: use aml_scope() for \_SB scope
      acpi: add aml_device() term
      acpi: add aml_method() term
      acpi: add aml_if() term
      acpi: add aml_name() & aml_name_decl() term
      acpi: add aml_int() term
      acpi: add aml_return() term
      acpi: add aml_arg() term
      acpi: add aml_store() term
      acpi: add aml_and() term
      acpi: add aml_notify() term
      acpi: add aml_call1(), aml_call2(), aml_call3(), aml_call4() helpers
      acpi: add aml_package() term
      pc: acpi-build: generate _S[345] packages dynamically
      acpi: add aml_buffer() term
      acpi: add aml_resource_template() helper
      acpi: add aml_io() helper
      acpi: include PkgLength size only when requested
      acpi: add aml_operation_region() term
      acpi: add aml_field() & aml_named_field() terms
      acpi: add aml_local() term
      acpi: add aml_string() term
      pc: acpi-build: generate pvpanic device description dynamically
      acpi: add aml_varpackage() term
      acpi: add aml_equal() term
      acpi: add aml_processor() term
      acpi: add aml_eisaid() term
      pc: acpi-build: drop template patching and CPU hotplug objects dynamically
      pc: acpi-build: create CPU hotplug IO region dynamically
      acpi: add aml_reserved_field() term
      pc: acpi-build: drop template patching and memory hotplug objects dynamically
      pc: acpi-build: create memory hotplug IO region dynamically
      acpi: add aml_word_bus_number(), aml_word_io(), aml_dword_memory(), aml_qword_memory() terms
      pc: pcihp: expose MMIO base and len as properties
      pc: acpi-build: reserve PCIHP MMIO resources
      pc: acpi-build: create PCI0._CRS dynamically
      pc: acpi: drop manual hole punching for PCI hotplug resources
      pc: acpi: drop manual hole punching for CPU hotplug resources
      pc: acpi: drop manual hole punching for GPE0 resources
      pc: acpi-build: drop remaining ssdt_misc template
      acpi: add acpi_irq_no_flags() term
      pc: export applesmc IO port/len
      pc: acpi-build: drop template patching and create Device(SMC) dynamically
      tests: ACPI test blobs update due to PCI0._CRS changes
      tests: bios-tables-test: add support for testing bridges
      tests: add ACPI blobs for qemu with bridge cases
      pc: acpi-build: simplify PCI bus tree generation
      tests: ACPI: update pc/SSDT.bridge due to new alg of PCI tree creation
      pc: acpi-build: drop template patching and create PCI bus tree dynamically
      pc: acpi: remove not used anymore ssdt-[misc|pcihp].hex.generated blobs
      acpi: make build_*() routines static to aml-build.c

Markus Armbruster (13):
      pci: Convert core to realize
      pci: Permit incremental conversion of device models to realize
      pci: Trivial device model conversions to realize
      pcnet: pcnet_common_init() always returns 0, change to void
      pcnet: Convert to realize
      serial-pci: Convert to realize
      ide/ich: Convert to realize
      cirrus-vga: Convert to realize
      qxl: Convert to realize
      pci-assign: Convert to realize
      qdev: Don't exit when running into bad -global
      pci: Give a few helpers internal linkage
      pci-hotplug-old: Has been dead for five major releases, bury

Michael S. Tsirkin (37):
      acpi-build: fix memory leak with bridge hp off
      bios linker: validate pointer within table
      acpi: update RSDP on guest access
      exec: round up size on MR resize
      acpi-build: fix ACPI RAM management
      acpi: has_immutable_rsdp->!rsdp_in_ram
      acpi-build: simplify rsdp management for legacy
      scripts/update-linux-headers.sh: pull virtio hdrs
      include: import virtio headers from linux 4.0
      virtio: use standard virtio_ring.h
      virtio: use standard-headers
      virtio-balloon: use standard headers
      virtio-9p: use standard headers
      virtio-blk: switch to standard-headers
      virtio-net,tap: use standard-headers
      virtio-rng: use standard-headers
      virtio-scsi: use standard-headers
      virtio-serial: switch to standard-headers
      update-linux-headers: use standard-headers
      linux-headers: use standard-headers
      virtio-pci: use standard headers
      scripts: add arch specific standard-headers
      standard-headers: add s390 virtio headers
      s390: use standard headers
      acpi-build: skip hotplugged bridges
      update-linux-headers.sh: s/__inline__/inline/
      virtio-serial-bus.c: drop virtio_ids.h
      standard-headers: include stdint.h
      virtio_ring.h: s/__inline__/inline/
      acpi: update generated hex files
      acpi: drop unused generated files
      acpi-test: update expected files
      acpi-test-data: update after pci rewrite
      Makefile.target: binary depends on config-devices
      acpi: update generated files
      aml-build: fix build for glib < 2.22
      acpi: update generated files

Peter Krempa (2):
      vl.c: Fix error messages when parsing maxmem parameters
      pc: memory: Validate alignment of maxram_size to page size

Stefan Berger (5):
      tpm: Extend sts register to 32 bit
      tpm: Allow 32 & 16 bit accesses to the registers
      tpm: Support for XFIFO register
      tpm: Support for TIS selftest done flag
      tpm: Support for capability flags of TIS 1.3

Tang Chen (6):
      acpi, pc: Add hotunplug request cb for pc machine.
      acpi, ich9: Add hotunplug request cb for ich9.
      acpi, pc: Add unplug cb for pc machine.
      acpi, ich9: Add unplug cb for ich9.
      acpi, piix4: Add unplug cb for piix4.
      acpi, mem-hotplug: use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb().

 Makefile.target                                    |    4 +-
 hw/9pfs/virtio-9p.h                                |   18 +-
 hw/net/pcnet.h                                     |    2 +-
 hw/s390x/s390-virtio-bus.h                         |   36 +-
 hw/s390x/s390-virtio.h                             |    7 +-
 hw/tpm/tpm_int.h                                   |    1 +
 hw/tpm/tpm_tis.h                                   |    2 +-
 include/hw/acpi/aml-build.h                        |  191 ++++
 include/hw/acpi/ich9.h                             |    4 +
 include/hw/acpi/pc-hotplug.h                       |    1 +
 include/hw/acpi/pcihp.h                            |    7 +-
 include/hw/i386/pc.h                               |    1 +
 include/hw/isa/isa.h                               |   11 +-
 include/hw/pci/pci.h                               |   10 +-
 include/hw/qdev-properties.h                       |    4 +-
 include/hw/virtio/dataplane/vring-accessors.h      |    2 +-
 include/hw/virtio/dataplane/vring.h                |    2 +-
 include/hw/virtio/virtio-balloon.h                 |   35 +-
 include/hw/virtio/virtio-blk.h                     |   77 +-
 include/hw/virtio/virtio-bus.h                     |    3 -
 include/hw/virtio/virtio-net.h                     |  151 +--
 include/hw/virtio/virtio-rng.h                     |    4 +-
 include/hw/virtio/virtio-scsi.h                    |  120 +-
 include/hw/virtio/virtio-serial.h                  |   40 +-
 include/hw/virtio/virtio.h                         |   71 +-
 include/net/tap.h                                  |   24 +-
 include/standard-headers/asm-s390/kvm_virtio.h     |   64 ++
 include/standard-headers/asm-s390/virtio-ccw.h     |   21 +
 include/standard-headers/linux/if_ether.h          |    1 +
 include/standard-headers/linux/types.h             |    2 +
 include/standard-headers/linux/virtio_9p.h         |   44 +
 include/standard-headers/linux/virtio_balloon.h    |   59 +
 include/standard-headers/linux/virtio_blk.h        |  143 +++
 include/standard-headers/linux/virtio_config.h     |   64 ++
 include/standard-headers/linux/virtio_console.h    |   78 ++
 include/standard-headers/linux/virtio_ids.h        |   43 +
 include/standard-headers/linux/virtio_net.h        |  233 ++++
 include/standard-headers/linux/virtio_pci.h        |  193 ++++
 .../linux}/virtio_ring.h                           |  132 +--
 include/standard-headers/linux/virtio_rng.h        |    8 +
 include/standard-headers/linux/virtio_scsi.h       |  164 +++
 include/standard-headers/linux/virtio_types.h      |   46 +
 include/sysemu/blockdev.h                          |    2 -
 include/sysemu/sysemu.h                            |    5 -
 include/sysemu/tpm_backend.h                       |    2 +-
 linux-headers/linux/virtio_config.h                |   58 +-
 linux-headers/linux/virtio_ring.h                  |  164 +--
 device-hotplug.c                                   |    7 +-
 exec.c                                             |    2 +
 hw/9pfs/virtio-9p-device.c                         |    2 +-
 hw/acpi/aml-build.c                                |  889 +++++++++++++++
 hw/acpi/bios-linker-loader.c                       |    4 +-
 hw/acpi/ich9.c                                     |   14 +
 hw/acpi/memory_hotplug.c                           |    3 +-
 hw/acpi/pcihp.c                                    |   18 +-
 hw/acpi/piix4.c                                    |   15 +-
 hw/audio/ac97.c                                    |    5 +-
 hw/audio/es1370.c                                  |    5 +-
 hw/audio/intel-hda.c                               |    6 +-
 hw/block/virtio-blk.c                              |   31 +-
 hw/char/serial-pci.c                               |   22 +-
 hw/char/virtio-serial-bus.c                        |    4 +-
 hw/core/qdev-properties.c                          |   21 +-
 hw/core/qdev.c                                     |    8 +-
 hw/display/cirrus_vga.c                            |   11 +-
 hw/display/qxl.c                                   |   36 +-
 hw/display/vga-pci.c                               |   11 +-
 hw/display/vmware_vga.c                            |    6 +-
 hw/i2c/smbus_ich9.c                                |    5 +-
 hw/i386/acpi-build.c                               | 1179 +++++++++-----------
 hw/i386/kvm/pci-assign.c                           |   10 +-
 hw/i386/pc.c                                       |   23 +
 hw/i386/pc_piix.c                                  |    3 +
 hw/i386/pc_q35.c                                   |    3 +
 hw/ide/cmd646.c                                    |    5 +-
 hw/ide/ich.c                                       |   13 +-
 hw/ide/piix.c                                      |   10 +-
 hw/ide/via.c                                       |    6 +-
 hw/ipack/tpci200.c                                 |    6 +-
 hw/isa/i82378.c                                    |    6 +-
 hw/isa/lpc_ich9.c                                  |   14 +-
 hw/isa/piix4.c                                     |    5 +-
 hw/isa/vt82c686.c                                  |   24 +-
 hw/misc/applesmc.c                                 |    5 +-
 hw/misc/pci-testdev.c                              |    6 +-
 hw/net/e1000.c                                     |    6 +-
 hw/net/eepro100.c                                  |    6 +-
 hw/net/lance.c                                     |    3 +-
 hw/net/ne2000.c                                    |    6 +-
 hw/net/pcnet-pci.c                                 |    6 +-
 hw/net/pcnet.c                                     |    4 +-
 hw/net/rtl8139.c                                   |    6 +-
 hw/net/vhost_net.c                                 |    2 +-
 hw/net/virtio-net.c                                |   57 +-
 hw/net/vmxnet3.c                                   |    6 +-
 hw/pci-bridge/dec.c                                |    5 +-
 hw/pci-host/apb.c                                  |    5 +-
 hw/pci-host/bonito.c                               |    6 +-
 hw/pci-host/grackle.c                              |    5 +-
 hw/pci-host/piix.c                                 |   12 +-
 hw/pci-host/ppce500.c                              |    6 +-
 hw/pci-host/prep.c                                 |    6 +-
 hw/pci-host/q35.c                                  |    5 +-
 hw/pci-host/uninorth.c                             |   20 +-
 hw/pci-host/versatile.c                            |    5 +-
 hw/pci/pci-hotplug-old.c                           |  342 ------
 hw/pci/pci.c                                       |  127 ++-
 hw/s390x/virtio-ccw.c                              |   12 +-
 hw/scsi/virtio-scsi.c                              |    9 +-
 hw/sd/sdhci.c                                      |    5 +-
 hw/tpm/tpm_passthrough.c                           |   37 +-
 hw/tpm/tpm_tis.c                                   |  131 ++-
 hw/usb/hcd-ehci-pci.c                              |    6 +-
 hw/usb/hcd-xhci.c                                  |    6 +-
 hw/virtio/dataplane/vring.c                        |   10 +-
 hw/virtio/virtio-balloon.c                         |    2 +-
 hw/virtio/virtio-bus.c                             |   14 -
 hw/virtio/virtio-mmio.c                            |    2 +-
 hw/virtio/virtio-pci.c                             |   63 +-
 hw/virtio/virtio.c                                 |   33 +-
 hw/watchdog/wdt_i6300esb.c                         |    6 +-
 net/vhost-user.c                                   |   16 +-
 stubs/pci-drive-hot-add.c                          |   10 -
 tests/bios-tables-test.c                           |   45 +-
 vl.c                                               |   34 +-
 default-configs/i386-softmmu.mak                   |    1 -
 default-configs/x86_64-softmmu.mak                 |    1 -
 hmp-commands.hx                                    |   32 -
 hw/acpi/Makefile.objs                              |    1 +
 hw/i386/Makefile.objs                              |    4 +-
 hw/i386/acpi-dsdt-cpu-hotplug.dsl                  |   17 +-
 hw/i386/acpi-dsdt-isa.dsl                          |   11 -
 hw/i386/acpi-dsdt-mem-hotplug.dsl                  |   36 +-
 hw/i386/acpi-dsdt-pci-crs.dsl                      |   92 --
 hw/i386/acpi-dsdt.dsl                              |   46 -
 hw/i386/acpi-dsdt.hex.generated                    |  710 +-----------
 hw/i386/q35-acpi-dsdt.dsl                          |   19 -
 hw/i386/q35-acpi-dsdt.hex.generated                |  658 +----------
 hw/i386/ssdt-mem.dsl                               |   77 --
 hw/i386/ssdt-mem.hex.generated                     |  213 ----
 hw/i386/ssdt-misc.dsl                              |  122 --
 hw/i386/ssdt-misc.hex.generated                    |  399 -------
 hw/i386/ssdt-pcihp.dsl                             |  100 --
 hw/i386/ssdt-pcihp.hex.generated                   |  251 -----
 hw/i386/ssdt-proc.dsl                              |   63 --
 hw/i386/ssdt-proc.hex.generated                    |  134 ---
 hw/i386/ssdt-tpm.hex.generated                     |    6 +-
 hw/pci/Makefile.objs                               |    2 -
 scripts/update-linux-headers.sh                    |   52 +-
 stubs/Makefile.objs                                |    1 -
 tests/acpi-test-data/pc/DSDT                       |  Bin 3621 -> 2970 bytes
 tests/acpi-test-data/pc/SSDT                       |  Bin 2279 -> 2476 bytes
 tests/acpi-test-data/pc/SSDT.bridge                |  Bin 0 -> 4335 bytes
 tests/acpi-test-data/q35/DSDT                      |  Bin 8211 -> 7608 bytes
 tests/acpi-test-data/q35/SSDT                      |  Bin 560 -> 681 bytes
 tests/acpi-test-data/q35/SSDT.bridge               |  Bin 0 -> 698 bytes
 156 files changed, 3622 insertions(+), 5310 deletions(-)
 create mode 100644 include/hw/acpi/aml-build.h
 create mode 100644 include/standard-headers/asm-s390/kvm_virtio.h
 create mode 100644 include/standard-headers/asm-s390/virtio-ccw.h
 create mode 100644 include/standard-headers/linux/if_ether.h
 create mode 100644 include/standard-headers/linux/types.h
 create mode 100644 include/standard-headers/linux/virtio_9p.h
 create mode 100644 include/standard-headers/linux/virtio_balloon.h
 create mode 100644 include/standard-headers/linux/virtio_blk.h
 create mode 100644 include/standard-headers/linux/virtio_config.h
 create mode 100644 include/standard-headers/linux/virtio_console.h
 create mode 100644 include/standard-headers/linux/virtio_ids.h
 create mode 100644 include/standard-headers/linux/virtio_net.h
 create mode 100644 include/standard-headers/linux/virtio_pci.h
 rename include/{hw/virtio => standard-headers/linux}/virtio_ring.h (61%)
 create mode 100644 include/standard-headers/linux/virtio_rng.h
 create mode 100644 include/standard-headers/linux/virtio_scsi.h
 create mode 100644 include/standard-headers/linux/virtio_types.h
 create mode 100644 hw/acpi/aml-build.c
 delete mode 100644 hw/pci/pci-hotplug-old.c
 delete mode 100644 stubs/pci-drive-hot-add.c
 delete mode 100644 hw/i386/acpi-dsdt-pci-crs.dsl
 delete mode 100644 hw/i386/ssdt-mem.dsl
 delete mode 100644 hw/i386/ssdt-mem.hex.generated
 delete mode 100644 hw/i386/ssdt-misc.dsl
 delete mode 100644 hw/i386/ssdt-misc.hex.generated
 delete mode 100644 hw/i386/ssdt-pcihp.dsl
 delete mode 100644 hw/i386/ssdt-pcihp.hex.generated
 delete mode 100644 hw/i386/ssdt-proc.dsl
 delete mode 100644 hw/i386/ssdt-proc.hex.generated
 create mode 100644 tests/acpi-test-data/pc/SSDT.bridge
 create mode 100644 tests/acpi-test-data/q35/SSDT.bridge

Comments

Markus Armbruster March 6, 2015, 2:27 p.m. UTC | #1
"Michael S. Tsirkin" <mst@redhat.com> writes:

> Sorry about all the problems.
> Same as v4, but updated generated files for non-iasl systems.
> Not re-sending the patches therefore.
>
> The following changes since commit 11d39a131020cc5c54ff9bc86d3259f7d32bf849:
>
>   Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20150218' into staging (2015-02-26 09:08:54 +0000)
>
> 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 09d219a31cf87ed98150c0a9e772e54f470f2a01:
>
>   acpi: update generated files (2015-03-04 16:05:32 +0100)

I tried to base work on this branch, and ran into trouble:

    $ git-checkout master
    error: The following untracked working tree files would be overwritten by checkout:
            hw/i386/acpi-dsdt-pci-crs.dsl
            hw/i386/ssdt-mem.dsl
            hw/i386/ssdt-mem.hex.generated
            hw/i386/ssdt-misc.dsl
            hw/i386/ssdt-misc.hex.generated
            hw/i386/ssdt-pcihp.dsl
            hw/i386/ssdt-pcihp.hex.generated
            hw/i386/ssdt-proc.dsl
            hw/i386/ssdt-proc.hex.generated
            include/hw/virtio/virtio_ring.h
            stubs/pci-drive-hot-add.c
    Please move or remove them before you can switch branches.
    Aborting

It looks like we now generate a bunch of files that used to be
git-controlled.  The "generate" part is fine.  But generating into the
source tree is asking for trouble.

What happens when I build separate build trees in parallel?

Why is it a good idea to generate into the source tree instead of the
build tree?
Peter Maydell March 6, 2015, 2:37 p.m. UTC | #2
On 6 March 2015 at 23:27, Markus Armbruster <armbru@redhat.com> wrote:
> It looks like we now generate a bunch of files that used to be
> git-controlled.  The "generate" part is fine.  But generating into the
> source tree is asking for trouble.
>
> What happens when I build separate build trees in parallel?
>
> Why is it a good idea to generate into the source tree instead of the
> build tree?

That sounds like a bug to me...

-- PMM
Markus Armbruster March 6, 2015, 2:46 p.m. UTC | #3
Peter Maydell <peter.maydell@linaro.org> writes:

> On 6 March 2015 at 23:27, Markus Armbruster <armbru@redhat.com> wrote:
>> It looks like we now generate a bunch of files that used to be
>> git-controlled.  The "generate" part is fine.  But generating into the
>> source tree is asking for trouble.
>>
>> What happens when I build separate build trees in parallel?
>>
>> Why is it a good idea to generate into the source tree instead of the
>> build tree?
>
> That sounds like a bug to me...

Discussing whether it is may take time, fixing it may take more time.
Michael, please split up your pull request, to avoid blocking the parts
that are actually ready for merge.
Igor Mammedov March 6, 2015, 3:02 p.m. UTC | #4
On Fri, 06 Mar 2015 15:27:07 +0100
Markus Armbruster <armbru@redhat.com> wrote:

> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > Sorry about all the problems.
> > Same as v4, but updated generated files for non-iasl systems.
> > Not re-sending the patches therefore.
> >
> > The following changes since commit 11d39a131020cc5c54ff9bc86d3259f7d32bf849:
> >
> >   Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20150218' into staging (2015-02-26 09:08:54 +0000)
> >
> > 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 09d219a31cf87ed98150c0a9e772e54f470f2a01:
> >
> >   acpi: update generated files (2015-03-04 16:05:32 +0100)
> 
> I tried to base work on this branch, and ran into trouble:
> 
>     $ git-checkout master
>     error: The following untracked working tree files would be overwritten by checkout:
>             hw/i386/acpi-dsdt-pci-crs.dsl
>             hw/i386/ssdt-mem.dsl
>             hw/i386/ssdt-mem.hex.generated
>             hw/i386/ssdt-misc.dsl
>             hw/i386/ssdt-misc.hex.generated
>             hw/i386/ssdt-pcihp.dsl
>             hw/i386/ssdt-pcihp.hex.generated
>             hw/i386/ssdt-proc.dsl
>             hw/i386/ssdt-proc.hex.generated
Above files are being removed from source tree by commits in this pull request
none of them should exist after pull request applied


>             include/hw/virtio/virtio_ring.h
>             stubs/pci-drive-hot-add.c
>     Please move or remove them before you can switch branches.
>     Aborting
I can't really tell why git is complaining about removed files.

> It looks like we now generate a bunch of files that used to be
> git-controlled.  The "generate" part is fine.  But generating into the
> source tree is asking for trouble.
> 
> What happens when I build separate build trees in parallel?
> 
> Why is it a good idea to generate into the source tree instead of the
> build tree?
Markus Armbruster March 6, 2015, 4:15 p.m. UTC | #5
Igor Mammedov <imammedo@redhat.com> writes:

> On Fri, 06 Mar 2015 15:27:07 +0100
> Markus Armbruster <armbru@redhat.com> wrote:
>
>> "Michael S. Tsirkin" <mst@redhat.com> writes:
>> 
>> > Sorry about all the problems.
>> > Same as v4, but updated generated files for non-iasl systems.
>> > Not re-sending the patches therefore.
>> >
>> > The following changes since commit 11d39a131020cc5c54ff9bc86d3259f7d32bf849:
>> >
>> >   Merge remote-tracking branch
>> > remotes/borntraeger/tags/s390x-20150218' into staging (2015-02-26
>> > 09:08:54 +0000)
>> >
>> > 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 09d219a31cf87ed98150c0a9e772e54f470f2a01:
>> >
>> >   acpi: update generated files (2015-03-04 16:05:32 +0100)
>> 
>> I tried to base work on this branch, and ran into trouble:
>> 
>>     $ git-checkout master
>>     error: The following untracked working tree files would be overwritten by checkout:
>>             hw/i386/acpi-dsdt-pci-crs.dsl
>>             hw/i386/ssdt-mem.dsl
>>             hw/i386/ssdt-mem.hex.generated
>>             hw/i386/ssdt-misc.dsl
>>             hw/i386/ssdt-misc.hex.generated
>>             hw/i386/ssdt-pcihp.dsl
>>             hw/i386/ssdt-pcihp.hex.generated
>>             hw/i386/ssdt-proc.dsl
>>             hw/i386/ssdt-proc.hex.generated
> Above files are being removed from source tree by commits in this pull request
> none of them should exist after pull request applied

They did after merging the pull request locally, resolving the trivial
conflict with "git-rm hw/pci/pci-hotplug-old.c", running make (fail),
blowing away the build tree, running make again (success), git-commit
-a.

Except I can't reproduce it now.  I have no idea what freak accident put
them in my source tree.

Sorry for the noise.

[...]
Michael S. Tsirkin March 7, 2015, 5:49 p.m. UTC | #6
On Fri, Mar 06, 2015 at 03:27:07PM +0100, Markus Armbruster wrote:
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > Sorry about all the problems.
> > Same as v4, but updated generated files for non-iasl systems.
> > Not re-sending the patches therefore.
> >
> > The following changes since commit 11d39a131020cc5c54ff9bc86d3259f7d32bf849:
> >
> >   Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20150218' into staging (2015-02-26 09:08:54 +0000)
> >
> > 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 09d219a31cf87ed98150c0a9e772e54f470f2a01:
> >
> >   acpi: update generated files (2015-03-04 16:05:32 +0100)
> 
> I tried to base work on this branch, and ran into trouble:
> 
>     $ git-checkout master
>     error: The following untracked working tree files would be overwritten by checkout:
>             hw/i386/acpi-dsdt-pci-crs.dsl
>             hw/i386/ssdt-mem.dsl
>             hw/i386/ssdt-mem.hex.generated
>             hw/i386/ssdt-misc.dsl
>             hw/i386/ssdt-misc.hex.generated
>             hw/i386/ssdt-pcihp.dsl
>             hw/i386/ssdt-pcihp.hex.generated
>             hw/i386/ssdt-proc.dsl
>             hw/i386/ssdt-proc.hex.generated
>             include/hw/virtio/virtio_ring.h
>             stubs/pci-drive-hot-add.c
>     Please move or remove them before you can switch branches.
>     Aborting
> 
> It looks like we now generate a bunch of files that used to be
> git-controlled.  The "generate" part is fine.  But generating into the
> source tree is asking for trouble.
>
> What happens when I build separate build trees in parallel?
> 
> Why is it a good idea to generate into the source tree instead of the
> build tree?

I don't know what you did that caused this.
This isn't what's going on AFAIK. There are no new generated files.
Michael S. Tsirkin March 7, 2015, 5:51 p.m. UTC | #7
On Fri, Mar 06, 2015 at 11:37:49PM +0900, Peter Maydell wrote:
> On 6 March 2015 at 23:27, Markus Armbruster <armbru@redhat.com> wrote:
> > It looks like we now generate a bunch of files that used to be
> > git-controlled.  The "generate" part is fine.  But generating into the
> > source tree is asking for trouble.
> >
> > What happens when I build separate build trees in parallel?
> >
> > Why is it a good idea to generate into the source tree instead of the
> > build tree?
> 
> That sounds like a bug to me...
> 
> -- PMM

I just switched between master and my pull several times
without ill effects.
Michael S. Tsirkin March 7, 2015, 6 p.m. UTC | #8
On Fri, Mar 06, 2015 at 05:15:59PM +0100, Markus Armbruster wrote:
> Igor Mammedov <imammedo@redhat.com> writes:
> 
> > On Fri, 06 Mar 2015 15:27:07 +0100
> > Markus Armbruster <armbru@redhat.com> wrote:
> >
> >> "Michael S. Tsirkin" <mst@redhat.com> writes:
> >> 
> >> > Sorry about all the problems.
> >> > Same as v4, but updated generated files for non-iasl systems.
> >> > Not re-sending the patches therefore.
> >> >
> >> > The following changes since commit 11d39a131020cc5c54ff9bc86d3259f7d32bf849:
> >> >
> >> >   Merge remote-tracking branch
> >> > remotes/borntraeger/tags/s390x-20150218' into staging (2015-02-26
> >> > 09:08:54 +0000)
> >> >
> >> > 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 09d219a31cf87ed98150c0a9e772e54f470f2a01:
> >> >
> >> >   acpi: update generated files (2015-03-04 16:05:32 +0100)
> >> 
> >> I tried to base work on this branch, and ran into trouble:
> >> 
> >>     $ git-checkout master
> >>     error: The following untracked working tree files would be overwritten by checkout:
> >>             hw/i386/acpi-dsdt-pci-crs.dsl
> >>             hw/i386/ssdt-mem.dsl
> >>             hw/i386/ssdt-mem.hex.generated
> >>             hw/i386/ssdt-misc.dsl
> >>             hw/i386/ssdt-misc.hex.generated
> >>             hw/i386/ssdt-pcihp.dsl
> >>             hw/i386/ssdt-pcihp.hex.generated
> >>             hw/i386/ssdt-proc.dsl
> >>             hw/i386/ssdt-proc.hex.generated
> > Above files are being removed from source tree by commits in this pull request
> > none of them should exist after pull request applied
> 
> They did after merging the pull request locally, resolving the trivial
> conflict with "git-rm hw/pci/pci-hotplug-old.c", running make (fail),
> blowing away the build tree, running make again (success), git-commit
> -a.
> 
> Except I can't reproduce it now.  I have no idea what freak accident put
> them in my source tree.
> 
> Sorry for the noise.
> 
> [...]

OK, good to know.
So I'm not redoing the pull request, waiting for Peter to apply this
one.
Michael S. Tsirkin March 7, 2015, 6:17 p.m. UTC | #9
On Fri, Mar 06, 2015 at 11:37:49PM +0900, Peter Maydell wrote:
> On 6 March 2015 at 23:27, Markus Armbruster <armbru@redhat.com> wrote:
> > It looks like we now generate a bunch of files that used to be
> > git-controlled.  The "generate" part is fine.  But generating into the
> > source tree is asking for trouble.
> >
> > What happens when I build separate build trees in parallel?
> >
> > Why is it a good idea to generate into the source tree instead of the
> > build tree?
> 
> That sounds like a bug to me...
> 
> -- PMM

OK Markus now confirmed this wasn't (necessarily) triggered
by these patches. So nothing should block this pull request now?
Peter Maydell March 8, 2015, 12:15 a.m. UTC | #10
On 8 March 2015 at 03:17, Michael S. Tsirkin <mst@redhat.com> wrote:
> OK Markus now confirmed this wasn't (necessarily) triggered
> by these patches. So nothing should block this pull request now?

Fails to build with clang:

/home/petmay01/linaro/qemu-for-merges/hw/i386/acpi-build.c:471:20:
error: unused function 'acpi_get_hex' [-Werror,-Wunused-function]
static inline char acpi_get_hex(uint32_t val)
                   ^
1 error generated.

-- PMM
Michael S. Tsirkin March 8, 2015, 10:45 a.m. UTC | #11
On Sun, Mar 08, 2015 at 09:15:41AM +0900, Peter Maydell wrote:
> On 8 March 2015 at 03:17, Michael S. Tsirkin <mst@redhat.com> wrote:
> > OK Markus now confirmed this wasn't (necessarily) triggered
> > by these patches. So nothing should block this pull request now?
> 
> Fails to build with clang:
> 
> /home/petmay01/linaro/qemu-for-merges/hw/i386/acpi-build.c:471:20:
> error: unused function 'acpi_get_hex' [-Werror,-Wunused-function]
> static inline char acpi_get_hex(uint32_t val)
>                    ^
> 1 error generated.
> 
> -- PMM

I can drop this one as a work around but I wonder why is clang warning
about unused static inlines.

We have a ton of these in each header and it doesn't warn,
in theory static inline should be same as macro: harmless
unless used.

Any idea?
Peter Maydell March 8, 2015, 12:26 p.m. UTC | #12
On 8 March 2015 at 19:45, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Sun, Mar 08, 2015 at 09:15:41AM +0900, Peter Maydell wrote:
> I can drop this one as a work around but I wonder why is clang warning
> about unused static inlines.
>
> We have a ton of these in each header and it doesn't warn,
> in theory static inline should be same as macro: harmless
> unless used.

It warns about them in .c files but not .h files.

-- PMM
Michael S. Tsirkin March 8, 2015, 12:41 p.m. UTC | #13
On Sun, Mar 08, 2015 at 09:26:17PM +0900, Peter Maydell wrote:
> On 8 March 2015 at 19:45, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Sun, Mar 08, 2015 at 09:15:41AM +0900, Peter Maydell wrote:
> > I can drop this one as a work around but I wonder why is clang warning
> > about unused static inlines.
> >
> > We have a ton of these in each header and it doesn't warn,
> > in theory static inline should be same as macro: harmless
> > unless used.
> 
> It warns about them in .c files but not .h files.
> 
> -- PMM

What a strange thing to do, seems to mix up concepts from
preprocessor and compiler stages.
Anyway, I sent pull v6 adding a patch to drop this.
It's just a warning, and I'm guessing full bisectability
with clang isn't that important, so not rebasing because
of this.