[PATCH 0/4] hw/i386: pass "MachineState.smp.max_cpus" to OVMF

Laszlo Ersek posted 4 patches 4 years, 6 months ago
Test asan passed
Test checkpatch passed
Test FreeBSD passed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191008105259.5378-1-lersek@redhat.com
Maintainers: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Laszlo Ersek <lersek@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Richard Henderson <rth@twiddle.net>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>
hw/core/machine.c    |  2 ++
hw/i386/fw_cfg.c     | 26 ++++++++++++++++++++++++--
hw/i386/fw_cfg.h     | 30 +++++++++++++++++++++++++++++-
hw/i386/pc.c         |  5 +++--
hw/i386/pc_piix.c    |  2 ++
hw/i386/pc_q35.c     |  2 ++
hw/nvram/fw_cfg.c    |  2 +-
include/hw/i386/pc.h |  3 +++
target/i386/cpu.h    |  2 --
9 files changed, 66 insertions(+), 8 deletions(-)
[PATCH 0/4] hw/i386: pass "MachineState.smp.max_cpus" to OVMF
Posted by Laszlo Ersek 4 years, 6 months ago
https://bugzilla.tianocore.org/show_bug.cgi?id=1515

For enabling VCPU hotplug with OVMF, OVMF needs to know the value of
"max_cpus". This quantity is not passed to the firmware currently --
SeaBIOS receives the (exclusive) maximum APICID, which is not useful to
OVMF --, so introduce a new fw_cfg file for this purpose.

Note: when OVMF is built with -D SMM_REQUIRE, this patch series is just
a small building block, towards the full VCPU hotplug feature. However,
when OVMF is built without -D SMM_REQUIRE, this series (together with
the counterpart patch set for OVMF) completes the VCPU hotplug feature:
it allows S3 resume to work with VCPUs hot-plugged previously (at OS
runtime, of course).

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>

Thanks
Laszlo

Laszlo Ersek (4):
  fw_cfg: bump file slots to 40
  target/i386: remove useless enable_compat_apic_id_mode() prototype
  hw/i386: add facility to expose CPU topology over fw-cfg
  hw/i386/pc: expose CPU topology over fw-cfg

 hw/core/machine.c    |  2 ++
 hw/i386/fw_cfg.c     | 26 ++++++++++++++++++++++++--
 hw/i386/fw_cfg.h     | 30 +++++++++++++++++++++++++++++-
 hw/i386/pc.c         |  5 +++--
 hw/i386/pc_piix.c    |  2 ++
 hw/i386/pc_q35.c     |  2 ++
 hw/nvram/fw_cfg.c    |  2 +-
 include/hw/i386/pc.h |  3 +++
 target/i386/cpu.h    |  2 --
 9 files changed, 66 insertions(+), 8 deletions(-)

-- 
2.19.1.3.g30247aa5d201


Re: [PATCH 0/4] hw/i386: pass "MachineState.smp.max_cpus" to OVMF
Posted by no-reply@patchew.org 4 years, 6 months ago
Patchew URL: https://patchew.org/QEMU/20191008105259.5378-1-lersek@redhat.com/



Hi,

This series failed the docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#! /bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-mingw@fedora J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      io/channel-tls.o
  CC      io/channel-watch.o

Encoding error:
'utf-8' codec can't decode byte 0x95 in position 799: invalid start byte
The full traceback has been saved in /tmp/sphinx-err-x00li0bh.log, if you want to report the issue to the developers.
  CC      io/channel-util.o
  CC      io/channel-websock.o
make: *** [Makefile:994: docs/interop/index.html] Error 2
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 662, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=9f05429fd2334f609b3ce170f0bc0879', '-u', '1001', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-pybykcuy/src/docker-src.2019-10-08-10.19.05.32206:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=9f05429fd2334f609b3ce170f0bc0879
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-pybykcuy/src'
make: *** [docker-run-test-mingw@fedora] Error 2

real    4m32.332s
user    0m8.670s


The full log is available at
http://patchew.org/logs/20191008105259.5378-1-lersek@redhat.com/testing.docker-mingw@fedora/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com