qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 2f73ed: hw/ide/ahci: Rename ahci_internal.h t


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 2f73ed: hw/ide/ahci: Rename ahci_internal.h to ahci-intern...
Date: Tue, 12 Mar 2024 09:28:59 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 2f73edac568fb6a49594a7367c85c0a4425c7ea6
      
https://github.com/qemu/qemu/commit/2f73edac568fb6a49594a7367c85c0a4425c7ea6
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    A hw/ide/ahci-internal.h
    M hw/ide/ahci.c
    R hw/ide/ahci_internal.h
    M hw/ide/ich.c

  Log Message:
  -----------
  hw/ide/ahci: Rename ahci_internal.h to ahci-internal.h

Other headers now use dash instead of underscore. Rename
ahci_internal.h accordingly for consistency.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240227131310.C24EB4E6005@zero.eik.bme.hu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 86f0aa1d438e0db61015678164b835cedc80795c
      
https://github.com/qemu/qemu/commit/86f0aa1d438e0db61015678164b835cedc80795c
  Author: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/pci/pcie.c
    M hw/pci/shpc.c
    M hw/pci/trace-events

  Log Message:
  -----------
  hw/pci: add some convenient trace-events for pcie and shpc hotplug

Add trace-events that may help to debug problems with hotplugging.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240301154146.761531-2-vsementsov@yandex-team.ru>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: d36b2f4e783f984b781f4510f56d571415e1b6cd
      
https://github.com/qemu/qemu/commit/d36b2f4e783f984b781f4510f56d571415e1b6cd
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/ppc/sam460ex.c

  Log Message:
  -----------
  hw/ppc/sam460ex: Support short options for adding drives

Having to use -drive if=none,... and -device ide-[cd,hd] is
inconvenient. Add support for shorter convenience options such as
-cdrom and -drive media=disk. Also adjust two nearby comments for code
style.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-ID: <20240305225721.E9A404E6005@zero.eik.bme.hu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: bfd65b4ba5659eda3a47a0099679812d58d14f3b
      
https://github.com/qemu/qemu/commit/bfd65b4ba5659eda3a47a0099679812d58d14f3b
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/core/loader-fit.c

  Log Message:
  -----------
  hw/core/loader-fit: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

In hw/core/loader-fit.c, there are 2 functions passing @errp to
error_prepend() without ERRP_GUARD():
 - fit_load_kernel()
 - fit_load_fdt()

Their @errp parameters are both the pointers of the local @err virable
in load_fit().

Though they don't cause the issue like [1] said, to follow the
requirement of @errp, add missing ERRP_GUARD() at their beginning.

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Paul Burton <paulburton@kernel.org>
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-ID: <20240311033822.3142585-15-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 688f2349a7b8d99cc3b53646c072d14cb1444db9
      
https://github.com/qemu/qemu/commit/688f2349a7b8d99cc3b53646c072d14cb1444db9
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/core/qdev-properties-system.c

  Log Message:
  -----------
  hw/core/qdev-properties-system: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The set_chr() passes @errp to error_prepend() without ERRP_GUARD().

As a PropertyInfo.set method, there are too many possible callers to
check the impact of this defect; it may or may not be harmless. Thus it
is necessary to protect @errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com
Cc: Eduardo Habkost <eduardo@habkost.net>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240311033822.3142585-16-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: b691b250d3860f007799b1b427689c707b796bba
      
https://github.com/qemu/qemu/commit/b691b250d3860f007799b1b427689c707b796bba
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/misc/ivshmem.c

  Log Message:
  -----------
  hw/misc/ivshmem: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The ivshmem_common_realize() passes @errp to error_prepend(), and as a
DeviceClass.realize method, there are too many possible callers to check
the impact of this defect; it may or may not be harmless. Thus it is
necessary to protect @errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Juan Quintela <quintela@trasno.org>
Cc: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Cc: Michael Galaxy <mgalaxy@akamai.com>
Cc: Steve Sistare <steven.sistare@oracle.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-ID: <20240311033822.3142585-17-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: c1c73b31d941220392ead0ea5ab6966943cb1b55
      
https://github.com/qemu/qemu/commit/c1c73b31d941220392ead0ea5ab6966943cb1b55
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  sun4u: remap ebus BAR0 to use unassigned_io_ops instead of alias to PCI IO 
space

During kernel startup OpenBSD accesses addresses mapped by BAR0 of the ebus 
device
but at offsets where no IO devices exist. Before commit 4aa07e8649 
("hw/sparc64/ebus:
Access memory regions via pci_address_space_io()") BAR0 was mapped to legacy IO
space which allows accesses to unmapped devices to succeed, but afterwards these
accesses to unmapped PCI IO space cause a memory fault which prevents OpenBSD 
from
booting.

Since no devices are mapped at the addresses accessed by OpenBSD, change ebus 
BAR0
from a PCI IO space alias to an IO memory region using unassigned_io_ops which 
allows
these accesses to succeed and so allows OpenBSD to boot once again.

Fixes: 4aa07e8649 ("hw/sparc64/ebus: Access memory regions via 
pci_address_space_io()")
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240311064345.2531197-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 2ed22b2c6a44ddf11efe98813ccfcf0c24a2946b
      
https://github.com/qemu/qemu/commit/2ed22b2c6a44ddf11efe98813ccfcf0c24a2946b
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/core/cpu-common.c

  Log Message:
  -----------
  hw/core: Cleanup unused included headers in cpu-common.c

Remove unused headers in cpu-common.c:
* qemu/notify.h
* exec/cpu-common.h
* qemu/error-report.h
* qemu/qemu-print.h

Tested by "./configure" and then "make".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240311075621.3224684-2-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 5585b0267f301b1b8ee922d41f89d6d2b42e7f90
      
https://github.com/qemu/qemu/commit/5585b0267f301b1b8ee922d41f89d6d2b42e7f90
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/core/machine-qmp-cmds.c

  Log Message:
  -----------
  hw/core: Cleanup unused included header in machine-qmp-cmds.c

Remove unused header (qemu/main-loop.h) in machine-qmp-cmds.c.

Tested by "./configure" and then "make".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240311075621.3224684-3-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 2ea09fe85a1a7006133fa8ee1f467a5758e8f8fb
      
https://github.com/qemu/qemu/commit/2ea09fe85a1a7006133fa8ee1f467a5758e8f8fb
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M hw/core/numa.c

  Log Message:
  -----------
  hw/core: Cleanup unused included headers in numa.c

Remove unused header in numa.c:
* qemu/bitmap.h
* migration/vmstate.h

Note: Though parse_numa_hmat_lb() has the variable named "bitmap_copy",
it doesn't use the normal bitmap ops so that it's safe to exclude
qemu/bitmap.h header.

Tested by "./configure" and then "make".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240311075621.3224684-4-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 4cbb1513a2d322f858ccb2556715558482fd4850
      
https://github.com/qemu/qemu/commit/4cbb1513a2d322f858ccb2556715558482fd4850
  Author: Dmitriy Sharikhin <d.sharikhin@yadro.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M MAINTAINERS
    M hw/gpio/Kconfig
    M hw/gpio/meson.build
    A hw/gpio/pcf8574.c
    A include/hw/gpio/pcf8574.h

  Log Message:
  -----------
  hw/gpio: introduce pcf8574 driver

NXP PCF8574 and compatible ICs are simple I2C GPIO expanders.
PCF8574 incorporates quasi-bidirectional IO, and simple
communication protocol, when IO read is I2C byte read, and
IO write is I2C byte write. User can think of it as
open-drain port, when line high state is input and line low
state is output.

Signed-off-by: Dmitrii Sharikhin <d.sharikhin@yadro.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <f1552d822276e878d84c01eba2cf2c7c9ebdde00.camel@yadro.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 2ef938a0994097969aab947aeb49982572640687
      
https://github.com/qemu/qemu/commit/2ef938a0994097969aab947aeb49982572640687
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson.build: Always require an objc compiler on macos hosts

We currently only insist that an ObjectiveC compiler is present on
macos hosts if we're building the Cocoa UI.  However, since then
we've added some other parts of QEMU which are also written in ObjC:
the coreaudio audio backend, and the vmnet net backend.  This means
that if you try to configure QEMU on macos with --disable-cocoa the
build will fail:

../meson.build:3741:13: ERROR: No host machine compiler for 'audio/coreaudio.m'

Since in practice any macos host will have an ObjC compiler
available, rather than trying to gate the compiler detection on an
increasingly complicated list of every bit of QEMU that uses ObjC,
just require it unconditionally on macos hosts.

Resolves https://gitlab.com/qemu-project/qemu/-/issues/2138

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-ID: <20240311133334.3991537-1-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: afc8b05cea14b2eea6f1eaa640f74b21486fca48
      
https://github.com/qemu/qemu/commit/afc8b05cea14b2eea6f1eaa640f74b21486fca48
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M docs/about/deprecated.rst

  Log Message:
  -----------
  docs/about/deprecated.rst: Move SMP configurations item to system emulator 
section

In the commit 54c4ea8f3ae6 ("hw/core/machine-smp: Deprecate unsupported
'parameter=1' SMP configurations"), the SMP related item is put under
the section "User-mode emulator command line arguments" instead of
"System emulator command line arguments".

-smp is a system emulator command, so move SMP configurations item to
system emulator section.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240312071512.3283513-1-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 65c2ab808571dcd9322020690a63df63281a67f0
      
https://github.com/qemu/qemu/commit/65c2ab808571dcd9322020690a63df63281a67f0
  Author: Laurent Vivier <lvivier@redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M hw/net/igb_core.c
    M hw/net/igb_core.h

  Log Message:
  -----------
  igb: fix link state on resume

On resume igb_vm_state_change() always calls igb_autoneg_resume()
that sets link_down to false, and thus activates the link even
if we have disabled it.

The problem can be reproduced starting qemu in paused state (-S) and
then set the link to down. When we resume the machine the link appears
to be up.

Reproducer:

   # qemu-system-x86_64 ... -device igb,netdev=netdev0,id=net0 -S

   {"execute": "qmp_capabilities" }
   {"execute": "set_link", "arguments": {"name": "net0", "up": false}}
   {"execute": "cont" }

To fix the problem, merge the content of igb_vm_state_change()
into igb_core_post_load() as e1000 does.

Buglink: https://issues.redhat.com/browse/RHEL-21867
Fixes: 3a977deebe6b ("Intrdocue igb device emulation")
Cc: akihiko.odaki@daynix.com
Suggested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 4cadf10234989861398e19f3bb441d3861f3bb7c
      
https://github.com/qemu/qemu/commit/4cadf10234989861398e19f3bb441d3861f3bb7c
  Author: Laurent Vivier <lvivier@redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M hw/net/e1000e_core.c
    M hw/net/e1000e_core.h

  Log Message:
  -----------
  e1000e: fix link state on resume

On resume e1000e_vm_state_change() always calls e1000e_autoneg_resume()
that sets link_down to false, and thus activates the link even
if we have disabled it.

The problem can be reproduced starting qemu in paused state (-S) and
then set the link to down. When we resume the machine the link appears
to be up.

Reproducer:

   # qemu-system-x86_64 ... -device e1000e,netdev=netdev0,id=net0 -S

   {"execute": "qmp_capabilities" }
   {"execute": "set_link", "arguments": {"name": "net0", "up": false}}
   {"execute": "cont" }

To fix the problem, merge the content of e1000e_vm_state_change()
into e1000e_core_post_load() as e1000 does.

Buglink: https://issues.redhat.com/browse/RHEL-21867
Fixes: 6f3fbe4ed06a ("net: Introduce e1000e device emulation")
Suggested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 6a5287ce80470bb8df95901d73ee779a64e70c3a
      
https://github.com/qemu/qemu/commit/6a5287ce80470bb8df95901d73ee779a64e70c3a
  Author: Nick Briggs <nicholas.h.briggs@gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M hw/net/pcnet.c

  Log Message:
  -----------
  Avoid unaligned fetch in ladr_match()

There is no guarantee that the PCNetState is allocated such that
csr[8] is allocated on an 8-byte boundary.  Since not all hosts are
capable of unaligned fetches the 16-bit elements need to be fetched
individually to avoid a potential fault.  Closes issue #2143

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2143
Signed-off-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 333b3e5fab751cce9f077b827563296c797ff399
      
https://github.com/qemu/qemu/commit/333b3e5fab751cce9f077b827563296c797ff399
  Author: Andrew Melnychenko <andrew@daynix.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M ebpf/ebpf_rss.c
    M ebpf/ebpf_rss.h

  Log Message:
  -----------
  ebpf: Added eBPF map update through mmap.

Changed eBPF map updates through mmaped array.
Mmaped arrays provide direct access to map data.
It should omit using bpf_map_update_elem() call,
which may require capabilities that are not present.

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 0524ea0510a33c616d87108d71a8456071e9daa1
      
https://github.com/qemu/qemu/commit/0524ea0510a33c616d87108d71a8456071e9daa1
  Author: Andrew Melnychenko <andrew@daynix.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M ebpf/ebpf_rss-stub.c
    M ebpf/ebpf_rss.c
    M ebpf/ebpf_rss.h

  Log Message:
  -----------
  ebpf: Added eBPF initialization by fds.

It allows using file descriptors of eBPF provided
outside of QEMU.
QEMU may be run without capabilities for eBPF and run
RSS program provided by management tool(g.e. libvirt).

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 6b230b7dfcd8123a902e41cd313714b5a57dcac4
      
https://github.com/qemu/qemu/commit/6b230b7dfcd8123a902e41cd313714b5a57dcac4
  Author: Andrew Melnychenko <andrew@daynix.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio-net.h

  Log Message:
  -----------
  virtio-net: Added property to load eBPF RSS with fds.

eBPF RSS program and maps may now be passed during initialization.
Initially was implemented for libvirt to launch qemu without permissions,
and initialized eBPF program through the helper.

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: e88899fa90635da7f5c1e245028288755bb5fbd4
      
https://github.com/qemu/qemu/commit/e88899fa90635da7f5c1e245028288755bb5fbd4
  Author: Andrew Melnychenko <andrew@daynix.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A ebpf/ebpf.c
    A ebpf/ebpf.h
    M ebpf/ebpf_rss.c
    M ebpf/meson.build
    R ebpf/trace.h
    A qapi/ebpf.json
    M qapi/meson.build
    M qapi/qapi-schema.json

  Log Message:
  -----------
  qmp: Added new command to retrieve eBPF blob.

Now, the binary objects may be retrieved by id.
It would require for future qmp commands that may require specific
eBPF blob.

Added command "request-ebpf". This command returns
eBPF program encoded base64. The program taken from the
skeleton and essentially is an ELF object that can be
loaded in the future with libbpf.

The reason to use the command to provide the eBPF object
instead of a separate artifact was to avoid issues related
to finding the eBPF itself. eBPF object is an ELF binary
that contains the eBPF program and eBPF map description(BTF).
Overall, eBPF object should contain the program and enough
metadata to create/load eBPF with libbpf. As the eBPF
maps/program should correspond to QEMU, the eBPF can't
be used from different QEMU build.

The first solution was a helper that comes with QEMU
and loads appropriate eBPF objects. And the issue is
to find a proper helper if the system has several
different QEMUs installed and/or built from the source,
which helpers may not be compatible.

Another issue is QEMU updating while there is a running
QEMU instance. With an updated helper, it may not be
possible to hotplug virtio-net device to the already
running QEMU. Overall, requesting the eBPF object from
QEMU itself solves possible failures with acceptable effort.

Links:
[PATCH 3/5] qmp: Added the helper stamp check.
https://lore.kernel.org/all/20230219162100.174318-4-andrew@daynix.com/

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: 0cc14182aba961f4c34a21dd202ce6e4a87470f5
      
https://github.com/qemu/qemu/commit/0cc14182aba961f4c34a21dd202ce6e4a87470f5
  Author: Andrew Melnychenko <andrew@daynix.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M ebpf/rss.bpf.skeleton.h
    M meson.build
    M tools/ebpf/rss.bpf.c

  Log Message:
  -----------
  ebpf: Updated eBPF program and skeleton.

Updated section name, so libbpf should init/gues proper
program type without specifications during open/load.
Also, added map_flags with explicitly declared BPF_F_MMAPABLE.
Added check for BPF_F_MMAPABLE flag to meson script and
requirements to libbpf version.
Also changed fragmentation flag check - some TCP/UDP packets
may be considered fragmented if DF flag is set.

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>


  Commit: fe6d4434d2531f8bc6fffc7878c801e8d8190c5d
      
https://github.com/qemu/qemu/commit/fe6d4434d2531f8bc6fffc7878c801e8d8190c5d
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M MAINTAINERS
    M docs/about/deprecated.rst
    M hw/core/cpu-common.c
    M hw/core/loader-fit.c
    M hw/core/machine-qmp-cmds.c
    M hw/core/numa.c
    M hw/core/qdev-properties-system.c
    M hw/gpio/Kconfig
    M hw/gpio/meson.build
    A hw/gpio/pcf8574.c
    A hw/ide/ahci-internal.h
    M hw/ide/ahci.c
    R hw/ide/ahci_internal.h
    M hw/ide/ich.c
    M hw/misc/ivshmem.c
    M hw/pci/pcie.c
    M hw/pci/shpc.c
    M hw/pci/trace-events
    M hw/ppc/sam460ex.c
    M hw/sparc64/sun4u.c
    A include/hw/gpio/pcf8574.h
    M meson.build

  Log Message:
  -----------
  Merge tag 'hw-misc-20240312' of https://github.com/philmd/qemu into staging

Misc HW patch queue

- Rename hw/ide/ahci-internal.h for consistency (Zoltan)
- More convenient PCI hotplug trace events (Vladimir)
- Short CLI option to add drives for sam460ex machine (Zoltan)
- More missing ERRP_GUARD() macros (Zhao)
- Avoid faulting when unmapped I/O BAR is accessed on SPARC EBUS (Mark)
- Remove unused includes in hw/core/ (Zhao)
- New PCF8574 GPIO over I2C model (Dmitriy)
- Require ObjC on Darwin macOS by default (Peter)
- Corrected "-smp parameter=1" placement in docs/ (Zhao)

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmXwEJkACgkQ4+MsLN6t
# wN4A3hAAngVu7VmyrfqYF6jfDMUuRGYaKf4D73/KF6R1PsU+nJdN7UAkECLj8o7g
# mkcAQu1U3fKCUssF6MJ2a3kU+rD1OkkA/ZcitzgWwEjCK8KVjtMt2HzEqX+B/X+e
# RUVjXMOMkyV48MF0+yLhJz+lQiDpEBFVxIgssPBNUz1Pw9IfoXp29Bfz+bYBThS4
# ywAdvCefNzSira0Nt6RWTnvgBHB/1+aLy1uMSt0Xu926zcqoxQJ0b//0flYL8vAf
# JuSSZuiXPw+oAc3qG3d6aPl3g8DrFn3pvPD471KlFQAnB0dlhEZZqNBPvraySpHl
# h04Y8teHYj9XfxPtaWfaEdgQCazdkKFR/q7E5c9GU00Rf469BJeuo9Pzkm4kWfbU
# sbCl8em5biVZ5DpBIOMT3/D0JOyGf7/CM8y5c3Jc92hapx2NdSszkvCicrDE1+i0
# zEr4N0P/F2x5KFVFkQ3Xzv2Jtzw+iXj6kSE5a5/64GMK29Mqu/EPaSkvwGDQOs3N
# QJ9mpa4gg47g310a0/nH0i5eVbvGVuzcCMP6VXOBVr18cJ7JFQFFiYcvoTDXNQ2m
# sq5xUelRimnWfKpawomJXkS+/j0usH61/aQBuDKfj45i8/XFRejCIk0gMWQ9hjyD
# no1HqDN8CVXtiPNSinC7ctNHU5ClS0xO/BRl0h3PGC7Bl+A2eVY=
# =JQg1
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 12 Mar 2024 08:21:45 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* tag 'hw-misc-20240312' of https://github.com/philmd/qemu:
  docs/about/deprecated.rst: Move SMP configurations item to system emulator 
section
  meson.build: Always require an objc compiler on macos hosts
  hw/gpio: introduce pcf8574 driver
  hw/core: Cleanup unused included headers in numa.c
  hw/core: Cleanup unused included header in machine-qmp-cmds.c
  hw/core: Cleanup unused included headers in cpu-common.c
  sun4u: remap ebus BAR0 to use unassigned_io_ops instead of alias to PCI IO 
space
  hw/misc/ivshmem: Fix missing ERRP_GUARD() for error_prepend()
  hw/core/qdev-properties-system: Fix missing ERRP_GUARD() for error_prepend()
  hw/core/loader-fit: Fix missing ERRP_GUARD() for error_prepend()
  hw/ppc/sam460ex: Support short options for adding drives
  hw/pci: add some convenient trace-events for pcie and shpc hotplug
  hw/ide/ahci: Rename ahci_internal.h to ahci-internal.h

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


  Commit: 35ac6831d98e18e2c78c85c93e3a6ca1f1ae3e58
      
https://github.com/qemu/qemu/commit/35ac6831d98e18e2c78c85c93e3a6ca1f1ae3e58
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A ebpf/ebpf.c
    A ebpf/ebpf.h
    M ebpf/ebpf_rss-stub.c
    M ebpf/ebpf_rss.c
    M ebpf/ebpf_rss.h
    M ebpf/meson.build
    M ebpf/rss.bpf.skeleton.h
    R ebpf/trace.h
    M hw/net/e1000e_core.c
    M hw/net/e1000e_core.h
    M hw/net/igb_core.c
    M hw/net/igb_core.h
    M hw/net/pcnet.c
    M hw/net/virtio-net.c
    M include/hw/virtio/virtio-net.h
    M meson.build
    A qapi/ebpf.json
    M qapi/meson.build
    M qapi/qapi-schema.json
    M tools/ebpf/rss.bpf.c

  Log Message:
  -----------
  Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into staging

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCAAdFiEEIV1G9IJGaJ7HfzVi7wSWWzmNYhEFAmXwPUAACgkQ7wSWWzmN
# YhFnIwgAgctDniJwlRxXB01eVlzXz7IulHnpSby07XEJxENSpGB8ufaeE4eK5gJy
# NVK6C2+1EU2vRxm4oIdcvtN4C4/jtRbYYjiSTx7eE4FmSkqshSnR5XCV72LDqG3i
# WbzInjMvYfysmcMXLfrWgxOnVew9WqEzlpEWlc7FfNKnkzBVf+JDztfqCUx0XM7H
# qefw4ImjqQw993QxJpipXC7aEGUyouB0RIBB71FkCa9ihlh9x7W68evbOI/jTn5q
# HWuStgS02sKHjRFliMbdbMY77FNUz4Yroo/GKSvGt64atxkQSJqPNAV+/9n18LNy
# QAH5eK6cXFPOIAaYpADU5kHDVVAFiw==
# =iBdx
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 12 Mar 2024 11:32:16 GMT
# gpg:                using RSA key 215D46F48246689EC77F3562EF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) 
<jasowang@redhat.com>" [marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* tag 'net-pull-request' of https://github.com/jasowang/qemu:
  ebpf: Updated eBPF program and skeleton.
  qmp: Added new command to retrieve eBPF blob.
  virtio-net: Added property to load eBPF RSS with fds.
  ebpf: Added eBPF initialization by fds.
  ebpf: Added eBPF map update through mmap.
  Avoid unaligned fetch in ladr_match()
  e1000e: fix link state on resume
  igb: fix link state on resume

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


Compare: https://github.com/qemu/qemu/compare/8f3f329f5e01...35ac6831d98e

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

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