From patchwork Wed Feb 8 14:37:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13133094 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 6C312C636CC for ; Wed, 8 Feb 2023 14:38:11 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.491847.761181 (Exim 4.92) (envelope-from ) id 1pPlaG-0006w1-70; Wed, 08 Feb 2023 14:38:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 491847.761181; Wed, 08 Feb 2023 14:38:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pPlaG-0006vs-3D; Wed, 08 Feb 2023 14:38:04 +0000 Received: by outflank-mailman (input) for mailman id 491847; Wed, 08 Feb 2023 14:38:03 +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 1pPlaF-0006Jc-9R for xen-devel@lists.xenproject.org; Wed, 08 Feb 2023 14:38:03 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20600.outbound.protection.outlook.com [2a01:111:f400:7e1b::600]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 302e92b4-a7be-11ed-93b5-47a8fe42b414; Wed, 08 Feb 2023 15:38:01 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by PA4PR04MB9343.eurprd04.prod.outlook.com (2603:10a6:102:2a7::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.22; Wed, 8 Feb 2023 14:37:59 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e138:4fc3:705c:d178]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::e138:4fc3:705c:d178%7]) with mapi id 15.20.6064.036; Wed, 8 Feb 2023 14:37:59 +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: 302e92b4-a7be-11ed-93b5-47a8fe42b414 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gxytKhLHogxVaSy3rKMjoRZ0tuZ3VcYuYGU8TL1+BcV73hlkqzuvN4VwLWOJ6w33yl7sC9AyPe6+ybCXsK56rSfH6h124wk1mtb5UJlPfa4/tqaLKboobi/HS0qrlRkFnoZXGeKJFsgDdyS82i6ueQw0fyktE7CftDs8Ut/b3X6i7ef0sWha/IfoUnCNWAEcLvjffdgQNcOlJC3RXEcwL6hnDwfL0JmJxqfgf1uBBbNNW/xpQ3BUaJHl8C0g+Q1ooWo5AfEnVzNzVPDPhIUvhOodJI+gujk0gRSFqh9kJAfgzece7jAYLsrlz3CHRGSaGqpUNQmLYg8r2fio9ppmgw== 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=Z4ux/6tWNQBcW4wZFr0MDeGUcIrrS8cZY8coYVotxL8=; b=lahJGM0c92A3RJ5cL722RF5FWN9y5saT+j7OK1LG706wD0KJXHjUHpiE009k1Q0fWrUmmAQ44quGjt9WAdnY1FlJeCHorzqIIBxeCf5PkmfTpXqeCOXK3gBAaZLY6nG94kbFr4JATJ15feL7NjpqYkrlKh7M6xjEPw+UbGK1pfiv9eNGCAg7bgOOiIxKU6LTnlb/m8KPihjPWoJxWHxEygFjF0Z4mMxLqnF52L9NYetb24T3eaCPM0BjV0V+5ifw0k5NLzEVmoL6+hDMnWGVH/q6u/2b4/9zCq5665xFs/sTLFcaJd+FZXv4uyXmRLMzwVvljClA/6OnyKVaySbmtg== 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=Z4ux/6tWNQBcW4wZFr0MDeGUcIrrS8cZY8coYVotxL8=; b=po9kfWLv26qWv9anAv+kougLog3B3orii9DwzrVE0G9vlMwF0EVh2LHHBLxYw7rtucxq02Qe3bYRrYqczKUozlZfFzC7WD6uXUSJF4u9kyjJJ/gaBGYrrzo6egh6wNzJH/3LJwLo4dpvsL0DvSdRMly7f/zFqkIH3k5835cT7EbdhhiyxMcObf3f2RAL9EsuJ7DSax62uVAhp+p39TIqRE4rN9HAQUkg0gjYbpwQbWmpud5J74lt3UEuO+ndVqUV86r6+R80j7Bg7ILNColX10asArZlzNeoknUzkm7shoMrSvzgbn5ztiM95mNOaUM/4o9j1TL9tbB2FH2rFX0eAw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Wed, 8 Feb 2023 15:37:58 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: [PATCH v3 3/4] x86/shadow: rename hash_domain_foreach() 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?= , Tim Deegan , George Dunlap References: In-Reply-To: X-ClientProxiedBy: FR3P281CA0013.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::18) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9343:EE_ X-MS-Office365-Filtering-Correlation-Id: dbe2301b-5c59-42b9-cce7-08db09e21359 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WpmEtlNKVRqR0IDDeaRC3+KhsB3O89G4fgdPGJ9ShZ1RToQY7jI1qIb0avMWi7B/bAK8mYc80WO7WvzM6aaXYS9RvuQmUAXqSBfoSkBOWvDFQHgCsXwhcvPozVDJCw01sT/QFbP43iWE3sSK8SW6e8521d6mN+zRITMatLVmfgT+bHZu94MEysRgOsW59dv6J+mJ7pzE4CrCXUIHTh6/kRPadUkPD1RfSGtY2yCPVMtfcwz+iLnsadLOtlX01Hx8kf05942nxr6HIZH87jTPRUAGWaMHxl7m3YqdHTCzb8tmWJBsySipHNvWhmvKdLNyVcDL6FTmcTw85cEFQ08KnHoKUq+g44YFv9Flk1cyCWbrg6NhOoEoDGwLY4b+gCaLCA0RnbV/oxJIW5z6YIJKvlVQpl+s31b+ZybMc/HxCmZyGe/tr5d5FWyR0ICtkOJqDzwcPqhL7zzcQXp0K5fk0LRU3i8lv3o/43gzkOw4AH85Qe06ed/fD+YRUqqSW+9ERlZ4vOpadoZiWkzAVAXZ0KPAsKGARkFm1+8s9X0F2/O5bQ0yl6oQOJxOYcuVeSuKRPv9Gfe1EpKBJAMLWfVffDvgegqIY4hwG5l6zsndBmAbcME95uFb6Y5iLqbWBCsENh4nFBfYPoC1Jg9dtHWPF3CCQnpckZcrqFUzkAwmB83zVdEfqNWWjDXynqqWxKulo8hi1Vx31KB9uyKwIVlQPAZTemU4bocbuvLR1jSEqAY= 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:(13230025)(39860400002)(366004)(346002)(376002)(136003)(396003)(451199018)(31686004)(83380400001)(6486002)(36756003)(5660300002)(2906002)(26005)(186003)(31696002)(478600001)(6506007)(6512007)(41300700001)(54906003)(86362001)(38100700002)(2616005)(316002)(66946007)(4326008)(6916009)(66556008)(8676002)(8936002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3/wjK1ejPOHmRfB8qniTGkc0BuS2?= =?utf-8?q?GOqxYuAi6WNmxCSoEBDNLkDa2LgDz7lCrvGlLSFyp5VcUFGxariUOo+01G4ZNUP0d?= =?utf-8?q?jfUJ2P0H/j1hBzlJ6qvk+87oFRQZ/xaCYhYem0umC++hd8lopGhEpeKidfXSx+M95?= =?utf-8?q?wjgPA/i29PVBXzB6gXdshCTiAAWhju0TgmI/FyiftbhvTmYzwO/MdHx/T14z6K3DM?= =?utf-8?q?HVombJI3Jw00Wstbv5EYCjugunD2kSgHNSKQWJgTtTVUXliEXsn6vkWsSE1y3HlWb?= =?utf-8?q?QU1lp7jKNxgNHhYfywDGLieyozBuFu0ItfEL+KGAub8OTFXYp/eCpqvXuiduOttYc?= =?utf-8?q?tFCr2k4M46kkpf9LmXCCpyENk4lFn9v0QmeLnAaw4USq3tPvs4OVn/vP3jKXwBaQK?= =?utf-8?q?4u5m8f5WVDVALWPJ6tAnEgJM7DmkQBZnitIeyiOhou53SE7+k+QVR3eY5Mu2AdDiv?= =?utf-8?q?rySVlxGoHjBxCw7J54VgAAWqTUwCxYQ9PwBj1tCxEINRvqIhDA3eGFTF83PyeRid3?= =?utf-8?q?vqmrxkwYUi8ZAZwOP+axU1QXa8JXMWxwdmhUUFZ27PWAx6KusL8hYUdouNqAF+Qgv?= =?utf-8?q?9L3ZdJaquqjzmNCSr/Wdg2lUgfc6tgioGqFFO9tnVlPmZ5Snwb4FJpWzOBTJMGfe3?= =?utf-8?q?ZvTDlNgOO1o3SpDEoeGB9QCykdV9OM/3+2JvXDyDy3JPcTr4RTAq8HYJCpzQEW+wK?= =?utf-8?q?GFeG3wL8ME+T1foFMG+kEQn7s3EH43YaXT+LRFnZjlI/FH5e/iz6LiNPBvHal1CKs?= =?utf-8?q?Fpues5s/qWR9/+B8z66E9Wqgk0Drg19u58Byvc6PsLH65lCSDsJpQS0G9TfAPpFzP?= =?utf-8?q?B5nstwXzLKEIvJTeJfMX4ydIyAnQ0XEzny5SLnuRX7pPKTIRCSMZsGY/QPOtSTpg+?= =?utf-8?q?d328FMkAK18Z1hURBsMJ+p2dUo/lfL/T2eyicbokBuMDgJuHizu2fF3FssAR2WcLX?= =?utf-8?q?7kVjTvosuCM41R2KuK/F5c6vToAM3iChX9k8HiMoqDPlFx9qdYIjUZxQWC44Vm6Fq?= =?utf-8?q?2S9TBpqAZG5Qd6nXbAcVjDsS694ZsojbkAkiavuUU28kVe+lNw4dNCe480ZhISdsq?= =?utf-8?q?RZGsso+XTwLX4brpT9oi0TJvJQb2gbWwj/88qaFsK+rIevIL0LKLsoWBOU5G5kprr?= =?utf-8?q?kY9MXRggfTuwL7wEX8aJBHiBlJ2hdXZC7Zyg+i01Awm8hlhBxSiUpWzxdfybTX6cv?= =?utf-8?q?EvTON8y/RTt3iPUmic1sdnKglpjMm00fWmjlgFZ8H44eSO8FLzu4jhdm8gOMlF+0r?= =?utf-8?q?lz6hQDPGX/EBKVnbOFDlptSwMblDf4s+dYjniJsY8aH4hzsPQsN2QB0xPWLugbOSy?= =?utf-8?q?mwfVnLsB1+QzOVN8Q8vnxq93teKJ7ounc8gyr1aXdvOYt0I6dbmcsCUCEwHYGeh5G?= =?utf-8?q?xeg8XVM9N1Cf8clkFCWXzMlQbKzSJmVF/FAjdmdy/+ywUJ6qChZAnXLm4YgtL9Xq2?= =?utf-8?q?sjtruE15s0NJNCLMNWjt/Y0hdqrQ527Won4ophIXws0gwPxq+2/aDj+UxdSBtFpMo?= =?utf-8?q?ayvRQGqtVQQX?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dbe2301b-5c59-42b9-cce7-08db09e21359 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Feb 2023 14:37:59.6061 (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: SeEM17TOsMTIMM0ousfCsmt1LLExf16Kotwef5emK+xXBuhQ2D6X51rfWX6OxnJnNTFDHuPycXqjgNcMMpsPkA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9343 The "domain" in there has become meaningless; drop it. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -1680,15 +1680,15 @@ bool shadow_hash_delete(struct domain *d return true; } -typedef int (*hash_domain_callback_t)(struct domain *d, mfn_t smfn, mfn_t other_mfn); +typedef int (*hash_callback_t)(struct domain *d, mfn_t smfn, mfn_t other_mfn); #define HASH_CALLBACKS_CHECK(mask) \ BUILD_BUG_ON((mask) > (1U << ARRAY_SIZE(callbacks)) - 1) -static void hash_domain_foreach(struct domain *d, - unsigned int callback_mask, - const hash_domain_callback_t callbacks[], - mfn_t callback_mfn) +static void hash_foreach(struct domain *d, + unsigned int callback_mask, + const hash_callback_t callbacks[], + mfn_t callback_mfn) /* Walk the hash table looking at the types of the entries and * calling the appropriate callback function for each entry. * The mask determines which shadow types we call back for, and the array @@ -1826,7 +1826,7 @@ int sh_remove_write_access(struct domain unsigned long fault_addr) { /* Dispatch table for getting per-type functions */ - static const hash_domain_callback_t callbacks[SH_type_unused] = { + static const hash_callback_t callbacks[SH_type_unused] = { #ifdef CONFIG_HVM [SH_type_l1_32_shadow] = SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, 2), [SH_type_fl1_32_shadow] = SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, 2), @@ -2011,7 +2011,7 @@ int sh_remove_write_access(struct domain else perfc_incr(shadow_writeable_bf); HASH_CALLBACKS_CHECK(SHF_L1_ANY | SHF_FL1_ANY); - hash_domain_foreach(d, SHF_L1_ANY | SHF_FL1_ANY, callbacks, gmfn); + hash_foreach(d, SHF_L1_ANY | SHF_FL1_ANY, callbacks, gmfn); /* If that didn't catch the mapping, then there's some non-pagetable * mapping -- ioreq page, grant mapping, &c. */ @@ -2039,7 +2039,7 @@ int sh_remove_all_mappings(struct domain struct page_info *page = mfn_to_page(gmfn); /* Dispatch table for getting per-type functions */ - static const hash_domain_callback_t callbacks[SH_type_unused] = { + static const hash_callback_t callbacks[SH_type_unused] = { [SH_type_l1_32_shadow] = SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 2), [SH_type_fl1_32_shadow] = SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 2), [SH_type_l1_pae_shadow] = SHADOW_INTERNAL_NAME(sh_rm_mappings_from_l1, 3), @@ -2063,7 +2063,7 @@ int sh_remove_all_mappings(struct domain /* Brute-force search of all the shadows, by walking the hash */ perfc_incr(shadow_mappings_bf); HASH_CALLBACKS_CHECK(SHF_L1_ANY | SHF_FL1_ANY); - hash_domain_foreach(d, SHF_L1_ANY | SHF_FL1_ANY, callbacks, gmfn); + hash_foreach(d, SHF_L1_ANY | SHF_FL1_ANY, callbacks, gmfn); /* If that didn't catch the mapping, something is very wrong */ if ( !sh_check_page_has_no_refs(page) ) @@ -2172,7 +2172,7 @@ void sh_remove_shadows(struct domain *d, /* Dispatch table for getting per-type functions: each level must * be called with the function to remove a lower-level shadow. */ - static const hash_domain_callback_t callbacks[SH_type_unused] = { + static const hash_callback_t callbacks[SH_type_unused] = { #ifdef CONFIG_HVM [SH_type_l2_32_shadow] = SHADOW_INTERNAL_NAME(sh_remove_l1_shadow, 2), [SH_type_l2_pae_shadow] = SHADOW_INTERNAL_NAME(sh_remove_l1_shadow, 3), @@ -2221,9 +2221,9 @@ void sh_remove_shadows(struct domain *d, /* * Lower-level shadows need to be excised from upper-level shadows. This - * call to hash_domain_foreach() looks dangerous but is in fact OK: each - * call will remove at most one shadow, and terminate immediately when - * it does remove it, so we never walk the hash after doing a deletion. + * call to hash_foreach() looks dangerous but is in fact OK: each call + * will remove at most one shadow, and terminate immediately when it does + * remove it, so we never walk the hash after doing a deletion. */ #define DO_UNSHADOW(_type) do { \ t = (_type); \ @@ -2247,7 +2247,7 @@ void sh_remove_shadows(struct domain *d, (pg->shadow_flags & (1 << t)) ) \ { \ HASH_CALLBACKS_CHECK(SHF_page_type_mask); \ - hash_domain_foreach(d, masks[t], callbacks, smfn); \ + hash_foreach(d, masks[t], callbacks, smfn); \ } \ } while (0) @@ -3232,7 +3232,7 @@ int shadow_domctl(struct domain *d, void shadow_audit_tables(struct vcpu *v) { /* Dispatch table for getting per-type functions */ - static const hash_domain_callback_t callbacks[SH_type_unused] = { + static const hash_callback_t callbacks[SH_type_unused] = { #if SHADOW_AUDIT & (SHADOW_AUDIT_ENTRIES | SHADOW_AUDIT_ENTRIES_FULL) # ifdef CONFIG_HVM [SH_type_l1_32_shadow] = SHADOW_INTERNAL_NAME(sh_audit_l1_table, 2), @@ -3281,7 +3281,7 @@ void shadow_audit_tables(struct vcpu *v) HASH_CALLBACKS_CHECK(SHADOW_AUDIT & (SHADOW_AUDIT_ENTRIES | SHADOW_AUDIT_ENTRIES_FULL) ? SHF_page_type_mask : 0); - hash_domain_foreach(v->domain, mask, callbacks, INVALID_MFN); + hash_foreach(v->domain, mask, callbacks, INVALID_MFN); } #ifdef CONFIG_PV