diff options
author | royger <royger@FreeBSD.org> | 2016-01-20 13:23:02 +0000 |
---|---|---|
committer | royger <royger@FreeBSD.org> | 2016-01-20 13:23:02 +0000 |
commit | 0ad0bd3893133b318d166ac9e4a4a468247c2107 (patch) | |
tree | 0f6c21d198dbf57fc7d64f7e183bc129440fc75a /sys/boot/common/module.c | |
parent | 2f8109724febc7f9ea2083413f50d5eceb064058 (diff) | |
download | FreeBSD-src-0ad0bd3893133b318d166ac9e4a4a468247c2107.zip FreeBSD-src-0ad0bd3893133b318d166ac9e4a4a468247c2107.tar.gz |
MFC r277215, r277291, r277418, r280953 and r280954:
loader: implement multiboot support for Xen Dom0
Note that only the subset of the multiboot specification needed in order to
boot a Xen Dom0 is implemented.
Sponsored by: Citrix Systems R&D
Diffstat (limited to 'sys/boot/common/module.c')
-rw-r--r-- | sys/boot/common/module.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/boot/common/module.c b/sys/boot/common/module.c index c7d19d1..2af9c20 100644 --- a/sys/boot/common/module.c +++ b/sys/boot/common/module.c @@ -138,7 +138,7 @@ command_load(int argc, char *argv[]) command_errmsg = "invalid load type"; return(CMD_ERROR); } - return(file_loadraw(argv[1], typestr) ? CMD_OK : CMD_ERROR); + return (file_loadraw(argv[1], typestr, 1) ? CMD_OK : CMD_ERROR); } /* * Do we have explicit KLD load ? @@ -193,7 +193,7 @@ command_load_geli(int argc, char *argv[]) argv += (optind - 1); argc -= (optind - 1); sprintf(typestr, "%s:geli_keyfile%d", argv[1], num); - return(file_loadraw(argv[2], typestr) ? CMD_OK : CMD_ERROR); + return (file_loadraw(argv[2], typestr, 1) ? CMD_OK : CMD_ERROR); } COMMAND_SET(unload, "unload", "unload all modules", command_unload); @@ -362,7 +362,7 @@ file_load_dependencies(struct preloaded_file *base_file) * no arguments or anything. */ struct preloaded_file * -file_loadraw(char *name, char *type) +file_loadraw(char *name, char *type, int insert) { struct preloaded_file *fp; char *cp; @@ -421,7 +421,8 @@ file_loadraw(char *name, char *type) loadaddr = laddr; /* Add to the list of loaded files */ - file_insert_tail(fp); + if (insert != 0) + file_insert_tail(fp); close(fd); return(fp); } @@ -524,7 +525,7 @@ mod_loadkld(const char *kldname, int argc, char *argv[]) * NULL may be passed as a wildcard to either. */ struct preloaded_file * -file_findfile(char *name, char *type) +file_findfile(const char *name, const char *type) { struct preloaded_file *fp; |