From patchwork Tue Feb 27 00:34:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Holland X-Patchwork-Id: 206981 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp2415125dyb; Mon, 26 Feb 2024 16:37:20 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV+pBWSaCrng8u7TlQHheTUkfPtYmrsCnvG/qcUKCIJ1uzAdK6oORuWijMte6i+BlqDxCiM3XJ9ID0HpXDlGAvMF6Os5Q== X-Google-Smtp-Source: AGHT+IEEN9ZdOkVAyS8xvR7q3LU9BD69yyb8rkq+S6eI7ptdE1g31t7yBfR1QAVWQAPm+pUSzUAN X-Received: by 2002:a05:6a00:2d02:b0:6e5:4956:998 with SMTP id fa2-20020a056a002d0200b006e549560998mr273310pfb.2.1708994240186; Mon, 26 Feb 2024 16:37:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708994240; cv=pass; d=google.com; s=arc-20160816; b=wGHi3qIYQHCNsiklgMqXVEvTR1+kbnpch57ynoK6lGN8iOucBNmJlYabGSP4FWu9E0 QihRvttHA1M9LMcmAyiSElKBiG5LMN7XYJ9U7mrjqFTBJQ5+L/y4dHS7DidmnkGT2G5p VsjRjUstkH87LQNOSU1nGk4wHea04ibZk0X7SCBHNJD1qE8xHxATGjvkxZ9e+v0vSVmq uUQ6OXhXxvaW+vpgyA4pxXXFGu8BA1Uke+g0N8Sj8NHEsviQQf+GoTPZY/G0RDcz+zQr oXNYWNJX9Eg/cnxaqt5JNoqekR3gvlE/0+9QKsbB53d+XWh91bEGOYNIEaE7iw8FnZ5E VWvg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=7lRQpFKqbWbNQreMqz6Xcr3vDFL47RlEenB0ubeR/xU=; fh=qgALqhvBfwh64qlTOA5xcM4euFCRJESH/+60UMp8eRY=; b=Y/+DP2iwb1EXK7Ap3Q9bsLifbTsg7deozBFNv0jsi+gyiJnmCQlbJxOXmAY5gvWYsi g9U3xv80d/s83uB8X+wpZOYu5kwdDxBuUSAK7+LI3KWjxlX+n1TgORn83SbWRmrLDFr4 gdgk0gGVyykbaTdebsGk7FoqeoGW8DlSsPRPLK1ej8IYYtiisCeAG67mbQSdUl2H23s3 xyd1dt0EMRKXZibqyoTgm1OSmfgpvGjiRasx/EWMn85LTD9M1wtsPbhxqSXZHNZD91Zo znVF5rqiPUwXdlWIpOXGhXagXyiRG9RrEv0sgAuBfQocXL8v/JPQvDDt3uyymd99zNH7 xeLQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=ga0uldrL; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82469-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82469-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id k130-20020a636f88000000b005d3f4474fddsi4466229pgc.167.2024.02.26.16.37.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:37:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-82469-ouuuleilei=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=@sifive.com header.s=google header.b=ga0uldrL; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82469-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82469-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com 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 026E3285359 for ; Tue, 27 Feb 2024 00:37:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 4337D5C96; Tue, 27 Feb 2024 00:36:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="ga0uldrL" Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) (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 206F181F for ; Tue, 27 Feb 2024 00:36:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994196; cv=none; b=C0gsq+8jWBAC/0goWjjEfhk6mqRtWMeOejM3gnLToU3pogsZBCsedGWi4+IPHouUJKCtvzC8OqBxRWeSnYTzuJzWKuoOllQ5bVB0QRWzMsvYBocl89ONBHiSQj76TjvXo54uh7B8Wt/OvEyNVa3TEammOkxUb2z/bSwqRamhTRY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994196; c=relaxed/simple; bh=sreB1pnRr5Jadz3cakW3nSmYitPedC09ULbGadTOM/M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WGhl9isyNBoJ0Foy6h1adSPYBmoC3ZW84X9FIyvpCWNUfuWlXBRyFvaxaSc8C1vTesj+/HU8sjI/BZZjnzNSA6RE33DwGEm7YFbhEpfT3olI3sjdbjNYjUnloUJ2lUs1+pFZ0XMkIq1Eg2x+MT0gvBSdJDAbfWv9E8XW0Qn0moQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=ga0uldrL; arc=none smtp.client-ip=209.85.210.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-6e445b4f80bso2103474a34.0 for ; Mon, 26 Feb 2024 16:36:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1708994194; x=1709598994; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7lRQpFKqbWbNQreMqz6Xcr3vDFL47RlEenB0ubeR/xU=; b=ga0uldrLkFlHSHnVwi2HJ3edK5EGl5iF+1lIPl0hKoXP0TLEqz97Jr4Q+V3RIPKiML sDJQ/CX7XPwEX8DqzXe/GYpHtCNkKPN2mVVqsPxASDqXdh7JVmnzcc7S0npy7DwQLOdZ CBJRPsSjz6Fgmx/3URexSBQT2YSN2UHhEy+uoeiIzv9m8kWMNeRqrjigxiVQelky188s Cuq+ZRz1Z4jyEloQ4X5AubWIwV7tSaDQY3EQndFEuUTbz4lWE4xHGi/BR0NffzVbFjBh 9yfRn29uoWSSb2c7RdBA80hEM2lmIROl5LU8Jiv8V7mvzeJAolyG6qIqXAiBYHOfnAYU B9qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708994194; x=1709598994; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7lRQpFKqbWbNQreMqz6Xcr3vDFL47RlEenB0ubeR/xU=; b=UgEInj/WaU2oOaVI4d8h9rPAya0QXaBWcVpLJU0oPfA6cGuo6rlV8KbIUDssKASVew PTfs0pdtVXPZ3KTRBJUXVPzh8HLNYfiOXC+Qxh2BQT9XEaqjJ4AX+SOcvMHkmo552Mzu P3yFvdYwbqR4MpI5tp1zm0UU6QyENJmSs4oRMvmkxlhh2khXpE+a0YcLbFPDnnYbsYnh hgk/VNFFTWbgjUv9Tn+foeBnp8cbu/UnJHUw3qMSGdpxGN50c3tVBZcEajI30wDecFRH 0rbOmlApJnkPGmIy+nLEHzkRbOmnljdPINsKe4lA4HnFnfr07zWFNzXgSApRK32HoH1j PioQ== X-Gm-Message-State: AOJu0Yykw2/ogeov5tKJ72Hsx7XbFTBuANWg2fTF5uB/c3ocGTLX+QKH ZCvYNsLEvymZ1I8v+P/ecfq9ksSpecu5WcAB5HqK+vtOG58AeWuPb4zQ2Rk7Dgs= X-Received: by 2002:a9d:7845:0:b0:6e4:85d3:3e65 with SMTP id c5-20020a9d7845000000b006e485d33e65mr9808993otm.8.1708994194200; Mon, 26 Feb 2024 16:36:34 -0800 (PST) Received: from sw06.internal.sifive.com ([4.53.31.132]) by smtp.gmail.com with ESMTPSA id z25-20020a631919000000b005dc85821c80sm4504117pgl.12.2024.02.26.16.36.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:36:33 -0800 (PST) From: Samuel Holland To: Palmer Dabbelt , linux-riscv@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Samuel Holland Subject: [PATCH 1/4] riscv: Fix TASK_SIZE on 64-bit NOMMU Date: Mon, 26 Feb 2024 16:34:46 -0800 Message-ID: <20240227003630.3634533-2-samuel.holland@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240227003630.3634533-1-samuel.holland@sifive.com> References: <20240227003630.3634533-1-samuel.holland@sifive.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792010344504125053 X-GMAIL-MSGID: 1792010344504125053 On NOMMU, userspace memory can come from anywhere in physical RAM. The current definition of TASK_SIZE is wrong if any RAM exists above 4G, causing spurious failures in the userspace access routines. Fixes: 6bd33e1ece52 ("riscv: add nommu support") Fixes: c3f896dcf1e4 ("mm: switch the test_vmalloc module to use __vmalloc_node") Signed-off-by: Samuel Holland --- arch/riscv/include/asm/pgtable.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h index 0c94260b5d0c..a564a39e5676 100644 --- a/arch/riscv/include/asm/pgtable.h +++ b/arch/riscv/include/asm/pgtable.h @@ -882,7 +882,7 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte) #define PAGE_SHARED __pgprot(0) #define PAGE_KERNEL __pgprot(0) #define swapper_pg_dir NULL -#define TASK_SIZE 0xffffffffUL +#define TASK_SIZE _AC(-1, UL) #define VMALLOC_START _AC(0, UL) #define VMALLOC_END TASK_SIZE From patchwork Tue Feb 27 00:34:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Holland X-Patchwork-Id: 206982 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp2415206dyb; Mon, 26 Feb 2024 16:37:33 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWqlz1f6/Bw7CvL4nFDnMJFYR2BW3tDb3wo2mzMwy6oMNzQWcSvkV5ikGmbnO69DeHnh72sp6CIeRpM/7Wj4ZEug7WfeQ== X-Google-Smtp-Source: AGHT+IHy+oljOLit46+wI4zAtWAiiKVF2Z3ApoeLHh4yNTxZDHrrrd4uK+/YIPhVIXuQZ5LoIS18 X-Received: by 2002:aa7:d349:0:b0:565:be3f:bc4e with SMTP id m9-20020aa7d349000000b00565be3fbc4emr4049722edr.29.1708994253040; Mon, 26 Feb 2024 16:37:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708994253; cv=pass; d=google.com; s=arc-20160816; b=f6b3rjwAgXoj+DwokNKI/dIcKvo8qAtegsX1ZoJJ4uPguiewLs8QwhTfgx4oU3/N6R qZbtO7+yAcidoqdsBMtTbGRBtCeSik9ry7VtP3zRegthRV2q04BsSujY3egVo8ulyEnV zY36h1lczccCvD3HvC6BFc1Oi7GN4Zwrm/AK8mQsddK/zCz98ZZjNq/7+D27jv53gTcJ pAYZyZlBpqftijY9IISVTTxTOOTNSgny+S2OJUqQBi3gG7IpsyFT83Z5bsqy+Y8v18Pm MB0ReYHBRCYs9MvXVHLtNp6RVhlH90LCAnJLMMJUNGX8yDTtj0lZdKPYtFLUjpqOcb+T qWyw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=xj3OP08z+QmSADpUch3bINy+udg5hxpgq6aJUETENlU=; fh=qgALqhvBfwh64qlTOA5xcM4euFCRJESH/+60UMp8eRY=; b=Iy8GvoBHRFkKxk952QmOI7kTBjOnaaRa0iZ1AP+nEJEhUOjiOGFWCGnJoCcr7Gtdby guMiMDB4ueQ41DfpCe50kuiaRUyyVgsulKhV/3NhUecrt/l9YKFu0qCi9rGAm/Qgac7C UyWNVFWBexCpL4DqWPrx7in4tQc8afDoeDmtzbOclr5yExeQvkh2pMZV60LwwlsBHqMa Z0E3FdGVmaPY7ptkT0qZXmDMmBHcnyfJ/l+bhPofGmE7yHF5K+WWiaI0Vnwhd0Kpejre 526TNeahxikbJ8EBZqCUKq0JlIH3k8UsqfpwVSS7seNtCkbRMRDl7vOf5vnbOXYT8iI7 Idww==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=dYYQggaD; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82470-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82470-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id k15-20020a508acf000000b00560c674e301si217085edk.667.2024.02.26.16.37.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:37:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-82470-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=dYYQggaD; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82470-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82470-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com 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 am.mirrors.kernel.org (Postfix) with ESMTPS id A67231F220A3 for ; Tue, 27 Feb 2024 00:37:32 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 36DFF8C06; Tue, 27 Feb 2024 00:36:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="dYYQggaD" Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 245E61848 for ; Tue, 27 Feb 2024 00:36:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994197; cv=none; b=oRO+7HpRVqvru9yP/Z1QVII4K+LihTxiWRHbejFnKDhd9D8fTFqL6WkX2UDcKh/fl9FQGUGYLmegzKQ/V8PInhyQD6lrhNQx7Q0YhZGtDcTtO1l81nf4FoafIi7wNRvoDeIvwMEllqtuBTdB1xOExLJGRvpEw1/71/00VKKSHHs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994197; c=relaxed/simple; bh=yfuDmq0tSBnwHEFGusBHNjVaLXcr5VaOBNNiZ8nN2dA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AbYAqo+y16yZbxgahVGRfwsJRrZXnvoVaGMSVvtCIR71rCen6ZG/AA1zyIwsE9vfBIcPy703aGMW9pQltHUAhZx1hMJt6+UBpEtXOnghXhJqTQL10BxpVHsVUqr5SnKvscGqLS3OBYKIg0+R2tW9IWjnVufyTeK/i5EjyMjF60U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=dYYQggaD; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-6e43ee3f6fbso3349206b3a.3 for ; Mon, 26 Feb 2024 16:36:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1708994195; x=1709598995; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xj3OP08z+QmSADpUch3bINy+udg5hxpgq6aJUETENlU=; b=dYYQggaDAjShGq2ob4iTzg7eF9N3d0jPQjnbmEYE3n1u0cUBGFyI3ZzvgZ8NILompq Bl+gbJRdDzODSmWmfMsgO186VklypNMwMdI2ECG37u5HeCsdW5SijC6MSJwkyy/tpEqR x/RcwZcLLaIMPrhFviFTnzRaPIvOf/40/d2kCbiCC1zSElNYPemWZ766bdigc3z7uBuW 7r4ZHi17i4fJSVINtY4Mo70MfCaiFRMtCYt2wghEUFmirMM0PyUY4TSVUZ5CKBsSYC8P ZoK+s4MLTxbgRUYCZaLFWFRLsmuYmimD60mKyR1lqc/VBQTnFcTJbeo4lb0oR4l0saLx qBcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708994195; x=1709598995; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xj3OP08z+QmSADpUch3bINy+udg5hxpgq6aJUETENlU=; b=GmibWoerqSlV/Tm7J7/MSNMO+cnaen3HGb0NxqscHdoCXH5AXCVE/lD78QZiaN0Ocy CVKdh8HX6bzyZhVBWzUtBKvffUJgqEgNAtwTMmwt47Q6ZhDZ1kwVIwafrVJjquwOq6jC MbKQiK7im0K44+3rFUS1HAr0w5NYmWznT7e2FOQM3weOk5mMsuBvV4FXSnI2gbZ1ax6M OS+oh5rhw97cJBAxeyOX5hoZp3luWbEYu4KXhjomUeV0/fkztU4iKj1v+qj5hy+xJP1j RkGwtLOgxHtZSxnsZ88xSf17+YgX/cerzDpY9Af/wFJwqVBnY2WqUQ73fJV6wdzB7W53 dSYQ== X-Gm-Message-State: AOJu0Yx6SDemmQ6MerU2pM87L4JaKxxjtQQh1GH8hUaFuMFEVSHfaWU5 pDQg7RNk9XatMv4dD+A5Tn7b/oj3N2DyjYkJfGd+f45fPuRRWM1BSE0HJ5lHUx4= X-Received: by 2002:a05:6a21:910c:b0:1a1:fb:7586 with SMTP id tn12-20020a056a21910c00b001a100fb7586mr944213pzb.57.1708994195402; Mon, 26 Feb 2024 16:36:35 -0800 (PST) Received: from sw06.internal.sifive.com ([4.53.31.132]) by smtp.gmail.com with ESMTPSA id z25-20020a631919000000b005dc85821c80sm4504117pgl.12.2024.02.26.16.36.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:36:35 -0800 (PST) From: Samuel Holland To: Palmer Dabbelt , linux-riscv@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Samuel Holland Subject: [PATCH 2/4] riscv: Fix loading 64-bit NOMMU kernels past the start of RAM Date: Mon, 26 Feb 2024 16:34:47 -0800 Message-ID: <20240227003630.3634533-3-samuel.holland@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240227003630.3634533-1-samuel.holland@sifive.com> References: <20240227003630.3634533-1-samuel.holland@sifive.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792010358072618943 X-GMAIL-MSGID: 1792010358072618943 commit 3335068f8721 ("riscv: Use PUD/P4D/PGD pages for the linear mapping") added logic to allow using RAM below the kernel load address. However, this does not work for NOMMU, where PAGE_OFFSET is fixed to the kernel load address. Since that range of memory corresponds to PFNs below ARCH_PFN_OFFSET, mm initialization runs off the beginning of mem_map and corrupts adjacent kernel memory. Fix this by restoring the previous behavior for NOMMU kernels. Fixes: 3335068f8721 ("riscv: Use PUD/P4D/PGD pages for the linear mapping") Signed-off-by: Samuel Holland --- arch/riscv/include/asm/page.h | 2 +- arch/riscv/mm/init.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/riscv/include/asm/page.h b/arch/riscv/include/asm/page.h index 57e887bfa34c..94b3d6930fc3 100644 --- a/arch/riscv/include/asm/page.h +++ b/arch/riscv/include/asm/page.h @@ -89,7 +89,7 @@ typedef struct page *pgtable_t; #define PTE_FMT "%08lx" #endif -#ifdef CONFIG_64BIT +#if defined(CONFIG_64BIT) && defined(CONFIG_MMU) /* * We override this value as its generic definition uses __pa too early in * the boot process (before kernel_map.va_pa_offset is set). diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index fa34cf55037b..0c00efc75643 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -232,7 +232,7 @@ static void __init setup_bootmem(void) * In 64-bit, any use of __va/__pa before this point is wrong as we * did not know the start of DRAM before. */ - if (IS_ENABLED(CONFIG_64BIT)) + if (IS_ENABLED(CONFIG_64BIT) && IS_ENABLED(CONFIG_MMU)) kernel_map.va_pa_offset = PAGE_OFFSET - phys_ram_base; /* From patchwork Tue Feb 27 00:34:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Holland X-Patchwork-Id: 206983 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp2415258dyb; Mon, 26 Feb 2024 16:37:46 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUCIPSBY0+2voH/94fbu/EZlOwoOX8BqVIn7XV0NbW3QPLkie+/145kagxTMVh4hHwe73ZnkBUABay2hjfycaqO9tIb2A== X-Google-Smtp-Source: AGHT+IEokvhy+PhxtwUymwP9qG5sa0qNhu24yvt/CD24qxRhh1BputiiuBMQcn4eMy7A7Iw+XJer X-Received: by 2002:a17:906:3482:b0:a40:189d:c5b5 with SMTP id g2-20020a170906348200b00a40189dc5b5mr5776056ejb.38.1708994266236; Mon, 26 Feb 2024 16:37:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708994266; cv=pass; d=google.com; s=arc-20160816; b=Brzcw4R+hWxesxb+kBrxBKCMThr/M4MfEm7Ep0rA8G6ERzFlAS3pnff/ROzZ3HZTjU C5w132tzP00plDJYPwqn5naQJD27Cc5N+IhSlaX5P+1Wvgz00lMCsVB0U8X7IB3rvRXK T0lZ6tOJdqZ8VcxQ001pX84TonGU6d5PuiZRbXvwW0VucwIu7J/61ZJHmsyvNPMgteTb kSLNde8ozX8GYL1GINicNZStg9NP+rBe/WrZqDSBx7NMVtTsCiaznNI4sFST1Sk61XbI zj0sULBwVcLWOPqAGeq9sEWiPbIQiMlzn4QAV8wvgh7BKTs2UgK6dDxjIhAdUyJ5xLFf 6i2A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=0DgT08L+OHu5JWWVgI2Bop+R/swEzoI3UepBE4dcuzQ=; fh=qgALqhvBfwh64qlTOA5xcM4euFCRJESH/+60UMp8eRY=; b=aMHlG46vE2A6v+ToWZZ1yn1dBLk6uKkd0BoXA6zRMYSbjRW9jKhFJV+AEtf5f2aG3n lJclkQLNNXUj1xU/NyXxBPgzx0ykCleRgbxKwM88Xx5+ztMigLY/wel9MEJgBzw33wCJ Sd44ltdLtZ/gwqebiqW1kdMjIkPXbACSjGRyEonJYoKcUWN0zqzFXOBnboQaqZG5LvXq 5+dFI4SiepAbblyreKWq2LjA+9/ZFk2QtmEImaL3GIuzcTe02J9L77xuh0dvSDocM1yv YR2QuNvLjpH1qTy0sW8RT98S6MSVCMs9Ets9457oz+ALbEoxLBspT3FHZ8BnBQSCKBiC KCCQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=DReMv1vj; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82471-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82471-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id hr34-20020a1709073fa200b00a43a7cf4a80si128103ejc.527.2024.02.26.16.37.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:37:46 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-82471-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=DReMv1vj; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82471-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82471-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com 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 am.mirrors.kernel.org (Postfix) with ESMTPS id D461C1F21EE7 for ; Tue, 27 Feb 2024 00:37:45 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 48C18EAC5; Tue, 27 Feb 2024 00:36:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="DReMv1vj" Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (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 371A74689 for ; Tue, 27 Feb 2024 00:36:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994198; cv=none; b=dEi0uL02vIir5rSQgjQxwuER2q2kORw7nc5TM9BcIinZJq7dcARIApCngEFCCFmW7ndZRjaFhCu9E7a3nb/4Kx1/2aSt+bf++aq1RRlpowsq181ujziCPjnw2c/4sjRHL2Dm9pqpC6gPVx3k5EoUaEFlehAjEgZ9af6lBUUcHUQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994198; c=relaxed/simple; bh=48/PSeN1dqxJlNE4djxwYvziDIjYXncGoOaPbOyotlA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oY44aRc/avqZ/iLpxb7d5j8QdvCokoHl/07il18Pzt9PajFVak75mptasTtU5P0DJ5k7p0kGtEHw4hcFcbWL0q5rxPljWdTKYvEXE2acuZmJEU2hmG6caAC0yXbIQ+ej/TNYXJS0/LO9yLg+mTIU/yRWMFDJrDdstxJZYsI+Zdc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=DReMv1vj; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-6e4ca46ab04so2190283b3a.3 for ; Mon, 26 Feb 2024 16:36:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1708994196; x=1709598996; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0DgT08L+OHu5JWWVgI2Bop+R/swEzoI3UepBE4dcuzQ=; b=DReMv1vjMXx9ymqkiB+xEnL363aaTLF7R/UsxCmt66RKmkSsZ/3ok2FFe1NtQaSyM3 sy0W4Pu7UXeZMwGqP2+hZFSMenZMJ+trlps1Z0ZgtVLlTNMJTylfqB/WvkDFz1Eoeb0j bndO+GEo3QOIVAxjhkVHfuylrt0I6POlcBMxaN/8m6n0TBMVkkAZqWgf6m5mHiJ5jici wOpRGufS8KocfUQqyzKEMy6QTc5dBUANXqBJTvEyAakGWbJSTzNZQaRbuXvy/gyW4Gke QqkmqcCbJgfpvfXH8l0GFbQ0rY790qvk+8HAlr5e9mCRC/vHSMYoDNfeaVCx9dOgfW37 eWWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708994196; x=1709598996; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0DgT08L+OHu5JWWVgI2Bop+R/swEzoI3UepBE4dcuzQ=; b=W0s0wrTYDR5yEEyL4R2w1NxzEnFNtiZT8W7v+qKHY8uD3Q2pidEyUjQJibuO5e0Sky ZpruUDnTcmwJVOTJ9tNUAuFe3rjeLXB8s4H+yD3R3cOEhE5PAzPnqTVOrK+z2DRY4bvq 5+fbmH5h6QebmmrqoTSoz6mttoYgqFZL9syYpwwELr2VrM5Rf+/KTj4i5brxs2qWCie+ bF3Ku6LieUVEGhLBAEGpRKZgnZCOVoLlAJJ7VNO22KdFhcA+hRtWuw5/rX0y3c1QBtHs 4efy41k+B1VqqU4iYLsNk2XB3WJbtP3w1SP+FXahgBD7W+6yXvKfshzl35m1JE6yppXg JipA== X-Gm-Message-State: AOJu0Yw6btuaHfdO7737F1fqk0w4ZqQEvRbWHQOA5huGCqk6BKfyMabx 0ITJR3zW0W+GiureFg4qAEcNcVDmdpEz4CUUyRTzHXUnmCYH0Ob0iJqqw4TFs43U+3epKcA4tgy x X-Received: by 2002:a05:6a20:6f01:b0:1a0:c3e6:3135 with SMTP id gt1-20020a056a206f0100b001a0c3e63135mr907151pzb.28.1708994196622; Mon, 26 Feb 2024 16:36:36 -0800 (PST) Received: from sw06.internal.sifive.com ([4.53.31.132]) by smtp.gmail.com with ESMTPSA id z25-20020a631919000000b005dc85821c80sm4504117pgl.12.2024.02.26.16.36.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:36:36 -0800 (PST) From: Samuel Holland To: Palmer Dabbelt , linux-riscv@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Samuel Holland Subject: [PATCH 3/4] riscv: Remove MMU dependency from Zbb and Zicboz Date: Mon, 26 Feb 2024 16:34:48 -0800 Message-ID: <20240227003630.3634533-4-samuel.holland@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240227003630.3634533-1-samuel.holland@sifive.com> References: <20240227003630.3634533-1-samuel.holland@sifive.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792010372073485763 X-GMAIL-MSGID: 1792010372073485763 The Zbb and Zicboz ISA extensions have no dependency on an MMU and are equally useful on NOMMU kernels. Signed-off-by: Samuel Holland Reviewed-by: Conor Dooley --- arch/riscv/Kconfig | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index bffbd869a068..ef53c00470d6 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -581,7 +581,6 @@ config TOOLCHAIN_HAS_ZBB config RISCV_ISA_ZBB bool "Zbb extension support for bit manipulation instructions" depends on TOOLCHAIN_HAS_ZBB - depends on MMU depends on RISCV_ALTERNATIVE default y help @@ -613,7 +612,6 @@ config RISCV_ISA_ZICBOM config RISCV_ISA_ZICBOZ bool "Zicboz extension support for faster zeroing of memory" - depends on MMU depends on RISCV_ALTERNATIVE default y help From patchwork Tue Feb 27 00:34:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Holland X-Patchwork-Id: 206984 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp2415322dyb; Mon, 26 Feb 2024 16:37:57 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCW7rd3DDOO4B5KR2pDAGM+5P4CUZ2oVDE45Skd3JShus9urxkAMecyCF38qGArrzcO6so2l4O+Gn+s7FTATeCdRc0Sv7w== X-Google-Smtp-Source: AGHT+IHZEZHsM+6WtoOQ6CrYBrjO2rDrY9gYaoSshHHgtcqJPsorr4QPGQtEVGn+FF2KNbZ5FA46 X-Received: by 2002:a17:906:355b:b0:a3e:c1ec:7bff with SMTP id s27-20020a170906355b00b00a3ec1ec7bffmr5184544eja.68.1708994277690; Mon, 26 Feb 2024 16:37:57 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708994277; cv=pass; d=google.com; s=arc-20160816; b=EmUQaZT0Hh97k16XBV0pHCYoKGl+/U6CgogfqGurYnozsAnYSa5Ti3LWFCtkb2IaTm OGkcPwpW39CibQ775WQhl7uCQW5vgx2zZwZR92Cu6k6ER5vOv5o4ZmQo0JbxWvcIYPPv L42Ayc65bR5w3/zU1R/CaOHLfBodaHUOSwXf6znZwlWs75XtRG/Nc+/KYcKNJrPQI2mu OLdsJyoj4Q6XuW+6nNhGH92GcNobsGLB3r99VlyiXnmpBMavkgms3YDqEnJJlgvMpf4/ cazcZUdqg+RIKJlyZXUGkEw2Yt++TjA0aF3tdqmgFhwqbyJE6Tpjn/StgAlzsOMzFQdC 1F0A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=9IhytZLl3RHTt2r80xPYLkB9iZxHThEoH75QMIzrbQ8=; fh=qgALqhvBfwh64qlTOA5xcM4euFCRJESH/+60UMp8eRY=; b=knOujLpkKdyFbc+M7tBXQ/bW9p3PcyCHS3kRZEICGbskMCqMGtLoZrRSXFVWi11yhW zkaBpBXtGbaJql/yPmsk9aP9nTdjbWXq/uf6EzYOP+hQWnRdQ/iODrjBUk1NraJ/OE1h sQ+KlOaRSHmbnFyfFmgSeo07Ptk1Nndyh6YMeajOFEHNUmscPiAm3bGjir7RU2Hcsrc3 BOKOqwuRCVUNkWd3uJGPL6J8o9k2SK91QyOF+trCZ4mAnCwHsNP+rSih16FZTJxiDhkT PDM9X6NF5Ob6mhVy7IiF1LobMZN+10LY4jHGtizFZm1T/cEzWR+Jgn2T6rooDIw7hAQa Vr/Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=LYBBrYFC; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82472-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82472-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id j4-20020a170906410400b00a3e8df44d58si224190ejk.398.2024.02.26.16.37.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:37:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-82472-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@sifive.com header.s=google header.b=LYBBrYFC; arc=pass (i=1 spf=pass spfdomain=sifive.com dkim=pass dkdomain=sifive.com dmarc=pass fromdomain=sifive.com); spf=pass (google.com: domain of linux-kernel+bounces-82472-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82472-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=sifive.com 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 am.mirrors.kernel.org (Postfix) with ESMTPS id 531D61F22226 for ; Tue, 27 Feb 2024 00:37:57 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DD50CF505; Tue, 27 Feb 2024 00:36:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b="LYBBrYFC" Received: from mail-oa1-f54.google.com (mail-oa1-f54.google.com [209.85.160.54]) (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 AF8D25223 for ; Tue, 27 Feb 2024 00:36:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994200; cv=none; b=Qw/XCOUjm+AngDUtA0GU+lVuRH/AnIuDKAI+kUp0GCJcWxtnNaI+enuLoqAn2oaV5QupfHE3JH4O2vKWFGZnsrDx9awLSzzKN71FPTcj2FMAalG0k8KsL0O3iDWHJjbwQY8Y964NlRE+8XE1+YYkgdZCsWLPWAbT5P4fFnRCcR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708994200; c=relaxed/simple; bh=pjl4fEaMJkh7DZc3EiKaxaa2HCJZf6Iu0TXjya2kYwU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BxUWu7FeYP6vDW6sy6mhPRI49Lw/t8yARwrTpdQXB5iVr4jyECTMLIc0Lg7Eb7Eciz6w8xeCYFpqlvtobBbTv7cFdIFiNrTYivVL1tD3xSf5l7w8D4h7TQNQcWR1QoND2JGV0KQnd7Ghy/O4WgA+IRwbhpW16Sq+xq5HvcdX5TE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com; spf=pass smtp.mailfrom=sifive.com; dkim=pass (2048-bit key) header.d=sifive.com header.i=@sifive.com header.b=LYBBrYFC; arc=none smtp.client-ip=209.85.160.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-oa1-f54.google.com with SMTP id 586e51a60fabf-204235d0913so2574305fac.1 for ; Mon, 26 Feb 2024 16:36:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1708994198; x=1709598998; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9IhytZLl3RHTt2r80xPYLkB9iZxHThEoH75QMIzrbQ8=; b=LYBBrYFCBqmHYY4jYJk04eL9VVtk9pCYpc/tRIs4YN+e6YuCQL3ON6on7+aPNyd0qG ZNyL/a7ZuMgzrGZv8qjI97BOCl5/TygDsOCkWlC3p7iE6dWGn8e8dVQGxdza2SH9/0rG sS0nW7M8+SnBglAyMopliXeBZLewRoLzd2KebRVcOADKKh8c/2NbmC9452l+i5HN0gyz T/AstmFQdAZ3IdGwu+Xh7/5VogMqB/3cCJBj6HLP8/QFc65O/lymtuW8nwj2LNa0ISGV gGWPV6tCSFSIZhzr1kPODoeFkus9cgN+qK5cxN1xhqm4P9Q9L2ugI9Rief3ZtsvfDwHm sEbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708994198; x=1709598998; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9IhytZLl3RHTt2r80xPYLkB9iZxHThEoH75QMIzrbQ8=; b=C9U/DdeBG4DobvcwKbjF1nCYFfARfb4W5ABdLmxcC8dv+qKintIXG9CypJIYhjCfum vA8sSXNR3IaqEt8sT0269heKU6Mg3QRaZp21hlhUOrHPJ5a0sFcfiIOPTlHboG+1m1w5 3i3lU7FL1uJUiFgUbGBtF4YqEB+bQ612m+1C3CmNvYjOdK5acKasdNTP9Q0i5zwC+ecN HtBK7q4JGU03fInWDAGbdGsIdhNcqmMhQOZWCOuLfElbmkDCULb8VzK6DPAi7+3n6lbB 3QSerI9R40TPWkN2fjtE+Xt3QfVEJCOUYCFcDgwJbz3bZt6AcRAqXqBVTSU1ng5RXJXF OmzA== X-Gm-Message-State: AOJu0YwcqACjzKyFFa6ZgI424cnuQXERSsjlpqYbTaBIxGUCKLh1ecr5 C3+yPtvrEs/QJHyHK+V3Xmf34/obh0g7ij7JEwrlZ4VKBIhQbCKwLY8plSyXdRI= X-Received: by 2002:a05:6871:230f:b0:21f:a4ce:d532 with SMTP id sf15-20020a056871230f00b0021fa4ced532mr9485542oab.31.1708994197885; Mon, 26 Feb 2024 16:36:37 -0800 (PST) Received: from sw06.internal.sifive.com ([4.53.31.132]) by smtp.gmail.com with ESMTPSA id z25-20020a631919000000b005dc85821c80sm4504117pgl.12.2024.02.26.16.36.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 16:36:37 -0800 (PST) From: Samuel Holland To: Palmer Dabbelt , linux-riscv@lists.infradead.org Cc: linux-kernel@vger.kernel.org, Samuel Holland Subject: [PATCH 4/4] riscv: Allow NOMMU kernels to run in S-mode Date: Mon, 26 Feb 2024 16:34:49 -0800 Message-ID: <20240227003630.3634533-5-samuel.holland@sifive.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240227003630.3634533-1-samuel.holland@sifive.com> References: <20240227003630.3634533-1-samuel.holland@sifive.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792010383613877243 X-GMAIL-MSGID: 1792010383613877243 For ease of testing, it is convenient to run NOMMU kernels in supervisor mode. The only required change is to offset the kernel load address, since the beginning of RAM is usually reserved for M-mode firmware. Signed-off-by: Samuel Holland Reviewed-by: Conor Dooley --- arch/riscv/Kconfig | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index ef53c00470d6..0dc09b2ac2f6 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -64,7 +64,7 @@ config RISCV select ARCH_WANTS_THP_SWAP if HAVE_ARCH_TRANSPARENT_HUGEPAGE select BINFMT_FLAT_NO_DATA_START_OFFSET if !MMU select BUILDTIME_TABLE_SORT if MMU - select CLINT_TIMER if !MMU + select CLINT_TIMER if RISCV_M_MODE select CLONE_BACKWARDS select COMMON_CLK select CPU_PM if CPU_IDLE || HIBERNATION || SUSPEND @@ -220,8 +220,12 @@ config ARCH_MMAP_RND_COMPAT_BITS_MAX # set if we run in machine mode, cleared if we run in supervisor mode config RISCV_M_MODE - bool - default !MMU + bool "Build a kernel that runs in machine mode" + depends on !MMU + default y + help + Select this option if you want to run the kernel in M-mode, + without the assistance of any other firmware. # set if we are running in S-mode and can use SBI calls config RISCV_SBI @@ -238,8 +242,9 @@ config MMU config PAGE_OFFSET hex - default 0xC0000000 if 32BIT && MMU - default 0x80000000 if !MMU + default 0x80000000 if !MMU && RISCV_M_MODE + default 0x80200000 if !MMU + default 0xc0000000 if 32BIT default 0xff60000000000000 if 64BIT config KASAN_SHADOW_OFFSET