[OpenBIOS] [PATCH 3/4] SPARC32: make pre-loaded kernel image memory as being in use
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Sat Feb 21 19:57:08 CET 2015
This is in preparation to enable us to clear physical memory on boot. However
if a kernel image is supplied then we need to know this region is in use in
order to prevent it being cleared by accident.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
---
openbios-devel/arch/sparc32/openbios.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/openbios-devel/arch/sparc32/openbios.c b/openbios-devel/arch/sparc32/openbios.c
index 32255b6..6f4ee45 100644
--- a/openbios-devel/arch/sparc32/openbios.c
+++ b/openbios-devel/arch/sparc32/openbios.c
@@ -865,9 +865,14 @@ arch_init( void )
romvec = init_openprom();
kernel_size = fw_cfg_read_i32(FW_CFG_KERNEL_SIZE);
- if (kernel_size)
+ if (kernel_size) {
kernel_image = fw_cfg_read_i32(FW_CFG_KERNEL_ADDR);
+ /* Mark the kernel memory as in use */
+ ofmem_claim_phys(PAGE_ALIGN(kernel_image), PAGE_ALIGN(kernel_size), 0);
+ ofmem_claim_virt(PAGE_ALIGN(kernel_image), PAGE_ALIGN(kernel_size), 0);
+ }
+
kernel_cmdline = (const char *) fw_cfg_read_i32(FW_CFG_KERNEL_CMDLINE);
if (kernel_cmdline) {
cmdline = strdup(kernel_cmdline);
--
1.7.10.4
More information about the OpenBIOS
mailing list