From patchwork Tue Apr 4 14:53:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13200312 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F28FAC6FD1D for ; Tue, 4 Apr 2023 14:53:31 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.517922.803920 (Exim 4.92) (envelope-from ) id 1pji26-0001ZI-Af; Tue, 04 Apr 2023 14:53:14 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 517922.803920; Tue, 04 Apr 2023 14:53:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pji26-0001ZB-7Q; Tue, 04 Apr 2023 14:53:14 +0000 Received: by outflank-mailman (input) for mailman id 517922; Tue, 04 Apr 2023 14:53:13 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pji25-0001Yx-5r for xen-devel@lists.xenproject.org; Tue, 04 Apr 2023 14:53:13 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0624.outbound.protection.outlook.com [2a01:111:f400:fe02::624]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 6b18823a-d2f8-11ed-b464-930f4c7d94ae; Tue, 04 Apr 2023 16:53:11 +0200 (CEST) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by PAXPR04MB8126.eurprd04.prod.outlook.com (2603:10a6:102:1bc::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.35; Tue, 4 Apr 2023 14:53:08 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6254.035; Tue, 4 Apr 2023 14:53:08 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6b18823a-d2f8-11ed-b464-930f4c7d94ae ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GhnS7sPADdHjgqtZl6OY5N1VFd7TcKOoBUKAX5Wj7HYTQr0lRr6dNea8hpaLZJqAUB93Uu/mKBhDmSrGeqIug0TrqSafATODSiVfXbVWhK6EGrkK1F57nl19RFyCW9wgkRRQZg1MTlzbw1nZhX2hlioGNJ+Oz0dIkAXH8l2F5+rma3aMG80MBzwWU/UXES7yqM69ct5ENwFhvq1D5NN1xlPb52G/XnzI2V5H+LEpywQY+sbbnuPnp0BsonrEgV0m9+HD2jRgAaC9ROz9UUyIgZ52p1KydKEqOOy9X9osP1hOFSGwyQCurOHPR4N+UqsIxaR98UMp2HJkd52mDhZbaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=8OsRmeonhBRsTzr/ndz1lxvEmvcIjQIblEBSSAV+qJQ=; b=iKBBzkhVmSNBmPbbVZtt/9+Bvf6t+CJ5i7fZKksYGXexRcH4AI79VsMXIrWuR10Z0d+Qjgyl8fXOsECQKY2LpLKyLjtmcknw78FkcBPc2wj1Iod5CsYU5Xy+0GN5Wn6EC58XpjWHUZ5FbvmBCrVhd/fB1o828GfDscH5/1cOExqb8pCyDwpLkdsNkCm2j5+aldUNOkuq5+yC3cOCBczbfAjUaw2rNw/mynZqgAXacRJCv1+u1ogtdEpRwPnCitLHbM/HjkC+oqFDeeQZDf7mbKwadV6TZ40dDO3mycH9cgEYWCwKbhorjLLl3Nqwp8/DsoMLM/OTGdw5BKSIB74IzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8OsRmeonhBRsTzr/ndz1lxvEmvcIjQIblEBSSAV+qJQ=; b=H/+BzYGQyJBpRTkddsQ7Le2xgcpf9Fj4QhoI4ex93pTNEYhTBcFk6kmQQ6yxRPFgqGOxYNv8mi+u6M0gUlnmhtuH9euoloyQl0abjiHczMfyjUHM0H/jF5I+CnQQwYax2RDjSTt38Yss+FydQht5ubZxBgUAKulhBgPzIvVUQHK9Qg7Pb/W5u/7bQJlorxJNVk5JeadsS6+zozmbcyRX3wvRiKZ486kFodccav4Yw2ttm+hHFutDjkLnwSa7vwqqCwkbnEnIqn+WpfMapbe++RlGcrEl5wEkgUsJlhqyUqPlI9MNcD/AjKq2EIQhdmQIiGbpwf80jAlutKtNgGrExA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Tue, 4 Apr 2023 16:53:07 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: [PATCH 5/9] x86emul: re-use new stub_exn field in state structure Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0119.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a8::17) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8126:EE_ X-MS-Office365-Filtering-Correlation-Id: 1c8fae01-9a9b-4b73-bf58-08db351c4dbf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0fcJcWaMjcAJuGfgmgwQCc8hYlnF/F4r4Krnj/w3y+AQyAHYAzKXvpwvAqS47/6wpmlbaW3FXi9nhrmLQcDntR/h7pU5gH8270T6ZypJFpVzKPzYLPwteLvUdG8yMI7frfBNb4tRHjWcUII0D5y/tlchRCpZ3nSboG2DmlxwY4h8v691qjYsly8mLFswK++ToFmyaFICWPYHzkWDXDUt6/LE/NWbaUzNegvaR7ozQEdiBY2cD8XAMDCGaX7PxwSo/z6FpN3U7GPTEUMFGVouOLEG1LYKy9F9WeEua2lrsiEWlSoDc+hNlaepTceJ+GqWfLQFnPw4YTcPZaBSezePYecgrDtz4JjMbOmos2aVEa+12Tlpzg3iSzA07WgbpwhV5//Kwq53FNJHweb6tOFfaLCTmypcOLKXr+Nr4+fqDRZyG+4/kAwGzX6k8VBGQ1JKjdSkqVJAXH1oCgv+9pE1YoM1JOOldi3JOSiZFl4gCl1TOi7RZip01OBxZCq94AUE5gGyDd26xeOcY6NIix9jsq4i+Ikrs+LZFZLsMO3IqEfRMF1H8OjrPQlwEiv7pPieVgPnaGcvNapUJBkpc4J2sZi5c+UA+Aa0CBWTKb33E4LzGHE7/GHvLpM6mV4Lw1i2iQbt55W/rinGAkgsuIqpgQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199021)(66556008)(41300700001)(8676002)(4326008)(6916009)(66476007)(66946007)(316002)(5660300002)(8936002)(31686004)(54906003)(478600001)(6486002)(26005)(6512007)(6506007)(2616005)(186003)(31696002)(86362001)(38100700002)(2906002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?zrWfhPgfZNfWaR7WeTBcKhoLCa3D?= =?utf-8?q?GZFVBmT5OOrZMOgtcsfpxp9oTVbssPWP+bDrS/M9piOIOBt+wx1m7+JFVKGf6RrmP?= =?utf-8?q?CRfNwtJOaxxdmX/s7UGZ0zhYICWyT+OIc07um/YHBWwoETS78zYf2dFJ74B7P8tuJ?= =?utf-8?q?HSFoIJDc4JL7iz6a5tvpIZYDS7dip4yQiELUazQyvWFe85CHjHsV6ksZWyIZlyKVY?= =?utf-8?q?UVNRU4WFLCZuCYIkNvJl6pnFhnAmEAN9ktOnva/WNeOAtetWaygh8OJ11+FE7kq+J?= =?utf-8?q?RnIpWQ3AB6bSIDSdrYlHuDBJhxcgILRFcfs8gLMY2NSgRz6Cmn7Tl9na893Pyewo+?= =?utf-8?q?LD1FcZSO9Xf9T0C2nXANN0vQOHpVew1lOA///eTwBL9MUuWHCez37NN8Y81IFa1Ce?= =?utf-8?q?zYEvLUHqZZI9J9kbNUr9uMbQF8SKRvbd6jiWzHz00YDpImPo83JRFy69il6qLXfot?= =?utf-8?q?MCRMnjMVJBd62DfPvsoAgzo3Qs90tHWwWBjnpQLsz1yns4AfkG3/nWEJPCfbcgx+R?= =?utf-8?q?o6rb6Bx+9+oGiqBrsEMhgUctRyB/N7lCDix6iFZRTPOBXZaT22/jUalgCq5t47Ki2?= =?utf-8?q?Bj2WCtt9u9t/5qg/tmZBM1yotYGS90mqyyDTgFtQ8XV7EgUuoQa7kbM3Y698h1EAj?= =?utf-8?q?yFWTae3bG4lNt0meBSqB8mkdb0KCmacyWbu4vAcBLH8xSta7QZyoYjEw5Zb+8+rRN?= =?utf-8?q?5kdioBNzHY2NIhZx45smiXKUbg6DcdDr3/FdRmh0Aix2Xd30Ck/dl8A/DdbM12xC6?= =?utf-8?q?AMTUHEMWu4Y5bMK2K/KTAtDILcQ1mCVfdpENZQCiw+Wdza9rzh2d1AwGBphkUzoe5?= =?utf-8?q?Bt9SLQbKD2QGGEtR3DBmcITBA+GyAobN8OUVlFEP3ANEBwgNtJQQV3fmyAn1nyQZF?= =?utf-8?q?2XVilPjqhFGsoaQ7zUdfwkgxX+wOf9d3Yd/my4VFoo2gWapuNxjr6zJ9xDxGAVlwx?= =?utf-8?q?0kl8BKXQcqEQbio/9rHlylxKRlxaQ9ECM1o7vlSh9kxbreJZscVbjiD/idw8T81ti?= =?utf-8?q?SwKs3NfI+yPjN0ZF6iDG2HU4hoQGkm7ed3NmlpQtDorFjzQxAncJFKWiqlpqNW2cS?= =?utf-8?q?THnEm3MM06sGrttXiYitYHBRtpdzHssf/DzJ/fGhmDS0TqsXwG75NamX5UkA47naB?= =?utf-8?q?aokL0kFXOKcwpaiqk9aUXbrNoDF+cl1QSSEr9ZYy4rNhgjEuE2uDiL8Nx0hhOUqbQ?= =?utf-8?q?7xQ+djJd1TJKvwDdCU330evexMIvAugbz6VmbH58dmwJN9IkHCTsF4Ohs2W1fWGtO?= =?utf-8?q?Hl7p+oZAD4gnB0H0yqGBcdMx4UBV/w8XTxYS0H0ZanUyLhjO9c5yomOcbghUfTp4H?= =?utf-8?q?+2c+6WCLWPA4rH9VjgiEFN6qkPIEOSQkoa5+RB2m62/UZdVPWHyBBdTLBeMvWKI99?= =?utf-8?q?SZ9GUWwzLC3+foLagkudWgM7/wQe9c3Nk4nnzuyyQsVLs6aRfsflzj+5mpdt/Tla4?= =?utf-8?q?bFHEFwxE+Hvn3+M4ZuFC1Wkt0h/9Kfd4VxQoj/0J5arUtBMPlB0jktn84LU4ppiEZ?= =?utf-8?q?IbwUArGrqL5a?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c8fae01-9a9b-4b73-bf58-08db351c4dbf X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2023 14:53:08.4398 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gIV3jWri0WyKkPAbshbCihh7ZvMOOVJfD0Xqe9/yRCL3UUDycjWRE2eBLdrpV+NiwvSt9MsGBr4LTYQGzd0eWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8126 This can now also be used to reduce the number of parameters x86emul_fpu() needs to take. Signed-off-by: Jan Beulich --- We could of course set the struct field once early in x86_emulate(), but for now I think we're better off leaving it as NULL where not actually needed. --- a/xen/arch/x86/x86_emulate/fpu.c +++ b/xen/arch/x86/x86_emulate/fpu.c @@ -90,9 +90,8 @@ int x86emul_fpu(struct x86_emulate_state unsigned int *insn_bytes, enum x86_emulate_fpu_type *fpu_type, #define fpu_type (*fpu_type) /* for get_fpu() */ - struct stub_exn *stub_exn, -#define stub_exn (*stub_exn) /* for invoke_stub() */ mmval_t *mmvalp) +#define stub_exn (*s->stub_exn) /* for invoke_stub() */ { uint8_t b; int rc; --- a/xen/arch/x86/x86_emulate/private.h +++ b/xen/arch/x86/x86_emulate/private.h @@ -764,7 +764,6 @@ int x86emul_fpu(struct x86_emulate_state const struct x86_emulate_ops *ops, unsigned int *insn_bytes, enum x86_emulate_fpu_type *fpu_type, - struct stub_exn *stub_exn, mmval_t *mmvalp); int x86emul_0f01(struct x86_emulate_state *s, struct cpu_user_regs *regs, --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -2058,8 +2058,9 @@ x86_emulate( #ifndef X86EMUL_NO_FPU case 0x9b: /* wait/fwait */ case 0xd8 ... 0xdf: /* FPU */ + state->stub_exn = &stub_exn; rc = x86emul_fpu(state, &_regs, &dst, &src, ctxt, ops, - &insn_bytes, &fpu_type, &stub_exn, mmvalp); + &insn_bytes, &fpu_type, mmvalp); goto dispatch_from_helper; #endif