From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 286B6374197 for ; Tue, 20 Jan 2026 22:40:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768948821; cv=none; b=GKC5NJcqyFlAt6v5Y4CXNDPkEm9fShmzo53JksbxnY+egWcSfiKuzKV5pYEeNf9JkiY6+ILjTwfzyWEZuKiRjzJx4kDZ9yNq6FBypR/JmvMkXCrHWvBJ+GzUEvos17EI4rcFV5443YwlXd44G7Z+6AxAGn6e/+QVgYDGYcyc/QI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768948821; c=relaxed/simple; bh=GB7fouVDSBFUQRUZn3/zwCIsYYWoml5r47arSduQ0Ts=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=F9qUzy+qqjfMJM/tb6UFPtSuPcGEzomOmWRYldp95kRYFNgD3ZYrjZrJkK3RTUVyrl80ifHnkc6HlvR5t54BwhsyxRogCWhpCp/Pj3mAh2VAOUeGhljkyPl/zKywstWCZelWzo2qmwKKNW1dZumbzzFtPbp1h7W1rHr04kZfWUc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=VUaLDaDu; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VUaLDaDu" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4801d24d91bso41963735e9.2 for ; Tue, 20 Jan 2026 14:40:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768948816; x=1769553616; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=CCHJwAgujuYqn6CDQYvDpbIbZ0yL9/wPyxks5czHWxc=; b=VUaLDaDuWDXyhpDUu0+26QupoduM7f87JwGi1yDaE0R+miPufZHxTaP4xLwlok7Uhf EJctAREytUTRQOQgfBYeK0wxQtgGzDOxrslhnt+9X9V3q1vYx3o2FRYgr3jvZSdiGp1E HRjfjh07GVlzqWuHkDguurY8ReApZz2L18qFGtOM5SOEfckBn1OXjYNN9t846GQJW4h0 l+LqLWgACjMwaKvidnFzfL1IihnrvoFrGqIrH27fq7W9+zfdYPMkwerhxkNu3CiDrqTO zD2w5q+JO7av85lsppVHlSdkStTm+zpMKB/To6ysZLpky9TlZAhc2X0UKvrAqKZEEEOY Vugw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768948816; x=1769553616; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CCHJwAgujuYqn6CDQYvDpbIbZ0yL9/wPyxks5czHWxc=; b=qxz7c5FrPHshOfWy/wkEgMDahXaHSVxNMByVKp4bTgkXrQ4Vd1Zq3J38DTMbrebG85 BLJ1QsydVDv/BjhsL3iOA5QkIy+ckUohArKew743i6hWjopItjgSafp7ifezzZ5AY/dS sh5yfJzd3D0Yvrv7Kx6AxPtQuJ+gWJB+9m0ZpPbs+s51wWFPrBWjczbVoAJtoVDIK3Z3 IW8oBaC5e0VJe7wFj9dALrKSZMNj6wbDipB4GZN58GlIYX8UGiCBqRJg5a2F01Oj236g 4WtOOi+aF9LsEplWFk4Hv6CqTzWC6I5zHCSj6k3/e+8CCt5umYA1vIPlcJgg0ApQT041 hmDg== X-Forwarded-Encrypted: i=1; AJvYcCWkdarn2Ok2xz15VEBO5xWgnTFhyzrMbJVJNX8aYWqaVm/JZG8Xp7crztnqf+azHHNduBJIzWidTXP81G4=@vger.kernel.org X-Gm-Message-State: AOJu0Yzr6i8KbrOIzg/ozj1w/aOr+9y+tDUQtUriMw/IcKSDkiiYSo9M c51MFJFbOXsqR0YiW76i2r2mJWusWOGI7NN77tZJ3aPfU05696qWlwUq X-Gm-Gg: AY/fxX4FiwBMgcwUeBZc73QORN/qGYNntPfZz6+xuyZS8/kK3yoQPH84pTbC48DeSbJ ikgVkCGrdWqfD1HeJqbWXtA8T/gKbc5dCp16EmS6Q8UzKj8AKqx3XGVJmb/hjW5I6fCQoVCFlZW 8d7LBc9ldmBS5/+8e+krHOAanagFbyoMnIhDBcJFBvepCxjL+Ssr+SxmYNy5nYlg9P6JB1vLeuw v8DOcSsdqYCCA+cICh/rG2QjFIGAMzKAH8/V8zs96MzY9881xO/YQMWkyd9jx+AFMXeVgcKc/4m WgbrPrtCrvG7kjs/3It+r8pZhJnGZvy6hw1De9EDACJrQxWQeUY3f2nTUGC1p3yPrS2nEcik2iN PGN6QhWTw3avWHeBPiAQ8DzTuU3kdlupAz2EBePQ/iIUOc8xNw5AxxF/9dbZYLJRwjiv751y+LF xuXvAwLTYTTzndxsNE05FiZ0fKNDmdlum+3hZf/5qdfQnNsT5v6Cz5 X-Received: by 2002:a05:600c:524a:b0:47a:935f:61a0 with SMTP id 5b1f17b1804b1-4803e710fa6mr49545845e9.0.1768948816254; Tue, 20 Jan 2026 14:40:16 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804245320csm5144125e9.0.2026.01.20.14.40.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jan 2026 14:40:16 -0800 (PST) Date: Tue, 20 Jan 2026 22:40:14 +0000 From: David Laight To: "H. Peter Anvin" Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Uros Bizjak , Petr Mladek , Andrew Morton , Kees Cook , "Peter Zijlstra (Intel)" , Nathan Chancellor , Kiryl Shutsemau , Rick Edgecombe , linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, x86@kernel.org Subject: Re: [PATCH v1 02/14] x86/realmode: make %gs == 0 an invariant Message-ID: <20260120224014.29e7f326@pumpkin> In-Reply-To: <20260120195407.1163051-3-hpa@zytor.com> References: <20260119192923.651588-1-hpa@zytor.com> <20260120195407.1163051-1-hpa@zytor.com> <20260120195407.1163051-3-hpa@zytor.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) 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-Transfer-Encoding: 7bit On Tue, 20 Jan 2026 11:53:54 -0800 "H. Peter Anvin" wrote: > When accessing data that is not "near", either only one segment is > used or one segment is always zero. Leave %gs == 0 at all times > throughout the C code; this reduces the number of segment loads > needed. ... > diff --git a/arch/x86/boot/a20.c b/arch/x86/boot/a20.c > index bda042933a05..3ab6cd8eaa31 100644 > --- a/arch/x86/boot/a20.c > +++ b/arch/x86/boot/a20.c > @@ -56,20 +56,19 @@ static int a20_test(int loops) > int ok = 0; > int saved, ctr; > > - set_fs(0x0000); > - set_gs(0xffff); > + set_fs(0xffff); > > - saved = ctr = rdfs32(A20_TEST_ADDR); > + saved = ctr = rdgs32(A20_TEST_ADDR); Would it be better to wrap that as (say) read_abs_32() since the objective is to read an absolute address (using the relevant zero segment register) rather than to read though either fs or gs. Is this code all running in 32bit linear mode with non-zero cs/ss/ds segment registers and 'suitable' entries in the GDT? That mode makes my brain hurt :-) Or is there a fudge to get 16bit asm from the C. David