Received: by 2002:a05:7412:d008:b0:f9:6acb:47ec with SMTP id bd8csp449968rdb; Wed, 20 Dec 2023 01:51:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IE3G2OE5Cw54fw0jJ/YaPLul2ZEUBDWY2v6q+BLWaKjcKfNMGCo97T8x1tRid/WbX5ddIM6 X-Received: by 2002:a17:90b:4a85:b0:28b:97af:955b with SMTP id lp5-20020a17090b4a8500b0028b97af955bmr2935798pjb.38.1703065894345; Wed, 20 Dec 2023 01:51:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703065894; cv=none; d=google.com; s=arc-20160816; b=h8z7qaocgEuTLLP7uoGTeLGj2o9DuMyHCu+0usQyGVfYtK3Z+ORAHOqfPoVTI6FKn5 XbyKmnZ94nSVp91nIAfvQClpouRPueQX7Y5QevSzdrY+tIqqB4w91LfHFnZcDy1Pmo+f CZzYRTas47G7g0bojpTL55z8WRAImiRnvruolLrBHlue4UMFDJJa2asXp+T0CCV0YwiB jUVnLowl/L/VcUEAH7TUu1D1d3k2xXimDXhG6I5XiRv/eQCtE0gHIGfrWvGPrfoRPxa7 q4ZVSZasmDmFbyuZeiMpsCB7Wi8OYGe0nxnvoD9ChJUdL/HedwIf8xd/7IJuStFt2vaI RyjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:sender:dkim-signature; bh=4O1Vy1vHCRC70ciScQudqstl6X1E6fGag3h0cOzBg3A=; fh=3wA/X8ApTGRGBlhT9uo+6lTq+9BAYoTPS27lpjdqMhE=; b=VKcNMcIX6awyxT5qfiP7tF/COV/P7xx+6L7skYhySAKwPFinxa7FxmJZ9FvgvSGR5O 8ZeFfWyMyEDEhF2TF27n1AyqfmDS2cO7OuyJxcKxHNYTyNeOPwtrj7vW13EfqkuphYoK qXIPYDenEwzolIlJt1W/ychVoqmDIDxFPtuFXpJW3UC0yJYmTBNY92n89xEbfepPtuG+ jdQPgL7kjv8VNpWRF1luPtwoVLTEtG8d7MUHrwq13F+VGDX/QsP5UdwXsDxF7IYMCB0u +C5hvV4VtFF3wt78A5hOaVl92kcjisuqaBkcf1QsZpRes0YwVS0gNA+yOSOZUw2tqiJZ qLEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=h+dGwwv3; spf=pass (google.com: domain of linux-kernel+bounces-6652-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-6652-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id t15-20020a17090a448f00b0028bbbffda7fsi2720012pjg.81.2023.12.20.01.51.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Dec 2023 01:51:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-6652-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=h+dGwwv3; spf=pass (google.com: domain of linux-kernel+bounces-6652-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-6652-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 091F3282233 for ; Wed, 20 Dec 2023 09:51:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 362AC2033E; Wed, 20 Dec 2023 09:51:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="h+dGwwv3" X-Original-To: linux-kernel@vger.kernel.org Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA9B52032E for ; Wed, 20 Dec 2023 09:51:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-40c3fe6c1b5so59573695e9.2 for ; Wed, 20 Dec 2023 01:51:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703065875; x=1703670675; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=4O1Vy1vHCRC70ciScQudqstl6X1E6fGag3h0cOzBg3A=; b=h+dGwwv3LC2zptpTj+sThF323qPFAlZw254Ur9cIWZ9C7K6zi59PXNZjH231mhcGpN 9XUEmPiQb/QL5TeAEl044BbB7uACNYbIkj2UolTmej2BRtwSux3NSZvtlB9qhb2WkFWf +p/eOPq/E+9Yxtc/m0ugqIRbwUi/NFKDO7jWHnMao8/c/0D8aSabBvn1UQXCuP3GvOMN hKI4QrLNUFyBt7nmBuxbr1aQv4jJmfZT/Qze2Yv/mTShG1qMXvQV1PcHu3XlV19jaEek Z4CBsvzqJCsFX64VRafZQ89DgN7yIblQMRD3ErcDSmmMhYB39r19315jmHFRt2VbhAEp eazQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703065875; x=1703670675; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4O1Vy1vHCRC70ciScQudqstl6X1E6fGag3h0cOzBg3A=; b=Ag7qhwi4Jjx66Q5HTGVudbwJXO68MtasyczrsdRRKBB7cKa/w+GeK6swMANvAPGmI/ NV5VAZ5ckglGbxKT971oFyuOErY1rTIt6vyaVwAQwkidK7qNDlPJyI1l2sS5WfoECVfT v2KrL4vta798xlRsa/yrAslTxTauBUlvuJrCav1UuRbzYJfZYpF5BB8iOxjwYMb6t2sn s7VbNmx4uGDsPctW7oF9hFbm6PA5fBb95u97zUYQsprIHS56xi5WbPFqkxk5WwkWUDM1 olLmdGtoY8arT0YAb4sJOVgI49bAU/R19qAhSuIsn3DWM/bGnjVaoAmzbfnNxOe9oqXE MNFw== X-Gm-Message-State: AOJu0YwW0ODJ8dj2ncGLkpNjdmcIRbrUaz2ZzBB47AzsJt2aWAPa0WA2 SEdOC/9XS9wrYq2iX8s/aEo= X-Received: by 2002:a7b:c44b:0:b0:40c:3751:b661 with SMTP id l11-20020a7bc44b000000b0040c3751b661mr9974969wmi.61.1703065874939; Wed, 20 Dec 2023 01:51:14 -0800 (PST) Received: from gmail.com (84-236-112-232.pool.digikabel.hu. [84.236.112.232]) by smtp.gmail.com with ESMTPSA id m26-20020a05600c3b1a00b0040b2b38a1fasm6604079wms.4.2023.12.20.01.51.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Dec 2023 01:51:13 -0800 (PST) Sender: Ingo Molnar Date: Wed, 20 Dec 2023 10:51:11 +0100 From: Ingo Molnar To: Vegard Nossum Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , linux-kernel@vger.kernel.org, Brian Gerst , Peter Zijlstra , Linus Torvalds Subject: Re: [PATCH 1/5] x86: provide new infrastructure for GDT descriptors Message-ID: References: <20231219151200.2878271-1-vegard.nossum@oracle.com> <20231219151200.2878271-2-vegard.nossum@oracle.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231219151200.2878271-2-vegard.nossum@oracle.com> * Vegard Nossum wrote: > @@ -27,14 +77,14 @@ struct desc_struct { > .base0 = (u16) (base), \ > .base1 = ((base) >> 16) & 0xFF, \ > .base2 = ((base) >> 24) & 0xFF, \ > - .type = (flags & 0x0f), \ > - .s = (flags >> 4) & 0x01, \ > - .dpl = (flags >> 5) & 0x03, \ > - .p = (flags >> 7) & 0x01, \ > - .avl = (flags >> 12) & 0x01, \ > - .l = (flags >> 13) & 0x01, \ > - .d = (flags >> 14) & 0x01, \ > - .g = (flags >> 15) & 0x01, \ > + .type = ((flags) & 0x0f), \ > + .s = ((flags) >> 4) & 0x01, \ > + .dpl = ((flags) >> 5) & 0x03, \ > + .p = ((flags) >> 7) & 0x01, \ > + .avl = ((flags) >> 12) & 0x01, \ > + .l = ((flags) >> 13) & 0x01, \ > + .d = ((flags) >> 14) & 0x01, \ > + .g = ((flags) >> 15) & 0x01, \ Yeah, so how about writing it like this: #define GDT_ENTRY_INIT(flags, base, limit) \ { \ .limit0 = ((limit) >> 0) & 0xFFFF, \ .limit1 = ((limit) >> 16) & 0x000F, \ .base0 = ((base) >> 0) & 0xFFFF, \ .base1 = ((base) >> 16) & 0x00FF, \ .base2 = ((base) >> 24) & 0x00FF, \ .type = ((flags) >> 0) & 0x000F, \ .s = ((flags) >> 4) & 0x0001, \ .dpl = ((flags) >> 5) & 0x0003, \ .p = ((flags) >> 7) & 0x0001, \ .avl = ((flags) >> 12) & 0x0001, \ .l = ((flags) >> 13) & 0x0001, \ .d = ((flags) >> 14) & 0x0001, \ .g = ((flags) >> 15) & 0x0001, \ } This encodes it all in a very simple format, without C syntactic variations: bit position and mask. Thanks, Ingo