[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 732845: target/i386: log MCE guest and host a
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 732845: target/i386: log MCE guest and host addresses |
Date: |
Mon, 28 Oct 2019 06:31:24 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 73284563dce268bade300370a8b20728d3866afe
https://github.com/qemu/qemu/commit/73284563dce268bade300370a8b20728d3866afe
Author: Mario Smarduch <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M target/i386/kvm.c
Log Message:
-----------
target/i386: log MCE guest and host addresses
Patch logs MCE AO, AR messages injected to guest or taken by QEMU itself.
We print the QEMU address for guest MCEs, helps on hypervisors that have
another source of MCE logging like mce log, and when they go missing.
For example we found these QEMU logs:
September 26th 2019, 17:36:02.309 Droplet-153258224: Guest MCE Memory
Error at qemu addr 0x7f8ce14f5000 and guest 3d6f5000 addr of type BUS_MCEERR_AR
injected qemu-system-x86_64 amsN ams3nodeNNNN
September 27th 2019, 06:25:03.234 Droplet-153258224: Guest MCE Memory
Error at qemu addr 0x7f8ce14f5000 and guest 3d6f5000 addr of type BUS_MCEERR_AR
injected qemu-system-x86_64 amsN ams3nodeNNNN
The first log had a corresponding mce log entry, the second didnt (logging
thresholds) we can infer from second entry same PA and mce type.
Signed-off-by: Mario Smarduch <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: b429de730174b388ea5760e3debb0d542ea3c261
https://github.com/qemu/qemu/commit/b429de730174b388ea5760e3debb0d542ea3c261
Author: Marcelo Tosatti <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/timer/mc146818rtc.c
Log Message:
-----------
mc146818rtc: fix timer interrupt reinjection
commit 369b41359af46bded5799c9ef8be2b641d92e043 broke timer interrupt
reinjection when there is no period change by the guest.
In that case, old_period is 0, which ends up zeroing irq_coalesced
(counter of reinjected interrupts).
The consequence is Windows 7 is unable to synchronize time via NTP.
Easily reproducible by playing a fullscreen video with cirrus and VNC.
Fix by not updating s->irq_coalesced when old_period is 0.
V2: reorganize code (Paolo Bonzini)
Signed-off-by: Marcelo Tosatti <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: f1733749709b2f6935493e8183afe1ce6c80d52d
https://github.com/qemu/qemu/commit/f1733749709b2f6935493e8183afe1ce6c80d52d
Author: Alexander Shopov <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M po/bg.po
Log Message:
-----------
Updated Bulgarian translation (19) - 4.1.0
Signed-off-by: Alexander Shopov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 30d6ff662d0411fcb98a577e58582690fc2c513c
https://github.com/qemu/qemu/commit/30d6ff662d0411fcb98a577e58582690fc2c513c
Author: Vitaly Kuznetsov <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M docs/hyperv.txt
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/hyperv-proto.h
M target/i386/kvm.c
Log Message:
-----------
i386/kvm: add NoNonArchitecturalCoreSharing Hyper-V enlightenment
Hyper-V TLFS specifies this enlightenment as:
"NoNonArchitecturalCoreSharing - Indicates that a virtual processor will never
share a physical core with another virtual processor, except for virtual
processors that are reported as sibling SMT threads. This can be used as an
optimization to avoid the performance overhead of STIBP".
However, STIBP is not the only implication. It was found that Hyper-V on
KVM doesn't pass MD_CLEAR bit to its guests if it doesn't see
NoNonArchitecturalCoreSharing bit.
KVM reports NoNonArchitecturalCoreSharing in KVM_GET_SUPPORTED_HV_CPUID to
indicate that SMT on the host is impossible (not supported of forcefully
disabled).
Implement NoNonArchitecturalCoreSharing support in QEMU as tristate:
'off' - the feature is disabled (default)
'on' - the feature is enabled. This is only safe if vCPUS are properly
pinned and correct topology is exposed. As CPU pinning is done outside
of QEMU the enablement decision will be made on a higher level.
'auto' - copy KVM setting. As during live migration SMT settings on the
source and destination host may differ this requires us to add a migration
blocker.
Signed-off-by: Vitaly Kuznetsov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 372a87a1d9f611cedeff2f679fe8da219f0b938f
https://github.com/qemu/qemu/commit/372a87a1d9f611cedeff2f679fe8da219f0b938f
Author: Thomas Huth <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/misc/tmp421.c
M util/main-loop.c
M util/systemd.c
Log Message:
-----------
Do not use %m in common code to print error messages
The %m format specifier is an extension from glibc - and when compiling
QEMU for NetBSD, the compiler correctly complains, e.g.:
/home/qemu/qemu-test.ELjfrQ/src/util/main-loop.c: In function 'sigfd_handler':
/home/qemu/qemu-test.ELjfrQ/src/util/main-loop.c:64:13: warning: %m is only
allowed in syslog(3) like functions [-Wformat=]
printf("read from sigfd returned %zd: %m\n", len);
^
Let's use g_strerror() here instead, which is an easy-to-use wrapper
around the thread-safe strerror_r() function.
While we're at it, also convert the "printf()" in main-loop.c into
the preferred "error_report()".
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 7320c8b4ae610ad0b2faa3b049d8312b26f31518
https://github.com/qemu/qemu/commit/7320c8b4ae610ad0b2faa3b049d8312b26f31518
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/mem/Makefile.objs
Log Message:
-----------
memory-device: simplify Makefile.objs conditions
hw/mem/ is only included if CONFIG_MEM_DEVICE is true, so we need not
specify the condition again in hw/mem/Makefile.objs.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: bca964bcea65e69895ff7200ca0b5ddd01b87d24
https://github.com/qemu/qemu/commit/bca964bcea65e69895ff7200ca0b5ddd01b87d24
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/virtio/virtio-mmio.c
A include/hw/virtio/virtio-mmio.h
Log Message:
-----------
hw/virtio: Factorize virtio-mmio headers
Put QOM and main struct definition in a separate header file, so it
can be accessed from other components.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: 81ef68e44c84377fe66e0b27626f2f562f558a6d
https://github.com/qemu/qemu/commit/81ef68e44c84377fe66e0b27626f2f562f558a6d
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M hw/i386/pc_sysfw.c
M include/hw/i386/pc.h
Log Message:
-----------
hw/i386/pc: rename functions shared with non-PC machines
The following functions are named *pc* but are not PC-machine specific
but generic to the X86 architecture, rename them:
load_linux -> x86_load_linux
pc_new_cpu -> x86_new_cpu
pc_cpus_init -> x86_cpus_init
pc_cpu_index_to_props -> x86_cpu_index_to_props
pc_get_default_cpu_node_id -> x86_get_default_cpu_node_id
pc_possible_cpu_arch_ids -> x86_possible_cpu_arch_ids
old_pc_system_rom_init -> x86_system_rom_init
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Stefano Garzarella <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: 62a188546ff9dec8020776c04a728ff62d2b4aeb
https://github.com/qemu/qemu/commit/62a188546ff9dec8020776c04a728ff62d2b4aeb
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/pc.c
Log Message:
-----------
hw/i386/pc: fix code style issues on functions that will be moved out
Fix code style issues detected by checkpatch.pl on functions that will
be moved out to x86.c.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Commit: 133ef074bd88957c0ed5b38d4489111889acf915
https://github.com/qemu/qemu/commit/133ef074bd88957c0ed5b38d4489111889acf915
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/pc.c
Log Message:
-----------
hw/i386/pc: replace use of strtol with qemu_strtoui in x86_load_linux()
Follow checkpatch.pl recommendation and replace the use of strtol with
qemu_strtoui in x86_load_linux().
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Commit: 350f5233d755cb00e62ccadc7635435ac3238aa6
https://github.com/qemu/qemu/commit/350f5233d755cb00e62ccadc7635435ac3238aa6
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/pc.c
Log Message:
-----------
hw/i386/pc: avoid an assignment in if condition in x86_load_linux()
Follow checkpatch.pl recommendation and avoid an assignment in if
condition in x86_load_linux().
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Commit: 86a9a7916b6b69e429f078dd9c89c2907ff43308
https://github.com/qemu/qemu/commit/86a9a7916b6b69e429f078dd9c89c2907ff43308
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/pc.c
Log Message:
-----------
hw/i386/pc: remove commented out code from x86_load_linux()
Follow checkpatch.pl recommendation and remove commented out code from
x86_load_linux().
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Commit: 549e984e67d8b3ea868be4ba935cecb9c1e753dc
https://github.com/qemu/qemu/commit/549e984e67d8b3ea868be4ba935cecb9c1e753dc
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/Makefile.objs
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M hw/i386/pc_sysfw.c
A hw/i386/x86.c
M include/hw/i386/pc.h
A include/hw/i386/x86.h
Log Message:
-----------
hw/i386/pc: move shared x86 functions to x86.c and export them
Move x86 functions that will be shared between PC and non-PC machine
types to x86.c, along with their helpers.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Stefano Garzarella <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: f0bb276bf8d5b3df57697357b802ca76e4cdf05f
https://github.com/qemu/qemu/commit/f0bb276bf8d5b3df57697357b802ca76e4cdf05f
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/acpi/cpu_hotplug.c
M hw/i386/acpi-build.c
M hw/i386/amd_iommu.c
M hw/i386/intel_iommu.c
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M hw/i386/x86.c
M hw/i386/xen/xen-hvm.c
M hw/intc/ioapic.c
M include/hw/i386/pc.h
M include/hw/i386/x86.h
Log Message:
-----------
hw/i386: split PCMachineState deriving X86MachineState from it
Split up PCMachineState and PCMachineClass and derive X86MachineState
and X86MachineClass from them. This allows sharing code with non-PC
x86 machine types.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: 703a548aa9f148186ed8647092e8645e5a85f373
https://github.com/qemu/qemu/commit/703a548aa9f148186ed8647092e8645e5a85f373
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M hw/i386/x86.c
M include/hw/i386/x86.h
Log Message:
-----------
hw/i386: make x86.c independent from PCMachineState
As a last step into splitting PCMachineState and deriving
X86MachineState from it, make the functions previously extracted from
pc.c to x86.c independent from PCMachineState, using X86MachineState
instead.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: e5f6aa319f7636168469b2c797249680fa5e0413
https://github.com/qemu/qemu/commit/e5f6aa319f7636168469b2c797249680fa5e0413
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/nvram/fw_cfg.c
M include/hw/nvram/fw_cfg.h
Log Message:
-----------
fw_cfg: add "modify" functions for all types
This allows to alter the contents of an already added item.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Commit: 78cafff81088492fe70e12b3bded219096031f7c
https://github.com/qemu/qemu/commit/78cafff81088492fe70e12b3bded219096031f7c
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M hw/intc/apic.c
Log Message:
-----------
hw/intc/apic: reject pic ints if isa_pic == NULL
In apic_accept_pic_intr(), reject PIC interruptions if a i8259 PIC has
not been instantiated (isa_pic == NULL).
Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: 0d5fae3e52e8a6b1068e53ebb87e96702246529e
https://github.com/qemu/qemu/commit/0d5fae3e52e8a6b1068e53ebb87e96702246529e
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M .gitmodules
A pc-bios/bios-microvm.bin
M roms/Makefile
A roms/qboot
Log Message:
-----------
roms: add microvm-bios (qboot) as binary and git submodule
qboot is a minimalist x86 firmware for booting Linux kernels. It does
the mininum amount of work required for the task, and it's able to
boot both PVH images and bzImages without relying on option roms.
This characteristics make it an ideal companion for the microvm
machine type.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Stefano Garzarella <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: e00803aab46c6018b695ee63eef41263c15376d9
https://github.com/qemu/qemu/commit/e00803aab46c6018b695ee63eef41263c15376d9
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
A docs/microvm.rst
Log Message:
-----------
docs/microvm.rst: document the new microvm machine type
Document the new microvm machine type.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Commit: 0ebf007ddacf15a4483a4e740bf6c9dd688b5b5a
https://github.com/qemu/qemu/commit/0ebf007ddacf15a4483a4e740bf6c9dd688b5b5a
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M default-configs/i386-softmmu.mak
M hw/i386/Kconfig
M hw/i386/Makefile.objs
A hw/i386/microvm.c
A include/hw/i386/microvm.h
Log Message:
-----------
hw/i386: Introduce the microvm machine type
microvm is a machine type inspired by Firecracker and constructed
after its machine model.
It's a minimalist machine type without PCI nor ACPI support, designed
for short-lived guests. microvm also establishes a baseline for
benchmarking and optimizing both QEMU and guest operating systems,
since it is optimized for both boot time and footprint.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Commit: 5cb48f05dd90d7a11d2bfb6f368da74622c218b4
https://github.com/qemu/qemu/commit/5cb48f05dd90d7a11d2bfb6f368da74622c218b4
Author: Sergio Lopez <address@hidden>
Date: 2019-10-22 (Tue, 22 Oct 2019)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: add microvm related files
Add a new "microvm" section under "X86 Machines" with the new files
related to this machine type.
Signed-off-by: Sergio Lopez <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Commit: e31db8aabece49b815c394a3a0ddb6bb1624a07a
https://github.com/qemu/qemu/commit/e31db8aabece49b815c394a3a0ddb6bb1624a07a
Author: Wei Yang <address@hidden>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M scripts/checkpatch.pl
Log Message:
-----------
checkpatch: suggest qemu_real_host_page_size instead of getpagesize() or
sysconf(_SC_PAGESIZE)
Signed-off-by: Wei Yang <address@hidden>
CC: Richard Henderson <address@hidden>
CC: Stefan Hajnoczi <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 1bd71dce4bf2d24d003780ef01eb5fc274d66703
https://github.com/qemu/qemu/commit/1bd71dce4bf2d24d003780ef01eb5fc274d66703
Author: Laurent Vivier <address@hidden>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M vl.c
Log Message:
-----------
runstate: ignore exit request in finish migrate state
Trying to reboot a VM while a migration is running can
move to the prelaunch state (because of the reset) while
the runstate is in finish migrate state.
As the logical step after the finish migrate is postmigrate,
this can create an invalid state transition from prelaunch state
to postmigrate state and this raises an error and aborts:
invalid runstate transition: 'prelaunch' -> 'postmigrate'
As we are not able to manage reset in finish migrate state the
best we can do is to ignore any changes and delay them until
the next state which should be postmigrate and which should allow
this kind of transition.
Reported-by: Lukáš Doktor <address@hidden>
Suggested-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 3c13c4be221a83f80431c228bbaf7f8a064897dd
https://github.com/qemu/qemu/commit/3c13c4be221a83f80431c228bbaf7f8a064897dd
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M hw/timer/mc146818rtc.c
Log Message:
-----------
hw/timer/mc146818rtc: Only include qapi-commands-misc on I386
Commit a6c7040fb09 restricted the rtc-reset-reinjection command
to the I386 target.
Restrict the "qapi/qapi-commands-misc-target.h" header to it too.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 67192a298f5bf98f96e5516c3b6474c49e4853cd
https://github.com/qemu/qemu/commit/67192a298f5bf98f96e5516c3b6474c49e4853cd
Author: Tao Xu <address@hidden>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/kvm.c
Log Message:
-----------
x86/cpu: Add support for UMONITOR/UMWAIT/TPAUSE
UMONITOR, UMWAIT and TPAUSE are a set of user wait instructions.
This patch adds support for user wait instructions in KVM. Availability
of the user wait instructions is indicated by the presence of the CPUID
feature flag WAITPKG CPUID.0x07.0x0:ECX[5]. User wait instructions may
be executed at any privilege level, and use IA32_UMWAIT_CONTROL MSR to
set the maximum time.
The patch enable the umonitor, umwait and tpause features in KVM.
Because umwait and tpause can put a (psysical) CPU into a power saving
state, by default we dont't expose it to kvm and enable it only when
guest CPUID has it. And use QEMU command-line "-overcommit cpu-pm=on"
(enable_cpu_pm is enabled), a VM can use UMONITOR, UMWAIT and TPAUSE
instructions. If the instruction causes a delay, the amount of time
delayed is called here the physical delay. The physical delay is first
computed by determining the virtual delay (the time to delay relative to
the VM’s timestamp counter). Otherwise, UMONITOR, UMWAIT and TPAUSE cause
an invalid-opcode exception(#UD).
The release document ref below link:
https://software.intel.com/sites/default/files/\
managed/39/c5/325462-sdm-vol-1-2abcd-3abcd.pdf
Co-developed-by: Jingqi Liu <address@hidden>
Signed-off-by: Jingqi Liu <address@hidden>
Signed-off-by: Tao Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 6508799707bbf018df82d354c388820217757f21
https://github.com/qemu/qemu/commit/6508799707bbf018df82d354c388820217757f21
Author: Tao Xu <address@hidden>
Date: 2019-10-23 (Wed, 23 Oct 2019)
Changed paths:
M target/i386/cpu.h
M target/i386/kvm.c
M target/i386/machine.c
Log Message:
-----------
target/i386: Add support for save/load IA32_UMWAIT_CONTROL MSR
UMWAIT and TPAUSE instructions use 32bits IA32_UMWAIT_CONTROL at MSR
index E1H to determines the maximum time in TSC-quanta that the processor
can reside in either C0.1 or C0.2.
This patch is to Add support for save/load IA32_UMWAIT_CONTROL MSR in
guest.
Co-developed-by: Jingqi Liu <address@hidden>
Signed-off-by: Jingqi Liu <address@hidden>
Signed-off-by: Tao Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 417258f139e61899511d6a99c11b276f12bbbd86
https://github.com/qemu/qemu/commit/417258f139e61899511d6a99c11b276f12bbbd86
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M include/hw/i386/pc.h
Log Message:
-----------
hw/i386/pc: Extract pc_gsi_create()
The GSI creation code is common to all PC machines, extract the
common code.
Reviewed-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: b00c6f18a618f42f90e8608fbc4dbc6c133ad0e3
https://github.com/qemu/qemu/commit/b00c6f18a618f42f90e8608fbc4dbc6c133ad0e3
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/i386/pc_q35.c
Log Message:
-----------
hw/i386/pc: Move gsi_state creation code
The code block related to IRQ starts few lines later. Move
the comment and the pc_gsi_create() invocation where we start
to use the IRQs.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 4501d317b50e52de090192aab6244060fbe42da0
https://github.com/qemu/qemu/commit/4501d317b50e52de090192aab6244060fbe42da0
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M include/hw/i386/pc.h
Log Message:
-----------
hw/i386/pc: Extract pc_i8259_create()
The i8259 creation code is common to all PC machines, extract the
common code.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: b4de58a4e1b3d1cfe7ea1a3fc1c75e032c13ffa3
https://github.com/qemu/qemu/commit/b4de58a4e1b3d1cfe7ea1a3fc1c75e032c13ffa3
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
Log Message:
-----------
hw/i386/pc: Remove kvm_i386.h include
By extracting pc_gsi_create() and pc_i8259_create() we removed
the access to "kvm_i386.h" from the machine code. We can now
remove it.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 53e4b8018e600c256bd60e5898f6747eddbc2131
https://github.com/qemu/qemu/commit/53e4b8018e600c256bd60e5898f6747eddbc2131
Author: Hervé Poussineau <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/timer/mc146818rtc.c
M include/hw/timer/mc146818rtc.h
Log Message:
-----------
mc146818rtc: move structure to header file
We are now able to embed a timer in another object.
Acked-by: Michael S. Tsirkin <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Signed-off-by: Hervé Poussineau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: d578f7dfb4e4b911fd7c6418b9344dc3dccad7f3
https://github.com/qemu/qemu/commit/d578f7dfb4e4b911fd7c6418b9344dc3dccad7f3
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M include/hw/timer/mc146818rtc.h
M include/hw/timer/mc146818rtc_regs.h
M tests/rtc-test.c
Log Message:
-----------
mc146818rtc: Move RTC_ISA_IRQ definition
The ISA default number for the RTC devices is not related to its
registers neither. Move this definition to "hw/timer/mc146818rtc.h".
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Commit: d93884e89bb6bf26ebffdee5887907cf940b3090
https://github.com/qemu/qemu/commit/d93884e89bb6bf26ebffdee5887907cf940b3090
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/timer/mc146818rtc.c
M include/hw/timer/mc146818rtc.h
Log Message:
-----------
mc146818rtc: Include mc146818rtc_regs.h directly in mc146818rtc.c
Devices/boards wanting to use the MC146818 RTC don't need
the knowledge its internal registers. Move the "mc146818rtc_regs.h"
inclusion to mc146818rtc.c where it is required.
We can not move this file from include/hw/timer/ to hw/timer/ for
local inclusion because the ACPI FADT table use the RTC_CENTURY
register address.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Commit: df84f17d1beabbb2aca39be18b21afc277cd6754
https://github.com/qemu/qemu/commit/df84f17d1beabbb2aca39be18b21afc277cd6754
Author: Hervé Poussineau <address@hidden>
Date: 2019-10-24 (Thu, 24 Oct 2019)
Changed paths:
M hw/timer/mc146818rtc.c
Log Message:
-----------
mc146818rtc: always register rtc to rtc list
We are not required anymore to use rtc_init() function.
Acked-by: Michael S. Tsirkin <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Signed-off-by: Hervé Poussineau <address@hidden>
Message-Id: <address@hidden>
[PMD: rebased, fix OBJECT() value]
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 673652a785efb5f7da342b49c80a1abf033c82a7
https://github.com/qemu/qemu/commit/673652a785efb5f7da342b49c80a1abf033c82a7
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M .gitmodules
M MAINTAINERS
M default-configs/i386-softmmu.mak
M docs/hyperv.txt
A docs/microvm.rst
M hw/acpi/cpu_hotplug.c
M hw/i386/Kconfig
M hw/i386/Makefile.objs
M hw/i386/acpi-build.c
M hw/i386/amd_iommu.c
M hw/i386/intel_iommu.c
A hw/i386/microvm.c
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M hw/i386/pc_sysfw.c
A hw/i386/x86.c
M hw/i386/xen/xen-hvm.c
M hw/intc/apic.c
M hw/intc/ioapic.c
M hw/mem/Makefile.objs
M hw/misc/tmp421.c
M hw/nvram/fw_cfg.c
M hw/rtc/mc146818rtc.c
M hw/virtio/virtio-mmio.c
A include/hw/i386/microvm.h
M include/hw/i386/pc.h
A include/hw/i386/x86.h
M include/hw/nvram/fw_cfg.h
M include/hw/rtc/mc146818rtc.h
M include/hw/rtc/mc146818rtc_regs.h
A include/hw/virtio/virtio-mmio.h
A pc-bios/bios-microvm.bin
M po/bg.po
M roms/Makefile
A roms/qboot
M scripts/checkpatch.pl
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/hyperv-proto.h
M target/i386/kvm.c
M target/i386/machine.c
M tests/rtc-test.c
M util/main-loop.c
M util/systemd.c
M vl.c
Log Message:
-----------
Merge commit 'df84f17' into HEAD
This merge fixes a semantic conflict with the trivial tree.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 5608956575088554f7612b716916efafae46187c
https://github.com/qemu/qemu/commit/5608956575088554f7612b716916efafae46187c
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M audio/paaudio.c
Log Message:
-----------
audio: fix missing break
Reported by Coverity (CID 1406449).
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 038adc2f5850e32019bda06c559d0301be436eae
https://github.com/qemu/qemu/commit/038adc2f5850e32019bda06c559d0301be436eae
Author: Wei Yang <address@hidden>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M accel/kvm/kvm-all.c
M backends/hostmem.c
M block.c
M block/file-posix.c
M block/io.c
M block/parallels.c
M block/qcow2-cache.c
M contrib/vhost-user-gpu/vugbm.c
M exec.c
M hw/intc/s390_flic_kvm.c
M hw/ppc/mac_newworld.c
M hw/ppc/spapr_pci.c
M hw/rdma/vmw/pvrdma_main.c
M hw/vfio/spapr.c
M include/exec/ram_addr.h
M include/qemu/osdep.h
M migration/migration.c
M migration/postcopy-ram.c
M monitor/misc.c
M target/ppc/kvm.c
M tests/vhost-user-bridge.c
M util/mmap-alloc.c
M util/oslib-posix.c
M util/oslib-win32.c
M util/vfio-helpers.c
Log Message:
-----------
core: replace getpagesize() with qemu_real_host_page_size
There are three page size in qemu:
real host page size
host page size
target page size
All of them have dedicate variable to represent. For the last two, we
use the same form in the whole qemu project, while for the first one we
use two forms: qemu_real_host_page_size and getpagesize().
qemu_real_host_page_size is defined to be a replacement of
getpagesize(), so let it serve the role.
[Note] Not fully tested for some arch or device.
Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 6f529b7534c534afe2f2b834199191d8b4cc07ca
https://github.com/qemu/qemu/commit/6f529b7534c534afe2f2b834199191d8b4cc07ca
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M include/hw/i386/pc.h
M target/i386/cpu.h
M target/i386/fpu_helper.c
Log Message:
-----------
target/i386: move FERR handling to target/i386
Move it out of pc.c since it is strictly tied to TCG. This is
almost exclusively code movement, the next patch will implement
IGNNE.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 5caa1833d22c2f3c3f08c80d9bf86dccf9aa25a4
https://github.com/qemu/qemu/commit/5caa1833d22c2f3c3f08c80d9bf86dccf9aa25a4
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M target/i386/fpu_helper.c
Log Message:
-----------
target/i386: introduce cpu_set_fpus
In the next patch, this will provide a hook to detect clearing of
FSW.ES.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: bf13bfab0840d34a74938ddf567d52e9010dbdc6
https://github.com/qemu/qemu/commit/bf13bfab0840d34a74938ddf567d52e9010dbdc6
Author: Paolo Bonzini <address@hidden>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M hw/i386/pc.c
M target/i386/cpu.h
M target/i386/fpu_helper.c
Log Message:
-----------
i386: implement IGNNE
Change the handling of port F0h writes and FPU exceptions to implement IGNNE.
The implementation mixes a bit what the chipset and processor do in real
hardware, but the effect is the same as what happens with actual FERR#
and IGNNE# pins: writing to port F0h asserts IGNNE# in addition to lowering
FP_IRQ; while clearing the SE bit in the FPU status word deasserts IGNNE#.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 88c1fd4cba1103653fac4d9393b0832e446b593f
https://github.com/qemu/qemu/commit/88c1fd4cba1103653fac4d9393b0832e446b593f
Author: Peter Maydell <address@hidden>
Date: 2019-10-27 (Sun, 27 Oct 2019)
Changed paths:
M .gitmodules
M MAINTAINERS
M accel/kvm/kvm-all.c
M audio/paaudio.c
M backends/hostmem.c
M block.c
M block/file-posix.c
M block/io.c
M block/parallels.c
M block/qcow2-cache.c
M contrib/vhost-user-gpu/vugbm.c
M default-configs/i386-softmmu.mak
M docs/hyperv.txt
A docs/microvm.rst
M exec.c
M hw/acpi/cpu_hotplug.c
M hw/i386/Kconfig
M hw/i386/Makefile.objs
M hw/i386/acpi-build.c
M hw/i386/amd_iommu.c
M hw/i386/intel_iommu.c
A hw/i386/microvm.c
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/pc_q35.c
M hw/i386/pc_sysfw.c
A hw/i386/x86.c
M hw/i386/xen/xen-hvm.c
M hw/intc/apic.c
M hw/intc/ioapic.c
M hw/intc/s390_flic_kvm.c
M hw/mem/Makefile.objs
M hw/misc/tmp421.c
M hw/nvram/fw_cfg.c
M hw/ppc/mac_newworld.c
M hw/ppc/spapr_pci.c
M hw/rdma/vmw/pvrdma_main.c
M hw/rtc/mc146818rtc.c
M hw/vfio/spapr.c
M hw/virtio/virtio-mmio.c
M include/exec/ram_addr.h
A include/hw/i386/microvm.h
M include/hw/i386/pc.h
A include/hw/i386/x86.h
M include/hw/nvram/fw_cfg.h
M include/hw/rtc/mc146818rtc.h
M include/hw/rtc/mc146818rtc_regs.h
A include/hw/virtio/virtio-mmio.h
M include/qemu/osdep.h
M migration/migration.c
M migration/postcopy-ram.c
M monitor/misc.c
A pc-bios/bios-microvm.bin
M po/bg.po
M roms/Makefile
A roms/qboot
M scripts/checkpatch.pl
M target/i386/cpu.c
M target/i386/cpu.h
M target/i386/fpu_helper.c
M target/i386/hyperv-proto.h
M target/i386/kvm.c
M target/i386/machine.c
M target/ppc/kvm.c
M tests/rtc-test.c
M tests/vhost-user-bridge.c
M util/main-loop.c
M util/mmap-alloc.c
M util/oslib-posix.c
M util/oslib-win32.c
M util/systemd.c
M util/vfio-helpers.c
M vl.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
* Bulgarian translation update (Alexander)
* RTC and PC refactorings (Hervé, Philippe, Sergio)
* RTC fix (Marcelo)
* More comprehensive MCE logging (Mario)
* x86 IGNNE implementation (Paolo)
* Microvm machine type (Sergio)
* Support for UMONITOR/UMWAIT/TPAUSE (Tao)
* Do not use %m in common code (Thomas)
* NoNonArchitecturalCoreSharing Hyper-V enlightenment (Vitaly)
* getpagesize cleanups (Wei)
# gpg: Signature made Sat 26 Oct 2019 14:39:56 BST
# gpg: using RSA key BFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>" [full]
# gpg: aka "Paolo Bonzini <address@hidden>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83
* remotes/bonzini/tags/for-upstream: (39 commits)
i386: implement IGNNE
target/i386: introduce cpu_set_fpus
target/i386: move FERR handling to target/i386
core: replace getpagesize() with qemu_real_host_page_size
audio: fix missing break
mc146818rtc: always register rtc to rtc list
mc146818rtc: Include mc146818rtc_regs.h directly in mc146818rtc.c
mc146818rtc: Move RTC_ISA_IRQ definition
mc146818rtc: move structure to header file
hw/i386/pc: Remove kvm_i386.h include
hw/i386/pc: Extract pc_i8259_create()
hw/i386/pc: Move gsi_state creation code
hw/i386/pc: Extract pc_gsi_create()
target/i386: Add support for save/load IA32_UMWAIT_CONTROL MSR
x86/cpu: Add support for UMONITOR/UMWAIT/TPAUSE
hw/timer/mc146818rtc: Only include qapi-commands-misc on I386
runstate: ignore exit request in finish migrate state
checkpatch: suggest qemu_real_host_page_size instead of getpagesize() or
sysconf(_SC_PAGESIZE)
MAINTAINERS: add microvm related files
hw/i386: Introduce the microvm machine type
...
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/187f35512106...88c1fd4cba11
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 732845: target/i386: log MCE guest and host addresses,
Peter Maydell <=