- Update from version 9.2.0 to 10.0.2
- Update of rootfile
- Removal of sched-attr patch as this is now built into the source tarball.
- Changelog
10.0
Removed features and incompatible changes
Consult the 'Removed features' page for details of suggested replacement
functionality.
New deprecated options and features
The -old-param option (used for booting some ancient Arm kernels)
has been
deprecated, as none of the boards QEMU supports need it.
The Arm PXA2xx CPUs and the iwMMXt emulation have been deprecated
and will
be removed in a future release.
Consult the "Deprecated Features" chapter of the QEMU System Emulation
User's
Guide for further details of the deprecations and their suggested
replacements.
Arm
iwMMXt emulation and the PXA2xx CPUs have been deprecated and will
be
removed in a future release. (You were only using this if you
explicitly
selected a pxa2xx CPU type on the command line or by environment
variable.)
When emulating FEAT_PAUTH, the default pointer authentication
algorithm
has been changed from the architected QARMA5 algorithm to QEMU's
implementation-defined algorithm. This is non-cryptographic but is
significantly faster, which is what most users will want. If you
need the
architected algorithm you can select it with the 'pauth-qarma5'
CPU option, e.g. "-cpu max,pauth-qarma5=on".
The CPU now emulates the Secure EL2 physical and virtual timers
New CPU architectural features emulated:
FEAT_AFP
FEAT_RPRES
FEAT_XS
The Stellaris boards now model both I2C controllers
The 'virt' board now has a 'highmem-mmio-size' property to allow
configuring a larger PCIe MMIO region; this can be useful when
passing
through a lot of PCI devices with large MMIO BARs to a VM.
New board models:
"npcm845-evb": NPCM845 Evaluation board
"imx8mp-evk": i.MX 8M Plus EVK board
HPPA
New SeaBIOS-hppa version 18 with lots of fixes and enhancements
Emulate up to 256 GB RAM on 64-bit guests
Speed up translation time
Improve virtual CPU reset function
Support space register hashing via diag registers as required by
64-bit HP-UX
Add emulation of Diva GSP ("Guardian Service Processor" / BMC) PCI
boards
Artist graphic card can be disabled on command line with "-global
artist.disable=true"
Added Astro LLMIO support, which allows adding other graphic cards,
e.g.
with "-device ati-vga"
LoongArch
KVM support cpu hotplug.
kVM support paravirt ipi.
KVM support kvm steal time.
KVM support virtual extioi feature.
ISA and Extensions
Support riscv-iommu-sys device
Introduce svukte ISA extension
Support ssstateen extension
Reduce the overhead for simple RISC-V vector unit-stride loads and
stores
Add 'sha' support
Add traces for exceptions in user mode
Update Pointer Masking to Zjpm v1.0
Add Smrnmi support
Add RISC-V Counter delegation ISA extension support
Add support for Smdbltrp and Ssdbltrp extensions
Introduce a translation tag for the IOMMU page table cache
Support Supm and Sspm as part of Zjpm v1.0
Machines
Deprecate the default RISC-V machine
Add Tenstorrent Ascalon CPU
Support for RV64 Xiangshan Nanhu CPU
Add AIA userspace irqchip_split support
Add Microblaze V generic board
Support 64-bit address of initrd
Add V bit to GDB priv reg
Fixes and Misc
Correct the validness check of iova
Fix APLIC in_clrip and clripnum write emulation
Upgrade ACPI SPCR table to support SPCR table revision 4 format
Fix timebase-frequency when using KVM acceleration
Convert htif debug prints to trace event
s390x
Add feature definitions and CPU model for the generation 17
mainframe CPU
Add support for virtio-mem on s390x
Fix CPU emulation bugs with the PPNO and MCV instructions
Allow bypassing IOMMU for PCI devices for enhanced performance
x86
Faster emulation of string instructions.
ClearwaterForest cpu model
SierraForest-v2 cpu model (for changes vs V1 see commit c597ff5339)
ACPI / SMBIOS
Workaround 'PCI Label Id' Windows bug, which is normally harmless
but on
localized versions can lead to guest hangs (commit 0b053391985)
Block devices
The 'virtio-scsi' device has gained true multiqueue support where
different
queues of a single controller can be processed by different I/O
threads
(this catches up to the `virtio-blk` support that was added in
QEMU 9.0).
This can improve scalability in cases where the guest submitted
enough
I/O to saturate the host CPU running a single I/O thread
processing the
virtio-scsi requests. Multiple I/O threads can be configured using
the
new 'iothread-vq-mapping' property.
Add new handshake-max-seconds optional parameter to
nbd-server-start QMP
command, and counterpart --handshake-limit option to qemu-nbd. This
allows fine-tuning the duration allowed for client negotiation
during
integration testing.
qemu-nbd no longer hangs on exit when run as a daemon (the --fork
command-line option) when qemu is built with the simple trace
backend.
Graphics
Add new 'apple-gfx-pci' and 'apple-gfx-mmio' devices which use the
macOS
host's ParavirtualizedGraphics.framework to provide accelerated
graphics
to macOS guests. 'apple-gfx-pci' is intended for use on x86-64,
'apple-gfx-mmio' replicates the graphics device implemented by the
Virtualization.framework from the aarch64 version of macOS.
IPMI
Multiple different internal BMCs are now supported.
The "Get Channel Info" command is now implemented in the internal
BMC.
Add support for the "don't log" flag in the set watchdog command.
This
will prevent watchdog timer events being added to the IPMI event
log.
Return an error if invalid bits are set in the "Set BMC Global
Enables"
command in the internal BMC.
VFIO
Improved support for IGD passthrough on all Intel Gen 11 and 12
devices
Refactored dirty tracking engine to include VFIO state in
calc-dirty-rate
Improved error reporting for MMIO region mapping failures
Improved property documentation
Implemented basic PCI PM capability backing
Added multifd support for VFIO migration
Added support for old ATI GPUs (x550)
Deprecated vfio-plaform
Misc fixes
virtio
virtio-mem is now also supported on s390x
virtio-balloon guests stats are now cleared (set to zero) upon
device/machine reset.
9pfs
Fix a regression regarding CVE-2023-2861 with
security_model=passthrough
which caused certain sockets on guest to fail (bug #2337, commit
b5e3f63a).
multidevs=remap is new default behaviour (see commit a2f17bd4).
Audio
-audio dbus learned "nsamples" option, to set number of samples per
read/write
Character devices
"hub": new chardev, aggregate multiple chardev backends
GUI
VC: add support for cursor DECSC and DECRC commands
VC: implement DCH (delete) and ICH (insert) commands
VC: various parsing/display fixes
GDBStub
linux-user processes can defer connection using -g <port>,suspend=n
TCG Plugins
core plugin code is now only built once
Migration
Fixed regressions in s390x (#2704) and pre-9.0 to post-9.1
migrations with
multifd capability (#2720)
Fixed long-standing bug with paused VMs (#686)
New migration mode "cpr-transfer" to support live updates
(documentation).
Block device backends and tools
The Linux AIO and io_uring backends can now make use of the
RWF_DSYNC flag
for FUA write requests instead of emulating it with a normal write
followed by an fdatasync() call. This can improve performance for
guest
disks with disabled write cache significantly (cache=writethrough
and
cache=directsync result in such configurations), in particular if
the
host disk is already operating in a write through cache mode.
The user can now actively manage if nodes are active or inactive.
Amongst
others, this is required to perform safe live migration with a
qemu-storage-daemon based backend. It also allows starting block
device
operation on the live migration destination of a paused VM without
first
resuming the VM (which was previously the only way to activate
images).
The vpc block driver has been fixed to handle VHD images exported
from
Azure more correctly
runtime
Improved networking emulation regarding netlink and multicast
PowerPC
Added /proc/cpuinfo file emulation
Guest agent
Implement a 'guest-get-load' command (Linux only)
Don't daemonize before the channel is initialized
This changes the exit code when QGA fails with the daemonize option
Optimize the freeze-hook script logic of logging errors
Log to syslog if the file log is unavailable
fsfreeze command: Skip bind mounts in the FS list
Documentation
All QEMU Machine Protocol (QMP) interface documentation (QEMU, QEMU
Storage
Daemon, QEMU Guest Agent) pages have been drastically overhauled,
featuring a new look and layout.
New QMP reference indices have been added per-API: QEMU QMP Index,
QEMU Storage Daemon QMP Index, and QEMU Guest Agent QMP Index. The
indices are sorted both per-type (Commands, Events, data types) and
alphabetically; providing a convenient one-page reference for all
available Commands and Events for a given interface.
All Commands, Events, and all documentation-referenced types are now
cross-reference-able; with clickable cross-references inserted in
many
cases to make navigating complex commands, events, and types much
easier.
References that aren't generated from metadata but are instead
"hardcoded" in the source documentation have not yet been
converted, but
all generated references have been. (i.e. all type names for
arguments/members, return values, and "The members of..." pointers
are
now clickable.)
Some return types are still omitted where they are undocumented,
but this
will be rectified for next release.
Some build-time conditional information ("if", "ifcond") is
temporarily
missing from the new documentation. For commands, events, or
members/values/arguments that are only conditionally available,
please
consult the runtime introspection data to determine availability
for a
given binary, as per usual. This will also be rectified for the
next
release.
Support for device models written in the Rust programming language is
still
considered experimental, and does not have full feature parity
compared to
QEMU binaries that are compiled with --disable-rust. However, it has
matured
enough that developing new devices can (almost entirely) be done in
the safe
subset of Rust.
For now, binaries compiled with --enable-rust link statically to Rust
libstd.
This is not suitable for e.g. Linux distributions but could be okay
for other,
special purpose distributions of QEMU.
The current minimum supported Rust version is 1.63.0, with plans to
move to
1.77.0. This means that:
--enable-rust does not work with Debian bullseye's rustc packages.
in the future, --enable-rust will not support Debian bookworm's
rustc for
the mips64el architecture, and will require the rustc-web package
for
other architectures.
Debian bullseye and bookworm otherwise remains supported platforms for
QEMU;
Debian bullseye will cease to be a supported platform as soon as Debian
trixie is released.
Testing and CI
updated baseline tuxrun tests to 19/11/2024 images
added new test for virtio-vulkan (needs upto date build with access
to dri)
qtest clock_set and clock_step now check return values
riscv64 cross compile now based on trixie
Signed-off-by: Adolf Belka <[email protected]>
---
config/rootfiles/packages/qemu | 3 +
lfs/qemu | 7 +-
src/patches/qemu-9.2.0-sched-attr.patch | 192 ------------------------
3 files changed, 6 insertions(+), 196 deletions(-)
delete mode 100644 src/patches/qemu-9.2.0-sched-attr.patch
diff --git a/config/rootfiles/packages/qemu b/config/rootfiles/packages/qemu
index 49105c523..90d70a83f 100644
--- a/config/rootfiles/packages/qemu
+++ b/config/rootfiles/packages/qemu
@@ -78,6 +78,7 @@ usr/share/qemu/firmware/60-edk2-aarch64.json
usr/share/qemu/firmware/60-edk2-arm.json
usr/share/qemu/firmware/60-edk2-i386.json
usr/share/qemu/firmware/60-edk2-loongarch64.json
+usr/share/qemu/firmware/60-edk2-riscv64.json
usr/share/qemu/firmware/60-edk2-x86_64.json
#usr/share/qemu/hppa-firmware.img
#usr/share/qemu/hppa-firmware64.img
@@ -122,6 +123,7 @@ usr/share/qemu/linuxboot_dma.bin
usr/share/qemu/multiboot.bin
usr/share/qemu/multiboot_dma.bin
usr/share/qemu/npcm7xx_bootrom.bin
+usr/share/qemu/npcm8xx_bootrom.bin
#usr/share/qemu/openbios-ppc
#usr/share/qemu/openbios-sparc32
#usr/share/qemu/openbios-sparc64
@@ -130,6 +132,7 @@ usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.bin
#usr/share/qemu/palcode-clipper
#usr/share/qemu/petalogix-ml605.dtb
#usr/share/qemu/petalogix-s3adsp1800.dtb
+usr/share/qemu/pnv-pnor.bin
usr/share/qemu/pvh.bin
usr/share/qemu/pxe-e1000.rom
usr/share/qemu/pxe-eepro100.rom
diff --git a/lfs/qemu b/lfs/qemu
index 5358c566d..ca48e0fd2 100644
--- a/lfs/qemu
+++ b/lfs/qemu
@@ -27,7 +27,7 @@ include Config
SUMMARY = Machine emulator and virtualizer
# If you update the version also qemu-ga !!!
-VER = 9.2.0
+VER = 10.0.2
THISAPP = qemu-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -35,7 +35,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = qemu
-PAK_VER = 45
+PAK_VER = 46
DEPS = alsa libusbredir spice libseccomp libslirp
@@ -57,7 +57,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 =
5800556f356e4324124e250c02a07857eef3a6f22995a819fe972061fa750ebf7233da64ae4c0a3e775b1639c870be4b7312d86d9866fedf2bc99074aad0a10a
+$(DL_FILE)_BLAKE2 =
be4ddf050d2102cefded5b4967222df749ee8af92c2427c31a9b29b3800fac8bb328daf2c38d11aa307b51eb7d7243f9b064b3bf24d446a001e5520359ee83c3
install : $(TARGET)
@@ -90,7 +90,6 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 <
$(DIR_SRC)/src/patches/qemu-9.2.0-sched-attr.patch
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--sysconfdir=/etc \
diff --git a/src/patches/qemu-9.2.0-sched-attr.patch
b/src/patches/qemu-9.2.0-sched-attr.patch
deleted file mode 100644
index 15adf3ce1..000000000
--- a/src/patches/qemu-9.2.0-sched-attr.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From [email protected] Fri Oct 11 20:32:42 2024
-Delivered-To: [email protected]
-Received: by 2002:a05:612c:fcb:b0:49e:3967:5c with SMTP id kg11csp620284vqb;
- Fri, 11 Oct 2024 12:32:43 -0700 (PDT)
-X-Forwarded-Encrypted: i=2;
AJvYcCXPcgyQ0/+OIS7vrT6LX5S6B3Hgz9IoezpGzlHzuQ86lhsSq6u4TrVfGwET6WFesjl4msgGP886/[email protected]
-X-Google-Smtp-Source:
AGHT+IGI1MzgaHjMk041SIq3SzZGJRAF05keA8usOtLVfsqz+UnG8gS/7JH2MnqELZrotA/GJ+FI
-X-Received: by 2002:a05:6870:530c:b0:277:e35a:d2d5 with SMTP id
586e51a60fabf-2886e0d7223mr2593115fac.47.1728675162879;
- Fri, 11 Oct 2024 12:32:42 -0700 (PDT)
-ARC-Seal: i=1; a=rsa-sha256; t=1728675162; cv=none;
- d=google.com; s=arc-20240605;
- b=alETPlokQysotchMz04b4QkeW4n7IaCvDHuYMZh698k8mF5RJMclj7AfzOWMyGXURw
- kFfdMDxoHBlzWY9bTAGsH6EBkFDcJ9RyMs2Oy/exl09b3Zbt/LaW/PgqJZWi7DqZe7FD
- Zo3bqW5OSwWxU/vpy6n8B4EV22uFeRNhdTlzj0nbU4h+YpUcUzXR++ssowqa367TMQ5s
- THtVdddGT62AlbkeybdC/gTVxTt0RktEBMKTh+MzuZJ1rcgMb+pbG6h/XF5Iub2C+szk
- EkyaW96aO1YTzalK4HCCL7cuCauVGvVShSjUfPFMqXRxvzVfFqn02zZh6C4AXb/a/gIT
- YiXA==
-ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
s=arc-20240605;
- h=content-transfer-encoding:sender:errors-to:list-subscribe:list-help
- :list-post:list-archive:list-unsubscribe:list-id:precedence
- :mime-version:message-id:date:subject:cc:to:from:delivered-to;
- bh=PO9IbOEY2YqKRkyInUx1mFCEKdNyF6F1Ade1P8ET5cM=;
- fh=xgCffyEVvm6hjKwQ8pT/suARWWrEEvCTAvMVKpBgaZg=;
- b=Q4fnfvzilypAHQRG6QbhiDXJWTDiP8dnRA4CB3fnXjC3sGRa+4+abHQkdOy6pMW4T9
- HhCdtLquJqRIBSQNVEVZMN5bFDX+gIaEA6pmEbd8Sdi47dl2+VS7vP9dQWf/FOtrkGqg
- D6K6DlbOdtzmdoTtWcI9Zm1eg6/98cVH2/hqzO/Ig1eI47UvIJpZtm3CMa3y5BgoJhmX
- v1pxjLmbVwmOdo8YkXgT3bH5iAPwXjn8FU7q4Z+CX3XChIQksWGvkB+zR/d7xqsEEdTv
- x85zJC/K4M9DAnuyJA2rIcrt/QUDHpdAPfcV2gDWr4IBhF27Ul9j6vjXzKNHaGjJxXbF
- hFsw==;
- dara=google.com
-ARC-Authentication-Results: i=1; mx.google.com;
- spf=pass (google.com: domain of
[email protected] designates 209.51.188.17 as
permitted sender)
smtp.mailfrom="[email protected]"
-Return-Path: <[email protected]>
-Received: from us-smtp-inbound-delivery-1.mimecast.com
(us-smtp-inbound-delivery-1.mimecast.com. [205.139.110.120])
- by mx.google.com with ESMTPS id
af79cd13be357-7b114998ee3si449329885a.281.2024.10.11.12.32.42
- for <[email protected]>
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Fri, 11 Oct 2024 12:32:42 -0700 (PDT)
-Received-SPF: pass (google.com: domain of
[email protected] designates 209.51.188.17 as
permitted sender) client-ip=209.51.188.17;
-Authentication-Results: mx.google.com;
- spf=pass (google.com: domain of
[email protected] designates 209.51.188.17 as
permitted sender)
smtp.mailfrom="[email protected]"
-Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com
- (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by
- relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
- cipher=TLS_AES_256_GCM_SHA384) id us-mta-14-mwcDIPw2Ma-2fc8EyJ2Anw-1; Fri,
- 11 Oct 2024 15:32:41 -0400
-X-MC-Unique: mwcDIPw2Ma-2fc8EyJ2Anw-1
-Received: from mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com
(mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.15])
- (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
- key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest
SHA256)
- (No client certificate requested)
- by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with
ESMTPS id A96C819560AE
- for <[email protected]>; Fri, 11 Oct 2024 19:32:40 +0000 (UTC)
-Received: by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix)
- id A3F151956089; Fri, 11 Oct 2024 19:32:40 +0000 (UTC)
-Delivered-To: [email protected]
-Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com
(mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.23])
- by mx-prod-int-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with
ESMTPS id 9EAE41955F42
- for <[email protected]>; Fri, 11 Oct 2024 19:32:40 +0000 (UTC)
-Received: from us-smtp-inbound-delivery-1.mimecast.com
(us-smtp-delivery-1.mimecast.com [205.139.110.120])
- (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
- key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest
SHA256)
- (No client certificate requested)
- by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with
ESMTPS id 4A35819560B5
- for <[email protected]>; Fri, 11 Oct 2024 19:32:40 +0000 (UTC)
-Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by
- relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2,
- cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
- us-mta-656-VIioc_tgPx6dfe3wuTFP4A-1; Fri, 11 Oct 2024 15:32:38 -0400
-X-MC-Unique: VIioc_tgPx6dfe3wuTFP4A-1
-Received: from localhost ([::1] helo=lists1p.gnu.org)
- by lists.gnu.org with esmtp (Exim 4.90_1)
- (envelope-from <[email protected]>)
- id 1szLMh-00020r-5j; Fri, 11 Oct 2024 15:31:55 -0400
-Received: from eggs.gnu.org ([2001:470:142:3::10])
- by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
- (Exim 4.90_1) (envelope-from <[email protected]>)
- id 1szLMb-00020P-1q
- for [email protected]; Fri, 11 Oct 2024 15:31:51 -0400
-Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635])
- by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
- (Exim 4.90_1) (envelope-from <[email protected]>)
- id 1szLMW-0003EY-RE
- for [email protected]; Fri, 11 Oct 2024 15:31:46 -0400
-Received: by mail-pl1-x635.google.com with SMTP id
- d9443c01a7336-20bb610be6aso25161715ad.1
- for <[email protected]>; Fri, 11 Oct 2024 12:31:44 -0700 (PDT)
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20230601; t=1728675103; x=1729279903;
- h=content-transfer-encoding:mime-version:message-id:date:subject:cc
- :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
- :reply-to;
- bh=PO9IbOEY2YqKRkyInUx1mFCEKdNyF6F1Ade1P8ET5cM=;
- b=K3X31NNuvHdknW5P8UcnhDjhiG8YvVt80acZ9o0cp4OYATGyivVrgqlV16YtlE7nbP
- c2GxVasHb4XHOFgQ/OS9twOzcL7BvXjTYuSlqOjY9QQ9Ng38MAMFgLpleBdUdi0JHrfh
- vH2pyWqiWlGfPiDmnJWawogp9bgGCHsqyjPUtcw1LCUqNNx0sfyV98mwYq27/2m4POny
- BQ0yFM/O7SF2EkZuaQwCJWPmH3fQatSgwEAq5u1SGy/Tn9a9GB4Iyolqgm4mMJBiful/
- xoI0a2JEsYatNItIvqoWJ5uBgwrOZHldhxPZGCUP9cL5ecB1flcnPXHxLR4p0/kiQzuI
- LzCw==
-X-Gm-Message-State: AOJu0YxWyAwGwQqYK1sZdfMljusz9BkH4fhylN1UvHETC7GDQDWtfFQS
- zz40Z5A7yrfIoS4SkMLM2xTSe57qyfKfFPHRVJe68kPHnsvbdEUpZAecLqJ/
-X-Received: by 2002:a17:902:d2c5:b0:20c:a644:817f with SMTP id
- d9443c01a7336-20ca6448261mr49539675ad.7.1728675103070;
- Fri, 11 Oct 2024 12:31:43 -0700 (PDT)
-Received: from apollo.hsd1.ca.comcast.net ([2601:646:9d80:4380::f083])
- by smtp.gmail.com with ESMTPSA id
- d9443c01a7336-20c8bc13551sm26871055ad.88.2024.10.11.12.31.42
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Fri, 11 Oct 2024 12:31:42 -0700 (PDT)
-From: Khem Raj <[email protected]>
-To: [email protected]
-Cc: Khem Raj <[email protected]>, Laurent Vivier <[email protected]>,
- Paolo Bonzini <[email protected]>
-Subject: [PATCH v2] sched_attr: Do not define for glibc >= 2.41
-Date: Fri, 11 Oct 2024 12:31:40 -0700
-Message-ID: <[email protected]>
-MIME-Version: 1.0
-X-Spam_score_int: -20
-X-Spam_score: -2.1
-X-Spam_bar: --
-X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
- DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
- RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
- SPF_PASS=-0.001 autolearn=ham autolearn_force=no
-X-Spam_action: no action
-X-BeenThere: [email protected]
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <qemu-devel.nongnu.org>
-List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>,
- <mailto:[email protected]?subject=unsubscribe>
-List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel>
-List-Post: <mailto:[email protected]>
-List-Help: <mailto:[email protected]?subject=help>
-List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>,
- <mailto:[email protected]?subject=subscribe>
-Errors-To: [email protected]
-Sender: [email protected]
-X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection
Definition;Similar Internal Domain=false;Similar Monitored External
Domain=false;Custom External Domain=false;Mimecast External Domain=false;Newly
Observed Domain=false;Internal User Name=false;Custom Display Name
List=false;Reply-to Address Mismatch=false;Targeted Threat
Dictionary=false;Mimecast Threat Dictionary=false;Custom Threat Dictionary=false
-X-Mimecast-Bulk-Signature: yes
-X-Mimecast-Spam-Signature: bulk
-X-Scanned-By: MIMEDefang 3.0 on 10.30.177.15
-X-Mimecast-Spam-Score: 0
-X-Mimecast-Originator: gmail.com
-Content-Transfer-Encoding: 8bit
-Content-Type: text/plain; charset="US-ASCII"; x-default=true
-Status: RO
-Content-Length: 1578
-Lines: 42
-
-glibc 2.41+ has added [1] definitions for sched_setattr and sched_getattr
functions
-and struct sched_attr. Therefore, it needs to be checked for here as well
before
-defining sched_attr
-
-Define sched_attr conditionally on SCHED_ATTR_SIZE_VER0
-
-Fixes builds with glibc/trunk
-
-[1]
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8
-
-Signed-off-by: Khem Raj <[email protected]>
-Cc: Laurent Vivier <[email protected]>
-Cc: Paolo Bonzini <[email protected]>
----
-v2: Use SCHED_ATTR_SIZE_VER0 instead of glibc version check
-
- linux-user/syscall.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 1354e75694..caecbb765d 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -359,7 +359,8 @@ _syscall3(int, sys_sched_getaffinity, pid_t, pid, unsigned
int, len,
- #define __NR_sys_sched_setaffinity __NR_sched_setaffinity
- _syscall3(int, sys_sched_setaffinity, pid_t, pid, unsigned int, len,
- unsigned long *, user_mask_ptr);
--/* sched_attr is not defined in glibc */
-+/* sched_attr is not defined in glibc < 2.41 */
-+#ifndef SCHED_ATTR_SIZE_VER0
- struct sched_attr {
- uint32_t size;
- uint32_t sched_policy;
-@@ -372,6 +373,7 @@ struct sched_attr {
- uint32_t sched_util_min;
- uint32_t sched_util_max;
- };
-+#endif
- #define __NR_sys_sched_getattr __NR_sched_getattr
- _syscall4(int, sys_sched_getattr, pid_t, pid, struct sched_attr *, attr,
- unsigned int, size, unsigned int, flags);
-
-
--
2.49.0