svn commit: r326812 - in head/stand: . common efi/loader i386/loader mips/beri/loader ofw/common powerpc/kboot powerpc/ps3 sparc64/loader uboot/common userboot/userboot
Warner Losh
imp at FreeBSD.org
Tue Dec 12 22:06:25 UTC 2017
Author: imp
Date: Tue Dec 12 22:06:22 2017
New Revision: 326812
URL: https://svnweb.freebsd.org/changeset/base/326812
Log:
Revert r326792, r326784, r326772, r326712
Something subtle is creating problems for disk access on ubldr. Back
it out unti that can be sorted out.
Sponsored by: Netflix
Deleted:
head/stand/common/interp.h
head/stand/common/interp_simple.c
Modified:
head/stand/common/bootstrap.h
head/stand/common/interp.c
head/stand/common/interp_forth.c
head/stand/efi/loader/main.c
head/stand/i386/loader/main.c
head/stand/loader.mk
head/stand/mips/beri/loader/main.c
head/stand/ofw/common/main.c
head/stand/powerpc/kboot/main.c
head/stand/powerpc/ps3/main.c
head/stand/sparc64/loader/main.c
head/stand/uboot/common/main.c
head/stand/userboot/userboot/main.c
Modified: head/stand/common/bootstrap.h
==============================================================================
--- head/stand/common/bootstrap.h Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/common/bootstrap.h Tue Dec 12 22:06:22 2017 (r326812)
@@ -45,7 +45,7 @@ extern char command_errbuf[COMMAND_ERRBUFSZ];
#define CMD_FATAL 4
/* interp.c */
-void interact(void);
+void interact(const char *rc);
int include(const char *filename);
/* interp_backslash.c */
@@ -53,6 +53,10 @@ char *backslash(const char *str);
/* interp_parse.c */
int parse(int *argc, char ***argv, const char *str);
+
+/* interp_forth.c */
+void bf_init(const char *rc);
+int bf_run(char *line);
/* boot.c */
int autoboot(int timeout, char *prompt);
Modified: head/stand/common/interp.c
==============================================================================
--- head/stand/common/interp.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/common/interp.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -1,6 +1,5 @@
/*-
* Copyright (c) 1998 Michael Smith <msmith at freebsd.org>
- * Copyright (c) 2011 Wojciech A. Koszek <wkoszek at FreeBSD.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -24,6 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -36,60 +36,112 @@ __FBSDID("$FreeBSD$");
#include <stand.h>
#include <string.h>
#include "bootstrap.h"
-#include "interp.h"
+#ifdef BOOT_FORTH
+#include "ficl.h"
+#define RETURN(x) stackPushINT(bf_vm->pStack,!x); return(x)
-#define MAXARGS 20 /* maximum number of arguments allowed */
-
-struct interp *interp =
-#if defined(BOOT_FORTH)
- &boot_interp_forth;
+extern FICL_VM *bf_vm;
#else
- &boot_interp_simple;
+#define RETURN(x) return(x)
#endif
+#define MAXARGS 20 /* maximum number of arguments allowed */
+
+static void prompt(void);
+
+#ifndef BOOT_FORTH
+static int perform(int argc, char *argv[]);
+
+/*
+ * Perform the command
+ */
int
-default_load_config(void *ctx)
+perform(int argc, char *argv[])
{
- return INTERP_INCL(interp, "/boot/loader.rc");
+ int result;
+ struct bootblk_command **cmdp;
+ bootblk_cmd_t *cmd;
+
+ if (argc < 1)
+ return(CMD_OK);
+
+ /* set return defaults; a successful command will override these */
+ command_errmsg = command_errbuf;
+ strcpy(command_errbuf, "no error message");
+ cmd = NULL;
+ result = CMD_ERROR;
+
+ /* search the command set for the command */
+ SET_FOREACH(cmdp, Xcommand_set) {
+ if (((*cmdp)->c_name != NULL) && !strcmp(argv[0], (*cmdp)->c_name))
+ cmd = (*cmdp)->c_fn;
+ }
+ if (cmd != NULL) {
+ result = (cmd)(argc, argv);
+ } else {
+ command_errmsg = "unknown command";
+ }
+ RETURN(result);
}
+#endif /* ! BOOT_FORTH */
/*
* Interactive mode
*/
void
-interact(void)
+interact(const char *rc)
{
- static char input[256]; /* big enough? */
+ static char input[256]; /* big enough? */
+#ifndef BOOT_FORTH
+ int argc;
+ char **argv;
+#endif
- INTERP_INIT(interp);
+#ifdef BOOT_FORTH
+ bf_init((rc) ? "" : NULL);
+#endif
- /*
- * Read our default configuration
- */
- INTERP_LOAD_DEF_CONFIG(interp);
- printf("\n");
- /*
- * Before interacting, we might want to autoboot.
- */
- autoboot_maybe();
+ if (rc == NULL) {
+ /* Read our default configuration. */
+ include("/boot/loader.rc");
+ } else if (*rc != '\0')
+ include(rc);
- /*
- * Not autobooting, go manual
- */
- printf("\nType '?' for a list of commands, 'help' for more detailed help.\n");
- if (getenv("prompt") == NULL)
- setenv("prompt", "${interpret}", 1);
- if (getenv("interpret") == NULL)
- setenv("interpret", "OK", 1);
+ printf("\n");
+ /*
+ * Before interacting, we might want to autoboot.
+ */
+ autoboot_maybe();
+
+ /*
+ * Not autobooting, go manual
+ */
+ printf("\nType '?' for a list of commands, 'help' for more detailed help.\n");
+ if (getenv("prompt") == NULL)
+ setenv("prompt", "${interpret}", 1);
+ if (getenv("interpret") == NULL)
+ setenv("interpret", "OK", 1);
+
- for (;;) {
- input[0] = '\0';
- prompt();
- ngets(input, sizeof(input));
- INTERP_RUN(interp, input);
+ for (;;) {
+ input[0] = '\0';
+ prompt();
+ ngets(input, sizeof(input));
+#ifdef BOOT_FORTH
+ bf_vm->sourceID.i = 0;
+ bf_run(input);
+#else
+ if (!parse(&argc, &argv, input)) {
+ if (perform(argc, argv))
+ printf("%s: %s\n", argv[0], command_errmsg);
+ free(argv);
+ } else {
+ printf("parse error\n");
}
+#endif
+ }
}
/*
@@ -106,90 +158,214 @@ COMMAND_SET(include, "include", "read commands from a
static int
command_include(int argc, char *argv[])
{
- int i;
- int res;
- char **argvbuf;
+ int i;
+ int res;
+ char **argvbuf;
- /*
- * Since argv is static, we need to save it here.
- */
- argvbuf = (char**) calloc((u_int)argc, sizeof(char*));
- for (i = 0; i < argc; i++)
- argvbuf[i] = strdup(argv[i]);
+ /*
+ * Since argv is static, we need to save it here.
+ */
+ argvbuf = (char**) calloc((u_int)argc, sizeof(char*));
+ for (i = 0; i < argc; i++)
+ argvbuf[i] = strdup(argv[i]);
- res=CMD_OK;
- for (i = 1; (i < argc) && (res == CMD_OK); i++)
- res = INTERP_INCL(interp, argvbuf[i]);
+ res=CMD_OK;
+ for (i = 1; (i < argc) && (res == CMD_OK); i++)
+ res = include(argvbuf[i]);
- for (i = 0; i < argc; i++)
- free(argvbuf[i]);
- free(argvbuf);
+ for (i = 0; i < argc; i++)
+ free(argvbuf[i]);
+ free(argvbuf);
- if (res != CMD_OK)
- printf("%s", command_errbuf);
-
- return(res);
+ return(res);
}
/*
- * Perform the command
+ * Header prepended to each line. The text immediately follows the header.
+ * We try to make this short in order to save memory -- the loader has
+ * limited memory available, and some of the forth files are very long.
*/
+struct includeline
+{
+ struct includeline *next;
+#ifndef BOOT_FORTH
+ int flags;
+ int line;
+#define SL_QUIET (1<<0)
+#define SL_IGNOREERR (1<<1)
+#endif
+ char text[0];
+};
+
int
-perform(int argc, char *argv[])
+include(const char *filename)
{
- int result;
- struct bootblk_command **cmdp;
- bootblk_cmd_t *cmd;
+ struct includeline *script, *se, *sp;
+ char input[256]; /* big enough? */
+#ifdef BOOT_FORTH
+ int res;
+ char *cp;
+ int prevsrcid, fd, line;
+#else
+ int argc,res;
+ char **argv, *cp;
+ int fd, flags, line;
+#endif
- if (argc < 1)
- return(CMD_OK);
+ if (((fd = open(filename, O_RDONLY)) == -1)) {
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "can't open '%s': %s", filename, strerror(errno));
+ return(CMD_ERROR);
+ }
- /* set return defaults; a successful command will override these */
- command_errmsg = command_errbuf;
- strcpy(command_errbuf, "no error message");
- cmd = NULL;
- result = CMD_ERROR;
-
- /* search the command set for the command */
- SET_FOREACH(cmdp, Xcommand_set) {
- if (((*cmdp)->c_name != NULL) && !strcmp(argv[0], (*cmdp)->c_name))
- cmd = (*cmdp)->c_fn;
+ /*
+ * Read the script into memory.
+ */
+ script = se = NULL;
+ line = 0;
+
+ while (fgetstr(input, sizeof(input), fd) >= 0) {
+ line++;
+#ifdef BOOT_FORTH
+ cp = input;
+#else
+ flags = 0;
+ /* Discard comments */
+ if (strncmp(input+strspn(input, " "), "\\ ", 2) == 0)
+ continue;
+ cp = input;
+ /* Echo? */
+ if (input[0] == '@') {
+ cp++;
+ flags |= SL_QUIET;
}
- if (cmd != NULL) {
- result = (cmd)(argc, argv);
+ /* Error OK? */
+ if (input[0] == '-') {
+ cp++;
+ flags |= SL_IGNOREERR;
+ }
+#endif
+ /* Allocate script line structure and copy line, flags */
+ if (*cp == '\0')
+ continue; /* ignore empty line, save memory */
+ sp = malloc(sizeof(struct includeline) + strlen(cp) + 1);
+ /* On malloc failure (it happens!), free as much as possible and exit */
+ if (sp == NULL) {
+ while (script != NULL) {
+ se = script;
+ script = script->next;
+ free(se);
+ }
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "file '%s' line %d: memory allocation failure - aborting",
+ filename, line);
+ return (CMD_ERROR);
+ }
+ strcpy(sp->text, cp);
+#ifndef BOOT_FORTH
+ sp->flags = flags;
+ sp->line = line;
+#endif
+ sp->next = NULL;
+
+ if (script == NULL) {
+ script = sp;
} else {
- command_errmsg = "unknown command";
+ se->next = sp;
}
- return result;
+ se = sp;
+ }
+ close(fd);
+
+ /*
+ * Execute the script
+ */
+#ifndef BOOT_FORTH
+ argv = NULL;
+#else
+ prevsrcid = bf_vm->sourceID.i;
+ bf_vm->sourceID.i = fd;
+#endif
+ res = CMD_OK;
+ for (sp = script; sp != NULL; sp = sp->next) {
+
+#ifdef BOOT_FORTH
+ res = bf_run(sp->text);
+ if (res != VM_OUTOFTEXT) {
+ snprintf(command_errbuf, sizeof(command_errbuf),
+ "Error while including %s, in the line:\n%s",
+ filename, sp->text);
+ res = CMD_ERROR;
+ break;
+ } else
+ res = CMD_OK;
+#else
+ /* print if not being quiet */
+ if (!(sp->flags & SL_QUIET)) {
+ prompt();
+ printf("%s\n", sp->text);
+ }
+
+ /* Parse the command */
+ if (!parse(&argc, &argv, sp->text)) {
+ if ((argc > 0) && (perform(argc, argv) != 0)) {
+ /* normal command */
+ printf("%s: %s\n", argv[0], command_errmsg);
+ if (!(sp->flags & SL_IGNOREERR)) {
+ res=CMD_ERROR;
+ break;
+ }
+ }
+ free(argv);
+ argv = NULL;
+ } else {
+ printf("%s line %d: parse error\n", filename, sp->line);
+ res=CMD_ERROR;
+ break;
+ }
+#endif
+ }
+#ifndef BOOT_FORTH
+ if (argv != NULL)
+ free(argv);
+#else
+ bf_vm->sourceID.i = prevsrcid;
+#endif
+ while(script != NULL) {
+ se = script;
+ script = script->next;
+ free(se);
+ }
+ return(res);
}
/*
* Emit the current prompt; use the same syntax as the parser
* for embedding environment variables.
*/
-void
-prompt(void)
+static void
+prompt(void)
{
- char *pr, *p, *cp, *ev;
+ char *pr, *p, *cp, *ev;
+
+ if ((cp = getenv("prompt")) == NULL)
+ cp = ">";
+ pr = p = strdup(cp);
- if ((cp = getenv("prompt")) == NULL)
- cp = ">";
- pr = p = strdup(cp);
-
- while (*p != 0) {
- if ((*p == '$') && (*(p+1) == '{')) {
- for (cp = p + 2; (*cp != 0) && (*cp != '}'); cp++)
- ;
- *cp = 0;
- ev = getenv(p + 2);
-
- if (ev != NULL)
- printf("%s", ev);
- p = cp + 1;
- continue;
- }
- putchar(*p++);
+ while (*p != 0) {
+ if ((*p == '$') && (*(p+1) == '{')) {
+ for (cp = p + 2; (*cp != 0) && (*cp != '}'); cp++)
+ ;
+ *cp = 0;
+ ev = getenv(p + 2);
+
+ if (ev != NULL)
+ printf("%s", ev);
+ p = cp + 1;
+ continue;
}
- putchar(' ');
- free(pr);
+ putchar(*p++);
+ }
+ putchar(' ');
+ free(pr);
}
Modified: head/stand/common/interp_forth.c
==============================================================================
--- head/stand/common/interp_forth.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/common/interp_forth.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -1,6 +1,5 @@
/*-
* Copyright (c) 1998 Michael Smith <msmith at freebsd.org>
- * Copyright (c) 2011 Wojciech A. Koszek <wkoszek at FreeBSD.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -33,7 +32,6 @@ __FBSDID("$FreeBSD$");
#include <stand.h>
#include "bootstrap.h"
#include "ficl.h"
-#include "interp.h"
extern unsigned bootprog_rev;
@@ -62,14 +60,9 @@ extern unsigned bootprog_rev;
/*
* BootForth Interface to Ficl Forth interpreter.
*/
-struct interp_forth_softc {
- FICL_SYSTEM *bf_sys;
- FICL_VM *bf_vm;
- FICL_WORD *pInterp;
-};
-struct interp_forth_softc forth_softc = { NULL, NULL, NULL };
-#define RETURN(x) stackPushINT(bf_vm->pStack,!x); return(x)
+FICL_SYSTEM *bf_sys;
+FICL_VM *bf_vm;
/*
* Shim for taking commands from BF and passing them out to 'standard'
@@ -78,93 +71,91 @@ struct interp_forth_softc forth_softc = { NULL, NULL,
static void
bf_command(FICL_VM *vm)
{
- char *name, *line, *tail, *cp;
- size_t len;
- struct bootblk_command **cmdp;
- bootblk_cmd_t *cmd;
- int nstrings, i;
- int argc, result;
- char **argv;
+ char *name, *line, *tail, *cp;
+ size_t len;
+ struct bootblk_command **cmdp;
+ bootblk_cmd_t *cmd;
+ int nstrings, i;
+ int argc, result;
+ char **argv;
- /* Get the name of the current word */
- name = vm->runningWord->name;
+ /* Get the name of the current word */
+ name = vm->runningWord->name;
+
+ /* Find our command structure */
+ cmd = NULL;
+ SET_FOREACH(cmdp, Xcommand_set) {
+ if (((*cmdp)->c_name != NULL) && !strcmp(name, (*cmdp)->c_name))
+ cmd = (*cmdp)->c_fn;
+ }
+ if (cmd == NULL)
+ panic("callout for unknown command '%s'", name);
+
+ /* Check whether we have been compiled or are being interpreted */
+ if (stackPopINT(vm->pStack)) {
+ /*
+ * Get parameters from stack, in the format:
+ * an un ... a2 u2 a1 u1 n --
+ * Where n is the number of strings, a/u are pairs of
+ * address/size for strings, and they will be concatenated
+ * in LIFO order.
+ */
+ nstrings = stackPopINT(vm->pStack);
+ for (i = 0, len = 0; i < nstrings; i++)
+ len += stackFetch(vm->pStack, i * 2).i + 1;
+ line = malloc(strlen(name) + len + 1);
+ strcpy(line, name);
- /* Find our command structure */
- cmd = NULL;
- SET_FOREACH(cmdp, Xcommand_set) {
- if (((*cmdp)->c_name != NULL) && !strcmp(name, (*cmdp)->c_name))
- cmd = (*cmdp)->c_fn;
+ if (nstrings)
+ for (i = 0; i < nstrings; i++) {
+ len = stackPopINT(vm->pStack);
+ cp = stackPopPtr(vm->pStack);
+ strcat(line, " ");
+ strncat(line, cp, len);
+ }
+ } else {
+ /* Get remainder of invocation */
+ tail = vmGetInBuf(vm);
+ for (cp = tail, len = 0; cp != vm->tib.end && *cp != 0 && *cp != '\n'; cp++, len++)
+ ;
+
+ line = malloc(strlen(name) + len + 2);
+ strcpy(line, name);
+ if (len > 0) {
+ strcat(line, " ");
+ strncat(line, tail, len);
+ vmUpdateTib(vm, tail + len);
}
- if (cmd == NULL)
- panic("callout for unknown command '%s'", name);
+ }
+ DEBUG("cmd '%s'", line);
+
+ command_errmsg = command_errbuf;
+ command_errbuf[0] = 0;
+ if (!parse(&argc, &argv, line)) {
+ result = (cmd)(argc, argv);
+ free(argv);
+ } else {
+ result=BF_PARSE;
+ }
- /* Check whether we have been compiled or are being interpreted */
- if (stackPopINT(vm->pStack)) {
- /*
- * Get parameters from stack, in the format:
- * an un ... a2 u2 a1 u1 n --
- * Where n is the number of strings, a/u are pairs of
- * address/size for strings, and they will be concatenated
- * in LIFO order.
- */
- nstrings = stackPopINT(vm->pStack);
- for (i = 0, len = 0; i < nstrings; i++)
- len += stackFetch(vm->pStack, i * 2).i + 1;
- line = malloc(strlen(name) + len + 1);
- strcpy(line, name);
+ switch (result) {
+ case CMD_CRIT:
+ printf("%s\n", command_errmsg);
+ break;
+ case CMD_FATAL:
+ panic("%s\n", command_errmsg);
+ }
- if (nstrings)
- for (i = 0; i < nstrings; i++) {
- len = stackPopINT(vm->pStack);
- cp = stackPopPtr(vm->pStack);
- strcat(line, " ");
- strncat(line, cp, len);
- }
- } else {
- /* Get remainder of invocation */
- tail = vmGetInBuf(vm);
- for (cp = tail, len = 0; cp != vm->tib.end && *cp != 0 && *cp != '\n'; cp++, len++)
- ;
+ free(line);
+ /*
+ * If there was error during nested ficlExec(), we may no longer have
+ * valid environment to return. Throw all exceptions from here.
+ */
+ if (result != CMD_OK)
+ vmThrow(vm, result);
- line = malloc(strlen(name) + len + 2);
- strcpy(line, name);
- if (len > 0) {
- strcat(line, " ");
- strncat(line, tail, len);
- vmUpdateTib(vm, tail + len);
- }
- }
- DEBUG("cmd '%s'", line);
-
- command_errmsg = command_errbuf;
- command_errbuf[0] = 0;
- if (!parse(&argc, &argv, line)) {
- result = (cmd)(argc, argv);
- free(argv);
- } else {
- result=BF_PARSE;
- }
-
- /* XXX Not sure about the rest of this -- imp */
-
- switch (result) {
- case CMD_CRIT:
- printf("%s\n", command_errmsg);
- break;
- case CMD_FATAL:
- panic("%s\n", command_errmsg);
- }
-
- free(line);
- /*
- * If there was error during nested ficlExec(), we may no longer have
- * valid environment to return. Throw all exceptions from here.
- */
- if (result != CMD_OK)
- vmThrow(vm, result);
-
- /* This is going to be thrown!!! */
- stackPushINT(vm->pStack,result);
+ /* This is going to be thrown!!! */
+ stackPushINT(vm->pStack,result);
}
/*
@@ -258,23 +249,16 @@ bf_command(FICL_VM *vm)
/*
* Initialise the Forth interpreter, create all our commands as words.
*/
-static void
-interp_forth_init(void *ctx)
+void
+bf_init(const char *rc)
{
- struct interp_forth_softc *softc;
struct bootblk_command **cmdp;
char create_buf[41]; /* 31 characters-long builtins */
- FICL_SYSTEM *bf_sys;
- FICL_VM *bf_vm;
+ int fd;
- softc = ctx;
+ bf_sys = ficlInitSystem(BF_DICTSIZE);
+ bf_vm = ficlNewVM(bf_sys);
- assert((softc->bf_sys == NULL) && (softc->bf_vm == NULL) &&
- (softc->pInterp == NULL)); /* No Forth context at this stage */
-
- bf_sys = softc->bf_sys = ficlInitSystem(BF_DICTSIZE);
- bf_vm = softc->bf_vm = ficlNewVM(bf_sys);
-
/* Put all private definitions in a "builtins" vocabulary */
ficlExec(bf_vm, "vocabulary builtins also builtins definitions");
@@ -294,21 +278,29 @@ interp_forth_init(void *ctx)
/* Export some version numbers so that code can detect the loader/host version */
ficlSetEnv(bf_sys, "FreeBSD_version", __FreeBSD_version);
ficlSetEnv(bf_sys, "loader_version", bootprog_rev);
+
+ /* try to load and run init file if present */
+ if (rc == NULL)
+ rc = "/boot/boot.4th";
+ if (*rc != '\0') {
+ fd = open(rc, O_RDONLY);
+ if (fd != -1) {
+ (void)ficlExecFD(bf_vm, fd);
+ close(fd);
+ }
+ }
}
/*
* Feed a line of user input to the Forth interpreter
*/
-static int
-interp_forth_run(void *ctx, const char *line)
+int
+bf_run(char *line)
{
- struct interp_forth_softc *softc;
int result;
- softc = ctx;
+ result = ficlExec(bf_vm, line);
- result = ficlExec(softc->bf_vm, (char *)line);
-
DEBUG("ficlExec '%s' = %d", line, result);
switch (result) {
case VM_OUTOFTEXT:
@@ -334,34 +326,7 @@ interp_forth_run(void *ctx, const char *line)
if (result == VM_USEREXIT)
panic("interpreter exit");
- setenv("interpret", softc->bf_vm->state ? "" : "OK", 1);
+ setenv("interpret", bf_vm->state ? "" : "OK", 1);
return (result);
}
-
-static int
-interp_forth_incl(void *ctx, const char *filename)
-{
- struct interp_forth_softc *softc;
- int fd;
-
- softc = ctx;
-
- fd = open(filename, O_RDONLY);
- if (fd == -1) {
- /* Hihger layers print the error message */
- snprintf(command_errbuf, sizeof(command_errbuf),
- "can't open %s\n", filename);
- return (CMD_ERROR);
- }
- return (ficlExecFD(softc->bf_vm, fd));
-}
-
-
-struct interp boot_interp_forth = {
- .init = interp_forth_init,
- .run = interp_forth_run,
- .incl = interp_forth_incl,
- .load_configs = default_load_config,
- .context = &forth_softc
-};
Modified: head/stand/efi/loader/main.c
==============================================================================
--- head/stand/efi/loader/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/efi/loader/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -501,7 +501,7 @@ main(int argc, CHAR16 *argv[])
#endif
}
- interact(); /* doesn't return */
+ interact(NULL); /* doesn't return */
return (EFI_SUCCESS); /* keep compiler happy */
}
Modified: head/stand/i386/loader/main.c
==============================================================================
--- head/stand/i386/loader/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/i386/loader/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -232,7 +232,7 @@ main(void)
bios_getsmap();
- interact();
+ interact(NULL);
/* if we ever get here, it is an error */
return (1);
Modified: head/stand/loader.mk
==============================================================================
--- head/stand/loader.mk Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/loader.mk Tue Dec 12 22:06:22 2017 (r326812)
@@ -59,8 +59,6 @@ SRCS+= pnp.c
.if ${MK_FORTH} != "no"
SRCS+= interp_forth.c
.include "${BOOTSRC}/ficl.mk"
-.else
-SRCS+= interp_simple.c
.endif
.if defined(BOOT_PROMPT_123)
Modified: head/stand/mips/beri/loader/main.c
==============================================================================
--- head/stand/mips/beri/loader/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/mips/beri/loader/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -149,7 +149,7 @@ main(int argc, char *argv[], char *envv[], struct boot
printf("bootpath=\"%s\"\n", bootpath);
#endif
- interact();
+ interact(NULL);
return (0);
}
Modified: head/stand/ofw/common/main.c
==============================================================================
--- head/stand/ofw/common/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/ofw/common/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -157,7 +157,7 @@ main(int (*openfirm)(void *))
archsw.arch_readin = ofw_readin;
archsw.arch_autoload = ofw_autoload;
- interact(); /* doesn't return */
+ interact(NULL); /* doesn't return */
OF_exit();
Modified: head/stand/powerpc/kboot/main.c
==============================================================================
--- head/stand/powerpc/kboot/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/powerpc/kboot/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -122,7 +122,7 @@ main(int argc, const char **argv)
setenv("loaddev", bootdev, 1);
setenv("LINES", "24", 1);
- interact(); /* doesn't return */
+ interact(NULL); /* doesn't return */
return (0);
}
Modified: head/stand/powerpc/ps3/main.c
==============================================================================
--- head/stand/powerpc/ps3/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/powerpc/ps3/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -140,7 +140,7 @@ main(void)
setenv("LINES", "24", 1);
setenv("hw.platform", "ps3", 1);
- interact(); /* doesn't return */
+ interact(NULL); /* doesn't return */
return (0);
}
Modified: head/stand/sparc64/loader/main.c
==============================================================================
--- head/stand/sparc64/loader/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/sparc64/loader/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -902,7 +902,7 @@ main(int (*openfirm)(void *))
printf("bootpath=\"%s\"\n", bootpath);
/* Give control to the machine independent loader code. */
- interact();
+ interact(NULL);
return (1);
}
Modified: head/stand/uboot/common/main.c
==============================================================================
--- head/stand/uboot/common/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/uboot/common/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -500,7 +500,7 @@ main(int argc, char **argv)
archsw.arch_readin = uboot_readin;
archsw.arch_autoload = uboot_autoload;
- interact(); /* doesn't return */
+ interact(NULL); /* doesn't return */
return (0);
}
Modified: head/stand/userboot/userboot/main.c
==============================================================================
--- head/stand/userboot/userboot/main.c Tue Dec 12 20:41:11 2017 (r326811)
+++ head/stand/userboot/userboot/main.c Tue Dec 12 22:06:22 2017 (r326812)
@@ -142,7 +142,7 @@ loader_main(struct loader_callbacks *cb, void *arg, in
if (setjmp(jb))
return;
- interact(); /* doesn't return */
+ interact(NULL); /* doesn't return */
exit(0);
}
More information about the svn-src-all
mailing list