From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4bNX6s2s7bz34BZ for ; Thu, 19 Jun 2025 20:20:53 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4bNX6n6b57z33j7 for ; Thu, 19 Jun 2025 20:20:49 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4bNX6n2pHyz1Lh; Thu, 19 Jun 2025 20:20:49 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1750364449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Q+PJ1V7CezUI9BObvu10uNbKT4xXR8By1zHESCCltE0=; b=Ight+PMPu/0y43BwZgfJgtaPFUsZaJRSuc6J/ArSKmkQjmI/e2SihQoE690SAmEqowUIMQ 7kziatK/9su8F/Cw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1750364449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Q+PJ1V7CezUI9BObvu10uNbKT4xXR8By1zHESCCltE0=; b=QNZM3TZB9fgtjk8QaTH6ZdkLrFcisieucMcSq55VOrLsfrsbQeVZa7rRz/zVrpD8+rMoYh RnAsPk7pzuKJl+P+hqGq9UjBIneWtJhNysCZxIz9Wzp4cluO3OoaaOay9qo3mvBiQJgMDH Xh3w0ZiZxA3uOGgjE+MzrpoX4rK53SKoFcQ5OqObtuLdaKM8K0TCYsU0DwA29etNH8eBVi 4DrxIxuvPQZ/lpEV5mvnNf/Em9mynNZ4aKAfZTcpY011Ais31jVpKyaDy8beftHpl1GIXv MAQp0Nk6JZPMe0OoqK02MLkz0vY5Ki0yMRe0X+zXpiuZ6WLoB0FXgy1u9qKfxg== From: Adolf Belka To: development@lists.ipfire.org Cc: Adolf Belka Subject: [PATCH] qemu: Update to version 10.0.2 Date: Thu, 19 Jun 2025 22:20:46 +0200 Message-ID: <20250619202046.1529689-3-adolf.belka@ipfire.org> In-Reply-To: <20250619202046.1529689-1-adolf.belka@ipfire.org> References: <20250619202046.1529689-1-adolf.belka@ipfire.org> Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit - 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 ,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 --- 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 qemu-devel-bounces+berrange=redhat.com@nongnu.org Fri Oct 11 20:32:42 2024 -Delivered-To: berrange@gapps.redhat.com -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/Q==@gapps.redhat.com -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 qemu-devel-bounces+berrange=redhat.com@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+berrange=redhat.com@nongnu.org" -Return-Path: -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 - (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 qemu-devel-bounces+berrange=redhat.com@nongnu.org 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 qemu-devel-bounces+berrange=redhat.com@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+berrange=redhat.com@nongnu.org" -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 ; 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: berrange@redhat.com -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 ; 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 ; 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 ) - 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 ) - id 1szLMb-00020P-1q - for qemu-devel@nongnu.org; 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 ) - id 1szLMW-0003EY-RE - for qemu-devel@nongnu.org; Fri, 11 Oct 2024 15:31:46 -0400 -Received: by mail-pl1-x635.google.com with SMTP id - d9443c01a7336-20bb610be6aso25161715ad.1 - for ; 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 -To: qemu-devel@nongnu.org -Cc: Khem Raj , Laurent Vivier , - Paolo Bonzini -Subject: [PATCH v2] sched_attr: Do not define for glibc >= 2.41 -Date: Fri, 11 Oct 2024 12:31:40 -0700 -Message-ID: <20241011193140.1047648-1-raj.khem@gmail.com> -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: qemu-devel@nongnu.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: qemu-devel-bounces+berrange=redhat.com@nongnu.org -Sender: qemu-devel-bounces+berrange=redhat.com@nongnu.org -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 -Cc: Laurent Vivier -Cc: Paolo Bonzini ---- -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