Message ID | 20231124101840.944737-71-ardb@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org> 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 29335C636CB for <linux-arm-kernel@archiver.kernel.org>; Fri, 24 Nov 2023 10:23:38 +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=mK3JVFzBvYg9OZ1Cd+BGQpHboVXWZqaU0x+d8g0SKKw=; b=PmcwyviW7HyNRYXrE4tlaRF4Yn pQiJL8E2FBK3UyZxiv94tAo/T0rXgyN9r/2BeYblVeNAD8THH61/XQ2/Oaq7CLNzT8GyCKsep9zja fk+xpdS+6xucD2WospOwArR31TCyUAu58Xac5Yeji4S6prZOtenM08qlLeOX7gX7orkpHNyb9ZgXu CUpi1EcfRjFyXQFEngofhPv4NLEn8QL2iZMPwEHM4vSCwJnARYmQ7E6/+k6peM8/ed9+odEUXk/GA 02lESZ7z5NG164l7tUlj6iGlD55B1bKnsJpTKE3KmrVyJDymcrABwwUKGrKta5EQB0n8j7g5R+eQL dvZCoEsw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r6TKx-006pro-1k; Fri, 24 Nov 2023 10:23:03 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r6TJU-006pDn-39 for linux-arm-kernel@bombadil.infradead.org; Fri, 24 Nov 2023 10:21:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Type:Cc:To:From:Subject: Message-ID:References:Mime-Version:In-Reply-To:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=RRCI6wTgDgs6zQ9NwIFImncmAA+W9fXLCfXKh6mbpP4=; b=I2+F784w50At1U80Ml1Cqmmtbx wb/GXs/1XZDHrQ8OgGhMnpUruTPGqgSoqWUCv4esyhYB7rVdbD48xbEJV8meHT9RQkEXGYPmEwCpu 03lQBBvY4M4+1pjBOEzgFBUJ3kxZ3ltCn60WVft+oIKrxEY0dSE0EPl6DjDl6SL31JYjIdbAQ3hyT jmDTHMSaJA9eDl2kxXZ1ZR9s6T0GBFq67KrLqg/+prWSS+CGr433Pco7p0IpG4KUccer4yc0xuKDr F5FNCos9803jcLjTrRJ3AtDTUifEuLfs4IGS0MTD08vrPAxA2qVW95S8+mcjWyqUoIoc/4ZwfDIJC wGgAUSLA==; Received: from mail-yw1-x1149.google.com ([2607:f8b0:4864:20::1149]) by casper.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1r6TJR-008Sq7-8F for linux-arm-kernel@lists.infradead.org; Fri, 24 Nov 2023 10:21:31 +0000 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5cd48fcc2f5so18993617b3.3 for <linux-arm-kernel@lists.infradead.org>; Fri, 24 Nov 2023 02:21:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1700821283; x=1701426083; 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=RRCI6wTgDgs6zQ9NwIFImncmAA+W9fXLCfXKh6mbpP4=; b=iwgFcP/KdIJ9INHQiLIxl/r0ak/GIgelITcmRypfxGdSve1OKsSJUFK0IPx2XPQSl7 ubKj13qMHzUhA9DraeW3Sc3OmL3kFd/fcmffhg2uW9HBocaue4feCExmx9M0GKOh53QG J/lqoLBUKlk/nDWjbSNeNbygRTfZOlDA5BJg3fDiYkwaYtE2fRCxON918LvYeiLBVBOP mp+YoffQYMfu01wqn+AzTW2Hua4WY/59soXzvBz4ICAuKEXN6tl68Tj9ocZf0p23g0/S sAcpE30rEs5oGhg5XO/8NG3+0NZ1L5DYELjV+sx7fI9BSKfbz7UQRbwYqB4TtdNVNGIL 3BQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700821283; x=1701426083; 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=RRCI6wTgDgs6zQ9NwIFImncmAA+W9fXLCfXKh6mbpP4=; b=m+Ggrvf7uQrkfeiW78pqoLWylo1cQwQsGJOgIIeAkvzL2e8AI7Lzv+CLFrLOxBAmQU RYT0yeQsfY73hPPjscwXfS9RiAynRuuD96EpzvxBRB3pxHApnNncidPnA5tj6epLAlWz qxNijDLuuiBfBvhcb3Aj9qe282ctJRp/su8g6z1HeYRObTpIQfPkHeFP7Hrhr5WwrOvz jmTWTkPnfQLhUnrjpj3L+ppM+8goaXRbX/MpWrJbkozO4zye898EpSGataa3iX/5eIPn aESFEwrKfMNCcqrKlYq4eTvN/MbTGdWGy+hPforli06UO33nGYDuv5oMW0kQmUuzlJHS sz4g== X-Gm-Message-State: AOJu0YyedsjnPgCXVCtRyRpRR0UfczLzkaCm0g2S0EiEvp0zECbmQrtg 3NLBVbYcXGr+LJOzvGHpP8i0Sc+/ybm6odYW2gGetdC2PAOVWADswaB+eWTlMpnH5keCGCYztZu tYj8LtqCMQk/COwg82tTJmOuJ/pH7T3zzh+DAlJkZXYVSRYFUxdG1OEtENDbjmNLxICaKDMlkks U= X-Google-Smtp-Source: AGHT+IHI+A1ooh17Jn9Lp63eEnO4gZa7L7w1kTwy2YSCvKtom09weJ1m5AlmsPMyoY+w3wMuOKOPq9gl X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:28:9cb1:c0a8:118a]) (user=ardb job=sendgmr) by 2002:a05:690c:811:b0:5ca:f8cb:181d with SMTP id bx17-20020a05690c081100b005caf8cb181dmr70142ywb.3.1700821282661; Fri, 24 Nov 2023 02:21:22 -0800 (PST) Date: Fri, 24 Nov 2023 11:19:10 +0100 In-Reply-To: <20231124101840.944737-41-ardb@google.com> Mime-Version: 1.0 References: <20231124101840.944737-41-ardb@google.com> X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909 X-Developer-Signature: v=1; a=openpgp-sha256; l=1838; i=ardb@kernel.org; h=from:subject; bh=CTH3x4jA7y7C9opFImzsJKcifiJL/bHaXF8OlzVDljw=; b=owGbwMvMwCFmkMcZplerG8N4Wi2JITWhYlXLB/P/uX/Wr9P8+eq96ML4bsM25xSR39I+0/ptp 78oXtbcUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACZyr4Dhf/bzdXPWsf7NOjv9 0d9bzx0vPK0vPcq8c6+Fbpm1Vn1B7DmGfyqsH5cmr3Z78vDgRPEc5ogiZZcp5+beydLr0a3wfqn ByQcA X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Message-ID: <20231124101840.944737-71-ardb@google.com> Subject: [PATCH v5 30/39] arm64: head: allocate more pages for the kernel mapping From: Ard Biesheuvel <ardb@google.com> To: linux-arm-kernel@lists.infradead.org Cc: Ard Biesheuvel <ardb@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Marc Zyngier <maz@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Ryan Roberts <ryan.roberts@arm.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Kees Cook <keescook@chromium.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231124_102129_379034_29C52AE3 X-CRM114-Status: GOOD ( 12.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: <linux-arm-kernel.lists.infradead.org> List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> List-Post: <mailto:linux-arm-kernel@lists.infradead.org> List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org |
Series |
arm64: Reorganize kernel VA space for LPA2
|
expand
|
diff --git a/arch/arm64/include/asm/kernel-pgtable.h b/arch/arm64/include/asm/kernel-pgtable.h index 83ddb14b95a5..0631604995ee 100644 --- a/arch/arm64/include/asm/kernel-pgtable.h +++ b/arch/arm64/include/asm/kernel-pgtable.h @@ -68,7 +68,7 @@ + EARLY_PGDS((vstart), (vend), add) /* each PGDIR needs a next level page table */ \ + EARLY_PUDS((vstart), (vend), add) /* each PUD needs a next level page table */ \ + EARLY_PMDS((vstart), (vend), add)) /* each PMD needs a next level page table */ -#define INIT_DIR_SIZE (PAGE_SIZE * EARLY_PAGES(KIMAGE_VADDR, _end, EXTRA_PAGE)) +#define INIT_DIR_SIZE (PAGE_SIZE * (EARLY_PAGES(KIMAGE_VADDR, _end, EXTRA_PAGE) + EARLY_SEGMENT_EXTRA_PAGES)) /* the initial ID map may need two extra pages if it needs to be extended */ #if VA_BITS < 48 @@ -89,6 +89,15 @@ #define SWAPPER_TABLE_SHIFT PMD_SHIFT #endif +/* The number of segments in the kernel image (text, rodata, inittext, initdata, data+bss) */ +#define KERNEL_SEGMENT_COUNT 5 + +#if SWAPPER_BLOCK_SIZE > SEGMENT_ALIGN +#define EARLY_SEGMENT_EXTRA_PAGES (KERNEL_SEGMENT_COUNT + 1) +#else +#define EARLY_SEGMENT_EXTRA_PAGES 0 +#endif + /* * Initial memory map attributes. */