mbox

[PULL,000/103] pc, pci, virtio, hotplug fixes, enhancements for 2.1

Message ID 1403021756-15960-1-git-send-email-mst@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 June 17, 2014, 5:36 p.m. UTC
The following changes since commit 50809c8b9288a9bfe1fdec926b7ef985608a7ea6:

  Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging (2014-06-05 23:05:07 +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 06d746ea91af349148b67a99ae9b765ea24cab1e:

  qmp: add ACPI_DEVICE_OST event handling (2014-06-17 18:31:13 +0300)

----------------------------------------------------------------
pc,pci,virtio,hotplug fixes, enhancements

numa work by Hu Tao and others
memory hotplug by Igor
vhost-user by Nikolay, Antonios and others
guest virtio announcements by Jason
qtest fixes by Sergey
qdev hotplug fixes by Paolo
misc other fixes

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

----------------------------------------------------------------
Hu Tao (10):
      Introduce signed range.
      qom: introduce object_property_get_enum and object_property_get_uint16List
      backend:hostmem: replace hostmemory with host_memory
      hostmem: separate allocation from UserCreatable complete method
      hostmem: add properties for NUMA memory policy
      qmp: add query-memdev
      hmp: add info memdev
      tests: fix memory leak in test of string input visitor
      qapi: make string input visitor parse int list
      qapi: make string output visitor parse int list

Igor Mammedov (40):
      pc: create custom generic PC machine type
      pc: ACPI BIOS: use enum for defining memory affinity flags
      object_add: allow completion handler to get canonical path
      vl.c: daemonize before guest memory allocation
      add memdev backend infrastructure
      vl.c: extend -m option to support options for memory hotplug
      qdev: hotplug for buss-less devices
      qdev: expose DeviceState.hotplugged field as a property
      memory: add memory_region_is_mapped() API
      pc-dimm: do not allow to set already used memdev
      pc: initialize memory hotplug address space
      pc: exit QEMU if number of slots more than supported 256
      pc: add 'etc/reserved-memory-end' fw_cfg interface for SeaBIOS
      pc: exit QEMU if compat machine doesn't support memory hotlpug
      pc: add memory hotplug handler to PC_MACHINE
      pc-dimm: add busy address check and address auto-allocation
      pc-dimm: add busy slot check and slot auto-allocation
      acpi: rename cpu_hotplug_defs.h to pc-hotplug.h
      acpi: memory hotplug ACPI hardware implementation
      trace: add acpi memory hotplug IO region events
      trace: pc: add PC_DIMM slot & address allocation
      acpi:piix4: allow plug/unlug callbacks handle not only PCI devices
      acpi:piix4: add memory hotplug handling
      pc: ich9 lpc: make it work with global/compat properties
      acpi:ich9: add memory hotplug handling
      pc: migrate piix4 & ich9 MemHotplugState
      pc: add acpi-device link to PCMachineState
      pc: propagate memory hotplug event to ACPI device
      pc: ACPI BIOS: implement memory hotplug interface
      pc: add "hotplug-memory-region-size" property to PC_MACHINE
      pc: ACPI BIOS: reserve SRAT entry for hotplug mem hole
      pc: ACPI BIOS: make GPE.3 handle memory hotplug event on PIIX and Q35 machines
      pc: q35: acpi: report error to user on unsupported unplug request
      pc: acpi: do not hardcode preprocessor
      numa: handle mmaped memory allocation failure correctly
      qmp: add query-memory-devices command
      acpi: introduce TYPE_ACPI_DEVICE_IF interface
      acpi: implement ospm_status() method for PIIX4/ICH9_LPC devices
      qmp: add query-acpi-ospm-status command
      qmp: add ACPI_DEVICE_OST event handling

Jason Wang (3):
      migration: export SELF_ANNOUNCE_ROUNDS
      migration: introduce self_announce_delay()
      virtio-net: announce self by guest

Luiz Capitulino (1):
      man: improve -numa doc

Markus Armbruster (2):
      virtio: Drop superfluous conditionals around g_free()
      virtio: Drop superfluous conditionals around g_strdup()

Michael S. Tsirkin (5):
      acpi: update generated files
      acpi-test: update expected tables
      ich: get rid of spaces in type name
      qapi: fix build on glib < 2.28
      qmp: clean out whitespace

Nikolay Nikolaev (18):
      Add kvm_eventfds_enabled function
      Add chardev API qemu_chr_fe_read_all
      Add chardev API qemu_chr_fe_set_msgfds
      Add chardev API qemu_chr_fe_get_msgfds
      Add G_IO_HUP handler for socket chardev
      vhost: add vhost_get_features and vhost_ack_features
      vhost_net should call the poll callback only when it is set
      Refactor virtio-net to use generic get_vhost_net
      vhost_net_init will use VhostNetOptions to get all its arguments
      Add vhost_ops to vhost_dev struct and replace all relevant ioctls
      Add vhost-backend and VhostBackendType
      Add vhost-user as a vhost backend.
      vhost-net: vhost-user feature bits support
      Add new vhost-user netdev backend
      Add the vhost-user netdev backend to the command line
      Add vhost-user protocol documentation
      libqemustub: add stubs to be able to use qemu-char.c
      Add qtest for vhost-user

Paolo Bonzini (16):
      qmp: improve error reporting for -object and object-add
      numa: introduce memory_region_allocate_system_memory
      memory: reorganize file-based allocation
      memory: move preallocation code out of exec.c
      memory: move RAM_PREALLOC_MASK to exec.c, rename
      numa: add -numa node,memdev= option
      memory: move mem_path handling to memory_region_allocate_system_memory
      memory: add error propagation to file-based RAM allocation
      vl: redo -object parsing
      pc: pass MachineState to pc_memory_init
      hostmem: add file-based HostMemoryBackend
      hostmem: add merge and dump properties
      hostmem: allow preallocation of any memory region
      hostmem: add property to map memory with MAP_SHARED
      qdev: reorganize error reporting in bus_set_realized
      qdev: recursively unrealize devices when unrealizing bus

Sergey Fedorov (1):
      qtest: fix hex2nib for capital characters

Vasilis Liaskovitis (1):
      pc: implement pc-dimm device abstraction

Wanlong Gao (6):
      NUMA: move numa related code to new file numa.c
      NUMA: check if the total numa memory size is equal to ram_size
      NUMA: Add numa_info structure to contain numa nodes info
      NUMA: convert -numa option to use OptsVisitor
      NUMA: expand MAX_NODES from 64 to 128
      configure: add Linux libnuma detection

 configure                            |  32 ++
 Makefile.target                      |   2 +-
 qapi-schema.json                     | 208 ++++++++-
 hmp.h                                |   1 +
 include/exec/cpu-all.h               |   8 -
 include/exec/cpu-common.h            |   2 +
 include/exec/memory.h                |  41 ++
 include/exec/ram_addr.h              |   4 +
 include/hw/acpi/acpi.h               |   6 +
 include/hw/acpi/acpi_dev_interface.h |  43 ++
 include/hw/acpi/cpu_hotplug.h        |   2 +-
 include/hw/acpi/cpu_hotplug_defs.h   |  32 --
 include/hw/acpi/ich9.h               |   7 +
 include/hw/acpi/memory_hotplug.h     |  38 ++
 include/hw/acpi/pc-hotplug.h         |  56 +++
 include/hw/boards.h                  |  16 +-
 include/hw/i386/ich9.h               |   2 +-
 include/hw/i386/pc.h                 |  79 +++-
 include/hw/mem/pc-dimm.h             |  81 ++++
 include/hw/virtio/vhost-backend.h    |  38 ++
 include/hw/virtio/vhost.h            |  13 +-
 include/hw/virtio/virtio-net.h       |  17 +
 include/migration/vmstate.h          |  10 +
 include/monitor/monitor.h            |   1 +
 include/net/vhost-user.h             |  17 +
 include/net/vhost_net.h              |  11 +-
 include/qemu/osdep.h                 |  12 +
 include/qemu/range.h                 |  72 ++++
 include/qom/object.h                 |  28 ++
 include/sysemu/char.h                |  44 +-
 include/sysemu/cpus.h                |   1 -
 include/sysemu/hostmem.h             |  68 +++
 include/sysemu/kvm.h                 |  11 +
 include/sysemu/sysemu.h              |  18 +-
 net/clients.h                        |   3 +
 backends/hostmem-file.c              | 134 ++++++
 backends/hostmem-ram.c               |  53 +++
 backends/hostmem.c                   | 375 ++++++++++++++++
 cpus.c                               |  14 -
 exec.c                               | 211 +++++----
 hmp.c                                |  36 ++
 hw/9pfs/virtio-9p.c                  |   4 +-
 hw/acpi/acpi_interface.c             |  15 +
 hw/acpi/ich9.c                       |  69 +++
 hw/acpi/memory_hotplug.c             | 245 +++++++++++
 hw/acpi/piix4.c                      |  85 +++-
 hw/core/qdev.c                       |  57 ++-
 hw/i386/acpi-build.c                 |  75 +++-
 hw/i386/pc.c                         | 252 ++++++++++-
 hw/i386/pc_piix.c                    |  59 +--
 hw/i386/pc_q35.c                     |  29 +-
 hw/isa/lpc_ich9.c                    |  38 +-
 hw/mem/pc-dimm.c                     | 281 ++++++++++++
 hw/mips/mips_malta.c                 |   2 +-
 hw/net/vhost_net.c                   | 228 +++++++---
 hw/net/virtio-net.c                  |  98 +++--
 hw/ppc/spapr.c                       |  11 +-
 hw/scsi/vhost-scsi.c                 |  45 +-
 hw/virtio/vhost-backend.c            |  71 +++
 hw/virtio/vhost-user.c               | 342 +++++++++++++++
 hw/virtio/vhost.c                    |  90 ++--
 hw/virtio/virtio.c                   |  16 +-
 kvm-all.c                            |   4 +
 kvm-stub.c                           |   1 +
 memory.c                             |  39 +-
 monitor.c                            |  10 +-
 net/hub.c                            |   1 +
 net/net.c                            |   3 +
 net/tap.c                            |  18 +-
 net/vhost-user.c                     | 258 +++++++++++
 numa.c                               | 369 ++++++++++++++++
 qapi/string-input-visitor.c          | 202 ++++++++-
 qapi/string-output-visitor.c         | 235 +++++++++-
 qemu-char.c                          | 277 ++++++++++--
 qmp.c                                |  44 +-
 qom/object.c                         |  35 ++
 qtest.c                              |   2 +-
 savevm.c                             |   3 +-
 stubs/bdrv-commit-all.c              |   7 +
 stubs/chr-msmouse.c                  |   7 +
 stubs/get-next-serial.c              |   3 +
 stubs/is-daemonized.c                |   7 +
 stubs/machine-init-done.c            |   6 +
 stubs/monitor-init.c                 |   6 +
 stubs/notify-event.c                 |   6 +
 stubs/qmp_pc_dimm_device_list.c      |   7 +
 stubs/vc-init.c                      |   7 +
 tests/test-string-input-visitor.c    |  39 ++
 tests/test-string-output-visitor.c   |  38 +-
 tests/vhost-user-test.c              | 312 ++++++++++++++
 util/oslib-posix.c                   |  73 ++++
 vl.c                                 | 268 +++++-------
 backends/Makefile.objs               |   3 +
 default-configs/i386-softmmu.mak     |   1 +
 default-configs/x86_64-softmmu.mak   |   1 +
 docs/qmp/qmp-events.txt              |  10 +
 docs/specs/acpi_mem_hotplug.txt      |  44 ++
 docs/specs/vhost-user.txt            | 266 ++++++++++++
 hmp-commands.hx                      |   4 +-
 hw/Makefile.objs                     |   1 +
 hw/acpi/Makefile.objs                |   2 +
 hw/i386/Makefile.objs                |   5 +-
 hw/i386/acpi-dsdt.dsl                |   7 +-
 hw/i386/acpi-dsdt.hex.generated      |  31 +-
 hw/i386/q35-acpi-dsdt.dsl            |   7 +-
 hw/i386/q35-acpi-dsdt.hex.generated  |  31 +-
 hw/i386/ssdt-mem.dsl                 |  77 ++++
 hw/i386/ssdt-mem.hex.generated       | 213 +++++++++
 hw/i386/ssdt-misc.dsl                | 164 +++++++
 hw/i386/ssdt-misc.hex.generated      | 811 ++++++++++++++++++++++++++++++++++-
 hw/i386/ssdt-pcihp.hex.generated     |   6 +-
 hw/i386/ssdt-proc.hex.generated      |   6 +-
 hw/mem/Makefile.objs                 |   1 +
 hw/virtio/Makefile.objs              |   2 +-
 net/Makefile.objs                    |   2 +-
 qemu-options.hx                      |  45 +-
 qmp-commands.hx                      |  89 +++-
 stubs/Makefile.objs                  |   9 +
 tests/Makefile                       |   4 +
 tests/acpi-test-data/pc/DSDT         | Bin 4480 -> 4499 bytes
 tests/acpi-test-data/pc/SSDT         | Bin 2269 -> 3065 bytes
 tests/acpi-test-data/q35/DSDT        | Bin 7378 -> 7397 bytes
 tests/acpi-test-data/q35/SSDT        | Bin 550 -> 1346 bytes
 trace-events                         |  17 +
 124 files changed, 7385 insertions(+), 720 deletions(-)
 create mode 100644 include/hw/acpi/acpi_dev_interface.h
 delete mode 100644 include/hw/acpi/cpu_hotplug_defs.h
 create mode 100644 include/hw/acpi/memory_hotplug.h
 create mode 100644 include/hw/acpi/pc-hotplug.h
 create mode 100644 include/hw/mem/pc-dimm.h
 create mode 100644 include/hw/virtio/vhost-backend.h
 create mode 100644 include/net/vhost-user.h
 create mode 100644 include/sysemu/hostmem.h
 create mode 100644 backends/hostmem-file.c
 create mode 100644 backends/hostmem-ram.c
 create mode 100644 backends/hostmem.c
 create mode 100644 hw/acpi/acpi_interface.c
 create mode 100644 hw/acpi/memory_hotplug.c
 create mode 100644 hw/mem/pc-dimm.c
 create mode 100644 hw/virtio/vhost-backend.c
 create mode 100644 hw/virtio/vhost-user.c
 create mode 100644 net/vhost-user.c
 create mode 100644 numa.c
 create mode 100644 stubs/bdrv-commit-all.c
 create mode 100644 stubs/chr-msmouse.c
 create mode 100644 stubs/get-next-serial.c
 create mode 100644 stubs/is-daemonized.c
 create mode 100644 stubs/machine-init-done.c
 create mode 100644 stubs/monitor-init.c
 create mode 100644 stubs/notify-event.c
 create mode 100644 stubs/qmp_pc_dimm_device_list.c
 create mode 100644 stubs/vc-init.c
 create mode 100644 tests/vhost-user-test.c
 create mode 100644 docs/specs/acpi_mem_hotplug.txt
 create mode 100644 docs/specs/vhost-user.txt
 create mode 100644 hw/i386/ssdt-mem.dsl
 create mode 100644 hw/i386/ssdt-mem.hex.generated
 create mode 100644 hw/mem/Makefile.objs

Comments

Michael S. Tsirkin June 17, 2014, 5:38 p.m. UTC | #1
Update ACPI tables test to match new ACPI tables
after adding the memory hotplug feature.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 tests/acpi-test-data/pc/DSDT  | Bin 4480 -> 4499 bytes
 tests/acpi-test-data/pc/SSDT  | Bin 2269 -> 3065 bytes
 tests/acpi-test-data/q35/DSDT | Bin 7378 -> 7397 bytes
 tests/acpi-test-data/q35/SSDT | Bin 550 -> 1346 bytes
 4 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/tests/acpi-test-data/pc/DSDT b/tests/acpi-test-data/pc/DSDT
index d0bb3de79d2ff98736e8a54e6e8859ab4efeaf03..7ed03fd37effb1b0b2c19f49b5cbff168a29f9bc 100644
GIT binary patch
delta 56
zcmZoro~+E}66_K(S&)H&F=!*#76B$#-pL09(j+D0T@8#GV)R+!gPr07oIMSEJpx>O
MgPr{*>j;Jb0HJUW%K!iX

delta 37
tcmbQN+@Q?m66_MvAjrVLxOXGh76B$Fp2-IU(%9JIeGH5lCff^!006)s3CjQg

diff --git a/tests/acpi-test-data/pc/SSDT b/tests/acpi-test-data/pc/SSDT
index c987fb237925aa532afb3d795ac5a787548e333d..eb2d8b698ce6a3a910a05244a3b6cf80bf818fb9 100644
GIT binary patch
delta 826
zcmZ8fU2D`p6rG`krn7A&ZfqA38u1gQ61!!e-6pG9JF|vNl$Hn+EQ?i?9n$t;@gc4+
zLVaBN;M*em2gKjw59y2Rz4@q%6PTPicg~r)bMJ5SVuMNPMHe+f=(nHjfM$D-Uq4cE
zR|Rg@iN6R(_<?6Azw50Ay})TZEn=vbuoC@`gLG&g4Nmlj)3<ioKOUT>hy7z>2(K5e
z5E$`iKM*0U5yl#ZazkmZGWLuT247=Hth$m>n@pC+s321^WwkgPZK7yFguC2^$%ly}
z;(&sEWyhm>?n<68(UFRZZcoyf3hwTacyz50%MM6hbY8(EUE6xTD5Tq)J4uryzJ-$6
z?8lw+1kcxr0M#U`k8?*6Jv~UM&h68LCh<MoKBd-{2xUa)4D|OSl1ppj{6d;tsdgt;
zyCER&<?66%uOY(Lj@e|+*+W8B7Vxpkk>&qCvtm?ixttBj87kQt+>saXDnP%0cX_8`
z9{?=bb<y50_g)9+YkXA{A>e2Pfcq!_ka3PKDe?$VjEg*u@`-hh9L7^z)0{MOlAc^L
zh&aah#9JC84UG{tx6Ms<<LkzJ(wHmei8&5Q2B|c+83TV+z%>w;a2;->G#-s%jqVuK
zcu@?MMM8&5*xIpfL*oege+@LY)4xjHhgOLe<C|q$RF%^2u#fb6Y^1{T*Bkn2=`WA{
B@=O2#

delta 24
fcmew<epiqyIM^lRE(ZexWBNv}NXE_eELH3PWn%|m

diff --git a/tests/acpi-test-data/q35/DSDT b/tests/acpi-test-data/q35/DSDT
index fc5b9700097d621ac76c59cf2596ead9d61c20a6..2d2bc4adaf54666fe7864e7f39203411b7c308f7 100644
GIT binary patch
delta 56
zcmca)`P7ojCD<k8sSE=Hqv%F1OBp67uF0-4#*&ipt_H>oG5Rd=!A|i3&YlLo9sw@C
L!Onh@>tsRzue1*V

delta 37
tcmaEAdC8K?CD<k8k_-a_W8p?FOBp7Aj>)bv#%yfyJ_g1NlPAiA007YN3IPBB

diff --git a/tests/acpi-test-data/q35/SSDT b/tests/acpi-test-data/q35/SSDT
index 91996387571e32deecfb5e8731fe2e88d6bec65a..778b79bf428b5d7602b7b80c9434e38c79718bb2 100644
GIT binary patch
literal 1346
zcmZWp-%r#)5Z;vo%iaNZM@3>xxWwNWwZ|d)NUyD4q1#)#1u-SrCWd$z4b1@$ya^<l
z;Nyh{-%fM?hyG=pGwmH9_M!deoBd{Ic4sQ39o9z)p?<w-HDsl}AuI_TC4?ZxZ?QhQ
zNi<<dRRHS`AV(GY{oiMrsIDspuBud}Jk!9NK0r8E3GW}G_y{5@SySb)9ECjqFRHSZ
zV}wBju%4p_gB6zxo6km+tSe!;hAT}K9dRa{^-xm{*PeLe@HN9Qs*r^v!#p9;7vVGm
ziWZFy^8-VKnm(&!Xp#gyad)f}lOFk*>#-?)GO$I64iUz^STDQ{L`ahs+M2QgS(;$%
zHJ${a^niRvid}P?+|OVR;08o@eK(7au5=r86j!U8Plx$K?gnoNJIh`8!Z3{`sCNx2
z;ai_~+6R@^&R+6q|3js{wY#(5e!sO#G;aF=9zE375ImrH!r1KP%<$M|4~RaUR@fcy
zpaRP4v3ztmhnf){)V&J48u0QEd4R-*szis=X;8AvxFZ$it}kgsxo54C=<r4+mJUdo
z&N{rLRnb>+Tv|T4*eD@!bO$B<{;zwdF>as498}%uP8yJhuinKpNu#%88b=Rsb&u*#
zcmNl5NuT^^kyM%Qr1>OlYPdSq%~=kIKR(=RxK`uA(qgH`jFZQN6h`o<E<b1e>=|+c
zvwuKNP{<}BMK6P8fQ<~^_naX+4{*TFaC2j@_7=cKf@g{%1Re$g;5ATyz{4PIq!FMN
zjns|mu6~Lf`rByJlq{tr-8*LxdFb=H_Vo_Z&=f&!p)|*Cf4h0PWGofS#1hl;Y72}(
zcm*{9oCNIv&Okyc!JW~aU~qIMm?ydhH-xftxU{I>g{I;3>IEd&N*CAk5ZWZn{kLcv
zTPXR6J(Ptk9v29XMs!>swS-}07o@qi!rw|d-=-y8nC}-vpHkcmNzW48#06mEID;+2
zf$gjq)Dq4Lnk~KTL(g67<~uD$zGC!k%@R$&Y{L{6S916}iH@eEVJJ<R_F%w{=B4rS
YoS;O9e^J$jQ9`gV1ho{53Cj=3Um|f`5C8xG

delta 23
ecmX@awTy);IM^jbjfsJQQEMYtB;(|Imcsx=!3F>T
Peter Maydell June 18, 2014, 2:07 p.m. UTC | #2
On 17 June 2014 18:36, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 50809c8b9288a9bfe1fdec926b7ef985608a7ea6:
>
>   Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging (2014-06-05 23:05:07 +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 06d746ea91af349148b67a99ae9b765ea24cab1e:
>
>   qmp: add ACPI_DEVICE_OST event handling (2014-06-17 18:31:13 +0300)

This has merge conflicts, at least one of which doesn't have
an obviously trivial resolution. mst has agreed to rebase.

thanks
-- PMM