qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] e3a692: target/i386: Rename helper_fldt, help


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] e3a692: target/i386: Rename helper_fldt, helper_fstt
Date: Wed, 12 May 2021 08:13:40 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: e3a69234540d40b12c7d8f242fd8e21aadc2b81f
      
https://github.com/qemu/qemu/commit/e3a69234540d40b12c7d8f242fd8e21aadc2b81f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/tcg/fpu_helper.c

  Log Message:
  -----------
  target/i386: Rename helper_fldt, helper_fstt

Change the prefix from "helper" to "do".  The former should be
reserved for those functions that are called from TCG; the latter
is in use within the file already for those functions that are
called from the helper functions, adding a "retaddr" argument.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Tested-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210322132800.7470-3-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0ac2b197430ebf19b5575ea48fe3b76d62110ab9
      
https://github.com/qemu/qemu/commit/0ac2b197430ebf19b5575ea48fe3b76d62110ab9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/tcg/fpu_helper.c

  Log Message:
  -----------
  target/i386: Split out do_fsave, do_frstor, do_fxsave, do_fxrstor

The helper_* functions must use GETPC() to unwind from TCG.
The cpu_x86_* functions cannot, and directly calling the
helper_* functions is a bug.  Split out new functions that
perform the work and can be used by both.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Tested-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210322132800.7470-4-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f5cc5a5c168674f84bf061cdb307c2d25fba5448
      
https://github.com/qemu/qemu/commit/f5cc5a5c168674f84bf061cdb307c2d25fba5448
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M MAINTAINERS
    M hw/i386/pc_piix.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    A target/i386/host-cpu.c
    A target/i386/host-cpu.h
    A target/i386/hvf/hvf-cpu.c
    M target/i386/hvf/meson.build
    A target/i386/kvm/kvm-cpu.c
    A target/i386/kvm/kvm-cpu.h
    M target/i386/kvm/kvm.c
    M target/i386/kvm/meson.build
    M target/i386/meson.build
    M target/i386/tcg/tcg-cpu.c
    R target/i386/tcg/tcg-cpu.h

  Log Message:
  -----------
  i386: split cpu accelerators from cpu.c, using AccelCPUClass

i386 is the first user of AccelCPUClass, allowing to split
cpu.c into:

cpu.c            cpuid and common x86 cpu functionality
host-cpu.c       host x86 cpu functions and "host" cpu type
kvm/kvm-cpu.c    KVM x86 AccelCPUClass
hvf/hvf-cpu.c    HVF x86 AccelCPUClass
tcg/tcg-cpu.c    TCG x86 AccelCPUClass

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

[claudio]:
Rebased on commit b8184135 ("target/i386: allow modifying TCG phys-addr-bits")

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210322132800.7470-5-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 30565f10e90778cb52bcf4d798195d18d7aa80d7
      
https://github.com/qemu/qemu/commit/30565f10e90778cb52bcf4d798195d18d7aa80d7
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M cpu.c
    M target/i386/cpu.c

  Log Message:
  -----------
  cpu: call AccelCPUClass::cpu_realizefn in cpu_exec_realizefn

move the call to accel_cpu->cpu_realizefn to the general
cpu_exec_realizefn from target/i386, so it does not need to be
called for every target explicitly as we enable more targets.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-6-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bb883fd67707fd7f1bf04369aafd7ea7ad5b01b0
      
https://github.com/qemu/qemu/commit/bb883fd67707fd7f1bf04369aafd7ea7ad5b01b0
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M accel/accel-common.c
    M cpu.c
    M include/qemu/accel.h
    M target/i386/cpu.c

  Log Message:
  -----------
  accel: introduce new accessor functions

avoid open coding the accesses to cpu->accel_cpu interfaces,
and instead introduce:

accel_cpu_instance_init,
accel_cpu_realizefn

to be used by the targets/ initfn code,
and by cpu_exec_realizefn respectively.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-7-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ce21726525da53053432b19e27e9fd2a49086d78
      
https://github.com/qemu/qemu/commit/ce21726525da53053432b19e27e9fd2a49086d78
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/host-cpu.c

  Log Message:
  -----------
  target/i386: fix host_cpu_adjust_phys_bits error handling

move the check for phys_bits outside of host_cpu_adjust_phys_bits,
because otherwise it is impossible to return an error condition
explicitly.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-8-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9ea057dc641b150ecbfd45acfe18fe043641a551
      
https://github.com/qemu/qemu/commit/9ea057dc641b150ecbfd45acfe18fe043641a551
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M accel/accel-common.c
    M cpu.c
    M include/hw/core/accel-cpu.h
    M include/qemu/accel.h
    M target/i386/host-cpu.c
    M target/i386/host-cpu.h
    M target/i386/kvm/kvm-cpu.c
    M target/i386/tcg/tcg-cpu.c

  Log Message:
  -----------
  accel-cpu: make cpu_realizefn return a bool

overall, all devices' realize functions take an Error **errp, but return void.

hw/core/qdev.c code, which realizes devices, therefore does:

local_err = NULL;
dc->realize(dev, &local_err);
if (local_err != NULL) {
    goto fail;
}

However, we can improve at least accel_cpu to return a meaningful bool value.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-9-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 222f3e6f190c01c764be51ec7e9beb695cd11e1c
      
https://github.com/qemu/qemu/commit/222f3e6f190c01c764be51ec7e9beb695cd11e1c
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/meson.build
    M target/i386/tcg/meson.build
    A target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/sysemu/tcg-cpu.c
    M target/i386/tcg/tcg-cpu.c
    A target/i386/tcg/tcg-cpu.h
    A target/i386/tcg/user/meson.build

  Log Message:
  -----------
  i386: split off sysemu-only functionality in tcg-cpu

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-11-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a93b55ec223f07c7ca74a748e607db48cab945f6
      
https://github.com/qemu/qemu/commit/a93b55ec223f07c7ca74a748e607db48cab945f6
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/helper.h
    M target/i386/tcg/meson.build
    M target/i386/tcg/seg_helper.c
    R target/i386/tcg/smm_helper.c
    M target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/sysemu/smm_helper.c
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  i386: split smm helper (sysemu)

smm is only really useful for sysemu, split in two modules
around the CONFIG_USER_ONLY, in order to remove the ifdef
and use the build system instead.

add cpu_abort() when detecting attempts to enter SMM mode via
SMI interrupt in user-mode, and assert that the cpu is not
in SMM mode while translating RSM instructions.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-12-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e7f2670f2a7cc259cc98d3a4a7ad4dc36389d60b
      
https://github.com/qemu/qemu/commit/e7f2670f2a7cc259cc98d3a4a7ad4dc36389d60b
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/tcg/excp_helper.c
    A target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/user/excp_helper.c
    M target/i386/tcg/user/meson.build

  Log Message:
  -----------
  i386: split tcg excp_helper into sysemu and user parts

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

[claudio]:
Rebased on commit b8184135 ("target/i386: allow modifying TCG phys-addr-bits")

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210322132800.7470-13-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6d8d1a031ad70122c47d23902f7c3e60f7e1d61e
      
https://github.com/qemu/qemu/commit/6d8d1a031ad70122c47d23902f7c3e60f7e1d61e
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/helper.h
    M target/i386/tcg/bpt_helper.c
    M target/i386/tcg/helper-tcg.h
    A target/i386/tcg/sysemu/bpt_helper.c
    M target/i386/tcg/sysemu/meson.build
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  i386: move TCG bpt_helper into sysemu/

for user-mode, assert that the hidden IOBPT flags are not set
while attempting to generate io_bpt helpers.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-14-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a4b1f4e61129613fadd2c00422df31405b4925e8
      
https://github.com/qemu/qemu/commit/a4b1f4e61129613fadd2c00422df31405b4925e8
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/tcg/misc_helper.c
    M target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/sysemu/misc_helper.c
    M target/i386/tcg/user/meson.build
    A target/i386/tcg/user/misc_stubs.c

  Log Message:
  -----------
  i386: split misc helper user stubs and sysemu part

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

[claudio]:
Rebased on da3f3b02("target/i386: fail if toggling LA57 in 64-bitmode")

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210322132800.7470-15-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 83a3d9c7402065ca28160e6b524d53ae1eaeba8d
      
https://github.com/qemu/qemu/commit/83a3d9c7402065ca28160e6b524d53ae1eaeba8d
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/tcg/fpu_helper.c
    A target/i386/tcg/sysemu/fpu_helper.c
    M target/i386/tcg/sysemu/meson.build

  Log Message:
  -----------
  i386: separate fpu_helper sysemu-only parts

create a separate tcg/sysemu/fpu_helper.c for the sysemu-only parts.

For user mode, some small #ifdefs remain in tcg/fpu_helper.c
which do not seem worth splitting into their own user-mode module.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-16-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b39030942dc62a937f5746acf346830d711f4afa
      
https://github.com/qemu/qemu/commit/b39030942dc62a937f5746acf346830d711f4afa
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/tcg/meson.build
    R target/i386/tcg/svm_helper.c
    M target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/sysemu/svm_helper.c
    M target/i386/tcg/user/meson.build
    A target/i386/tcg/user/svm_stubs.c

  Log Message:
  -----------
  i386: split svm_helper into sysemu and stub-only user

For now we just copy over the previous user stubs, but really,

everything that requires s->cpl == 0 should be impossible
to trigger from user-mode emulation.

Later on we should add a check that asserts this easily f.e.:

static bool check_cpl0(DisasContext *s)
{
     int cpl = s->cpl;
 #ifdef CONFIG_USER_ONLY
     assert(cpl == 3);
 #endif
     if (cpl != 0) {
         gen_exception(s, EXCP0D_GPF, s->pc_start - s->cs_base);
         return false;
     }
     return true;
}

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-17-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 30493a030ff154fc9ea5f91a848c6ec7a018efa1
      
https://github.com/qemu/qemu/commit/30493a030ff154fc9ea5f91a848c6ec7a018efa1
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/seg_helper.c
    A target/i386/tcg/seg_helper.h
    M target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/sysemu/seg_helper.c
    M target/i386/tcg/user/meson.build
    A target/i386/tcg/user/seg_helper.c

  Log Message:
  -----------
  i386: split seg_helper into user-only and sysemu parts

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

[claudio]:
Rebased on commit 68775856 ("target/i386: svm: do not discard high 32 bits")

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210322132800.7470-18-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 79f1a68ab3a85d90a2fc0b1e166200ba9ea45670
      
https://github.com/qemu/qemu/commit/79f1a68ab3a85d90a2fc0b1e166200ba9ea45670
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    A target/i386/cpu-internal.h
    A target/i386/cpu-sysemu.c
    M target/i386/cpu.c
    M target/i386/meson.build

  Log Message:
  -----------
  i386: split off sysemu part of cpu.c

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-19-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4d81e28514dc7f0a4a0d54ccbb8f6ced59421491
      
https://github.com/qemu/qemu/commit/4d81e28514dc7f0a4a0d54ccbb8f6ced59421491
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/gdbstub.c

  Log Message:
  -----------
  target/i386: gdbstub: introduce aux functions to read/write CS64 regs

a number of registers are read as 64bit under the condition that
(hflags & HF_CS64_MASK) || TARGET_X86_64)

and a number of registers are written as 64bit under the condition that
(hflags & HF_CS64_MASK).

Provide some auxiliary functions that do that.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-20-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 1852f0942c815d07f9a07d1006c17570862f517e
      
https://github.com/qemu/qemu/commit/1852f0942c815d07f9a07d1006c17570862f517e
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/gdbstub.c

  Log Message:
  -----------
  target/i386: gdbstub: only write CR0/CR2/CR3/EFER for sysemu

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-21-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6308728907386a6419447e90ead3c6ee4f0fd2f2
      
https://github.com/qemu/qemu/commit/6308728907386a6419447e90ead3c6ee4f0fd2f2
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/helper.c

  Log Message:
  -----------
  i386: make cpu_load_efer sysemu-only

cpu_load_efer is now used only for sysemu code.

Therefore, move this function implementation to
sysemu-only section of helper.c

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210322132800.7470-22-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 92242f34ab08ecc68750dd118bdad6ed66e3b00e
      
https://github.com/qemu/qemu/commit/92242f34ab08ecc68750dd118bdad6ed66e3b00e
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M bsd-user/main.c
    M hw/core/machine.c
    M linux-user/main.c
    M softmmu/vl.c

  Log Message:
  -----------
  accel: move call to accel_init_interfaces

move the call for sysemu specifically in machine_run_board_init,
mirror the calling sequence for user mode too.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20210322132800.7470-23-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cc3f2be6b7ca1bb1e5d78aa355c5bdeea25c91c4
      
https://github.com/qemu/qemu/commit/cc3f2be6b7ca1bb1e5d78aa355c5bdeea25c91c4
  Author: Claudio Fontana <cfontana@suse.de>
  Date:   2021-05-10 (Mon, 10 May 2021)

  Changed paths:
    M accel/accel-common.c
    M include/hw/core/cpu.h
    M target/i386/tcg/tcg-cpu.c

  Log Message:
  -----------
  accel: add init_accel_cpu for adapting accel behavior to CPU type

while on x86 all CPU classes can use the same set of TCGCPUOps,
on ARM the right accel behavior depends on the type of the CPU.

So we need a way to specialize the accel behavior according to
the CPU. Therefore, add a second initialization, after the
accel_cpu->cpu_class_init, that allows to do this.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210322132800.7470-24-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 6ed6b0d38025485ddac834964f1ee25a2a809b2b
      
https://github.com/qemu/qemu/commit/6ed6b0d38025485ddac834964f1ee25a2a809b2b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/svm.h
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: merge SVM_NPTEXIT_* with PF_ERROR_* constants

They are the same value, and are so by design.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 616a89eaadb5337094a4931addee8a76c85556cd
      
https://github.com/qemu/qemu/commit/616a89eaadb5337094a4931addee8a76c85556cd
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/svm.h
    M target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: move paging mode constants from SVM to cpu.h

We will reuse the page walker for both SVM and regular accesses.  To do
so we will build a function that receives the currently active paging
mode; start by including in cpu.h the constants and the function to go
from cr4/hflags/efer to the paging mode.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 661ff4879eee77953836ba9843c74b202844a492
      
https://github.com/qemu/qemu/commit/661ff4879eee77953836ba9843c74b202844a492
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: extract mmu_translate

Extract the page table lookup out of handle_mmu_fault, which only has
to invoke mmu_translate and either fill the TLB or deliver the page
fault.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cd906d315d629da010e0ac6f84949c04d2ab7a08
      
https://github.com/qemu/qemu/commit/cd906d315d629da010e0ac6f84949c04d2ab7a08
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: pass cr3 to mmu_translate

First step in unifying the nested and regular page table walk.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 31dd35eb2d4484b70e4462a9e4a370695cc8ce8d
      
https://github.com/qemu/qemu/commit/31dd35eb2d4484b70e4462a9e4a370695cc8ce8d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/tcg/sysemu/excp_helper.c
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: extend pg_mode to more CR0 and CR4 bits

In order to unify the two stages of page table lookup, we need
mmu_translate to use either the host CR0/EFER/CR4 or the guest's.
To do so, make mmu_translate use the same pg_mode constants that
were used for the NPT lookup.

This also prepares for adding 5-level NPT support, which however does
not work yet.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 33ce155c6779baf3a01b22782632bda0cec352fb
      
https://github.com/qemu/qemu/commit/33ce155c6779baf3a01b22782632bda0cec352fb
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: allow customizing the next phase of the translation

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 68746930ae591eca3d6dd490012b59e85194ede4
      
https://github.com/qemu/qemu/commit/68746930ae591eca3d6dd490012b59e85194ede4
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M target/i386/tcg/sysemu/excp_helper.c

  Log Message:
  -----------
  target/i386: use mmu_translate for NPT walk

Unify the duplicate code between get_hphys and mmu_translate, by simply
making get_hphys call mmu_translate.  This also fixes the support for
5-level nested page tables.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d3e6dd2fe73e2c91a5e9803f3d5a93a82fe829ae
      
https://github.com/qemu/qemu/commit/d3e6dd2fe73e2c91a5e9803f3d5a93a82fe829ae
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M include/qemu/main-loop.h
    M util/main-loop.c

  Log Message:
  -----------
  main-loop: remove dead code

qemu_add_child_watch is not called anywhere since commit 2bdb920ece
("slirp: simplify fork_exec()", 2019-01-14), remove it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 941a4736d2b465be1d6429415f8b1f26e2167585
      
https://github.com/qemu/qemu/commit/941a4736d2b465be1d6429415f8b1f26e2167585
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-12 (Wed, 12 May 2021)

  Changed paths:
    M util/qemu-option.c

  Log Message:
  -----------
  qemu-option: support accept-any QemuOptsList in qemu_opts_absorb_qdict

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5ecfb76ccc056eb6127e44268e475827ae73b9e0
      
https://github.com/qemu/qemu/commit/5ecfb76ccc056eb6127e44268e475827ae73b9e0
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-12 (Wed, 12 May 2021)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: fix detection of gdbus-codegen

"pkg-config --variable=gdbus_codegen gio-2.0" returns "gdbus-codegen",
and it does not pass test -x (which does not walk the path).

Meson 0.58.0 notices that something is iffy, as the dbus_vmstate1
assignment in tests/qtest/meson.build uses an empty string as the
command, and fails very eloquently:

../tests/qtest/meson.build:92:2: ERROR: No program name specified.

Use the "has" function instead of test -x, and fix the generation
of config-host.mak since meson.build expects that GDBUS_CODEGEN
is absent, rather than empty, if the tool is unavailable.

Reported-by: Sebastian Mitterle <smitterl@redhat.com>
Fixes: #178
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e804f892b90e58861edd79aafa4d1f4dbdeb3819
      
https://github.com/qemu/qemu/commit/e804f892b90e58861edd79aafa4d1f4dbdeb3819
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-05-12 (Wed, 12 May 2021)

  Changed paths:
    R scripts/coverity-model.c
    A scripts/coverity-scan/COMPONENTS.md
    A scripts/coverity-scan/model.c

  Log Message:
  -----------
  coverity-scan: list components, move model to scripts/coverity-scan

Place all files that can be useful to rebuild the Coverity
configuration in scripts/coverity-scan: the existing model
file, and the components setup.

The Markdown syntax was tested with Pandoc (but in any case
is meant more as a human-readable reference than as a part
of documentation).

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 31589644ba069ba06c5d0d8c6f01908ec1f79105
      
https://github.com/qemu/qemu/commit/31589644ba069ba06c5d0d8c6f01908ec1f79105
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-05-12 (Wed, 12 May 2021)

  Changed paths:
    M MAINTAINERS
    M accel/accel-common.c
    M bsd-user/main.c
    M configure
    M cpu.c
    M hw/core/machine.c
    M hw/i386/pc_piix.c
    M include/hw/core/accel-cpu.h
    M include/hw/core/cpu.h
    M include/qemu/accel.h
    M include/qemu/main-loop.h
    M linux-user/main.c
    R scripts/coverity-model.c
    A scripts/coverity-scan/COMPONENTS.md
    A scripts/coverity-scan/model.c
    M softmmu/vl.c
    A target/i386/cpu-internal.h
    A target/i386/cpu-sysemu.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/gdbstub.c
    M target/i386/helper.c
    M target/i386/helper.h
    A target/i386/host-cpu.c
    A target/i386/host-cpu.h
    A target/i386/hvf/hvf-cpu.c
    M target/i386/hvf/meson.build
    A target/i386/kvm/kvm-cpu.c
    A target/i386/kvm/kvm-cpu.h
    M target/i386/kvm/kvm.c
    M target/i386/kvm/meson.build
    M target/i386/meson.build
    M target/i386/svm.h
    M target/i386/tcg/bpt_helper.c
    M target/i386/tcg/excp_helper.c
    M target/i386/tcg/fpu_helper.c
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/meson.build
    M target/i386/tcg/misc_helper.c
    M target/i386/tcg/seg_helper.c
    A target/i386/tcg/seg_helper.h
    R target/i386/tcg/smm_helper.c
    R target/i386/tcg/svm_helper.c
    A target/i386/tcg/sysemu/bpt_helper.c
    A target/i386/tcg/sysemu/excp_helper.c
    A target/i386/tcg/sysemu/fpu_helper.c
    A target/i386/tcg/sysemu/meson.build
    A target/i386/tcg/sysemu/misc_helper.c
    A target/i386/tcg/sysemu/seg_helper.c
    A target/i386/tcg/sysemu/smm_helper.c
    A target/i386/tcg/sysemu/svm_helper.c
    A target/i386/tcg/sysemu/tcg-cpu.c
    M target/i386/tcg/tcg-cpu.c
    M target/i386/tcg/tcg-cpu.h
    M target/i386/tcg/translate.c
    A target/i386/tcg/user/excp_helper.c
    A target/i386/tcg/user/meson.build
    A target/i386/tcg/user/misc_stubs.c
    A target/i386/tcg/user/seg_helper.c
    A target/i386/tcg/user/svm_stubs.c
    M util/main-loop.c
    M util/qemu-option.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

* AccelCPUClass and sysemu/user split for i386 (Claudio)
* i386 page walk unification
* Fix detection of gdbus-codegen
* Misc refactoring

# gpg: Signature made Wed 12 May 2021 09:39:29 BST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [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-gitlab/tags/for-upstream: (32 commits)
  coverity-scan: list components, move model to scripts/coverity-scan
  configure: fix detection of gdbus-codegen
  qemu-option: support accept-any QemuOptsList in qemu_opts_absorb_qdict
  main-loop: remove dead code
  target/i386: use mmu_translate for NPT walk
  target/i386: allow customizing the next phase of the translation
  target/i386: extend pg_mode to more CR0 and CR4 bits
  target/i386: pass cr3 to mmu_translate
  target/i386: extract mmu_translate
  target/i386: move paging mode constants from SVM to cpu.h
  target/i386: merge SVM_NPTEXIT_* with PF_ERROR_* constants
  accel: add init_accel_cpu for adapting accel behavior to CPU type
  accel: move call to accel_init_interfaces
  i386: make cpu_load_efer sysemu-only
  target/i386: gdbstub: only write CR0/CR2/CR3/EFER for sysemu
  target/i386: gdbstub: introduce aux functions to read/write CS64 regs
  i386: split off sysemu part of cpu.c
  i386: split seg_helper into user-only and sysemu parts
  i386: split svm_helper into sysemu and stub-only user
  i386: separate fpu_helper sysemu-only parts
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/a5ccdccc97d6...31589644ba06



reply via email to

[Prev in Thread] Current Thread [Next in Thread]