svn commit: r245148 - in head/sys/boot: common userboot/userboot
Peter Grehan
grehan at FreeBSD.org
Tue Jan 8 03:27:38 UTC 2013
Author: grehan
Date: Tue Jan 8 03:27:37 2013
New Revision: 245148
URL: http://svnweb.freebsd.org/changeset/base/245148
Log:
Bring in some userboot changes from the bhyve branch to reduce diffs.
r238966
Bump up the heap size to 1MB. With a few kernel modules, libstand
zalloc and userboot seem to want to use ~600KB of heap space, which
results in a segfault when malloc fails in bhyveload.
r241180
Clarify comment about default number of FICL dictionary cells.
r241153
Allow the number of FICL dictionary cells to be overridden.
Loading a 7.3 ISO with userboot/amd64 takes up 10035 cells,
overflowing the long-standing default of 10000.
Bump userboot's value up to 15000 cells.
Reviewed by: dteske (r238966,241180)
Obtained from: NetApp
Modified:
head/sys/boot/common/interp_forth.c
head/sys/boot/userboot/userboot/Makefile
head/sys/boot/userboot/userboot/main.c
Modified: head/sys/boot/common/interp_forth.c
==============================================================================
--- head/sys/boot/common/interp_forth.c Tue Jan 8 02:40:20 2013 (r245147)
+++ head/sys/boot/common/interp_forth.c Tue Jan 8 03:27:37 2013 (r245148)
@@ -51,6 +51,13 @@ extern char bootprog_rev[];
#define BF_PARSE 100
/*
+ * FreeBSD loader default dictionary cells
+ */
+#ifndef BF_DICTSIZE
+#define BF_DICTSIZE 10000
+#endif
+
+/*
* BootForth Interface to Ficl Forth interpreter.
*/
@@ -239,8 +246,8 @@ bf_init(void)
struct bootblk_command **cmdp;
char create_buf[41]; /* 31 characters-long builtins */
int fd;
-
- bf_sys = ficlInitSystem(10000); /* Default dictionary ~4000 cells */
+
+ bf_sys = ficlInitSystem(BF_DICTSIZE);
bf_vm = ficlNewVM(bf_sys);
/* Put all private definitions in a "builtins" vocabulary */
Modified: head/sys/boot/userboot/userboot/Makefile
==============================================================================
--- head/sys/boot/userboot/userboot/Makefile Tue Jan 8 02:40:20 2013 (r245147)
+++ head/sys/boot/userboot/userboot/Makefile Tue Jan 8 03:27:37 2013 (r245148)
@@ -45,6 +45,7 @@ CLEANFILES= vers.c
.if ${MK_FORTH} != "no"
BOOT_FORTH= yes
CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
+CFLAGS+= -DBF_DICTSIZE=15000
LIBFICL= ${.OBJDIR}/../ficl/libficl.a
LIBSTAND= ${.OBJDIR}/../libstand/libstand.a
.endif
Modified: head/sys/boot/userboot/userboot/main.c
==============================================================================
--- head/sys/boot/userboot/userboot/main.c Tue Jan 8 02:40:20 2013 (r245147)
+++ head/sys/boot/userboot/userboot/main.c Tue Jan 8 03:27:37 2013 (r245148)
@@ -69,7 +69,7 @@ exit(int v)
void
loader_main(struct loader_callbacks *cb, void *arg, int version, int ndisks)
{
- static char malloc[512*1024];
+ static char malloc[1024*1024];
const char *var;
int i;
@@ -85,7 +85,7 @@ loader_main(struct loader_callbacks *cb,
* alloc() is usable. The stack is buried inside us, so this is
* safe.
*/
- setheap((void *)malloc, (void *)(malloc + 512*1024));
+ setheap((void *)malloc, (void *)(malloc + 1024*1024));
/*
* Hook up the console
More information about the svn-src-all
mailing list