From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 846C0846F; Fri, 19 Jun 2026 06:23:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=13.77.154.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781850221; cv=none; b=ZmXp6XjdRiP/OJyP+R69iXa5vwZh07zl4kVzbAjyGSs3AmMqzGw/E5+ic5s61LxdGrf3SqbvOPNGR9gwJ9Urz/3bWUNn4gGpLZra4gaEwlbz3jZt+XEEVzNkC+7lp3mXwgMLVFSFpEOC1YKk9aYS/T7hr1wOIUOa/re3pmXDRec= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781850221; c=relaxed/simple; bh=MeYguJ5bVK/QQLgaAGs1+qpDxtHkQFVOPrxrRUEyZFg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Z1L83XXTCsvVXL+BKkhjfBeythPJBvHBwdF9Cgs3g/8D9rT+iNBzsiC8U2eSk/+aFicJCwcHqz9k0SUP6mGlcViujrp6g+gH0qdZpNYKEzFu9pjJkLHdp48b23MgDBiIX+x38kuqPGFbzlnqxh3MGC9u0zyKztwkT4ZkdfKjIuY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com; spf=pass smtp.mailfrom=linux.microsoft.com; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b=i32GYOuS; arc=none smtp.client-ip=13.77.154.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.microsoft.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.microsoft.com header.i=@linux.microsoft.com header.b="i32GYOuS" Received: from thinkpad-p16sg1.corp.microsoft.com (unknown [52.148.138.235]) by linux.microsoft.com (Postfix) with ESMTPSA id 3501C20B7168; Thu, 18 Jun 2026 23:23:38 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 3501C20B7168 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1781850218; bh=3DCZNlUVaLaJPu2CPNN2vPukycGXAc4wziVR3oMZX+k=; h=From:To:Cc:Subject:Date:From; b=i32GYOuSvBY9mRFjqPUH4A5fcBMRW5qrAWSA6w9D0uZDYlD92j3MzgXj8KcA+82FM cWPTx2zyUOLA9ZlEHoGpj5WIU7k3GAk4J/jkcSqcm8OSdSHaZGN4cJdryBj/7jVS00 XDOdlLYKVqsLLk8YR0dG3LEb+7HbrxuCnOTuuJm8= From: Shyam Saini To: linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Cc: rppt@kernel.org, akpm@linux-foundation.org, tgopinath@linux.microsoft.com, bboscaccy@linux.microsoft.com, kees@kernel.org, tony.luck@intel.com, gpiccoli@igalia.com, bp@alien8.de, rdunlap@infradead.org, peterz@infradead.org, feng.tang@linux.alibaba.com, dapeng1.mi@linux.intel.com, elver@google.com, enelsonmoore@gmail.com, kuba@kernel.org, lirongqing@baidu.com, ebiggers@kernel.org Subject: [RFC v2 PATCH] reserve_mem: add support for static memory Date: Thu, 18 Jun 2026 23:23:31 -0700 Message-ID: <20260619062331.348789-1-shyamsaini@linux.microsoft.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit reserve_mem relies on dynamic memory allocation, this limits the usecase where memory is required to be preserved across the boots. Eg: ramoops memory reservation on ACPI platforms So add support to pass a pre-determined static address and reserve memory at a specified location. This enables use case like ramoops on ACPI platforms to reliably access ramoops region with previous boot logs. Also skip the parsing of when static address is passed. Example syntax for static address reserve_mem=4M@0x1E0000000:oops Signed-off-by: Shyam Saini --- v1: https://lore.kernel.org/lkml/0eaf3be2-5121-48b7-aeed-196405c0a480@infradead.org/ v2: Fix code logic and incorporate Randy's suggestion --- .../admin-guide/kernel-parameters.txt | 15 ++++++ mm/memblock.c | 47 +++++++++++++------ 2 files changed, 47 insertions(+), 15 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index b5493a7f8f228..7e0baca564b97 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -6563,6 +6563,21 @@ Kernel parameters reserve_mem=12M:4096:oops ramoops.mem_name=oops + reserve_mem= [RAM] + Format: nn[KMG]:<@offset>: