All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29
@ 2021-02-01 15:00 Paolo Bonzini
  2021-02-01 15:00 ` [PULL 24/38] build-sys: make libslirp a meson subproject Paolo Bonzini
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-02-01 15:00 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit 0bcd12fb1513bad44f05f2d3a8eef2a99b3077b6:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2021-01-28 12:30:30 +0000)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to e2c7c4a3f5ce0e2e529fb50e56017572c221182b:

  pc-bios/descriptors: fix paths in json files (2021-02-01 13:05:51 +0100)

----------------------------------------------------------------
* Fuzzing improvements (Qiuhao, Alexander)
* i386: Fix BMI decoding for instructions with the 0x66 prefix (David)
* slirp update (Marc-André)
* initial attempt at fixing event_notifier emulation (Maxim)
* i386: PKS emulation, fix for "qemu-system-i386 -cpu host" (myself)
* meson: RBD test fixes (myself)
* meson: TCI warnings (Philippe)
* Leaner build for --disable-guest-agent, --disable-system and
  --disable-tools (Philippe, Stefan)
* --enable-tcg-interpreter fix (Richard)
* i386: SVM feature bits (Wei)
* HVF bugfix (Alex)
* KVM bugfix (Thomas)

----------------------------------------------------------------

v1->v2: two extra bugfix patches, do move slirp/ to subprojects/libslirp/.

Alexander Bulekov (7):
      fuzz: ignore address_space_map is_write flag
      fuzz: refine the ide/ahci fuzzer configs
      docs/fuzz: fix pre-meson path
      fuzz: log the arguments used to initialize QEMU
      fuzz: enable dynamic args for generic-fuzz configs
      docs/fuzz: add some information about OSS-Fuzz
      fuzz: add virtio-9p configurations for fuzzing

Alexander Graf (1):
      hvf: Fetch cr4 before evaluating CPUID(1)

David Greenaway (1):
      target/i386: Fix decoding of certain BMI instructions

Igor Mammedov (1):
      machine: add missing doc for memory-backend option

Marc-André Lureau (2):
      slirp: update to git master
      build-sys: make libslirp a meson subproject

Maxim Levitsky (2):
      virtio-scsi: don't uninitialize queues that we didn't initialize
      event_notifier: handle initialization failure better

Paolo Bonzini (4):
      target/i386: do not set LM for 32-bit emulation "-cpu host/max"
      meson: accept either shared or static libraries if --disable-static
      meson: honor --enable-rbd if cc.links test fails
      target/i86: implement PKS

Pavel Dovgalyuk (1):
      replay: fix replay of the interrupts

Philippe Mathieu-Daudé (13):
      configure: Improve TCI feature description
      meson: Explicit TCG backend used
      meson: Warn when TCI is selected but TCG backend is available
      tests/meson: Only build softfloat objects if TCG is selected
      pc-bios/meson: Only install EDK2 blob firmwares with system emulation
      meson: Restrict block subsystem processing
      meson: Merge trace_events_subdirs array
      meson: Restrict some trace event directories to user/system emulation
      meson: Restrict emulation code
      qapi/meson: Restrict qdev code to system-mode emulation
      qapi/meson: Remove QMP from user-mode emulation
      qapi/meson: Restrict system-mode specific modules
      qapi/meson: Restrict UI module to system emulation and tools

Qiuhao Li (1):
      fuzz: fix wrong index in clear_bits

Richard Henderson (1):
      configure: Fix --enable-tcg-interpreter

Sergei Trofimovich (1):
      pc-bios/descriptors: fix paths in json files

Stefan Reiter (1):
      docs: don't install corresponding man page if guest agent is disabled

Thomas Huth (1):
      accel/kvm/kvm-all: Fix wrong return code handling in dirty log code

Wei Huang (1):
      x86/cpu: Populate SVM CPUID feature bits

 .gitmodules                              |   4 +-
 MAINTAINERS                              |   1 +
 accel/kvm/kvm-all.c                      |  21 ++-
 accel/tcg/tcg-cpus-icount.c              |   8 +-
 backends/hostmem.c                       |  10 ++
 configure                                |   9 +-
 docs/devel/build-system.rst              |   2 +-
 docs/devel/fuzzing.rst                   |  35 +++-
 docs/meson.build                         |   6 +-
 hw/scsi/virtio-scsi-dataplane.c          |   8 +-
 include/exec/memory.h                    |   8 +-
 include/exec/memory_ldst_cached.h.inc    |   6 +-
 include/qemu/event_notifier.h            |   1 +
 memory_ldst.c.inc                        |   8 +-
 meson.build                              | 277 ++++++++++++++-----------------
 meson_options.txt                        |   2 +-
 pc-bios/descriptors/meson.build          |   2 +-
 pc-bios/meson.build                      |   1 +
 qapi/meson.build                         |  34 ++--
 qemu-options.hx                          |  26 ++-
 scripts/oss-fuzz/minimize_qtest_trace.py |   2 +-
 slirp                                    |   1 -
 softmmu/memory.c                         |   5 +-
 softmmu/physmem.c                        |   4 +-
 stubs/meson.build                        |   2 +
 stubs/qdev.c                             |  23 +++
 subprojects/libslirp                     |   1 +
 target/i386/cpu.c                        |  15 +-
 target/i386/cpu.h                        |  29 ++--
 target/i386/helper.c                     |   3 +
 target/i386/hvf/hvf.c                    |   4 +
 target/i386/machine.c                    |  24 ++-
 target/i386/tcg/excp_helper.c            |  32 ++--
 target/i386/tcg/misc_helper.c            |  14 ++
 target/i386/tcg/translate.c              |   2 +-
 tests/meson.build                        |  11 +-
 tests/qtest/fuzz/fuzz.c                  |  11 +-
 tests/qtest/fuzz/generic_fuzz.c          |  19 ++-
 tests/qtest/fuzz/generic_fuzz_configs.h  |  41 ++++-
 util/event_notifier-posix.c              |  16 ++
 40 files changed, 476 insertions(+), 252 deletions(-)
 delete mode 160000 slirp
 create mode 100644 stubs/qdev.c
 create mode 160000 subprojects/libslirp
-- 
2.29.2



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PULL 24/38] build-sys: make libslirp a meson subproject
  2021-02-01 15:00 [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Paolo Bonzini
@ 2021-02-01 15:00 ` Paolo Bonzini
  2021-02-01 15:00 ` [PULL 37/38] replay: fix replay of the interrupts Paolo Bonzini
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-02-01 15:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Remove the manual build.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210125073427.3970606-3-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 .gitmodules                   |  4 +--
 configure                     |  2 +-
 meson.build                   | 63 +++--------------------------------
 slirp => subprojects/libslirp |  0
 4 files changed, 7 insertions(+), 62 deletions(-)
 rename slirp => subprojects/libslirp (100%)

diff --git a/.gitmodules b/.gitmodules
index 2bdeeacef8..0fb15efacd 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -49,8 +49,8 @@
 [submodule "roms/edk2"]
 	path = roms/edk2
 	url = https://git.qemu.org/git/edk2.git
-[submodule "slirp"]
-	path = slirp
+[submodule "subprojects/libslirp"]
+	path = subprojects/libslirp
 	url = https://git.qemu.org/git/libslirp.git
 [submodule "roms/opensbi"]
 	path = roms/opensbi
diff --git a/configure b/configure
index 21369efc63..337283571a 100755
--- a/configure
+++ b/configure
@@ -5212,7 +5212,7 @@ case "$slirp" in
   auto | enabled | internal)
     # Simpler to always update submodule, even if not needed.
     if test -e "${source_path}/.git" && test $git_update = 'yes' ; then
-      git_submodules="${git_submodules} slirp"
+      git_submodules="${git_submodules} subprojects/libslirp"
     fi
     ;;
 esac
diff --git a/meson.build b/meson.build
index b6c9db613b..4e694e78a0 100644
--- a/meson.build
+++ b/meson.build
@@ -1489,7 +1489,7 @@ slirp_opt = 'disabled'
 if have_system
   slirp_opt = get_option('slirp')
   if slirp_opt in ['enabled', 'auto', 'system']
-    have_internal = fs.exists(meson.current_source_dir() / 'slirp/meson.build')
+    have_internal = fs.exists(meson.current_source_dir() / 'subprojects/libslirp/meson.build')
     slirp = dependency('slirp', kwargs: static_kwargs,
                        method: 'pkg-config',
                        required: slirp_opt == 'system' or
@@ -1503,64 +1503,9 @@ if have_system
     endif
   endif
   if slirp_opt == 'internal'
-    slirp_deps = []
-    if targetos == 'windows'
-      slirp_deps = cc.find_library('iphlpapi')
-    endif
-    slirp_conf = configuration_data()
-    slirp_conf.set('SLIRP_MAJOR_VERSION', meson.project_version().split('.')[0])
-    slirp_conf.set('SLIRP_MINOR_VERSION', meson.project_version().split('.')[1])
-    slirp_conf.set('SLIRP_MICRO_VERSION', meson.project_version().split('.')[2])
-    slirp_conf.set_quoted('SLIRP_VERSION_STRING', meson.project_version())
-    slirp_cargs = ['-DG_LOG_DOMAIN="Slirp"']
-    slirp_files = [
-      'slirp/src/arp_table.c',
-      'slirp/src/bootp.c',
-      'slirp/src/cksum.c',
-      'slirp/src/dhcpv6.c',
-      'slirp/src/dnssearch.c',
-      'slirp/src/if.c',
-      'slirp/src/ip6_icmp.c',
-      'slirp/src/ip6_input.c',
-      'slirp/src/ip6_output.c',
-      'slirp/src/ip_icmp.c',
-      'slirp/src/ip_input.c',
-      'slirp/src/ip_output.c',
-      'slirp/src/mbuf.c',
-      'slirp/src/misc.c',
-      'slirp/src/ncsi.c',
-      'slirp/src/ndp_table.c',
-      'slirp/src/sbuf.c',
-      'slirp/src/slirp.c',
-      'slirp/src/socket.c',
-      'slirp/src/state.c',
-      'slirp/src/stream.c',
-      'slirp/src/tcp_input.c',
-      'slirp/src/tcp_output.c',
-      'slirp/src/tcp_subr.c',
-      'slirp/src/tcp_timer.c',
-      'slirp/src/tftp.c',
-      'slirp/src/udp.c',
-      'slirp/src/udp6.c',
-      'slirp/src/util.c',
-      'slirp/src/version.c',
-      'slirp/src/vmstate.c',
-    ]
-
-    configure_file(
-      input : 'slirp/src/libslirp-version.h.in',
-      output : 'libslirp-version.h',
-      configuration: slirp_conf)
-
-    slirp_inc = include_directories('slirp', 'slirp/src')
-    libslirp = static_library('slirp',
-                              build_by_default: false,
-                              sources: slirp_files,
-                              c_args: slirp_cargs,
-                              include_directories: slirp_inc)
-    slirp = declare_dependency(link_with: libslirp,
-                               dependencies: slirp_deps,
-                               include_directories: slirp_inc)
+    libslirp = subproject('libslirp',
+                          default_options: ['default_library=static'])
+    slirp = libslirp.get_variable('libslirp_dep')
   endif
 endif
 
diff --git a/slirp b/subprojects/libslirp
similarity index 100%
rename from slirp
rename to subprojects/libslirp
-- 
2.29.2




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PULL 37/38] replay: fix replay of the interrupts
  2021-02-01 15:00 [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Paolo Bonzini
  2021-02-01 15:00 ` [PULL 24/38] build-sys: make libslirp a meson subproject Paolo Bonzini
@ 2021-02-01 15:00 ` Paolo Bonzini
  2021-02-01 15:00 ` [PULL 38/38] pc-bios/descriptors: fix paths in json files Paolo Bonzini
  2021-02-01 16:27 ` [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-02-01 15:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Pavel Dovgalyuk

From: Pavel Dovgalyuk <pavel.dovgalyuk@ispras.ru>

Sometimes interrupt event comes at the same time with
the virtual timers. In this case replay tries to proceed
the timers, because deadline for them is zero.
This patch allows processing interrupts and exceptions
by entering the vCPU execution loop, when deadline is zero,
but checkpoint associated with virtual timers is not ready
to be replayed.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>

Message-Id: <161216312794.2030770.1709657858900983160.stgit@pasha-ThinkPad-X280>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 accel/tcg/tcg-cpus-icount.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/accel/tcg/tcg-cpus-icount.c b/accel/tcg/tcg-cpus-icount.c
index 9f45432275..8ed485db01 100644
--- a/accel/tcg/tcg-cpus-icount.c
+++ b/accel/tcg/tcg-cpus-icount.c
@@ -81,7 +81,13 @@ void icount_handle_deadline(void)
     int64_t deadline = qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL,
                                                   QEMU_TIMER_ATTR_ALL);
 
-    if (deadline == 0) {
+    /*
+     * Instructions, interrupts, and exceptions are processed in cpu-exec.
+     * Don't interrupt cpu thread, when these events are waiting
+     * (i.e., there is no checkpoint)
+     */
+    if (deadline == 0
+        && (replay_mode != REPLAY_MODE_PLAY || replay_has_checkpoint())) {
         icount_notify_aio_contexts();
     }
 }
-- 
2.29.2




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PULL 38/38] pc-bios/descriptors: fix paths in json files
  2021-02-01 15:00 [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Paolo Bonzini
  2021-02-01 15:00 ` [PULL 24/38] build-sys: make libslirp a meson subproject Paolo Bonzini
  2021-02-01 15:00 ` [PULL 37/38] replay: fix replay of the interrupts Paolo Bonzini
@ 2021-02-01 15:00 ` Paolo Bonzini
  2021-02-01 16:27 ` [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-02-01 15:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Jannik Glückert,
	Philippe Mathieu-Daudé,
	qemu-stable, Sergei Trofimovich

From: Sergei Trofimovich <slyfox@gentoo.org>

Before the change /usr/share/qemu/firmware/50-edk2-x86_64-secure.json
contained the relative path:
            "filename": "share/qemu/edk2-x86_64-secure-code.fd",
            "filename": "share/qemu/edk2-i386-vars.fd",

After then change the paths are absolute:
            "filename": "/usr/share/qemu/edk2-x86_64-secure-code.fd",
            "filename": "/usr/share/qemu/edk2-i386-vars.fd",

The regression appeared in qemu-5.2.0 (seems to be related
to meson port).

CC: Paolo Bonzini <pbonzini@redhat.com>
CC: "Marc-André Lureau" <marcandre.lureau@redhat.com>
CC: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Bug: https://bugs.gentoo.org/766743
Bug: https://bugs.launchpad.net/qemu/+bug/1913012
Signed-off-by: Jannik Glückert <jannik.glueckert@gmail.com>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Message-Id: <20210131143434.2513363-1-slyfox@gentoo.org>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 pc-bios/descriptors/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
index ac6ec66b00..29efa16d99 100644
--- a/pc-bios/descriptors/meson.build
+++ b/pc-bios/descriptors/meson.build
@@ -9,7 +9,7 @@ if install_edk2_blobs
   ]
     configure_file(input: files(f),
                    output: f,
-                   configuration: {'DATADIR': qemu_datadir},
+                   configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
                    install: get_option('install_blobs'),
                    install_dir: qemu_datadir / 'firmware')
   endforeach
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29
  2021-02-01 15:00 [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Paolo Bonzini
                   ` (2 preceding siblings ...)
  2021-02-01 15:00 ` [PULL 38/38] pc-bios/descriptors: fix paths in json files Paolo Bonzini
@ 2021-02-01 16:27 ` Peter Maydell
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2021-02-01 16:27 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On Mon, 1 Feb 2021 at 15:05, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 0bcd12fb1513bad44f05f2d3a8eef2a99b3077b6:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2021-01-28 12:30:30 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to e2c7c4a3f5ce0e2e529fb50e56017572c221182b:
>
>   pc-bios/descriptors: fix paths in json files (2021-02-01 13:05:51 +0100)
>
> ----------------------------------------------------------------
> * Fuzzing improvements (Qiuhao, Alexander)
> * i386: Fix BMI decoding for instructions with the 0x66 prefix (David)
> * slirp update (Marc-André)
> * initial attempt at fixing event_notifier emulation (Maxim)
> * i386: PKS emulation, fix for "qemu-system-i386 -cpu host" (myself)
> * meson: RBD test fixes (myself)
> * meson: TCI warnings (Philippe)
> * Leaner build for --disable-guest-agent, --disable-system and
>   --disable-tools (Philippe, Stefan)
> * --enable-tcg-interpreter fix (Richard)
> * i386: SVM feature bits (Wei)
> * HVF bugfix (Alex)
> * KVM bugfix (Thomas)
>
> ----------------------------------------------------------------

Conflict in configure. The fix is trivial but git seems to do weird
stuff with the submodule changes which get in the way of just
resolving the conflict in the merge conflict. Can you rebase and
resend, please?

thanks
-- PMM


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-02-01 16:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-01 15:00 [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Paolo Bonzini
2021-02-01 15:00 ` [PULL 24/38] build-sys: make libslirp a meson subproject Paolo Bonzini
2021-02-01 15:00 ` [PULL 37/38] replay: fix replay of the interrupts Paolo Bonzini
2021-02-01 15:00 ` [PULL 38/38] pc-bios/descriptors: fix paths in json files Paolo Bonzini
2021-02-01 16:27 ` [PULL v2 00/38] Misc patches (buildsys, i386, fuzzing) for 2021-01-29 Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.