From patchwork Tue Jan 23 14:53:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 13527532 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 09E01C47258 for ; Tue, 23 Jan 2024 14:55:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID: References:Mime-Version:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=aCnzWgOV2HiESHNd5tI32wxgxKXeykzxZ9k+pVJSwk4=; b=YOCDXE7iS0p72qBCcmnaTz/swq IYQtytqu2uM6+xxNKv40Hw+ZdkLqO3NMVFCtIducfJoMf8FkwhsmYkZ5AS1Necq4P1I06AMT9tr5a nUGRIusoJq4ztQ85VQQ8DkYlB6D6RKqrrsI4NNykKyaifezb9zcLfTYM3yWfmi+rC+wKlAe7sGzq5 TfIstJ2M3DXkW8ZxdXGbNBbfYZJVl3DUL+GYVAjiv33j0oBd2zELHex2lwvb70HPixRgmyJajWFUa ITDMjJtq1pDhe0eCT+sHSKn9vPSzZKmRs1Sk51DxHX7unVbXhesOsa928t8oMRM6Z95Qky3tbE8T/ AP+/IfCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSIAb-00Gtco-2Q; Tue, 23 Jan 2024 14:54:33 +0000 Received: from mail-wr1-x449.google.com ([2a00:1450:4864:20::449]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSIAT-00Gtae-2S for linux-arm-kernel@lists.infradead.org; Tue, 23 Jan 2024 14:54:27 +0000 Received: by mail-wr1-x449.google.com with SMTP id ffacd0b85a97d-337c6828d84so2908578f8f.0 for ; Tue, 23 Jan 2024 06:54:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1706021663; x=1706626463; darn=lists.infradead.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Vdvnoqxfp/ZbCpL2VnMdxQFjE+HexSFT1TWTjcV9QMc=; b=tRA6Vy5VW2U4GARrCU9KeabFIPqrpyzXyR5J88X7ScGf0aufOpKQzmuUSVAEwoApay Va5qTBGmzGLr8TvE+WEfTtOtHWKtbnbP30KtyeKul/RM0HhTvlWjf81jLUahXglUs9cH ZBGUxXQarOPQaErX//vRyUKBzDVj17Hj6qMMpwesAUTKZKZ8epNS+beguPlztDu17FEd 3rXkpDi0n+PNKph7W+E36CIKC2G4JfMe0qutFIn5GUOCvqoMKCNF75BGcuXe66TEiD5B TJL6Fkj6+Neg9fyS7NxWnC2et+sp8iYtatEkt6VIEGsjtIOhBkQjTyy2/9w7v0xNlGAG 6YxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706021663; x=1706626463; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Vdvnoqxfp/ZbCpL2VnMdxQFjE+HexSFT1TWTjcV9QMc=; b=ROxL5axH21FHRytZil8Z6Hy5325+k3D3SGl8Q2BJAqwyRtRn48EuNxR4cMvihBx8Gs xYrVKMDqCVtmNPG+vYHFVT6thKILzt+D+0mMjKnFcV4lr2Xh8DY5HbmdHaLQdYhV+77O XxuvCg87hSAiaPZbFYQdjF1cEU7D60VXz6oFcUf+eTCKgBBI6jm3ZJQKFz3cI4ixJB4v 75d19iFCeisropPedUg9PS9KsAuRRb0F0lCy55xd4vxhubClFGwV0CwrzL3J0mtwRQVC J0HHXJ+A1GRqmeESWvTne+UJalUlNDQVenWSS2JOdkDmLQCutwnPxiq5w+oIpYq4Iv7P biYg== X-Gm-Message-State: AOJu0Yx1H7+Zk0Rm62Y9oqAJkVyoWt8ET61RK6rMpM9r2CpK4+HJp4Is Qm5JsEUnHSXqTr2U0X3GGtq8CJZvs8T7aRBZfiry1pCgL9w5QgmCsIgwgftXefmuRZPvZjVw0Tt MRZeB3mAkylgOCAJ0FEUjOC3Q2xephr/NswTl5A75p1wsxeOoysxT4dac2RJWApbl7AzkgeezbE jgyY+43IY50AmJFwRss0e8ngmL4DXTeSY8v6aYUA5k X-Google-Smtp-Source: AGHT+IH+MviibXpXMjl+I6q/TSW6u6BfALavFqoq6Vite1SjI0UhodhtAc+lgjUrv7nrloBDp7nC5D4x X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:a5d:4251:0:b0:337:8fa2:7a2d with SMTP id s17-20020a5d4251000000b003378fa27a2dmr21293wrr.7.1706021663127; Tue, 23 Jan 2024 06:54:23 -0800 (PST) Date: Tue, 23 Jan 2024 15:53:00 +0100 In-Reply-To: <20240123145258.1462979-52-ardb+git@google.com> Mime-Version: 1.0 References: <20240123145258.1462979-52-ardb+git@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=2007; i=ardb@kernel.org; h=from:subject; bh=dVRNZix1VDPavfiMLhCdLyphPas/Cz+Fk40XocV1I7o=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JIXX9pTM7fx1zuMQWev2So2KI14aIo8uviU3U+fb1iIfG6 Z0aNcnhHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAikX8Z/nste/DH2Xx29mtd ySU2zpKMcfs+FBzduaxcLGi+Yca/qVEM/2yO7IqyuaW6d26Pcrj3/ZK+V4k+l00Lj702LjhiMs2 HjRUA X-Mailer: git-send-email 2.43.0.429.g432eaa2c6b-goog Message-ID: <20240123145258.1462979-53-ardb+git@google.com> Subject: [PATCH v7 01/50] arm64: mm: Move PCI I/O emulation region above the vmemmap region From: Ard Biesheuvel To: linux-arm-kernel@lists.infradead.org Cc: Ard Biesheuvel , Catalin Marinas , Will Deacon , Marc Zyngier , Mark Rutland , Ryan Roberts , Anshuman Khandual , Kees Cook X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_065425_799446_76A8F3D0 X-CRM114-Status: GOOD ( 12.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Ard Biesheuvel Move the PCI I/O region above the vmemmap region in the kernel's VA space. This will permit us to reclaim the lower part of the vmemmap region for vmalloc/vmap allocations when running a 52-bit VA capable build on a 48-bit VA capable system. Also, given that PCI_IO_START is derived from VMEMMAP_END, use that symbolic constant directly in ptdump rather than deriving it from VMEMMAP_START and VMEMMAP_SIZE, as those definitions will change in subsequent patches. Acked-by: Mark Rutland Signed-off-by: Ard Biesheuvel --- arch/arm64/include/asm/memory.h | 4 ++-- arch/arm64/mm/ptdump.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h index d82305ab420f..b04fa8a8a262 100644 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@ -49,8 +49,8 @@ #define MODULES_VSIZE (SZ_2G) #define VMEMMAP_START (-(UL(1) << (VA_BITS - VMEMMAP_SHIFT))) #define VMEMMAP_END (VMEMMAP_START + VMEMMAP_SIZE) -#define PCI_IO_END (VMEMMAP_START - SZ_8M) -#define PCI_IO_START (PCI_IO_END - PCI_IO_SIZE) +#define PCI_IO_START (VMEMMAP_END + SZ_8M) +#define PCI_IO_END (PCI_IO_START + PCI_IO_SIZE) #define FIXADDR_TOP (VMEMMAP_START - SZ_32M) #if VA_BITS > 48 diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c index e305b6593c4e..46acb2a24da0 100644 --- a/arch/arm64/mm/ptdump.c +++ b/arch/arm64/mm/ptdump.c @@ -47,10 +47,10 @@ static struct addr_marker address_markers[] = { { VMALLOC_END, "vmalloc() end" }, { FIXADDR_TOT_START, "Fixmap start" }, { FIXADDR_TOP, "Fixmap end" }, + { VMEMMAP_START, "vmemmap start" }, + { VMEMMAP_END, "vmemmap end" }, { PCI_IO_START, "PCI I/O start" }, { PCI_IO_END, "PCI I/O end" }, - { VMEMMAP_START, "vmemmap start" }, - { VMEMMAP_START + VMEMMAP_SIZE, "vmemmap end" }, { -1, NULL }, };