OSDN Git Service
Peter Maydell [Fri, 26 Apr 2019 13:30:18 +0000 (14:30 +0100)]
Merge remote-tracking branch 'remotes/ehabkost/tags/machine-next-pull-request' into staging
Machine queue, 2019-04-25
* 4.1 machine-types (Cornelia Huck)
* Support MAP_SYNC on pmem memory backends (Zhang Yi)
* -cpu parsing fixes and cleanups (Eduardo Habkost)
* machine initialization cleanups (Wei Yang, Markus Armbruster)
# gpg: Signature made Thu 25 Apr 2019 18:54:57 BST
# gpg: using RSA key
2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6
* remotes/ehabkost/tags/machine-next-pull-request:
util/mmap-alloc: support MAP_SYNC in qemu_ram_mmap()
linux-headers: add linux/mman.h.
scripts/update-linux-headers: add linux/mman.h
util/mmap-alloc: Add a 'is_pmem' parameter to qemu_ram_mmap
cpu: Fix crash with empty -cpu option
cpu: Rename parse_cpu_model() to parse_cpu_option()
vl: Simplify machine_parse()
vl: Clean up after previous commit
vl.c: allocate TYPE_MACHINE list once during bootup
vl.c: make find_default_machine() local
hw: add compat machines for 4.1
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Fri, 26 Apr 2019 11:54:47 +0000 (12:54 +0100)]
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-
20190425' into staging
- properly detect page size of initial memory
- support for IPL (boot) from ECKD DASD passed through via vfio-ccw
# gpg: Signature made Thu 25 Apr 2019 14:11:18 BST
# gpg: using RSA key
C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
# gpg: issuer "cohuck@redhat.com"
# gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" [unknown]
# gpg: aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" [full]
# gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>" [full]
# gpg: aka "Cornelia Huck <cohuck@kernel.org>" [unknown]
# gpg: aka "Cornelia Huck <cohuck@redhat.com>" [unknown]
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF
* remotes/cohuck/tags/s390x-
20190425:
exec: Introduce qemu_maxrampagesize() and rename qemu_getrampagesize()
s390x/kvm: Configure page size after memory has actually been initialized
pc-bios/s390: Update firmware images
s390-bios: Use control unit type to find bootable devices
s390-bios: Support booting from real dasd device
s390-bios: Add channel command codes/structs needed for dasd-ipl
s390-bios: Use control unit type to determine boot method
s390-bios: Refactor virtio to run channel programs via cio
s390-bios: Factor finding boot device out of virtio code path
s390-bios: Extend find_dev() for non-virtio devices
s390-bios: cio error handling
s390-bios: Support for running format-0/1 channel programs
s390-bios: ptr2u32 and u32toptr
s390-bios: Map low core memory
s390-bios: Decouple channel i/o logic from virtio
s390-bios: Clean up cio.h
s390-bios: decouple common boot logic from virtio
s390-bios: decouple cio setup from virtio
s390 vfio-ccw: Add bootindex property and IPLB data
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Zhang Yi [Mon, 22 Apr 2019 00:48:48 +0000 (08:48 +0800)]
util/mmap-alloc: support MAP_SYNC in qemu_ram_mmap()
When a file supporting DAX is used as vNVDIMM backend, mmap it with
MAP_SYNC flag in addition which can ensure file system metadata
synced in each guest writes to the backend file, without other QEMU
actions (e.g., periodic fsync() by QEMU).
Current, We have below different possible use cases:
1. pmem=on is set, shared=on is set, MAP_SYNC supported:
a: backend is a dax supporting file.
- MAP_SYNC will active.
b: backend is not a dax supporting file.
- mmap will trigger a warning. then MAP_SYNC flag will be ignored
2. The rest of cases:
- we will never pass the MAP_SYNC to mmap2
Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
[ehabkost: Rebased patch to latest code on master]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Tested-by: Wei Yang <richardw.yang@linux.intel.com>
Message-Id: <
20190422004849.26463-2-richardw.yang@linux.intel.com>
[ehabkost: squashed documentation patch]
Message-Id: <
20190422004849.26463-3-richardw.yang@linux.intel.com>
[ehabkost: documentation fixup]
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Pankaj Gupta <pagupta@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Zhang Yi [Fri, 8 Feb 2019 10:11:00 +0000 (18:11 +0800)]
linux-headers: add linux/mman.h.
Update it to 4.20-rc1
Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
Message-Id: <
f9346f1816b940a4231524a84d57a2cac8466ccc.
1549555521.git.yi.z.zhang@linux.intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Zhang Yi [Fri, 8 Feb 2019 10:10:49 +0000 (18:10 +0800)]
scripts/update-linux-headers: add linux/mman.h
Add linux/mman.h,asm/mman.h,asm/mman-common.h to linux-headers,
So we can use more mmap2 flags.
Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
Message-Id: <
f65c78d74859f815aa9c4f97407eb33361a6672c.
1549555521.git.yi.z.zhang@linux.intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Zhang Yi [Fri, 8 Feb 2019 10:10:37 +0000 (18:10 +0800)]
util/mmap-alloc: Add a 'is_pmem' parameter to qemu_ram_mmap
besides the existing 'shared' flags, we are going to add
'is_pmem' to qemu_ram_mmap(), which indicated the memory backend
file is a persist memory.
Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
Reviewed-by: Pankaj Gupta <pagupta@redhat.com>
Message-Id: <
786c46862cfeb253ee0ea2f44d62ffe76edb7fa4.
1549555521.git.yi.z.zhang@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Pankaj Gupta <pagupta@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Eduardo Habkost [Thu, 18 Apr 2019 03:45:01 +0000 (00:45 -0300)]
cpu: Fix crash with empty -cpu option
Fix the following crash:
$ qemu-system-x86_64 -cpu ''
qemu-system-x86_64: qom/cpu.c:291: cpu_class_by_name: \
Assertion `cpu_model && cc->class_by_name' failed.
Regression test script included.
Fixes:
99193d8f2ef5 ("cpu: drop unnecessary NULL check and cpu_common_class_by_name()")
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <
20190418034501.5038-1-ehabkost@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Tested-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Eduardo Habkost [Wed, 17 Apr 2019 02:59:40 +0000 (23:59 -0300)]
cpu: Rename parse_cpu_model() to parse_cpu_option()
The "model[,option...]" string parsed by the function is not just
a CPU model. Rename the function and its argument to indicate it
expects the full "-cpu" option to be provided.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <
20190417025944.16154-2-ehabkost@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Markus Armbruster [Fri, 5 Apr 2019 06:41:21 +0000 (14:41 +0800)]
vl: Simplify machine_parse()
Exploit that argument @name is nerver null. Check is_help_option()
first, because that's what we do elsewhere. If we (foolishly!)
defined a machine named "help", -machine help would now print help
instead of selecting the machine named "help".
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
Message-Id: <
20190405064121.23662-5-richardw.yang@linux.intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Markus Armbruster [Fri, 5 Apr 2019 06:41:20 +0000 (14:41 +0800)]
vl: Clean up after previous commit
Since the previous commit, find_machine() and find_default_machine()
don't have to deallocate on return. This permits further
simplifications.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
Message-Id: <
20190405064121.23662-4-richardw.yang@linux.intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Wei Yang [Fri, 5 Apr 2019 06:41:19 +0000 (14:41 +0800)]
vl.c: allocate TYPE_MACHINE list once during bootup
Now all the functions used to select machine is local and the call flow
looks like below:
select_machine()
find_default_machine()
machine_parse()
find_machine()
All these related function will need a GSList for TYPE_MACHINE.
Currently we allocate this list each time we use it, while this is not
necessary to do so because we don't need to modify this.
This patch make the TYPE_MACHINE list allocation in select_machine and
pass this to its child for use.
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190405064121.23662-3-richardw.yang@linux.intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Wei Yang [Fri, 5 Apr 2019 06:41:18 +0000 (14:41 +0800)]
vl.c: make find_default_machine() local
Function find_default_machine() is introduced by commit
2c8cffa599b7
"vl: make find_default_machine externally visible", and it was used
outside of vl.c until commit
a904410af5f1 "pc_sysfw: remove the rom_only
property".
Commit
a904410af5f1 "pc_sysfw: remove the rom_only property" removed the
only user of find_default_machine() outside vl.c, but neglected to make
it static. Do that now.
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Message-Id: <
20190405064121.23662-2-richardw.yang@linux.intel.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Cornelia Huck [Thu, 11 Apr 2019 10:20:25 +0000 (12:20 +0200)]
hw: add compat machines for 4.1
Add 4.1 machine types for arm/i440fx/q35/s390x/spapr.
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
20190411102025.22559-1-cohuck@redhat.com>
Acked-by: Greg Kurz <groug@kaod.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Cornelia Huck [Thu, 25 Apr 2019 12:08:17 +0000 (14:08 +0200)]
Merge tag 's390-ccw-bios-2019-04-12' into s390-next-staging
Support for booting from a vfio-ccw passthrough dasd device
# gpg: Signature made Fri 12 Apr 2019 01:17:03 PM CEST
# gpg: using RSA key
2ED9D774FE702DB5
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg: aka "Thomas Huth <thuth@redhat.com>" [undefined]
# gpg: aka "Thomas Huth <huth@tuxfamily.org>" [undefined]
# gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown]
* tag 's390-ccw-bios-2019-04-12':
pc-bios/s390: Update firmware images
s390-bios: Use control unit type to find bootable devices
s390-bios: Support booting from real dasd device
s390-bios: Add channel command codes/structs needed for dasd-ipl
s390-bios: Use control unit type to determine boot method
s390-bios: Refactor virtio to run channel programs via cio
s390-bios: Factor finding boot device out of virtio code path
s390-bios: Extend find_dev() for non-virtio devices
s390-bios: cio error handling
s390-bios: Support for running format-0/1 channel programs
s390-bios: ptr2u32 and u32toptr
s390-bios: Map low core memory
s390-bios: Decouple channel i/o logic from virtio
s390-bios: Clean up cio.h
s390-bios: decouple common boot logic from virtio
s390-bios: decouple cio setup from virtio
s390 vfio-ccw: Add bootindex property and IPLB data
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
David Hildenbrand [Wed, 17 Apr 2019 11:31:43 +0000 (13:31 +0200)]
exec: Introduce qemu_maxrampagesize() and rename qemu_getrampagesize()
Rename qemu_getrampagesize() to qemu_minrampagesize(). While at it,
properly rename find_max_supported_pagesize() to
find_min_backend_pagesize().
s390x is actually interested into the maximum ram pagesize, so
introduce and use qemu_maxrampagesize().
Add a TODO, indicating that looking at any mapped memory backends is not
100% correct in some cases.
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <
20190417113143.5551-3-david@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
David Hildenbrand [Wed, 17 Apr 2019 11:31:42 +0000 (13:31 +0200)]
s390x/kvm: Configure page size after memory has actually been initialized
Right now we configure the pagesize quite early, when initializing KVM.
This is long before system memory is actually allocated via
memory_region_allocate_system_memory(), and therefore memory backends
marked as mapped.
Instead, let's configure the maximum page size after initializing
memory in s390_memory_init(). cap_hpage_1m is still properly
configured before creating any CPUs, and therefore before configuring
the CPU model and eventually enabling CMMA.
This is not a fix but rather a preparation for the future, when initial
memory might reside on memory backends (not the case for s390x right now)
We will replace qemu_getrampagesize() soon by a function that will always
return the maximum page size (not the minimum page size, which only
works by pure luck so far, as there are no memory backends).
Acked-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <
20190417113143.5551-2-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Peter Maydell [Wed, 24 Apr 2019 12:19:41 +0000 (13:19 +0100)]
Merge remote-tracking branch 'remotes/lersek/tags/edk2-pull-2019-04-22' into staging
Advance the roms/edk2 submodule to the "edk2-stable201903" release, and
build and capture platform firmware binaries from that release. The
binaries are meant to be used by both end-users and by the "BIOS tables"
unit tests in qtest ("make check").
# gpg: Signature made Mon 22 Apr 2019 19:20:08 BST
# gpg: using RSA key
D39DA71E0D496CFA
# gpg: Good signature from "Laszlo Ersek <lersek@redhat.com>" [marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: F5D9 660F 1BA5 F310 A95A C5E0 466A EAE0 6125 3988
# Subkey fingerprint: B3A5 5D3F 88A8 90ED 2E63 3E8D D39D A71E 0D49 6CFA
* remotes/lersek/tags/edk2-pull-2019-04-22:
MAINTAINERS: add the "EDK2 Firmware" subsystem
Makefile: install the edk2 firmware images and their descriptors
tests: add missing dependency to build QTEST_QEMU_BINARY, round 2
pc-bios: document the edk2 firmware images; add firmware descriptors
pc-bios: add edk2 firmware binaries and variable store templates
roms: build edk2 firmware binaries and variable store templates
roms/Makefile: replace the $(EDK2_EFIROM) target with "edk2-basetools"
roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function
roms/edk2: advance to tag edk2-stable201903
tests/uefi-test-tools/build.sh: work around TianoCore#1607
roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64
roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh"
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Wed, 24 Apr 2019 10:55:48 +0000 (11:55 +0100)]
Merge remote-tracking branch 'remotes/armbru/tags/pull-error-monitor-2019-04-18' into staging
Error reporting & monitor patches for 2019-04-18
# gpg: Signature made Thu 18 Apr 2019 21:40:41 BST
# gpg: using RSA key
3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-error-monitor-2019-04-18: (36 commits)
include: Move fprintf_function to disas/
disas: Rename include/disas/bfd.h back to include/disas/dis-asm.h
monitor: Clean up how monitor_disas() funnels output to monitor
qom/cpu: Simplify how CPUClass:cpu_dump_state() prints
qemu-print: New qemu_fprintf(), qemu_vfprintf()
qom/cpu: Simplify how CPUClass::dump_statistics() prints
target/i386: Simplify how x86_cpu_dump_local_apic_state() prints
target: Clean up how the dump_mmu() print
target: Simplify how the TARGET_cpu_list() print
memory: Clean up how mtree_info() prints
block/qapi: Clean up how we print to monitor or stdout
qsp: Simplify how qsp_report() prints
tcg: Simplify how dump_drift_info() prints
tcg: Simplify how dump_exec_info() prints
tcg: Simplify how dump_opcount_info() prints
trace: Simplify how st_print_trace_file_status() prints
include: Include fprintf-fn.h only where needed
monitor: Simplify how -device/device_add print help
char-pty: Print "char device redirected" message to stdout
char: Make -chardev help print to stdout
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Wed, 24 Apr 2019 09:12:22 +0000 (10:12 +0100)]
Open 4.1 development tree
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Tue, 23 Apr 2019 16:32:17 +0000 (17:32 +0100)]
Update version for v4.0.0 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Markus Armbruster [Wed, 17 Apr 2019 19:18:05 +0000 (21:18 +0200)]
include: Move fprintf_function to disas/
The previous commits have eliminated fprintf_function outside
disassemblers, simplifying code and cleaning up the ugly type-punning
fprintf_function seems to attract. Move fprintf_function to
include/disas/dis-asm.h to reduce the temptation to abuse it.
I considered renaming it to fprintf_ftype (reverting that part of
commit
6e2d864edf5, v0.14.0) to get us closer to binutils, but I
figure the fork is too distant to make this worthwhile.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-18-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:18:04 +0000 (21:18 +0200)]
disas: Rename include/disas/bfd.h back to include/disas/dis-asm.h
Commit
dc99065b5f9 (v0.1.0) added dis-asm.h from binutils.
Commit
43d4145a986 (v0.1.5) inlined bfd.h into dis-asm.h to remove the
dependency on binutils.
Commit
76cad71136b (v1.4.0) moved dis-asm.h to include/disas/bfd.h.
The new name is confusing when you try to match against (pre GPLv3+)
binutils. Rename it back. Keep it in the same directory, of course.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190417191805.28198-17-armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:18:03 +0000 (21:18 +0200)]
monitor: Clean up how monitor_disas() funnels output to monitor
INIT_DISASSEMBLE_INFO() takes an fprintf()-like callback and a FILE *
to pass to it. monitor_disas() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Pass qemu_fprintf() and NULL instead.
monitor_fprintf() is now unused; delete it.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-16-armbru@redhat.com>
[Commit message typo corrected]
Markus Armbruster [Wed, 17 Apr 2019 19:18:02 +0000 (21:18 +0200)]
qom/cpu: Simplify how CPUClass:cpu_dump_state() prints
CPUClass method dump_statistics() takes an fprintf()-like callback and
a FILE * to pass to it. Most callers pass fprintf() and stderr.
log_cpu_state() passes fprintf() and qemu_log_file.
hmp_info_registers() passes monitor_fprintf() and the current monitor
cast to FILE *. monitor_fprintf() casts it right back, and is
otherwise identical to monitor_printf().
The callback gets passed around a lot, which is tiresome. The
type-punning around monitor_fprintf() is ugly.
Drop the callback, and call qemu_fprintf() instead. Also gets rid of
the type-punning, since qemu_fprintf() takes NULL instead of the
current monitor cast to FILE *.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-15-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:18:01 +0000 (21:18 +0200)]
qemu-print: New qemu_fprintf(), qemu_vfprintf()
Code that doesn't want to know about current monitor vs. stdout
vs. stderr takes an fprintf_function callback and a FILE * argument to
pass to it. Actual arguments are either fprintf() and stdout or
stderr, or monitor_fprintf() and the current monitor cast to FILE *.
monitor_fprintf() casts it right back, and is otherwise identical to
monitor_printf(). The type-punning is ugly.
New qemu_fprintf() and qemu_vprintf() address this need without type
punning: they are like fprintf() and vfprintf(), except they print to
the current monitor when passed a null FILE *. The next commits will
put them to use.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-14-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:18:00 +0000 (21:18 +0200)]
qom/cpu: Simplify how CPUClass::dump_statistics() prints
CPUClass method dump_statistics() takes an fprintf()-like callback and
a FILE * to pass to it.
Its only caller hmp_info_cpustats() (via cpu_dump_statistics()) passes
monitor_fprintf() and the current monitor cast to FILE *.
monitor_fprintf() casts it right back, and is otherwise identical to
monitor_printf(). The type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-13-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:59 +0000 (21:17 +0200)]
target/i386: Simplify how x86_cpu_dump_local_apic_state() prints
x86_cpu_dump_local_apic_state() takes an fprintf()-like callback and a
FILE * to pass to it, and so do its helper functions.
Its only caller hmp_info_local_apic() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-12-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:58 +0000 (21:17 +0200)]
target: Clean up how the dump_mmu() print
The various dump_mmu() take an fprintf()-like callback and a FILE * to
pass to it, and so do their helper functions. Passing around callback
and argument is rather tiresome.
Most dump_mmu() are called only by the target's hmp_info_tlb(). These
all pass monitor_printf() cast to fprintf_function and the current
monitor cast to FILE *.
SPARC's dump_mmu() gets also called from target/sparc/ldst_helper.c a
few times #ifdef DEBUG_MMU. These calls pass fprintf() and stdout.
The type-punning is technically undefined behaviour, but works in
practice. Clean up: drop the callback, and call qemu_printf()
instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-11-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:57 +0000 (21:17 +0200)]
target: Simplify how the TARGET_cpu_list() print
The various TARGET_cpu_list() take an fprintf()-like callback and a
FILE * to pass to it. Their callers (vl.c's main() via list_cpus(),
bsd-user/main.c's main(), linux-user/main.c's main()) all pass
fprintf() and stdout. Thus, the flexibility provided by the (rather
tiresome) indirection isn't actually used.
Drop the callback, and call qemu_printf() instead.
Calling printf() would also work, but would make the code unsuitable
for monitor context without making it simpler.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190417191805.28198-10-armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:56 +0000 (21:17 +0200)]
memory: Clean up how mtree_info() prints
mtree_info() takes an fprintf()-like callback and a FILE * to pass to
it, and so do its helper functions. Passing around callback and
argument is rather tiresome.
Its only caller hmp_info_mtree() passes monitor_printf() cast to
fprintf_function and the current monitor cast to FILE *.
The type-punning is technically undefined behaviour, but works in
practice. Clean up: drop the callback, and call qemu_printf()
instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-9-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:55 +0000 (21:17 +0200)]
block/qapi: Clean up how we print to monitor or stdout
bdrv_snapshot_dump(), bdrv_image_info_specific_dump(),
bdrv_image_info_dump() and their helpers take an fprintf()-like
callback and a FILE * to pass to it.
hmp.c passes monitor_printf() cast to fprintf_function and the current
monitor cast to FILE *.
qemu-img.c and qemu-io-cmds.c pass fprintf and stdout.
The type-punning is technically undefined behaviour, but works in
practice. Clean up: drop the callback, and call qemu_printf()
instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-8-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:54 +0000 (21:17 +0200)]
qsp: Simplify how qsp_report() prints
qsp_report() takes an fprintf()-like callback and a FILE * to pass to
it.
Its only caller hmp_sync_profile() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-7-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:53 +0000 (21:17 +0200)]
tcg: Simplify how dump_drift_info() prints
dump_drift_info() takes an fprintf()-like callback and a FILE * to pass
to it.
Its only caller hmp_info_jit() passes monitor_fprintf() and a Monitor
* cast to FILE *. monitor_fprintf() casts it right back, and is
otherwise identical to monitor_printf(). The type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-6-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:52 +0000 (21:17 +0200)]
tcg: Simplify how dump_exec_info() prints
dump_exec_info() takes an fprintf()-like callback and a FILE * to pass
to it.
Its only caller hmp_info_jit() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-5-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:51 +0000 (21:17 +0200)]
tcg: Simplify how dump_opcount_info() prints
dump_opcount_info() takes an fprintf()-like callback and a FILE * to
pass to it.
Its only caller hmp_info_opcount() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-4-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:50 +0000 (21:17 +0200)]
trace: Simplify how st_print_trace_file_status() prints
st_print_trace_file_status() takes an fprintf()-like callback and a
FILE * to pass to it.
Its only caller hmp_trace_file() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-3-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:17:49 +0000 (21:17 +0200)]
include: Include fprintf-fn.h only where needed
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417191805.28198-2-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:41 +0000 (21:06 +0200)]
monitor: Simplify how -device/device_add print help
Commit
a95db58f210 added monitor_vfprintf() as an error_printf()
generalized from stderr to arbitrary streams, then used it wrapped in
helper out_printf() to print -device/device_add help to stdout. Use
qemu_printf() instead, and delete monitor_vfprintf() and out_printf().
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417190641.26814-16-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:40 +0000 (21:06 +0200)]
char-pty: Print "char device redirected" message to stdout
char_pty_open() prints a "char device redirected to PTY_NAME (label
LABEL)" message to the current monitor or else to stderr. This is not
an error, so it shouldn't go to stderr. Print it to stdout instead.
Why is it even printed? No other ChardevClass::open() prints anything
on success. It's because you need to know PTY_NAME to actually use
this char device, e.g. like e.g. "socat STDIO,cfmakeraw FILE:PTY_NAME"
to use the monitor's readline interface. You can get PTY_NAME with
"info chardev" (a.k.a. query-chardev for QMP), but only if you already
have a monitor.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190417190641.26814-15-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:39 +0000 (21:06 +0200)]
char: Make -chardev help print to stdout
Command line help explicitly requested by the user should be printed
to stdout, not stderr. We do elsewhere. Adjust -chardev to match:
use qemu_printf() instead of error_printf(). Plain printf() would be
wrong because we need to print to the current monitor for "chardev-add
help".
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <
20190417190641.26814-14-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:38 +0000 (21:06 +0200)]
blockdev: Make -drive format=help print to stdout
Command line help explicitly requested by the user should be printed
to stdout, not stderr. We do elsewhere. Adjust -drive to match: use
qemu_printf() instead of error_printf(). Plain printf() would be
wrong because we need to print to the current monitor for "drive_add
... format=help".
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <
20190417190641.26814-13-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:37 +0000 (21:06 +0200)]
qemu-print: New qemu_printf(), qemu_vprintf() etc.
We commonly want to print to the current monitor if we have one, else
to stdout/stderr. For stderr, have error_printf(). For stdout, all
we have is monitor_vfprintf(), which is rather unwieldy. We often
print to stderr just because error_printf() is easier.
New qemu_printf() and qemu_vprintf() do exactly what's needed. The
next commits will put them to use.
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417190641.26814-12-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:36 +0000 (21:06 +0200)]
monitor error: Make printf()-like functions return a value
printf() & friends return the number of characters written on success,
negative value on error.
monitor_printf(), monitor_vfprintf(), monitor_vprintf(),
error_printf(), error_printf_unless_qmp(), error_vprintf(), and
error_vprintf_unless_qmp() return void. Some of them carry a TODO
comment asking for int instead.
Improve them to return int like printf() does.
This makes our use of monitor_printf() as fprintf_function slightly
less dirty: the function cast no longer adds a return value that isn't
there. It still changes a parameter's pointer type. That will be
addressed in a future commit.
monitor_vfprintf() always returns zero. Improve it to return the
proper value.
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190417190641.26814-11-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:35 +0000 (21:06 +0200)]
vl: Make -machine $TYPE,help and -accel help print to stdout
Command line help help explicitly requested by the user should be
printed to stdout, not stderr. We do elsewhere. Adjust -machine
$TYPE,help and -accel help to match: use printf() instead of
error_printf().
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Message-Id: <
20190417190641.26814-10-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:34 +0000 (21:06 +0200)]
s390x/kvm: Report warnings with warn_report(), not error_printf()
kvm_s390_mem_op() can fail in two ways: when !cap_mem_op, it returns
-ENOSYS, and when kvm_vcpu_ioctl() fails, it returns -errno set by
ioctl(). Its caller s390_cpu_virt_mem_rw() recovers from both
failures.
kvm_s390_mem_op() prints "KVM_S390_MEM_OP failed" with error_printf()
in the latter failure mode. Since this is obviously a warning, use
warn_report().
Perhaps the reporting should be left to the caller. It could warn on
failure other than -ENOSYS.
Cc: Thomas Huth <thuth@redhat.com>
Cc: qemu-s390x@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
20190417190641.26814-9-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:33 +0000 (21:06 +0200)]
vfio: Report warnings with warn_report(), not error_printf()
Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190417190641.26814-8-armbru@redhat.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:32 +0000 (21:06 +0200)]
hpet: Report warnings with warn_report(), not error_printf()
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190417190641.26814-7-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:31 +0000 (21:06 +0200)]
pci: Report fatal errors with error_report(), not error_printf()
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Message-Id: <
20190417190641.26814-6-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:30 +0000 (21:06 +0200)]
mips/boston: Report errors with error_report(), not error_printf()
Cc: Paul Burton <pburton@wavecomp.com>
Cc: Aleksandar Rikalo <arikalo@wavecomp.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <
20190417190641.26814-5-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:29 +0000 (21:06 +0200)]
loader-fit: Wean off error_printf()
load_fit() reports errors with error_printf() instead of
error_report(). Worse, it even reports errors it actually recovers
from, in fit_cfg_compatible() and fit_load_fdt(). Messed up in
initial commit
51b58561c1d.
Convert the helper functions for load_fit() to Error. Make sure each
failure path sets an error.
Fix fit_cfg_compatible() and fit_load_fdt() not to report errors they
actually recover from.
Convert load_fit() to error_report().
Cc: Paul Burton <pburton@wavecomp.com>
Cc: Aleksandar Rikalo <arikalo@wavecomp.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <
20190417190641.26814-4-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:28 +0000 (21:06 +0200)]
block/ssh: Do not report read/write/flush errors to the user
Callbacks ssh_co_readv(), ssh_co_writev(), ssh_co_flush() report
errors to the user with error_printf(). They shouldn't, it's their
caller's job. Replace by a suitable trace point. While there, drop
the unreachable !s->sftp case.
Perhaps we should convert this part of the block driver interface to
Error, so block drivers can pass more detail to their callers. Not
today.
Cc: "Richard W.M. Jones" <rjones@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <
20190417190641.26814-3-armbru@redhat.com>
Markus Armbruster [Wed, 17 Apr 2019 19:06:27 +0000 (21:06 +0200)]
qemu-img: Use error_vreport() in error_exit()
error_exit() uses low-level error_printf() to report errors.
Modernize it to use error_vreport().
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <
20190417190641.26814-2-armbru@redhat.com>
Vladimir Sementsov-Ogievskiy [Mon, 15 Apr 2019 14:25:19 +0000 (17:25 +0300)]
util/error: do not free error on error_abort
It would be nice to have Error object not freed away when debugging a
coredump.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <
20190415142519.73060-1-vsementsov@virtuozzo.com>
[error_printf_unless_qmp() replaced by error_printf()]
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Markus Armbruster [Tue, 16 Apr 2019 15:38:50 +0000 (17:38 +0200)]
error: Fix error_report_err(), warn_report_err() hint printing
Before the from qerror_report() to error_setg(), hints looked like
this:
qerror_report(QERR_MACRO, ... arguments ...);
error_printf_unless_qmp(... hint ...);
error_printf_unless_qmp() made perfect sense: it printed exactly when
qerror_report() did.
After the conversion to error_setg():
error_setg(errp, QERR_MACRO, ... arguments ...);
error_printf_unless_qmp(... hint ...);
The "unless QMP part" still made some sense; in QMP context, the
caller generally uses the error as QMP response instead of printing
it.
However, everything else is wrong. If the caller handles the error,
the hint gets printed anyway (unless QMP). If the caller reports the
error, the hint gets printed *before* the report (unless QMP) or not
at all (if QMP).
Commit
50b7b000c91 fixed this by making hints a member of Error. It
kept printing hints with error_printf_unless_qmp():
void error_report_err(Error *err)
{
error_report("%s", error_get_pretty(err));
+ if (err->hint) {
+ error_printf_unless_qmp("%s\n", err->hint->str);
+ }
error_free(err);
}
This is wrong. We should (and now can) print the hint exactly when we
print the error.
The mistake has since been copied to warn_report_err() in commit
e43ead1d0b9.
Fix both to use error_printf().
Reported-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Cc: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20190416153850.5186-1-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
[Commit message tweaked]
Christophe Fergeau [Thu, 31 Jan 2019 16:46:14 +0000 (17:46 +0100)]
log: Make glib logging go through QEMU
This commit adds a error_init() helper which calls
g_log_set_default_handler() so that glib logs (g_log, g_warning, ...)
are handled similarly to other QEMU logs. This means they will get a
timestamp if timestamps are enabled, and they will go through the
HMP monitor if one is configured.
This commit also adds a call to error_init() to the binaries
installed by QEMU. Since error_init() also calls error_set_progname(),
this means that *-linux-user, *-bsd-user and qemu-pr-helper messages
output with error_report, info_report, ... will slightly change: they
will be prefixed by the binary name.
glib debug messages are enabled through G_MESSAGES_DEBUG similarly to
the glib default log handler.
At the moment, this change will mostly impact SPICE logging if your
spice version is >= 0.14.1. With older spice versions, this is not going
to work as expected, but will not have any ill effect, so this call is
not conditional on the SPICE version.
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <
20190131164614.19209-3-cfergeau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Christophe Fergeau [Thu, 31 Jan 2019 16:46:13 +0000 (17:46 +0100)]
qemu-io: Use error_[gs]et_progname()
qemu-io reimplements itself what
error_get_progname()/error_set_progname() already does.
This commit switches it to use this API from qemu-error.h
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <
20190131164614.19209-2-cfergeau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Laszlo Ersek [Wed, 13 Mar 2019 12:40:07 +0000 (13:40 +0100)]
MAINTAINERS: add the "EDK2 Firmware" subsystem
We now have the edk2 submodule, somewhat elaborate build helpers for it,
and even a UEFI application written against edk2 whose genuine home is the
QEMU repository. Add the "EDK2 Firmware" subsystem such that all relevant
pathnames be covered.
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Suggested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Fri, 8 Mar 2019 00:19:35 +0000 (01:19 +0100)]
Makefile: install the edk2 firmware images and their descriptors
Decompress and install the edk2 firmware blobs as part of "make install",
unless blob installation was disabled with configure's "--disable-blobs"
option.
Additionally, decompress the blobs as a pre-requisite for building softmmu
binaries -- this is helpful for both "make check" and other ad-hoc tests
one might want to run in the build directory.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Wed, 13 Mar 2019 15:35:24 +0000 (16:35 +0100)]
tests: add missing dependency to build QTEST_QEMU_BINARY, round 2
In commit
b94b330e2333 ("tests: add missing dependency to build
QTEST_QEMU_BINARY", 2017-07-31), Phil fixed the dependency list of make
target "check-qtest-%". Namely, the recipe would set QTEST_QEMU_BINARY to
the softmmu emulator for the emulation target, but the prerequisites
didn't include the emulator.
The same issue affects the "check-report-qtest-%.tap" make target, which
is the other make target whose recipe sets QTEST_QEMU_BINARY:
> $ make -j4 check-report-qtest-aarch64.tap
> TAP check-report-qtest-aarch64.tap
> sh: /.../aarch64-softmmu/qemu-system-aarch64: No such file or directory
Apply Phil's fix to this make target too.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Thu, 7 Mar 2019 23:24:14 +0000 (00:24 +0100)]
pc-bios: document the edk2 firmware images; add firmware descriptors
Update the README file with information on the images added previously,
and provide firmware descriptor documents that conform to
"docs/interop/firmware.json".
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Wed, 6 Mar 2019 19:25:32 +0000 (20:25 +0100)]
pc-bios: add edk2 firmware binaries and variable store templates
Add the files built by the last patch: (compressed) binaries, and the
cumulative license text that covers them.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Thu, 7 Mar 2019 13:57:17 +0000 (14:57 +0100)]
roms: build edk2 firmware binaries and variable store templates
Add the "efi" target to "Makefile".
Introduce "Makefile.edk2" for building and cleaning the firmware images
and varstore templates.
Collect the common bits from the recipes in the helper script
"edk2-build.sh".
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Thu, 7 Mar 2019 12:24:41 +0000 (13:24 +0100)]
roms/Makefile: replace the $(EDK2_EFIROM) target with "edk2-basetools"
We don't (can't) have a recipe for building just $(EDK2_EFIROM);
therefore, while we call the target $(EDK2_EFIROM), we actually build all
of the edk2 BaseTools. Rename the target to edk2-basetools, and update the
iPXE prerequisite accordingly. This will let other targets depend on
"edk2-basetools", where an $(EDK2_EFIROM) pre-requisite would be
misleading.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Thu, 7 Mar 2019 12:15:20 +0000 (13:15 +0100)]
roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function
The edk2 "build" utility natively supports building modules (that is, INF
files) in parallel. The feature is not useful when building a single
module (with the "-m" option), but it is useful for platform firmware
builds (which include many modules). Add a function that determines the
"-n" option argument for "build", from the MAKEFLAGS variable (i.e. based
on the presence of a make job server).
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Fri, 8 Mar 2019 21:09:05 +0000 (22:09 +0100)]
roms/edk2: advance to tag edk2-stable201903
Update the roms/edk2 submodule hash from edk2-stable201811 to
edk2-stable201903. The release notes are available at
<https://github.com/tianocore/edk2/releases/tag/edk2-stable201903>.
$ git shortlog edk2-stable201811..edk2-stable201903
Achin Gupta (9):
ArmPkg: Add PCDs needed for MM communication driver.
ArmPkg/Drivers: Add EFI_MM_COMMUNICATION_PROTOCOL DXE driver.
ArmPkg/Include: Add MM interface SVC return codes.
ArmPkg/ArmMmuLib: Add MMU Library suitable for use in S-EL0.
StandaloneMmPkg: Add missing dependency on PL011UartClockLib
StandaloneMmPkg: Enforce alignment check for AArch64
StandaloneMmPkg: Zero data structure explicitly
StandaloneMmPkg: Replace dependency on ArmMmuLib
StandaloneMmPkg: Update dependency on PeCoffExtraActionLib
Albecki, Mateusz (1):
MdeModulePkg/SdMmcPciHcDxe Fix eMMC HS400 switch sequence
Alex James (2):
StdLib/sys/termios: Define cc_t as unsigned
StdLib/Environs: Avoid infinite recursion in _Exit
Antoine Coeur (5):
ArmVirtPkg: Fix various typos
CryptoPkg: Fix various typos
CorebootPayloadPkg: Fix various typos
CorebootModulePkg: Fix various typos
BaseTools: Various typo
Ard Biesheuvel (116):
MdePkg/BaseIoLibIntrinsicArmVirt ARM: avoid double word loads and stores
ArmPkg/ArmGicDxe ARM: fix encoding for GICv3 interrupt acknowledge
ArmPlatformPkg: clear frame pointer in startup code
ArmVirtPkg/PrePi: clear frame pointer in startup code
ArmPkg/ArmSmcPsciResetSystemLib: add missing call to ExitBootServices()
ArmPkg: remove now unused BsdLib.h
ArmPlatformPkg/NorFlashDxe: prepare for devicepath format change
ArmPlatformPkg/NorFlashDxe: use one GUID plus index to identify flash banks
ArmVirtPkg/FdtClientDxe: take DT node 'status' properties into account
ArmVirtPkg/NorFlashQemuLib: discover NOR flash banks dynamically
ArmPlatformPkg/NorFlashPlatformLib: remove unused Guid member from struct
ArmPkg/ArmPkg.dsc: move ArmMmuStandaloneMmLib.inf to AARCH64 section
EmbeddedPkg/TemplateSec: remove unused module
EmbeddedPkg/PrePiHobLib: drop CreateHobList() from library
ArmVirtPkg/FdtPciHostBridgeLib: map ECAM and I/O spaces in GCD memory map
ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range
MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits
ArmPkg/ArmLib: add support for reading the max physical address space size
ArmVirtPkg/XenVirtMemInfoLib: refactor reading of the PA space size
ArmPkg/ArmMmuLib: take the CPU supported maximum PA space into account
ArmPkg/CpuPei: base GCD memory space size on CPU's PA range
ArmPlatformPkg/PrePi: base GCD memory space size on CPU's PA range
ArmVirtPkg/PrePi: base GCD memory space size on CPU's PA range
BeagleBoardPkg/PrePi: base GCD memory space size on CPU's PA range
ArmPlatformPkg/PlatformPei: drop unused PCD references
EmbeddedPkg/PrePiLib: drop unused PCD reference
ArmVirtPkg: drop PcdPrePiCpuMemorySize assignments from all platforms
EmbeddedPkg/EmbeddedPkg.dec: drop PcdPrePiCpuMemorySize declarations
ArmPkg/ArmMmuLib ARM: handle unmapped section in GetMemoryRegion()
ArmPkg/ArmMmuLib ARM: handle unmapped sections when updating permissions
ArmVirtPkg/NorFlashQemuLib: disregard our primary FV
ArmVirtPkg/QemuVirtMemInfoLib: trim the MMIO region mapping
BaseTools/CommonLib: avoid using 'native' word size in IP address handling
BaseTools/CommonLib: use explicit 64-bit type in Strtoi()
BaseTools/DevicePath: use explicit 64-bit number parsing routines
BaseTools/CommonLib: add definition of MAX_UINT32
BaseTools/DevicePath: use MAX_UINT32 as default device path max size
BaseTools/CommonLib: get rid of 'native' type string parsing routines
BaseTools/CommonLib: drop definition of MAX_UINTN
BaseTools/CommonLib: drop the use of MAX_ADDRESS
Revert "MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits"
MdeModulePkg/FileExplorerLib: avoid packed struct for program data
BaseTools/tools_def AARCH64 RELEASE: move GCC49/GGC5 to 4 KB alignment
ArmVirtPkg/ArmVirtQemuKernel ARM: make some PCD settings apply to ARM
ArmVirtPkg/PrePiUniCoreRelocatable CLANG38: work around build issues
BaseTools/GenFw ARM: don't permit R_ARM_GOT_PREL relocations
MdePkg/BaseMemoryLibOptDxe ARM: add missing function annotations
BaseTools/tools_def ARM CLANG35: work around -mno-movt option name change
ArmVirtPkg/PrePi ARM CLANG35: drop incompatible command line option
ArmVirtPkg/ArmVirt.dsc.inc: define TcpIoLib resolution unconditionally
ArmPkg: remove redundant _ARM_PLATFORM_FLAGS overrides
EmbeddedPkg: remove GdbDebugAgent library
BaseTools/tools_def ARM: emit PIC veneers
ArmPkg/DefaultExceptionHandlerLib ARM: avoid endless loop in RELEASE builds
MdePkg/Base: introduce MAX_ALLOC_ADDRESS
MdeModulePkg/Dxe/Gcd: disregard memory above MAX_ALLOC_ADDRESS
MdeModulePkg/Dxe/Page: take MAX_ALLOC_ADDRESS into account
ArmPkg/ArmMmuLib: take MAX_ALLOC_ADDRESS into account
ArmPlatformPkg/MemoryInitPeim: take MAX_ALLOC_ADDRESS into account
ArmVirtPkg/MemoryInitPeiLib: split memory HOB based on MAX_ALLOC_ADDRESS
MdePkg/Arm/ProcessorBind.h: fix copy/paste error
ArmPlatformPkg/SP805WatchdogDxe: cosmetic cleanup
ArmPlatformPkg/SP805WatchdogDxe: switch to interrupt mode
ArmPkg/GenericWatchdogDxe: clean up the code
ArmPkg/GenericWatchdogDxe: implement RegisterHandler() method
ArmPlatformPkg/PL011SerialPortLib: use untyped PCD for register base
BaseTools/tools_def ARM: use softfloat target for CLANG3x
BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries
BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47
ArmPkg/ArmMmuLib ARM: add missing support for non-shareable cached mappings
ArmPkg/ArmMmuLib ARM: fix thinko in second level page table handling
MdePkg: implement MmServicesTableLib based on traditional SMM
BaseTools/tools_def GCC5: disable LTO for ASLC invocations
ArmPkg/ArmMmuLib ARM: disregard high memory when setting permissions
ArmPkg/ArmMmuLib AARCH64: fix out of bounds access
MdeModulePkg/MdeModulePkg.dsc: add MmServicesTableLib resolution
OvmfPkg: add MmServicesTableLib resolution
QuarkPlatformPkg: add MmServicesTableLib resolution
Vlv2TbltDevicePkg: add MmServicesTableLib resolution
MdeModulePkg/FaultTolerantWriteDxe: factor out boot service accesses
MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version
MdeModulePkg/VariableRuntimeDxe: factor out boot service accesses
MdeModulePkg/VariableRuntimeDxe: implement standalone MM version
MdePkg: introduce standalone MM entry point library class
MdePkg: introduce standalone MM entry point library implementation
MdePkg: add MM_STANDALONE implementation of MmServicesTableLib
MdeModulePkg: implement NULL instance of HobLib library class
MdeModulePkg: implement NULL instance of MemoryAllocationLib library class
MdeModulePkg/MdeModulePkg/dsc: move DxeDebugSupportDxe to x86 only section
MdeModulePkg/AuthVariableLibNull: add MM_STANDALONE support
MdeModulePkg/VarCheckLib: add MM_STANDALONE support
MdeModulePkg/MdeModulePkg.dsc: add MM_STANDALONE FTW and variable modules
ArmPkg/DebugAgentSymbolsBaseLib: remove exception handling
ArmPkg/DefaultExceptionHandlerLib: declare the permitted usage context
ArmVirtPkg: drop reference to ArmPkg/DefaultExceptionHandlerLibBase
ArmPkg/DefaultExceptionHandlerLib: drop BASE variant
ArmPkg/DefaultExceptionHandlerLib: use console if available
EmbeddedPkg/NorFlashInfoLib: convert to BASE library
ArmPkg/DefaultExceptionHandlerLib: add missing UefiLib include
CryptoPkg/SmmCryptLib: permit use by MM_STANDALONE modules
SecurityPkg/PlatformSecureLibNull: permit use by MM_STANDALONE modules
MdeModulePkg/VarCheckUefiLib: permit use by MM_STANDALONE modules
MdePkg/UefiDevicePathLib: permit use by MM_STANDALONE modules
StandaloneMmPkg: add HobLib implementation for MM_STANDALONE modules
StandaloneMmPkg: add MM_STANDALONE MemoryAllocationLib implementation
StandaloneMmPkg/StandaloneMmCoreHobLib: restrict to MM_CORE_STANDALONE
StandaloneMmPkg/StandaloneMmCpu: fix typo Standlone -> Standalone
StandaloneMmPkg/StandaloneMmCoreEntryPoint: use %a modifier for ASCII strings
StandaloneMmPkg/StandaloneMmCoreEntryPoint: remove bogus ASSERT_EFI_ERROR()s
StandaloneMmPkg/StandaloneMmPeCoffExtraActionLib: ignore runtime attribute
StandaloneMmPkg/Core/Dispatcher: don't copy dispatched image twice
StandaloneMmPkg/StandaloneMmCoreEntryPoint: permit the use of TE images
MdeModulePkg/MdeModulePkg.dsc: ignore standalone MM modules for EBC or XCODE5
ArmPkg/ArmMmuLib ARM: trim high memory regions instead of rejecting them
ArmPkg/ArmMmuLib AARCH64: get rid of needless TLB invalidation
MdePkg/BaseLib: implement SpeculationBarrier() for ARM and AArch64
Ashish Singhal (6):
MdeModulePkg/SdMmcPciHcDxe: Add SDMMC HC v4 and above Support.
MdePkg/UefiLib: Abstract driver model protocol uninstallation
NetworkPkg/IScsiDxe: Use UEFILib APIs to uninstall protocols.
NetworkPkg: Protocol Uninstallation Cleanup
DynamicTablesPkg/DynamicTableManagerDxe: Update DEPEX
DynamicTablesPkg/AcpiSpcrLibArm: Support 16550 UART.
Bret Barkelew (4):
MdePkg/IndustryStandard: Introduce a correctly spelled macro
SecurityPkg/Tcg: Fix typos in TcgDxe.c and Tcg2Dxe.c
MdePkg/IndustryStandard: Remove an incorrectly spelled macro
MdePkg/UefiLib: Add a new API GetVariable3
Chasel, Chiu (16):
IntelFsp2WrapperPkg: Support FSP Dispatch mode
IntelFsp2WrapperPkg: Revert
90c5bc08
IntelFsp2WrapperPkg: Support FSP Dispatch mode
IntelFsp2WrapperPkg: Fix line ending format issue
IntelFsp2WrapperPkg: Fix constant if statements issue
Maintainers.txt: Change package maintainer of IntelFsp*Pkg
BaseTools/GenFv: Support SecCore and PeiCore in different FV
IntelFsp2Pkg: Add FspmArchConfigPpi to support Dispatch mode
IntelFsp2Pkg: Remove unused keyword in new PPI header
IntelFsp2Pkg: Add function to get bootloader stack pointer
IntelFsp2Pkg: FSP can utilize bootloader stack
MdePkg: Support EFI_PEI_CORE_FV_LOCATION_PPI
MdeModulePkg/PeiMain: Support EFI_PEI_CORE_FV_LOCATION_PPI
UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI
UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI
UefiCpuPkg/SecCore: Wrong Debug Information for SecCore
Chen A Chen (18):
SecurityPkg: Remove dead code and inf redundant definitions.
SecurityPkg: Remove code under UserIdentification folder.
FatPkg: Break down Part.c file.
MdePkg/UefiGpt.h: Add new definition for enable GPT support
FatPkg: Add GPT check in FatPei to support Capsule-on-Disk feature.
MdePkg/UefiSpec.h: Add definition to support Capsule-on-Disk feature
MdeModulePkg/CapsuleApp: Add a function used to get next DevicePath
MdeModulePkg/CapsuleApp: Add functions to support Capsule-on-Disk
MdeModulePkg/CapsuleApp: Enhance CapsuleApp to support Capsule-on-Disk
FatPkg/FatPei/Gpt.c: Fix uninitialized variable issue
MdeModulePkg/CapsuleApp: Fix potential NULL pointer dereference issue
MdeModulePkg/CapsuleApp: Fix potential NULL pointer dereference issue
MdeModulePkg/CapsuleApp: Fix memory leak issue.
UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table
IntelSiliconPkg/MicrocodeUpdate: Fix incorrect checksum issue
MdeModulePkg: Rename confusion function name
UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue
UefiCpuPkg/Microcode.c: Add verification before calculate CheckSum32
Chu, Maggie (2):
SecurityPkg: Incorrect warning message for Opal admin revert action
SecurityPkg: Add a PCD to skip Opal password prompt
Dandan Bi (12):
MdeModulePkg/DisplayEngine: Remove useless NULL ptr check for NewPos
MdePkg: check Length para before use in DevPathToTextUsbWWID
MdePkg: Check input Ptrs in GetSectionFromAnyFvByFileType
BaseTools/VfrCompile: report error for Integer overflow
MdeModulePkg/NonDiscoverablePciDevice: Remove the redundant check
MdePkg/BasePeCoffLib: Add more check for relocation data
MdePkg/BasePeCoffLib: Correct the address of RelocBaseEnd
ShellPkg/UefiShellAcpiViewCommandLib: Fix VS tool chain build failure
MdeModulePkg: Fix coding style issues
MdePkg: Fix coding style issues
MdePkg/StatusCodeDataTypeId.h: Add new definition per PI1.7 Spec
MdeModulePkg/BmBoot: Report status when fail to load/start boot option
Derek Lin (1):
BaseTools: Fix GenFds error doesn't break build.
Edgar Handal (1):
MdeModulePkg/SdMmcPciHcDxe: Use 16/32-bit IO widths
Eric Dong (9):
UefiCpuPkg/Cpuid.h: Sync CPUID definition to latest SDM.
UefiCpuPkg/Cpuid: Add code to support new definition.
UefiCpuPkg/RegisterCpuFeaturesLib: Enhance debug message.
UefiCpuPkg/RegisterCpuFeaturesLib: Avoid AP calls PeiService.
UefiCpuPkg/S3Resume2Pei: check 64BIT_WAKE_F in FACS.OSPMFlags.
MdeModulePkg/BootScriptExecuteorDxe: check 64BIT_WAKE_F in FACS.OSPMFlags
UefiCpuPkg/RegisterCpuFeaturesLib: Replace AcquireSpinLock.
SecurityPkg/OpalPassword: Update strings on Opal Setup page
SecurityPkg/OpalPassword: Add NULL pointer check before using it
Felix Polyudov (1):
BaseTools: Fix incorrect formatting of GenFds command dictionary
Feng, Bob C (52):
BaseTools: Fix the problem using FILE_GUID override in .dsc
BaseTools: Enable Pcd Array support.
BaseTool: Filter out unused structure pcds
BaseTools: Replace the sqlite database with list
BaseTools: Optimize string concatenation
BaseTools: Customize deepcopy function.
BaseTools: Correct CCFLAG for PcdValueInit
BaseTools: Fix PcdNvStoreDefaultValueBuffer Value.
BaseTools: Fixed bugs in CopyDict function
BaseTools: Fixed the build fail issue for cases
BaseTools: Fix PcdArray issue
BaseTools: Fixed metafile parser issues
BaseTools: Reset FdsGlobalVariable
BaseTools: Fixed build report issue.
BaseTools: Correct PcdArray value assigment statement
BaseTools: Report Error if use SET in Dsc
BaseTools: Remove unused logic for EDKI
BaseTools: Remove unused logic for IPF
BaseTools: Remove unused logic from C tools
BaseTools: Enable component override functionality
BaseTools: Remove unused logic for EDKI
BaseTools: Remove EDK_SOURCE keyword from ECC Tool
BaseTools: Remove EDK_SOURCE keyword from GenFds tool.
BaseTools: Remove EDK_SOURCE keyword from Inf Parser.
BaseTools: Allow empty value for HiiPcd in Dsc
BaseTools: Fix build report issue.
BaseTools: use OrderedDict instead of sdict
BaseTools: Make sure AllPcdList valid.
BaseTools:File open failed for VPD MapFile
BaseTools:Fixed Rsa issue and a set define issue.
BaseTools:ord() don't match in py2 and py3
BaseTools: the list and iterator translation
BaseTools: Handle the bytes and str difference
BaseTools: ECC tool Python3 adaption
BaseTools: Eot tool Python3 adaption
BaseTools: Enable CODE format in DEC file
BaseTools: Fixed incorrect line number in PcdValueInit.c
BaseTools: Correct the error message for UPT
BaseTools: Fixed a build report issue.
BaseTools: Fix the build report issue about Structure PCD
BaseTools: Fixed an issue about StructurePcd
BaseTools: Add MaxSizeUserSet to Pcd deepcopy function
BaseTools: Fix a ParseDevPathValue function issue.
BaseTools: Fixed a bug in Vpd handling
BaseTools: Fixed a code bug for Pcd Array.
BaseTools: replace Sdict with OrderedDict in UPT
BaseTool: Fixed incremental rebuild issue.
BaseTools: Fix a bug about Structure PCD
BaseTools: Add parameter check for the AsciiStringToUint64
BaseTools: Eot failed when enable python3
BaseTools: Fix a Eot issue.
BaseTools: Add python3-distutils Ubuntu package checking
Gary Lin (2):
MdePkg ACPI: fix the typos in Acpi61.h and Acpi62.h
MdeModulePkg/UefiBootManagerLib: Match the nested partitions
Gonzalez Del Cueto, Rodrigo (1):
SecurityPkg/TcgConfigDxe: Allow enabling TPM 1.2 device from disabled state.
Hao Wu (25):
MdePkg/BaseLib: Introduce new SpeculationBarrier API
MdeModulePkg/FaultTolerantWrite: Update to consume SpeculationBarrier
MdeModulePkg/SmmLockBox: Update to consume SpeculationBarrier
MdeModulePkg/Variable: Update to consume SpeculationBarrier
UefiCpuPkg/PiSmmCpuDxeSmm: Update to consume SpeculationBarrier
UefiCpuPkg: Merge StuffRsb.inc files into one in UefiCpuPkg/Include
MdeModulePkg/SdMmcPciHcDxe: Fix VS2015 IA32 NOOPT build failure
MdeModulePkg/SdMmcPciHcDxe: Update comment for spec compliance status
MdeModulePkg: Add definitions for ATA AHCI host controller PPI
MdeModulePkg: Add definitions for EDKII PEI ATA PassThru PPI
MdeModulePkg: Add definitions for Storage Security Command PPI
MdeModulePkg: Add GUID for LockBox to save storage dev to init in S3
MdeModulePkg/NvmExpressPei: Avoid updating the module-level variable
MdeModulePkg/NvmExpressPei: Add logic to produce SSC PPI
MdeModulePkg/NvmExpressPei: Consume S3StorageDeviceInitList LockBox
MdeModulePkg/AhciPei: Add AHCI mode ATA device support in PEI
MdeModulePkg/SmmLockBoxLib: Use 'DEBUG_' prefix instead of 'EFI_D_'
MdeModulePkg/SmmLockBox(PEI): Remove an ASSERT in RestoreLockBox()
MdeModulePkg/SmmLockBoxLib: Support LockBox enlarge in UpdateLockBox()
OvmfPkg/LockBoxLib: Update the comments for API UpdateLockBox()
SecurityPkg/OpalPassword: Remove HW init codes and consume SSC PPI
SecurityPkg/HddPassword: Add Security feature set support for ATA dev
MdeModulePkg/UfsBlockIoPei: Correct use of 'DeviceIndex' in BlkIO PPI
MdeModulePkg/PartitionDxe: Ensure blocksize holds MBR (CVE-2018-12180)
MdeModulePkg/RamDiskDxe: Restrict on RAM disk size (CVE-2018-12180)
Hess Chen (1):
BaseTools/ECC: Add a new type of exception
Hsueh, Hong-chihX (1):
MdePkg/BasePeCoffLib: skip runtime relocation if reloc info is invalid
Jaben Carsey (14):
BaseTools: Move Identification file to Eot
BaseTools: cleanup LongFilePathSupport usage
BaseTools: create and use a standard shared variable for '*'
BaseTools: fix imports
MdeModulePkg: fix comments in BaseSortLib
BaseTools/build/build: refactor and move functions
BaseTools/Workspace/InfBuildData: move functions
BaseTools/DscBuildData: move function
BaseTools/AutoGen: move functions
BaseTools/GenFds/Capsule: move function logic
BaseTools/Common/Misc: move private functions
BaseTools/Common/Misc: remove uncalled code
BaseTools/Common/Misc: Cleanup the imports
BaseTools/build/build: delete variable
Jagadeesh Ujja (2):
SecurityPkg/AuthVariableLib: allow MM_STANDALONE drivers to use this library
MdePkg/Include: add MmServicesTableLib header file
Jeff Brasen (5):
MdeModulePkg/SdDxe: Fix potential NULL pointer access
EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool()
MdeModulePkg/BaseSortLib: Enable for all module types
ArmPkg/ArmScmiDxe: Add clock enable function
EmbeddedPkg/PrePiLib: Correct function name
Jian J Wang (7):
CryptoPkg/IntrinsicLib: add missing BaseLib declaration
Upgrade OpenSSL to 1.1.0j
CryptoPkg/BaseCryptLib: split CryptPkcs7Verify.c on behalf of runtime
MdePkg/UefiDevicePathLib: Add sanity check for FilePath device path
MdePkg/UefiDevicePathLibDevicePathProtocol: Add sanity check for FilePath device path
UefiCpuPkg: restore strict page attributes via #DB in nonstop mode only
Maintainers.txt: remove unexpected unicode BOM
Jiaxin Wu (7):
MdeModulePkg/Dhcp4Dxe: Remove unnecessary NULL pointer check.
NetworkPkg/IScsiDxe: Remove unnecessary NULL pointer check.
NetworkPkg/DnsDxe: Remove unnecessary NULL pointer check.
MdeModulePkg/Ip4Dxe: Uninstall protocols when error happen in Driver Binding Start.
NetworkPkg/Ip6Dxe: Uninstall protocols when error happen in Driver Binding Start.
NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start.
NetworkPkg/DnsDxe: [CVE-2018-12178] Check the received packet size before parsing the message.
Jiewen Yao (6):
MdeModulePkg/LockboxNullLib: clean up INF file.
BaseTool/GenC: Fix build error when type is BASE or USER_DEFINED.
MdePkg/Include: Add Nasm.inc
MdePkg/BaseLib: Add Shadow Stack Support for X86.
UefiCpuPkg/ExceptionLib: Add CET support.
UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM.
Jordan Justen (1):
OvmfPkg/build.sh: Enable flash for qemu 3 or later
Julien Grall (1):
Maintainers.txt: Update e-mail address for Julien Grall
Krzysztof Koch (1):
ShellPkg/UefiShellAcpiViewCommandLib: Add support for PPTT
Laszlo Ersek (47):
EmulatorPkg: require GCC48 or later
OvmfPkg: require GCC48 or later
Vlv2TbltDevicePkg: assume GCC48 or later
BaseTools/tools_def.template: fix up LF-only line terminator
BaseTools/tools_def.template: strip trailing whitespace
BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end
BaseTools/tools_def.template: remove GCC47 leaf definitions
BaseTools/tools_def.template: propagate loss of GCC47 references
BaseTools/tools_def.template: remove GCC47 documentation
BaseTools/tools_def.template: remove GCC46 leaf definitions
BaseTools/tools_def.template: propagate loss of GCC46 references
BaseTools/tools_def.template: remove GCC46 documentation
BaseTools/tools_def.template: remove GCC45 leaf definitions
BaseTools/tools_def.template: propagate loss of GCC45 references
BaseTools/tools_def.template: remove GCC45 documentation
BaseTools/tools_def.template: remove GCC44 leaf definitions
BaseTools/tools_def.template: propagate loss of GCC44 references
BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS
BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS
BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON
BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress
BaseTools/tools_def.template: remove GCC44 documentation
ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
BaseTools/BuildReport: fix report for platforms/arches without struct PCDs
ArmVirtPkg/ArmVirtQemuKernel: don't set PcdCPUCoresStackBase
ArmVirtPkg: don't set PcdRelocateVectorTable
ArmVirtPkg/{ArmVirtQemu,ArmVirtQemuKernel}: don't set PcdTrustzoneSupport
ArmVirtPkg: don't set PcdPostCodePropertyMask
ArmVirtPkg: clean up PcdSetNxForStack setting (applies to ArmVirtQemu only)
ArmVirtPkg/PrePi: drop wrong PcdCoreCount dependency
ArmVirtPkg: don't set PcdCoreCount
ArmVirtPkg: don't set PcdDebugClearMemoryValue
ArmVirtPkg: don't set PcdDebugPrintErrorLevel in RELEASE builds
ArmVirtPkg/ArmVirtXen: don't set PcdPL031RtcBase
ArmVirtPkg/ArmVirtXen: don't set PcdTerminalTypeGuidBuffer
ArmVirtPkg/ArmVirtXen: don't set PcdShellFile
ArmVirtPkg/ArmVirtXen: don't set PcdTurnOffUsbLegacySupport
ArmVirtPkg/ArmVirtXen: don't set Pcd*ImageVerificationPolicy
Maintainers: add TPM2 reviewers for OvmfPkg
Maintainers: specify the scope for OvmfPkg/ArmVirtPkg Xen module reviewers
MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep.
OvmfPkg: add library to track boot option loading/starting on the console
OvmfPkg/PlatformBootManagerLib: display boot option loading/starting
ArmVirtPkg/ArmVirtQemu*: enable minimal Status Code Routing in DXE
ArmVirtPkg/PlatformBootManagerLib: display boot option loading/starting
Leif Lindholm (8):
ArmPkg: fix StandaloneMmMmuLib subdirectory case
ArmPkg: drop ArmBds remnant Pcds from .dec
ArmPkg: delete unused ArmTrustZoneSmc.h
AppPkg: fix webserver build for !Ia32/X64
IntelFrameworkModulePkg: fix build for AARCH64/ARM
IntelFrameworkPkg: fix build for AARCH64/ARM
SecurityPkg: fix package build on ARM
SignedCapsulePkg: enable package build for AARCH64/ARM
Liming Gao (12):
OvmfPkg: Don't include TftpDynamicCommand in XCODE5 tool chain
MdeModulePkg PCD: Add DynamicEx PcdVpdBaseAddress64 for non SPI platform
Maintainers.txt: Add the rule to hand over the package maintain role
BaseTools Script: Update ConvertFceToStructurePcd to report warning messages
MdeModulePkg: Correct PCD name in MdeModulePkg.uni
Readme.md: Add edk2 release tag and edk2 release plan
BaseTools GenFw: Fix XCODE5 build issue
BaseTools VolInfo: Fix XCODE5 build issue
BaseTools: Update PYTHON env to PYTHON_COMMAND
MdeModulePkg DxeCapsuleLibFmp: Update SupportCapsuleImage() for Fake Capsule
BaseTools: Remove unused txt files
Revert "BaseTools:BaseTools supports to the driver combination."
Liu Yu (1):
EmulatorPkg/build.sh: Fix 'run' path to simulator host executable
Marcin Wojtas (2):
MdeModulePkg/SdMmcPciHcDxe: Add an optional parameter in NotifyPhase
MdeModulePkg/SdMmcPciHcDxe: Allow overriding base clock frequency
Max Knutsen (1):
MdeModulePkg/ReportStatusCodeLib: Avoid using AllocatePool if possible
Meenakshi Aggarwal (1):
EmbeddedPkg: Fix Command Argument for SD/eMMC R/W operation.
Mike Maslenkin (1):
UefiCpuPkg/CpuExceptionHandlerLib: Fix spelling issue
Mike Turner (4):
MdePkg/BaseLib: Introduce CharToUpper and AsciiCharToUpper publicly
MdePkg/UefiDevicePathLib: Add a checking step
BaseTools/DevicePath: Add a checking step
MdePkg/BaseLib: Add Base64Encode() and Base64Decode()
Pete Batard (2):
EmbeddedPkg/Library: Add VirtualRealTimeClockLib
EmbeddedPkg/VirtualRealTimeClockLib: Fix correctness issues
Philippe Mathieu-Daude (1):
BaseTools: Fix build failure when specifying multiple BUILDTARGET
Ray Ni (10):
MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed
MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists
Maintainers.txt: Update mail address
MdeModulePkg/PciBus: Change PCI_IO_DEVICE.RomSize to UINT32 type
MdeModulePkg/PciBus: Correct typos
MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes
UefiCpuPkg/MtrrLib: Fix a bug that may wrongly set memory <1MB to UC
ShellBinPkg: Ia32/X64 Shell binary update.
MdeModulePkg/HiiDatabase: Fix potential integer overflow (CVE-2018-12181)
MdeModulePkg/HiiImage: Fix stack overflow when corrupted BMP is parsed (CVE-2018-12181)
Sami Mujawar (36):
Maintainers.txt: Change DynamicTablesPkg maintainer
DynamicTablesPkg: Dynamic Tables Framework
DynamicTablesPkg: Table Generator definition
DynamicTablesPkg: Acpi Table Generator
DynamicTablesPkg: SMBIOS Table Generator
DynamicTablesPkg: DT Table Generator
DynamicTablesPkg: Standard NameSpace Objects
DynamicTablesPkg: Arm NameSpace Objects
DynamicTablesPkg: Configuration Manager Objects
DynamicTablesPkg: Configuration Manager Protocol
DynamicTablesPkg: Configuration Manager Helper
DynamicTablesPkg: Table Helper Library
DynamicTablesPkg: Dynamic Table Factory Protocol
DynamicTablesPkg: Dynamic Table Factory Dxe
DynamicTablesPkg: Dynamic Table Manager Dxe
DynamicTablesPkg: Arm Raw/DSDT/SSDT Generator
DynamicTablesPkg: Arm ACPI FADT Generator
DynamicTablesPkg: Arm ACPI MADT Generator
DynamicTablesPkg: Arm ACPI GTDT Generator
DynamicTablesPkg: Arm SPCR Table Generator
DynamicTablesPkg: Arm DBG2 Table Generator
DynamicTablesPkg: Arm PCI MCFG Table Generator
DynamicTablesPkg: Arm IORT Table Generator
DynamicTablesPkg: Fix protocol section
DynamicTablesPkg: Rename enum used for ID Mapping
DynamicTablesPkg: Add OEM Info
DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI
DynamicTablesPkg: Remove GIC Distributor Id field
DynamicTablesPkg: Minor updates and fix typos
ArmPkg: Fix writes to GICv3 GICD_IROUTER<n> reg
Revert "DynamicTablesPkg: Minor updates and fix typos"
Revert "DynamicTablesPkg: Remove GIC Distributor Id field"
Revert "DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI"
Revert "DynamicTablesPkg: Add OEM Info"
Revert "DynamicTablesPkg: Rename enum used for ID Mapping"
Revert "DynamicTablesPkg: Fix protocol section"
Sean Brogan (1):
MdeModulePkg/NvmExpressDxe: Report StatusCode for device init failure
Shenglei Zhang (37):
EmulatorPkg: Remove EdkShellBinPkg in FDF and DEC
Nt32Pkg: Remove EdkShellBinPkg in FDF and DEC
OvmfPkg: Remove EdkShellBinPkg in FDF
Vlv2TbltDevicePkg: Remove EdkShellBinPkg with ShellPkg
EdkShellBinPkg: Remove EdkShellBinPkg
EdkShellPkg: Remove EdkShellPkg
Maintainers.txt: Remove EdkShellPkg and EkdShellBinPkg
UnixPkg: Remove UnixPkg and update Maintainers.txt
MdeModulePkg: Remove PcdIdentifyMappingPageTablePtr
ShellPkg: Remove ShellPkg wrapper header files
BaseTools: Remove GenVtf
DuetPkg: Remove DuetPkg
BaseTools: Remove tools only used by DuetPkg
Maintainers.txt: Remove DuetPkg
ShellPkg/UefiShellDebug1CommandsLib: Remove the unused function CharToUpper
MdeModulePkg/EbcDebugger: Change function names
MdePkg/BaseLib: Remove definitions of two functions
MdeModulePkg/EbcDebugger: Use AsciiCharToUpper and CharToUpper
MdeModulePkg/DxeHttpLib: Use BaseLib api AsciiCharToUpper
ShellPkg/Shell: Use BaseLib api CharToUpper
ShellPkg/UefiShellLib: Use BaseLib api CharToUpper
MdePkg: Change function parameter type
MdeModulePkg/S3SaveStateDxe: Change function parameter types
MdeModulePkg/SmmS3SaveStateDxe: Change function parameter types
BaseTools/tools_def.template: Remove CYGGCC
OptionRomPkg/ReadMe.txt: Remove CYGGCC
BaseTools: Update MYTOOLS
BaseTools/tools_def.template: Remove VS2003 and VS2005
OptionRomPkg/ReadMe.txt: Remove VS2005
BaseTools/tools_def.template: Remove UNIXGCC
OvmfPkg/README: Remove UNIXGCC
BaseTools/tools_def.template: Remove ELFGCC
BaseTools/tools_def.template: Remove DDK3790
BaseTools/build_rule.template: Remove GCCLD
MdePkg/BaseLib: Change a variable type in a bitwise operation
MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver
IntelSiliconPkg/MicrocodeUpdateDxe: Error message enhancement
Siyuan Fu (8):
ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF.
ArmVirtPkg: Remove redundant library instances in ArmVirtQemuKernel.dsc
MdeModulePkg: Delete Tcp4Dxe in MdeModulePkg.
NetworkPkg: Remove some clarification from TcpDxe.inf
MdeModulePkg: Delete IScsiDxe in MdeModulePkg.
NetworkPkg: Remove some clarification from IScsiDxe.inf
MdeModulePkg: Delete UefiPxeBcDxe in MdeModulePkg.
NetworkPkg: Remove some clarification from UefiPxeBcDxe.inf
Solanki, Digant H (1):
IntelSiliconPkg\Include\IndustryStandard: Update IGD_OPREGION_MBOX3 Structure
Songpeng Li (3):
ShellPkg/TftpDynamicCommand: Change file writing method in tftp
NetworkPkg/IScsiDxe: Remove unused global variables.
NetworkPkg/Dhcp6Dxe: Remove an unused global variable.
Star Zeng (30):
Maintainers.txt: Update FmpDevicePkg maintainer
Maintainers.txt: Update MdeModulePkg maintainers
MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxPeimPerFv
SecurityPkg Tcg(2)Pei: Remove the using of PcdPeiCoreMaxFvSupported
MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxFvSupported
MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxPpiSupported
OvmfPkg: Remove PcdPeiCoreMaxXXX PCDs' statement
Vlv2TbltDevicePkg: Remove PcdPeiCoreMaxXXX PCDs' statement
MdeModulePkg: Remove PcdPeiCoreMaxXXX PCDs
MdeModulePkg Variable: Add some missing changes for
9b18845
MdeModulePkg Variable: Abstract InitRealNonVolatileVariableStore
MdeModulePkg Variable: Move "extern XXX" to Variable.h
MdeModulePkg Variable: Not get NV PCD in VariableWriteServiceInitialize
MdeModulePkg Variable: Abstract VariableWriteServiceInitializeDxe/Smm
MdeModulePkg Variable: Remove CacheOffset in UpdateVariable()
MdeModulePkg Variable: type case VolatileBase to UINTN directly
MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec
MdeModulePkg: Refine description a little for PcdEmuVariableNvStoreReserved
MdeModulePkg Variable: Add emulated variable NV mode support
MdeModulePkg VariablePei: Don't check BOOT_IN_RECOVERY_MODE
ArmVirtXen: Use merged variable driver for emulated NV mode
ArmVirtXen: Link VarCheckUefiLib NULL class library instance
BeagleBoardPkg: Use merged variable driver for emulated NV mode
QuarkMin: Use merged variable driver for emulated NV mode
CorebootPayloadPkg: Use merged variable driver for emulated NV mode
MdeModulePkg VariableStandaloneMm: Add PcdEmuVariableNvModeEnable in inf
MdeModulePkg: Remove EmuVariableRuntimeDxe
MdeModulePkg/PeiCore: Ensure FfsFileHeader 8 bytes aligned
MdeModulePkg/DxeCore: Ensure FfsFileHeader 8 bytes aligned
IntelFrameworkModulePkg/FwVolDxe: Ensure FfsFileHeader 8 bytes aligned
Stefan Berger (1):
OvmfPkg: Add TCG2 Configuration menu to the Device Manager menu
Sughosh Ganu (3):
ArmPkg/Include: Fix the SPM version SVC ID
StandaloneMM: Include the newly added library class for MMU functions
StandaloneMM: Update permissions for Standalone MM drivers memory area
Sumit Garg (2):
ArmPkg/OpteeLib: Add dummy RPC handler
ArmPkg/OpteeLib: Add OPTEE_SUCCESS return code
Sun, Zailiang (1):
Maintainers.txt: update Vlv2*Pkg maintainers.
Tomasz Michalec (2):
MdeModulePkg/SdMmcPciHcDxe: Add UhsSignaling to SdMmcOverride protocol
MdeModulePkg/SdMmcPciHcDxe: Add SwitchClockFreqPost to SdMmcOverride
Vijayenthiran Subramaniam (2):
MdeModulePkg/Variable: add debug logs in VariableServiceSetVariable
NetworkPkg/IScsiDxe: add debug logs for failed SetVariable attempts
Vladimir Olovyannikov (1):
MdeModulePkg/NonDiscoverablePciDeviceDxe: add missing validation
Vladimir Olovyannikov via edk2-devel (1):
ShellPkg/TftpDynamicCommand: Return proper status
Wang Fan (2):
NetworkPkg: Add WiFi Connection Manager to NetworkPkg
NetworkPkg: Fix Duplicate FreePool Error in WCM
Ye Ting (1):
Maintainers.txt: Change package maintainer and reviewer of CryptoPkg.
Yonghong Zhu (1):
Maintainers.txt: Update BaseTools maintainers
Yunhua Feng (3):
BaseTools: nametuple not have verbose parameter in python3
BaseTools: Remove unnecessary super function
BaseTools: replace long by int
Zhang, Chao B (6):
SecurityPkg: TCG Add more Event type
SecurityPkg: Update TCG PFP spec revision.
SecurityPkg/Tcg: Fix Warnings and Remarks reported by IASL
SecurityPkg/TCG: Upgrade UEFI supporting TCG spec info
MdeModulePkg:Tpm2Acpi.h: Upgrade UEFI supporting TCG spec info
Maintainers.txt: Change package maintainer and reviewer of SecurityPkg.
Zhao, ZhiqiangX (1):
BaseTools: AutoGen and GenFds share the parser data.
Zhichao Gao (8):
ShellPkg: add array index check for shell delay option
MdeModulePkg: change the function name ResetSystem
MdeModulePkg: Add the new API ResetSystem in the head file
MdeModulePkg: Add a new API ResetSystem for DXE ResetSystemLib
MdeModulePkg: Add a new API ResetSystem for Null version
MdeModulePkg: Add a new API ResetSystem for PEI ResetSystemLib
MdeModulePkg: Add a runtime library instance of ResetSystemLib
MdeModulePkg: Add the runtime ResetSystemLib in MdeModulePkg.dsc
Zhijux Fan (38):
BaseTools: Update nasm file build rule to support $(INC)
BaseTools: Add $(INC)-like support when compiling .nasm files
BaseTools:Build fail when PCD use in the [DEPEX] section of INF files
BaseTools:build break if the Path contains SingleFile.Ext
BaseTools:The BuildOptionPcd value is wrong
BaseTools: Fix Pcd Array changes build report issue.
BaseTools:Define Macro in Inf file, the pcdvalue Can't convert
BaseTool:Rename xrange() to range()
BaseTools:use iterate list to replace the itertools
BaseTools: Rename iteritems to items
BaseTools: replace get_bytes_le() to bytes_le
BaseTools:Solve the data sorting problem use python3
BaseTools: Update argparse arguments since it not have version now
BaseTools:Similar to octal data rectification
BaseTools/UPT:merge UPT Tool use Python2 and Python3
BaseTools: update Test scripts support python3
BaseTools/Scripts: Porting PackageDocumentTools code to use Python3
Basetools: It went wrong when use os.linesep
BaseTools:Fv BaseAddress must set If it not set
BaseTools:TestTools character encoding issue
BaseTools:Double carriage return inserted from Trim.py on Python3
BaseTools: change the Division Operator
BaseTools:There is extra blank line in datalog
BaseTools: Similar to octal data rectification
BaseTools: Update windows and linux run scripts file to use Python3
BaseTools:Update build tool to print python version information
BaseTools:Linux Python highest version check.
BaseTools: PCD value incorrect in structure pcd sku case.
BaseTools:StructurePCD value display incorrect in "Not used" section.
BaseTools:Fix a ECC issue
BaseTools:BaseTools supports to the driver combination.
BaseTools:Fixed build failure when specifying multiple BUILDTARGET
BaseTools:PCD value error in structure pcd sku case.
BaseTools:Build fail if define [DEPEX] in library inf
BaseTools:Some build generated files content are not ordered on linux
BaseTools:PackageDocumentTools import lib error occurs.
BaseTools:The BOM character is processed when python reads a file
BaseTools:Run packagedoc_cli.py to generate doc failed
yuchenlin (5):
Revert "OvmfPkg/QemuVideoDxe: list "UnalignedIoInternal.h" in the INF file"
Revert "OvmfPkg/QemuVideoDxe: VMWare SVGA device support"
Revert "OvmfPkg/QemuVideoDxe: Helper functions for unaligned port I/O."
Revert "OvmfPkg: VMWare SVGA display device register definitions"
OvmfPkg: simply use the Bochs interface for vmsvga
zwei4 (1):
Vlv2TbltDevicePkg:Fix build and boot failure of Minnowboard Max platform.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Fri, 8 Mar 2019 23:26:38 +0000 (00:26 +0100)]
tests/uefi-test-tools/build.sh: work around TianoCore#1607
The edk2-stabe201903 release introduced Python3 support to edk2's
BaseTools; however the Python3 enablement breaks in a corner case (which
is nevertheless supported by the edk2 community), namely the in-module
parallelization that we utilize.
This is tracked under
<https://bugzilla.tianocore.org/show_bug.cgi?id=1607>. For now, work
around the issue (in advance) by forcing Python2. (The workaround is a
no-op before we move to edk2-stabe201903 in the roms/edk2 submodule.)
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Fri, 8 Mar 2019 21:48:50 +0000 (22:48 +0100)]
roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64
Adapt the qemu_edk2_get_toolchain() function in "roms/edk2-funcs.sh" in
advance to edk2 commit
8d7cdfae8cb8 ("OvmfPkg: require GCC48 or later",
2019-01-08), which is part of the "edk2-stable201903" tag.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Laszlo Ersek [Wed, 6 Mar 2019 12:12:23 +0000 (13:12 +0100)]
roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh"
Extract the dense logic for architecture and toolchain massaging from
"tests/uefi-test-tools/build.sh", to a set of small functions. We'll reuse
these functions for building full platform firmware images.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Peter Maydell [Tue, 16 Apr 2019 20:53:00 +0000 (21:53 +0100)]
Update version for v4.0.0-rc4 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Daniel P. Berrangé [Mon, 15 Apr 2019 15:45:02 +0000 (16:45 +0100)]
usb-mtp: fix bounds check for guest provided filename
The ObjectInfo struct has a variable length array containing the UTF-16
encoded filename. The number of characters of trailing data is given by
the 'length' field in the struct and this must be validated against the
size of the data packet received from the guest.
Since the data is UTF-16, we must convert the byte count we have to a
character count before validating. This must take care to truncate if
a malicious guest sent an odd number of bytes.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Bandan Das <bsd@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Tue, 16 Apr 2019 14:33:38 +0000 (15:33 +0100)]
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches:
- qcow2: Fix potential corruption for preallocated resize with external data file
# gpg: Signature made Tue 16 Apr 2019 15:23:35 BST
# gpg: using RSA key
7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream:
qcow2: Fix preallocation bdrv_pwrite to wrong file
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Kevin Wolf [Mon, 15 Apr 2019 15:54:50 +0000 (17:54 +0200)]
qcow2: Fix preallocation bdrv_pwrite to wrong file
With an external data file, preallocate_co() must write the final byte
to the external data file, not to the qcow2 image file.
This is harmless for preallocation of newly created images (only the
qcow2 file size is increased to the virtual disk size while it should be
much smaller), but with preallocated resize, it could in theory cause
visible corruption if the metadata of the image is larger than the data
(e.g. lots of bitmaps).
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Marc-André Lureau [Mon, 15 Apr 2019 16:33:36 +0000 (18:33 +0200)]
socket: allow wait=false for client socket
Commit
767abe7 ("chardev: forbid 'wait' option with client sockets")
is a bit too strict. Current libvirt always set wait=false, and will
thus fail to add client chardev.
Make the code more permissive, allowing wait=false with client socket
chardevs. Deprecate usage of 'wait' with client sockets.
Fixes:
767abe7f49e8be14d29da5db3527817b5d696a52
Cc: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id:
20190415163337.2795-1-marcandre.lureau@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Peter Maydell [Tue, 16 Apr 2019 08:27:35 +0000 (09:27 +0100)]
Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging
Slirp updates
Dr. David Alan Gilbert (1):
slirp: Gcc 9 -O3 fix
# gpg: Signature made Mon 15 Apr 2019 19:05:39 BST
# gpg: using RSA key
E61DBB15D4172BDEC97E92D9DB550E89F0FA54F3
# gpg: Good signature from "Samuel Thibault <samuel.thibault@aquilenet.fr>" [unknown]
# gpg: aka "Samuel Thibault <sthibault@debian.org>" [marginal]
# gpg: aka "Samuel Thibault <samuel.thibault@gnu.org>" [unknown]
# gpg: aka "Samuel Thibault <samuel.thibault@inria.fr>" [marginal]
# gpg: aka "Samuel Thibault <samuel.thibault@labri.fr>" [marginal]
# gpg: aka "Samuel Thibault <samuel.thibault@ens-lyon.org>" [marginal]
# gpg: aka "Samuel Thibault <samuel.thibault@u-bordeaux.fr>" [unknown]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 900C B024 B679 31D4 0F82 304B D017 8C76 7D06 9EE6
# Subkey fingerprint: E61D BB15 D417 2BDE C97E 92D9 DB55 0E89 F0FA 54F3
* remotes/thibault/tags/samuel-thibault:
slirp: Gcc 9 -O3 fix
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Dr. David Alan Gilbert [Mon, 15 Apr 2019 12:17:40 +0000 (13:17 +0100)]
slirp: Gcc 9 -O3 fix
Gcc 9 needs some convincing that sopreprbuf really is going to fill
in iov in the call from soreadbuf, even though the failure case
shouldn't happen.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <
20190415121740.9881-1-dgilbert@redhat.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Peter Maydell [Fri, 12 Apr 2019 16:06:49 +0000 (17:06 +0100)]
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches:
- iotests fixes
# gpg: Signature made Fri 12 Apr 2019 17:04:09 BST
# gpg: using RSA key
7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream:
iotest: Fix 241 to run in generic directory
iotests: Let 245 pass on tmpfs
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Eric Blake [Wed, 10 Apr 2019 20:42:17 +0000 (15:42 -0500)]
iotest: Fix 241 to run in generic directory
Filter the qemu-nbd server output to get rid of a direct reference
to my build directory.
Fixes:
e9dce9cb
Reported-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Max Reitz [Wed, 10 Apr 2019 16:29:18 +0000 (18:29 +0200)]
iotests: Let 245 pass on tmpfs
tmpfs does not support O_DIRECT. Detect this case, and skip flipping
@direct if the filesystem does not support it.
Fixes:
bf3e50f6239090e63a8ffaaec971671e66d88e07
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
John Snow [Tue, 9 Apr 2019 21:06:55 +0000 (17:06 -0400)]
qemu-img: fix .hx and .texi disparity
It turns out that having options listed in three places continues to be
a bad idea. I'm still toying with the idea of an improved infrastructure
here, but in the meantime, another bandaid.
There are three locations:
(1) .hx file, formatted as texi
(2) .hx file, formatted as human readable.
(3) .texi file, as section headers, formatted as texi.
You can compare the two summaries within the .hx file like so:
Human-readable command summaries:
`./qemu-img --help | grep 'Command syntax' -A14`
Detokenized texi command summaries:
`grep "@item" qemu-img-cmds.hx | sed -E 's|@var\{([^\}]*?)\}|\1|g'`
You can compare the two separate texi summaries like so:
Texi command summaries:
`grep "@item" qemu-img-cmds.hx"`
Texi command headers:
grep -E "@item.*@var" qemu-img.texi | tail -14
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-id:
20190409210655.777-1-jsnow@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Gerd Hoffmann [Tue, 2 Apr 2019 07:30:18 +0000 (09:30 +0200)]
curses: fix wchar_t printf warning
On some systems wchar_t is "long int", on others just "int".
So go cast to "long int" and adjust the printf format accordingly.
Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id:
20190402073018.17747-1-kraxel@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Thomas Huth [Fri, 12 Apr 2019 07:30:45 +0000 (09:30 +0200)]
pc-bios/s390: Update firmware images
s390-ccw.img contains support for booting from vfio-ccw dasd passthrough
devices now, and s390-netboot.img is updated since there were changes
to the code that is shared between s390-ccw.img and s390-netboot.img.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:35 +0000 (10:34 -0400)]
s390-bios: Use control unit type to find bootable devices
When the user does not specify which device to boot from then we end
up guessing. Instead of simply grabbing the first available device let's
be a little bit smarter and only choose devices that might be bootable
like disk, and not console devices.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Message-Id: <
1554388475-18329-17-git-send-email-jjherne@linux.ibm.com>
[thuth: Added fix for virtio_is_supported() not being called anymore]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:34 +0000 (10:34 -0400)]
s390-bios: Support booting from real dasd device
Allows guest to boot from a vfio configured real dasd device.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
1554388475-18329-16-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:33 +0000 (10:34 -0400)]
s390-bios: Add channel command codes/structs needed for dasd-ipl
The dasd IPL procedure needs to execute a few previously unused
channel commands. Let's define them and their associated data
structures.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-15-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:32 +0000 (10:34 -0400)]
s390-bios: Use control unit type to determine boot method
The boot method is different depending on which device type we are
booting from. Let's examine the control unit type to determine if we're
a virtio device. We'll eventually add a case to check for a real dasd device
here as well.
Since we have to call enable_subchannel() in main now, might as well
remove that call from virtio.c : run_ccw(). This requires adding some
additional enable_subchannel calls to not break calls to
virtio_is_supported().
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-14-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:31 +0000 (10:34 -0400)]
s390-bios: Refactor virtio to run channel programs via cio
Now that we have a Channel I/O library let's modify virtio boot code to
make use of it for running channel programs.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-13-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:30 +0000 (10:34 -0400)]
s390-bios: Factor finding boot device out of virtio code path
Make a new routine find_boot_device to locate the boot device for all
cases, not just virtio.
The error message for the case where no boot device has been specified
and a suitable boot device cannot be auto detected was specific to
virtio devices. We update this message to remove virtio specific wording.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
1554388475-18329-12-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:29 +0000 (10:34 -0400)]
s390-bios: Extend find_dev() for non-virtio devices
We need a method for finding the subchannel of a dasd device. Let's
modify find_dev to handle this since it mostly does what we need. Up to
this point find_dev has been specific to only virtio devices.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
1554388475-18329-11-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:28 +0000 (10:34 -0400)]
s390-bios: cio error handling
Add verbose error output for when unexpected i/o errors happen. This eases the
burden of debugging and reporting i/o errors. No error information is printed
in the success case, here is an example of what is output on error:
cio device error
ssid : 0x0000000000000000
cssid : 0x0000000000000000
sch_no: 0x0000000000000000
Interrupt Response Block Data:
Function Ctrl : [Start]
Activity Ctrl : [Start-Pending]
Status Ctrl : [Alert] [Primary] [Secondary] [Status-Pending]
Device Status : [Unit-Check]
Channel Status :
cpa=: 0x000000007f8d6038
prev_ccw=: 0x0000000000000000
this_ccw=: 0x0000000000000000
Eckd Dasd Sense Data (fmt 32-bytes):
Sense Condition Flags :
Residual Count =: 0x0000000000000000
Phys Drive ID =: 0x000000000000009e
low cyl address =: 0x0000000000000000
head addr & hi cyl =: 0x0000000000000000
format/message =: 0x0000000000000008
fmt-dependent[0-7] =: 0x0000000000000004
fmt-dependent[8-15]=: 0xe561282305082fff
prog action code =: 0x0000000000000016
Configuration info =: 0x00000000000040e0
mcode / hi-cyl =: 0x0000000000000000
cyl & head addr [0]=: 0x0000000000000000
cyl & head addr [1]=: 0x0000000000000000
cyl & head addr [2]=: 0x0000000000000000
The Sense Data section is currently only printed for ECKD DASD.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
1554388475-18329-10-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:27 +0000 (10:34 -0400)]
s390-bios: Support for running format-0/1 channel programs
Introduce a library function for executing format-0 and format-1
channel programs and waiting for their completion before continuing
execution.
Add cu_type() to channel io library. This will be used to query control
unit type which is used to determine if we are booting a virtio device or a
real dasd device.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Farhan Ali <alifm@linux.ibm.com>
Message-Id: <
1554388475-18329-9-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:26 +0000 (10:34 -0400)]
s390-bios: ptr2u32 and u32toptr
Introduce inline functions to convert between pointers and unsigned 32-bit
ints. These are used to hide the ugliness required to avoid compiler
warnings.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-8-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:25 +0000 (10:34 -0400)]
s390-bios: Map low core memory
Create a new header for basic architecture specific definitions and add a
mapping of low core memory. This mapping will be used by the real dasd boot
process.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-7-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:24 +0000 (10:34 -0400)]
s390-bios: Decouple channel i/o logic from virtio
Create a separate library for channel i/o related code. This decouples
channel i/o operations from virtio and allows us to make use of them for
the real dasd boot path.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-6-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:23 +0000 (10:34 -0400)]
s390-bios: Clean up cio.h
Add proper typedefs to all structs and modify all bit fields to use consistent
formatting.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Farhan Ali <alifm@linux.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-5-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:22 +0000 (10:34 -0400)]
s390-bios: decouple common boot logic from virtio
Create a boot_setup function to handle getting boot information from
the machine/hypervisor. This decouples common boot logic from the
virtio code path and allows us to make use of it for the real dasd boot
scenario.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
1554388475-18329-4-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:21 +0000 (10:34 -0400)]
s390-bios: decouple cio setup from virtio
Move channel i/o setup code out to a separate function. This decouples cio
setup from the virtio code path and allows us to make use of it for booting
dasd devices.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Farhan Ali <alifm@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <
1554388475-18329-3-git-send-email-jjherne@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Jason J. Herne [Thu, 4 Apr 2019 14:34:20 +0000 (10:34 -0400)]
s390 vfio-ccw: Add bootindex property and IPLB data
Add bootindex property and iplb data for vfio-ccw devices. This allows us to
forward boot information into the bios for vfio-ccw devices.
Refactor s390_get_ccw_device() to return device type. This prevents us from
having to use messy casting logic in several places.
Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <
1554388475-18329-2-git-send-email-jjherne@linux.ibm.com>
[thuth: fixed "typedef struct VFIOCCWDevice" build failure with clang]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Peter Maydell [Fri, 12 Apr 2019 10:23:14 +0000 (11:23 +0100)]
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.0-
20190412' into staging
ppc patch queue for 2018-04-12
Here's a last minute pull request for 4.0. Turns out my last pull
request, to fix a regression in extended config space access for the
pseries machine didn't fix things hard enough. This PR has a single
patch which improves the fix to work in more cases.
It's a ghastly, ghastly hack, but it's simple and localized. I
already have patches almost ready to go in 4.1 that provides a simpler
and cleaner solution to all this.
# gpg: Signature made Fri 12 Apr 2019 06:34:16 BST
# gpg: using RSA key
75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full]
# gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392
* remotes/dgibson/tags/ppc-for-4.0-
20190412:
spapr_pci: Fix broken naming of PCI bus
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Greg Kurz [Thu, 11 Apr 2019 16:32:24 +0000 (18:32 +0200)]
spapr_pci: Fix broken naming of PCI bus
Recent commit
5cf0d326a0fe fixed a regression which was preventing the
guest to access the extended config space of a PCIe device. This was
done by introducing a new PCI bus subtype for PAPR. The original fix
was causing PCI busses to be named "spapr-pci-host-bridge-root-bus.N"
instead of "pci.N", which was making upper layers unhappy of course.
This got worked around by hardcoding the PCI bus name to "pci.0", but
this only works for the default PHB. And we're now hitting:
# qemu-system-ppc64 \
-device spapr-pci-host-bridge,index=1 \
-device e1000e,bus=pci.0 \
-device e1000e,bus=pci.1
qemu-system-ppc64: -device e1000e,bus=pci.1: Bus 'pci.1' not found
David already posted some patches [1] to control PCI extended config
space accesses with a new flag in the base PCI bus class instead of
subtyping. These patches are a bit more intrusive though, and
are targetted for 4.1.
When no name is passed to pci_register_bus(), the core device code
generates a lowercase name based on the QOM typename. The typename
for the base PCI bus class is "PCI", hence the "pci.0", "pci.1"
bus names. Rename the type of the PAPR PCI bus to "pci", so that
the QOM code can generate proper names. This is a hack but it is
enough to fix the regression. And all this will be reworked properly
in 4.1.
[1] https://patchwork.ozlabs.org/project/qemu-devel/list/?series=100486
Fixes:
5cf0d326a0fe
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <
155500034416.646888.
1307366522340665522.stgit@bahia.lab.toulouse-stg.fr.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Peter Maydell [Wed, 10 Apr 2019 14:38:59 +0000 (15:38 +0100)]
Update version for v4.0.0-rc3 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>