From nobody Sun Jul 26 12:33:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=ou.nl); dmarc=pass(p=quarantine dis=none) header.from=ou.nl ARC-Seal: i=2; a=rsa-sha256; t=1782222743; cv=pass; d=zohomail.com; s=zohoarc; b=Ub1OC2mlo/rrgU6QE72B6eIo18gUJjMUXFY0/W1/xLcNNT4gqBuJ0U5OQUHhQhC97YdgEO/BpEUbdZF1js/B67OZINu8AWOJqmxLU+t2DlAkZIv06ANEOp16j5v52WfycNDfgOwefiZLm3TtgSZUGRRmmp+UjCFC669hNVHzxO4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782222743; h=Content-ID:Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Resent-Date:Resent-Message-ID:Resent-From:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=E2X7IjQNLEm+5lxJf3NNJcKCmQtEBLvV80NNEs1pqdw=; b=j+MUL2eykB4uUQWbMiKjuCwTcefw0Yp/5VF8Zhris4DnuCCvMtpPEGFaW4/WyLEEsiYFgRRnVdqtwiyc4YnUK1KEtuEhOzHt0cOKFJOjubpgDRe952cf/H8ZqjBNClagH3XJq0si0itc0CH3oBC7DDgxPKxbOWHKubcSm9fBW/s= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=ou.nl); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1782222742803540.2762667538693; Tue, 23 Jun 2026 06:52:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wc1XX-0002F7-Sn; Tue, 23 Jun 2026 09:51:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wc195-0006po-SM for qemu-devel@nongnu.org; Tue, 23 Jun 2026 09:26:31 -0400 Received: from mail-westeuropeazon11011061.outbound.protection.outlook.com ([52.101.70.61] helo=AS8PR04CU009.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wc193-0003ya-Eq for qemu-devel@nongnu.org; Tue, 23 Jun 2026 09:26:31 -0400 Received: from AM9P191MB1411.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:272::24) by GVXP191MB2634.EURP191.PROD.OUTLOOK.COM (2603:10a6:150:1e6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.7; Tue, 23 Jun 2026 13:21:22 +0000 Received: from AM9P191MB1411.EURP191.PROD.OUTLOOK.COM ([fe80::d5ab:52fc:cebb:5530]) by AM9P191MB1411.EURP191.PROD.OUTLOOK.COM ([fe80::d5ab:52fc:cebb:5530%6]) with mapi id 15.21.0159.012; Tue, 23 Jun 2026 13:21:22 +0000 Resent-Date: Tue, 23 Jun 2026 09:26:31 -0400 Resent-Message-Id: ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Z7AkOfHbLoK6pX35TpIGGlrLkm+TM2/TAoG0cViKLyLmD1Jdujcd/uwQRzxLG5K4OUc/fIl7yYt9ffW+PFo5dN6tS5z47EShkPMMxC/rP2Y0+WTHdoaz0Pl0IFKi4CyQVs7r+nob+DMyWWoXx0gGgwePb7e+aUW/jYNUOcu2n4PlS/ux2gToJTi7m8/EhQ15eeV6FL5Ea+UQt5VruLV2FGyy9spySQf+TPOU7cfnv5ShzYlFL+zxAtvCxDWFSGNz2dXhIOOxkBIhIfJArW76+DVnZi19uqgY2EGQlj58GGQQImRCAa7vKwkp/R0X8oS/u2Ks/ETsAVUB6Pk0IAoCXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E2X7IjQNLEm+5lxJf3NNJcKCmQtEBLvV80NNEs1pqdw=; b=sSAyE1H0QD5yv1ohFCZoCYY/r08L/bBFTrwKlFZfhL/eycSzIYj9q27Q66xBcctejs0DTXBpj1zUtb6gz9jsRaEuLOitX0yOdibHKIBEPO6iU58boA5S51kNTengB9I209JbqDRK7ZKM/I3AqOpzwEVaNNNjpW2DScFEEACQBYrN4HHqssLkA3sMXzaOlnMyeUE54+Hm6Cgw7ie14SFJh05FmkXHmJ1FhgiuL4YtcZB+kN55SI/nUhJSYnDrJjC8q2tbPP1h4R7QAepP0xAd/NjeskQTYJ1rQhUIC5mdOdLYV40w+twZ+/fO/ZspUDUplPuWKwxpfvVwOe5t+yPI8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ou.nl; dmarc=pass action=none header.from=ou.nl; dkim=pass header.d=ou.nl; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ou.nl; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E2X7IjQNLEm+5lxJf3NNJcKCmQtEBLvV80NNEs1pqdw=; b=roIlfBu4/KgCrhrgsQTqzXzhLCyTlWfwJANAkR2g4HwsJ7AmMvqotxCpVk6Iy08H2EJUg8PYCShTHbZOkAgC+bxgxMFJhRFTptJl4sUjiDYZs6kAy5Rzu/h09tKi/gy+x4NG3x5Q6/7Qxaxxh/Khv3N18hMiN+/lAOwQaCCvwrmnnnJR5xVWQ6nZ78A0PLXDJyadM8SvlhzU57C2cG+fI/oMkZuR8b0GaBhnce1xL5Cj/j2OrnTJEIlSPYr/4TIxiJ1LWZXUaLo//TSCZs29Rm8a2KxxSAB1FHqNPNOg51AUWQai6YgYR7aYAcqzXjdSKMZo+m01X6sdlDReQ5FyEQ== From: "Craaijo, Jos" To: "qemu-devel@nongnu.org" CC: Roman Bolshakov , Phil Dennis-Jordan , Wei Liu , Paolo Bonzini , Richard Henderson , "Craaijo, Jos" Subject: [PATCH] target/i386: fix long mode segment override prefix decoding Thread-Topic: [PATCH] target/i386: fix long mode segment override prefix decoding Thread-Index: AQHdAxMvqT5KDQYJFEO17tX6blFTTw== Date: Tue, 23 Jun 2026 13:21:22 +0000 Message-ID: <20260623-fix-x86-long-mode-segment-override-decoding-v1-1-26d9d4b5804e@ou.nl> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Resent-From: Jos Craaijo authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ou.nl; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM9P191MB1411:EE_|GVXP191MB2634:EE_ x-ms-office365-filtering-correlation-id: 42ca7f4d-397f-4775-427a-08ded12a51fc x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|19092799006|786006|366016|23010399003|11063799006|13003099007|18002099003|38070700021|55112099003|3023799007|56012099006; x-microsoft-antispam-message-info: /nG7ETbI+FxcH39Mpgbgi6hMFx+Kye8A/bamMmJX3Y3hZDIas2TALzIh2/taK09dpixY+km2PoIN2ol5RMcuOiMJ5UZtCpmrORQvGZRmLkCvA0sJZIlPzGeqw/qDYPJMa1+UF7ovAbCKvZxD3sFPvkZbVE6BE2J7k3O0qTa8L3t2Ff6j5wWjgTTZ9X5e/R8llhIuexMSez5KNUfeg52WMh3peBKd0lTlEQYemDBm011jApr1qUzUoT4V6ZhXjwZo5o3ICtwOxZR9YFZoT+ctiPoSUzayte0Fd+DZ8cBkKWSaEYZakigj1UJhZ5y5GSo2M85PPgnVg0jp0hxnsfq/aEG+NiQhi3heXF97YjyVUvuWJIrtq087qlsdXk+1n8FMNtspPV+pf2wMSXAxiUqdK+m24XNhEI5RUgMQ0F64lF0wtmpDV2dht04ll5E9CluHtN2xM6b9Aj3xavdBqx/rXzB6x+exlucUpianjuXgCtN5GT2rCuGUipc7NV//Gm8d9dy96yw432UzlwgvHbUBTKxuYHsFJ0Bb62qN6BZbtkWW9kPQYqiMucZr+uE9EkqMUGI24g78FkQyXgchQFipZ4utZoSxkw9fBeTzHQfohd5jLu4/pB2UlKMhFBF6PXFsyxsHNQXQYqACAt8R4A4pqvp42DShtdVQOruriK6ggsRkiCJ9buzTwX8ji2CPJg+VpuTcF6z3aPu3GdPlyigVaKm8PtXmf6SOLz5XTIh4oTQ= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9P191MB1411.EURP191.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(19092799006)(786006)(366016)(23010399003)(11063799006)(13003099007)(18002099003)(38070700021)(55112099003)(3023799007)(56012099006); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eTZTWWlDNVJnM0dIcWJBZVBmMTFZVGdYZ1VZWDUwRVZ0S0E3Z1BNaGZhL1dC?= =?utf-8?B?WHVsN1ZualVlRGRKbGlNcjQzeE5HcmNSa3FKNlVVS2s2TXREL096NmpmY1Rl?= =?utf-8?B?NzE3dmNhQ3NWU3VYcU00UUsxY1Z1TlhzeW5qMU5jTStsOE9lUjQ0aFdYVG92?= =?utf-8?B?TmlLb3lzSEZZajJ2Y1FsaTJDc0NsdWVvTTlSSldGcU5CZnpTQm1wZDI3N2R2?= =?utf-8?B?TUVxU2JXRDRwaVQzYlFNZHRnSit3eERUaE4yNmg2b0sveHEwd0dyMHgvZGNo?= =?utf-8?B?a05ScWlXaGVkcDdpVmZLWDU3bmFjSHl0dW5JTTVZbjFSL09TNHBUUW1ZY0xj?= =?utf-8?B?MXM5NGs1T2RsUFdNK1JvZytPZW9rYXprOWRNQkpVYzNlbEtDS2E5WVRJQjAr?= =?utf-8?B?RExCZ3p5QzhJWE9QOWFXSFYxU3p2bXd6QzR5cFJLeHY2YzhaV2R6VjdLQzNK?= =?utf-8?B?dGlGZEpMS3ZCL3Y4VFErR0poKy8vMXB4QWVTNXdlenVEUFc2RWduVjVWZ2Zy?= =?utf-8?B?K3hRS3kyek9qdkVRQU9xWFlTMC9VTTk4WWZIa1V4UlErM0VNZXh1RHZsMFNp?= =?utf-8?B?cjRQK0N5VktDUlhPWkhsc3oySHJHanlEejhpRG01NHZuTkNEZ01KdnB2Wno2?= =?utf-8?B?emJQSTQ4dXlxbThUVWRHaWhQMG9NbHdiVndVRjdINEtkeEk5aEt4Kzd5aXZh?= =?utf-8?B?U1FldXBnQ0drcmtPekx5dkJHaWdBdHkrQysvMU5SZDMvZTFzWlFEaHFJNkli?= =?utf-8?B?L2o1blZzSVAvOWJOR1IzNGVyUDMyRU16UGlhUXBEem42RnpoWlNJSWMvS3dH?= =?utf-8?B?NmpUZVI0OEFNZEg2L3R6aXRUUHRXZWZLSUJsbE1nbWgwN0VZQVNPMFpidVNi?= =?utf-8?B?Mms5bVBTNzRJNkxuOS9yajVWWDBVSUtFWUM3ZlU5alFqckNNWlVmbitkOEhF?= =?utf-8?B?Zy9NWVdQTWwvK05tZ01BazQwdnhROHR1VFVRRFVTQWN3ZG8vd2RUWHExRElh?= =?utf-8?B?eHFFNVhBT1FrS3VUa0ZtWlVkNlFKeUpzZ2RjcG9Wc0V2dGhTL0kyY2VuMEVP?= =?utf-8?B?aU92aGZidWsrRnFOanFRZ0FSRzlXbmkwUG1adWxDb1dNMjRjNHZnLzRLNC9h?= =?utf-8?B?Ris2dHhINEMrRnZjdkRkUnZMWkxuOEhESnEwUFI0TDk2cDEvaUd6QXJiT2F0?= =?utf-8?B?cy9YeHNYSzVFdGoyQVlDVmlQdzR2emFrT3U2TG01a2grZ1RqM2lsbWphbDFy?= =?utf-8?B?a2ppQ0V5VER6UDg0cEU4OEEwZllHa2thTlhnTXBQMDZMK3V5bjkwQzFKanJ0?= =?utf-8?B?enExclZsYnJUV3JoZU9sZGVEZUlGbldYN01aS3Y3Y3ZxUXVseGUxWUtIR0ti?= =?utf-8?B?MmxqbW8ybzlHMzBiUmdvTllpcXNXMkM5bTZEL3FIQ3Jkc1luOGQrSWFxVStZ?= =?utf-8?B?K2RuSXlhM01NbVhiQ3ptcjhVVCt2ZXA2NnJPbTc4UEU1TkJ1cHZQUENzRWht?= =?utf-8?B?cHZEN3VIeUh5STVOWGZDd1h4OUc4by9Tdllzc29uTWlMU1Ayd25CVTRUT29X?= =?utf-8?B?enhBUEFxV09hYjN0VWkzb3VrZ0FzVDc4cjJmWUZ5aEVyWXV4RzhNR3ZiTTVh?= =?utf-8?B?MHNBK0hJeEd0Tyt2b1lHeHRUMWwwTVhGQm1hR0ZGY1VrQ1J3akczUGxtOHZy?= =?utf-8?B?YWZQaXVmZXVHWDI5d0gwaGpMQm1EWlM0OG9QS2lWSnZ4Mmc0UGxMeVJNZGxF?= =?utf-8?B?N0lucDJHbCtXTjB1emhwWEVPN1E4c09GbExrOEcxc0NKT215dURVNEU2Q3V4?= =?utf-8?B?VUZpcDNLNUZUeFRmZXQreDlXaVhqQUdIRnBSak9HWDF4aVR2ZnNQSFVSKzhX?= =?utf-8?B?MFpLM1dqSGRzZTF6YnQwcmpzRmF3SCtKZGRPN0RCYkptcXphSXRtTGVPd0VN?= =?utf-8?B?SDNVSk9ldk9RaUZua0w4eFhwMGUvMTNZYWdMM2k2djIrTG85amlYeDVyU004?= =?utf-8?B?ZEZsU2RpMUJmVkVWS2xMK1hCaCtEY0d1QUV6M2VRRXJWcVVkY2V4djVqYU9x?= =?utf-8?B?V3JnVUlBR0NOOGZkNUxMQjJrUGVZRktvNjlMWFBKNTN5amtHMitZT1U2TGxr?= =?utf-8?B?bnNxVU5NT3UxM0MzTFdreVNzMWV3cnduaDc3clE4R0NQRlVnaXNaelZjNHUx?= =?utf-8?B?bHJIODZnR2xXOHlHcWcyKzVBekhHTHBLRnpwTnRBaXRSUWlaa3kzWVJTYVgr?= =?utf-8?B?cXFabTJ3VmJwa0dVS2F5aElsRWdDWHU1d3ZPUld2Q2pEN3doZ01kMWQ5RXdN?= =?utf-8?Q?yQQHif6MPvQ/Wpo+x3?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: ou.nl X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9P191MB1411.EURP191.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 42ca7f4d-397f-4775-427a-08ded12a51fc X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2026 13:21:22.7283 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ce1e7f7-b0dd-4fd9-af45-52f0be792ee8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RFtUIX5Pb34yIeyiLkjAmAXfiXOrzMjXsfzG8D90szNOD2akF8OEeaEKLu+XYwGw X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXP191MB2634 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=52.101.70.61; envelope-from=jos.craaijo@ou.nl; helo=AS8PR04CU009.outbound.protection.outlook.com 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 23 Jun 2026 09:51:47 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ou.nl) X-ZM-MESSAGEID: 1782222751567158500 On x86, the ES/CS/SS/DS segment override prefixes are null prefixes in long mode, and should be ignored. (AMD APM Volume 3, Section 1.2.4) This patch fixes the prefix decoding to correctly ignore the prefixes in 64-bit mode. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3391 Signed-off-by: Jos Craaijo Tested-by: Yudistira Putra --- target/i386/emulate/x86_decode.c | 6 ++++++ target/i386/tcg/decode-new.c.inc | 16 ++++++++++++---- tests/tcg/x86_64/Makefile.target | 1 + tests/tcg/x86_64/segment-prefixes.c | 25 +++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/target/i386/emulate/x86_decode.c b/target/i386/emulate/x86_dec= ode.c index bae1dd4d6f..34dcac155a 100644 --- a/target/i386/emulate/x86_decode.c +++ b/target/i386/emulate/x86_decode.c @@ -1851,6 +1851,12 @@ static void decode_prefix(CPUX86State *env, struct x= 86_decode *decode) case PREFIX_SS_SEG_OVERRIDE: case PREFIX_DS_SEG_OVERRIDE: case PREFIX_ES_SEG_OVERRIDE: + if (x86_is_long_mode(env_cpu(env))) { + /* ES/CS/SS/DS segment overrides are ignored in long mode = */ + decode->rex.rex =3D 0; + break; + } + /* fall through when not in long mode */ case PREFIX_FS_SEG_OVERRIDE: case PREFIX_GS_SEG_OVERRIDE: decode->segment_override =3D byte; diff --git a/target/i386/tcg/decode-new.c.inc b/target/i386/tcg/decode-new.= c.inc index ac181308ca..64aab5b5d3 100644 --- a/target/i386/tcg/decode-new.c.inc +++ b/target/i386/tcg/decode-new.c.inc @@ -2806,16 +2806,24 @@ static void disas_insn(DisasContext *s, CPUState *c= pu) s->prefix |=3D PREFIX_LOCK; goto next_byte; case 0x2e: - s->override =3D R_CS; + if (!CODE64(s)) { + s->override =3D R_CS; + } goto next_byte; case 0x36: - s->override =3D R_SS; + if (!CODE64(s)) { + s->override =3D R_SS; + } goto next_byte; case 0x3e: - s->override =3D R_DS; + if (!CODE64(s)) { + s->override =3D R_DS; + } goto next_byte; case 0x26: - s->override =3D R_ES; + if (!CODE64(s)) { + s->override =3D R_ES; + } goto next_byte; case 0x64: s->override =3D R_FS; diff --git a/tests/tcg/x86_64/Makefile.target b/tests/tcg/x86_64/Makefile.t= arget index be20fc64e8..c48767fef8 100644 --- a/tests/tcg/x86_64/Makefile.target +++ b/tests/tcg/x86_64/Makefile.target @@ -15,6 +15,7 @@ X86_64_TESTS +=3D vsyscall X86_64_TESTS +=3D noexec X86_64_TESTS +=3D cmpxchg X86_64_TESTS +=3D adox +X86_64_TESTS +=3D segment-prefixes X86_64_TESTS +=3D test-1648 X86_64_TESTS +=3D test-2175 X86_64_TESTS +=3D cross-modifying-code diff --git a/tests/tcg/x86_64/segment-prefixes.c b/tests/tcg/x86_64/segment= -prefixes.c new file mode 100644 index 0000000000..a7e6e285b2 --- /dev/null +++ b/tests/tcg/x86_64/segment-prefixes.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* See https://gitlab.com/qemu-project/qemu/-/work_items/3391 */ + +int main() +{ + int data =3D 0; + + /* Ensure that ignored segment override prefixes are actually ignored = */ + asm volatile ( + "wrgsbase %0\n\t" + ".byte 0x65, 0x26\n\t" /* prefixes: GS + ES */ + "movb $0, 0\n\t" + ".byte 0x65, 0x2E\n\t" /* prefixes: GS + CS */ + "movb $0, 0\n\t" + ".byte 0x65, 0x36\n\t" /* prefixes: GS + SS */ + "movb $0, 0\n\t" + ".byte 0x65, 0x3E\n\t" /* prefixes: GS + DS */ + "movb $0, 0\n\t" + : + : "r" (&data) + : "memory" + ); + + return 0; +} --- base-commit: b83371668192a705b878e909c5ae9c1233cbd5fb change-id: 20260623-fix-x86-long-mode-segment-override-decoding-e8b250443f9d Best regards, --=20 Jos Craaijo