[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v8 00/17] QEMU cpus.c refactoring part2
From: |
Claudio Fontana |
Subject: |
Re: [PATCH v8 00/17] QEMU cpus.c refactoring part2 |
Date: |
Fri, 25 Sep 2020 18:09:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 |
On 9/25/20 3:09 PM, Paolo Bonzini wrote:
> On 18/09/20 21:00, Richard Henderson wrote:
>> On 9/16/20 7:19 AM, Claudio Fontana wrote:
>>> Motivation and higher level steps:
>>>
>>> https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg04628.html
>>>
>>> Current state is mostly all reviewed, but I include here a few resolutions
>>> of rebasing conflicts and a new patch to use current_machine instead of
>>> qdev_get_machine in softmmu context.
>>>
>>> It's minor, but if additional reviewing is necessary, here is the whole
>>> series again.
>>>
>>> CI is all green, and also available at
>>> https://github.com/hw-claudio/qemu.git "cpus-refactoring"
>>>
>>> The following changes since commit 5a77bbb53b087f95dbba7ce30b02ac2d7b147a3a:
>>>
>>> iotests: Work around failing readlink -f (2020-09-15 18:19:26 +0200)
>>>
>>> are available in the Git repository at:
>>>
>>> https://github.com/hw-claudio/qemu.git
>>>
>>> for you to fetch changes up to f9ec667595537400a6bc0aaf094a5ca6bbaacf44:
>>>
>>> accel/tcg: use current_machine as it is always set for softmmu
>>> (2020-09-15 18:19:27 +0200)
>>
>> Queuing this to tcg-next, with Phil's suggested change to current_machine in
>> the final patch.
>
> This doesn't apply anymore, but I've fixed it up because I had it as a
> prerequisite for my next pull request. If you want, I can shepherd it too.
>
> Paolo
>
Hi, if it is helpful I just rebased on latest master and pushed to
https://github.com/hw-claudio/qemu.git branch: "cpus-refactoring"
The following changes since commit d4277402b5e4645e4c7706a3221f8acd3f1a50f7:
tests: add missing genh dependency (2020-09-25 14:10:56 +0200)
are available in the Git repository at:
https://github.com/hw-claudio/qemu.git
for you to fetch changes up to 4822a683c261c249e46d26cd65ff37cc1e1cfb94:
accel/tcg: use current_machine as it is always set for softmmu (2020-09-25
17:34:07 +0200)
----------------------------------------------------------------
Claudio Fontana (17):
cpu-timers, icount: new modules
icount: rename functions to be consistent with the module name
cpus: prepare new CpusAccel cpu accelerator interface
cpus: extract out TCG-specific code to accel/tcg
cpus: extract out qtest-specific code to accel/qtest
cpus: extract out kvm-specific code to accel/kvm
cpus: extract out hax-specific code to target/i386/
cpus: extract out whpx-specific code to target/i386/
cpus: extract out hvf-specific code to target/i386/hvf/
cpus: cleanup now unneeded includes
cpus: remove checks for non-NULL cpus_accel
cpus: add handle_interrupt to the CpusAccel interface
hvf: remove hvf specific functions from global includes
whpx: remove whpx specific functions from global includes
hax: remove hax specific functions from global includes
kvm: remove kvm specific functions from global includes
accel/tcg: use current_machine as it is always set for softmmu
MAINTAINERS | 5 +-
accel/kvm/kvm-all.c | 14 +-
accel/kvm/kvm-cpus.c | 88 +++
accel/kvm/kvm-cpus.h | 24 +
accel/kvm/meson.build | 5 +-
accel/meson.build | 2 +-
accel/qtest/meson.build | 7 +
accel/qtest/qtest-cpus.c | 91 +++
accel/qtest/qtest-cpus.h | 17 +
accel/{ => qtest}/qtest.c | 13 +-
accel/stubs/hax-stub.c | 10 -
accel/stubs/hvf-stub.c | 30 -
accel/stubs/kvm-stub.c | 23 -
accel/stubs/meson.build | 2 -
accel/stubs/whpx-stub.c | 47 --
accel/tcg/cpu-exec.c | 43 +-
accel/tcg/meson.build | 2 +-
accel/tcg/tcg-all.c | 42 +-
accel/tcg/tcg-cpus.c | 579 ++++++++++++++
accel/tcg/tcg-cpus.h | 17 +
accel/tcg/translate-all.c | 3 +-
dma-helpers.c | 4 +-
docs/replay.txt | 6 +-
exec.c | 4 -
hw/core/cpu.c | 14 +-
hw/core/ptimer.c | 8 +-
hw/i386/x86.c | 3 +-
include/exec/cpu-all.h | 4 +
include/exec/exec-all.h | 4 +-
include/hw/core/cpu.h | 14 -
include/qemu/timer.h | 24 +-
include/sysemu/cpu-timers.h | 90 +++
include/sysemu/cpus.h | 50 +-
include/sysemu/hax.h | 17 -
include/sysemu/hvf.h | 8 -
include/sysemu/hw_accel.h | 69 +-
include/sysemu/kvm.h | 7 -
include/sysemu/qtest.h | 2 +
include/sysemu/replay.h | 4 +-
include/sysemu/whpx.h | 19 -
replay/replay.c | 6 +-
softmmu/cpu-timers.c | 279 +++++++
softmmu/cpus.c | 1706 +++-------------------------------------
softmmu/icount.c | 492 ++++++++++++
softmmu/meson.build | 10 +-
softmmu/qtest.c | 34 +-
softmmu/timers-state.h | 69 ++
softmmu/vl.c | 8 +-
stubs/clock-warp.c | 7 -
stubs/cpu-get-clock.c | 3 +-
stubs/cpu-get-icount.c | 16 -
stubs/cpu-synchronize-state.c | 9 +
stubs/cpus-get-virtual-clock.c | 8 +
stubs/icount.c | 45 ++
stubs/meson.build | 6 +-
stubs/qemu-timer-notify-cb.c | 2 +-
stubs/qtest.c | 5 +
target/alpha/translate.c | 3 +-
target/arm/helper.c | 7 +-
target/i386/hax-all.c | 17 +-
target/i386/hax-cpus.c | 84 ++
target/i386/hax-cpus.h | 33 +
target/i386/hax-i386.h | 2 +
target/i386/hax-mem.c | 2 +-
target/i386/hax-posix.c | 13 +-
target/i386/hax-windows.c | 22 +-
target/i386/hax-windows.h | 2 +
target/i386/hvf/hvf-cpus.c | 131 +++
target/i386/hvf/hvf-cpus.h | 25 +
target/i386/hvf/hvf.c | 12 +-
target/i386/hvf/meson.build | 1 +
target/i386/hvf/x86hvf.c | 2 +
target/i386/hvf/x86hvf.h | 1 -
target/i386/meson.build | 14 +-
target/i386/whpx-all.c | 13 +-
target/i386/whpx-cpus.c | 96 +++
target/i386/whpx-cpus.h | 34 +
target/riscv/csr.c | 8 +-
tests/ptimer-test-stubs.c | 5 +-
tests/test-timed-average.c | 2 +-
util/main-loop.c | 12 +-
util/qemu-timer.c | 14 +-
82 files changed, 2639 insertions(+), 2036 deletions(-)
create mode 100644 accel/kvm/kvm-cpus.c
create mode 100644 accel/kvm/kvm-cpus.h
create mode 100644 accel/qtest/meson.build
create mode 100644 accel/qtest/qtest-cpus.c
create mode 100644 accel/qtest/qtest-cpus.h
rename accel/{ => qtest}/qtest.c (81%)
delete mode 100644 accel/stubs/hvf-stub.c
delete mode 100644 accel/stubs/whpx-stub.c
create mode 100644 accel/tcg/tcg-cpus.c
create mode 100644 accel/tcg/tcg-cpus.h
create mode 100644 include/sysemu/cpu-timers.h
create mode 100644 softmmu/cpu-timers.c
create mode 100644 softmmu/icount.c
create mode 100644 softmmu/timers-state.h
delete mode 100644 stubs/clock-warp.c
delete mode 100644 stubs/cpu-get-icount.c
create mode 100644 stubs/cpu-synchronize-state.c
create mode 100644 stubs/cpus-get-virtual-clock.c
create mode 100644 stubs/icount.c
create mode 100644 target/i386/hax-cpus.c
create mode 100644 target/i386/hax-cpus.h
create mode 100644 target/i386/hvf/hvf-cpus.c
create mode 100644 target/i386/hvf/hvf-cpus.h
create mode 100644 target/i386/whpx-cpus.c
create mode 100644 target/i386/whpx-cpus.h
- [PATCH v8 12/17] cpus: add handle_interrupt to the CpusAccel interface, (continued)
- [PATCH v8 12/17] cpus: add handle_interrupt to the CpusAccel interface, Claudio Fontana, 2020/09/16
- [PATCH v8 11/17] cpus: remove checks for non-NULL cpus_accel, Claudio Fontana, 2020/09/16
- [PATCH v8 15/17] hax: remove hax specific functions from global includes, Claudio Fontana, 2020/09/16
- [PATCH v8 16/17] kvm: remove kvm specific functions from global includes, Claudio Fontana, 2020/09/16
- [PATCH v8 14/17] whpx: remove whpx specific functions from global includes, Claudio Fontana, 2020/09/16
- [PATCH v8 13/17] hvf: remove hvf specific functions from global includes, Claudio Fontana, 2020/09/16
- [PATCH v8 17/17] accel/tcg: use current_machine as it is always set for softmmu, Claudio Fontana, 2020/09/16
- Re: [PATCH v8 00/17] QEMU cpus.c refactoring part2, Richard Henderson, 2020/09/18