Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/x86/x86 don't try allocating 16KB of scratch space ...
details: https://anonhg.NetBSD.org/src/rev/0883f3888afc
branches: trunk
changeset: 973243:0883f3888afc
user: jdolecek <jdolecek%NetBSD.org@localhost>
date: Wed Jun 24 22:28:07 2020 +0000
description:
don't try allocating 16KB of scratch space on stack
it's too early for kmem_alloc(), so use static variable in BSS; it's used
post reloc, so don't need to use the RELOC() macros
XXX compile-tested only on i386
diffstat:
sys/arch/x86/x86/multiboot2.c | 13 +++++--------
1 files changed, 5 insertions(+), 8 deletions(-)
diffs (61 lines):
diff -r 8e9682aaa47e -r 0883f3888afc sys/arch/x86/x86/multiboot2.c
--- a/sys/arch/x86/x86/multiboot2.c Wed Jun 24 21:54:57 2020 +0000
+++ b/sys/arch/x86/x86/multiboot2.c Wed Jun 24 22:28:07 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: multiboot2.c,v 1.4 2020/01/30 01:49:44 manu Exp $ */
+/* $NetBSD: multiboot2.c,v 1.5 2020/06/24 22:28:07 jdolecek Exp $ */
/*-
* Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: multiboot2.c,v 1.4 2020/01/30 01:49:44 manu Exp $");
+__KERNEL_RCSID(0, "$NetBSD: multiboot2.c,v 1.5 2020/06/24 22:28:07 jdolecek Exp $");
#include "opt_multiboot.h"
@@ -115,7 +115,7 @@
bool multiboot2_enabled = false;
bool has_syms = false;
struct multiboot_symbols Multiboot_Symbols;
-
+static char bimbuf[16384];
#define RELOC(type, x) ((type)((vaddr_t)(x) - KERNBASE))
@@ -448,7 +448,6 @@
size_t bim_len;
struct bi_modulelist_entry *bie;
struct btinfo_modulelist *bim;
- char bimbuf[16384];
bim_len = sizeof(*bim) + (module_count * sizeof(*bie));
if (bim_len > sizeof(bimbuf))
@@ -518,7 +517,6 @@
static void
mbi_mmap(struct multiboot_tag_mmap *mbt)
{
- char bimbuf[16384];
struct btinfo_memmap *bim;
char *cp;
@@ -616,15 +614,14 @@
static void
mbi_efi_mmap(struct multiboot_tag_efi_mmap *mbt)
{
- char biebuf[16384];
- struct btinfo_efimemmap *bie = (struct btinfo_efimemmap *)biebuf;
+ struct btinfo_efimemmap *bie = (struct btinfo_efimemmap *)bimbuf;
size_t bie_len;
if (mbt->descr_vers != 0)
goto out;
bie_len = sizeof(*bie) + mbt->size - sizeof(*mbt);
- if (bie_len > sizeof(biebuf))
+ if (bie_len > sizeof(bimbuf))
goto out;
bie->num = (mbt->size - sizeof(*mbt)) / mbt->descr_size;
Home |
Main Index |
Thread Index |
Old Index