From: Stefan Berger <stefanb@linux.ibm.com>
To: grub-devel@gnu.org
Cc: dkiper@net-space.pl, hbathini@linux.ibm.com, pavrampu@in.ibm.com,
mpe@ellerman.id.au, cpscherr@us.ibm.com, mahesh@linux.ibm.com,
sourabhjain@linux.ibm.com, avnish.chouhan@ibm.com,
Stefan Berger <stefanb@linux.ibm.com>,
Daniel Kiper <daniel.kiper@oracle.com>
Subject: [PATCH v4 02/10] kern/ieee1275/init: ppc64: Decide by request whether to initialize region
Date: Fri, 10 Nov 2023 11:09:45 -0500 [thread overview]
Message-ID: <20231110160953.3918186-3-stefanb@linux.ibm.com> (raw)
In-Reply-To: <20231110160953.3918186-1-stefanb@linux.ibm.com>
Let the regions_claim() request structure's init_region determine whether
to call grub_mm_init_region() on it. This allows for adding memory to
GRUB's memory heap if init_region is set to true, or direct usage of the
memory otherwise. Set all current callers' init_region to true since they
want to add memory regions to GRUB's heap.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
Cc: Hari Bathini <hbathini@linux.ibm.com>
Cc: Pavithra Prakash <pavrampu@in.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Carolyn Scherrer <cpscherr@us.ibm.com>
Cc: Mahesh Salgaonkar <mahesh@linux.ibm.com>
Cc: Sourabh Jain <sourabhjain@linux.ibm.com>
---
grub-core/kern/ieee1275/init.c | 5 ++++-
include/grub/powerpc/ieee1275/alloc.h | 3 +++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index 061c28c98..217f25fae 100644
--- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c
@@ -515,7 +515,8 @@ regions_claim (grub_uint64_t addr, grub_uint64_t len, grub_memory_type_t type,
err = grub_claimmap (addr, len);
if (err)
return err;
- grub_mm_init_region ((void *) (grub_addr_t) addr, len);
+ if (rcr->init_region)
+ grub_mm_init_region ((void *) (grub_addr_t) addr, len);
rcr->total -= len;
}
@@ -534,6 +535,7 @@ heap_init (grub_uint64_t addr, grub_uint64_t len, grub_memory_type_t type,
struct regions_claim_request rcr = {
.flags = GRUB_MM_ADD_REGION_NONE,
.total = *(grub_uint32_t *) data,
+ .init_region = true,
};
int ret;
@@ -551,6 +553,7 @@ region_claim (grub_uint64_t addr, grub_uint64_t len, grub_memory_type_t type,
struct regions_claim_request rcr = {
.flags = GRUB_MM_ADD_REGION_CONSECUTIVE,
.total = *(grub_uint32_t *) data,
+ .init_region = true,
};
int ret;
diff --git a/include/grub/powerpc/ieee1275/alloc.h b/include/grub/powerpc/ieee1275/alloc.h
index fc45a51b2..dd7a847a5 100644
--- a/include/grub/powerpc/ieee1275/alloc.h
+++ b/include/grub/powerpc/ieee1275/alloc.h
@@ -20,11 +20,14 @@
#ifndef GRUB_POWERPC_IEEE1275_ALLOC_HEADER
#define GRUB_POWERPC_IEEE1275_ALLOC_HEADER 1
+#include <stdbool.h>
+
#include <grub/memory.h>
struct regions_claim_request {
unsigned int flags; /* GRUB_MM_ADD_REGION_(NONE|CONSECUTIVE) */
grub_uint32_t total; /* number of requested bytes */
+ bool init_region; /* whether to add memory to the heap using grub_mm_init_region() */
};
#endif /* GRUB_POWERPC_IEEE1275_ALLOC_HEADER */
--
2.25.1
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
next prev parent reply other threads:[~2023-11-10 16:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-10 16:09 [PATCH v4 00/10] ppc64: Restrict memory allocations for kernel and initrd Stefan Berger
2023-11-10 16:09 ` [PATCH v4 01/10] kern/ieee1275/init: ppc64: Introduce a request for regions_claim Stefan Berger
2023-11-10 16:09 ` Stefan Berger [this message]
2023-11-10 16:09 ` [PATCH v4 03/10] kern/ieee1275/init: ppc64: Return allocated address using context Stefan Berger
2023-11-10 16:09 ` [PATCH v4 04/10] kern/ieee1275/init: ppc64: Add support for alignment requirements Stefan Berger
2023-11-10 16:09 ` [PATCH v4 05/10] kern/ieee1275/init: ppc64: Rename regions_claim to grub_regions_claim Stefan Berger
2023-11-10 16:09 ` [PATCH v4 06/10] kern/ieee1275/cmain: ppc64: Introduce flags to identify Power VM and KVM Stefan Berger
2023-11-13 5:58 ` Michael Ellerman
2023-11-13 23:26 ` Stefan Berger
2023-11-10 16:09 ` [PATCH v4 07/10] loader/powerpc/ieee1275: Use new allocation function for kernel and initrd Stefan Berger
2023-11-10 16:09 ` [PATCH v4 08/10] kern/ieee1275/ieee1275: debug: Display successful memory claims Stefan Berger
2023-11-10 16:09 ` [PATCH v4 09/10] kern/ieee1275/init: ppc64: Fix a comment Stefan Berger
2023-11-10 16:09 ` [PATCH v4 10/10] kern/ieee1275/init: ppc64: Display upper_mem_limit for debugging Stefan Berger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231110160953.3918186-3-stefanb@linux.ibm.com \
--to=stefanb@linux.ibm.com \
--cc=avnish.chouhan@ibm.com \
--cc=cpscherr@us.ibm.com \
--cc=daniel.kiper@oracle.com \
--cc=dkiper@net-space.pl \
--cc=grub-devel@gnu.org \
--cc=hbathini@linux.ibm.com \
--cc=mahesh@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=pavrampu@in.ibm.com \
--cc=sourabhjain@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.