Deleted Added
full compact
module.c (83321) module.c (86469)
1/*-
2 * Copyright (c) 1998 Michael Smith <msmith@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 1998 Michael Smith <msmith@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/boot/common/module.c 83321 2001-09-11 01:09:24Z peter $
26 * $FreeBSD: head/sys/boot/common/module.c 86469 2001-11-16 21:08:40Z iedowse $
27 */
28
29/*
30 * file/module function dispatcher, support, etc.
31 */
32
33#include <stand.h>
34#include <string.h>

--- 12 unchanged lines hidden (view full) ---

47 u_char *d_hints; /* content of linker.hints file */
48 int d_hintsz; /* size of hints data */
49 int d_flags;
50 STAILQ_ENTRY(moduledir) d_link;
51};
52
53static int file_load(char *filename, vm_offset_t dest, struct preloaded_file **result);
54static int file_loadraw(char *type, char *name);
27 */
28
29/*
30 * file/module function dispatcher, support, etc.
31 */
32
33#include <stand.h>
34#include <string.h>

--- 12 unchanged lines hidden (view full) ---

47 u_char *d_hints; /* content of linker.hints file */
48 int d_hintsz; /* size of hints data */
49 int d_flags;
50 STAILQ_ENTRY(moduledir) d_link;
51};
52
53static int file_load(char *filename, vm_offset_t dest, struct preloaded_file **result);
54static int file_loadraw(char *type, char *name);
55static int file_load_dependancies(struct preloaded_file *base_mod);
55static int file_load_dependencies(struct preloaded_file *base_mod);
56static char * file_search(const char *name, char **extlist);
57static struct kernel_module * file_findmodule(struct preloaded_file *fp, char *modname, struct mod_depend *verinfo);
58static int file_havepath(const char *name);
59static char *mod_searchmodule(char *name, struct mod_depend *verinfo);
60static void file_insert_tail(struct preloaded_file *mp);
61struct file_metadata* metadata_next(struct file_metadata *base_mp, int type);
62static void moduledir_readhints(struct moduledir *mdp);
63static void moduledir_rebuild(void);

--- 186 unchanged lines hidden (view full) ---

250 filename, strerror(error));
251 break;
252 }
253 }
254 return (error);
255}
256
257static int
56static char * file_search(const char *name, char **extlist);
57static struct kernel_module * file_findmodule(struct preloaded_file *fp, char *modname, struct mod_depend *verinfo);
58static int file_havepath(const char *name);
59static char *mod_searchmodule(char *name, struct mod_depend *verinfo);
60static void file_insert_tail(struct preloaded_file *mp);
61struct file_metadata* metadata_next(struct file_metadata *base_mp, int type);
62static void moduledir_readhints(struct moduledir *mdp);
63static void moduledir_rebuild(void);

--- 186 unchanged lines hidden (view full) ---

250 filename, strerror(error));
251 break;
252 }
253 }
254 return (error);
255}
256
257static int
258file_load_dependancies(struct preloaded_file *base_file) {
258file_load_dependencies(struct preloaded_file *base_file) {
259 struct file_metadata *md;
260 struct preloaded_file *fp;
261 struct mod_depend *verinfo;
262 struct kernel_module *mp;
263 char *dmodname;
264 int error;
265
266 md = file_findmetadata(base_file, MODINFOMD_DEPLIST);

--- 171 unchanged lines hidden (view full) ---

438
439 do {
440 err = file_load(filename, loadaddr, &fp);
441 if (err)
442 break;
443 fp->f_args = unargv(argc, argv);
444 loadaddr = fp->f_addr + fp->f_size;
445 file_insert_tail(fp); /* Add to the list of loaded files */
259 struct file_metadata *md;
260 struct preloaded_file *fp;
261 struct mod_depend *verinfo;
262 struct kernel_module *mp;
263 char *dmodname;
264 int error;
265
266 md = file_findmetadata(base_file, MODINFOMD_DEPLIST);

--- 171 unchanged lines hidden (view full) ---

438
439 do {
440 err = file_load(filename, loadaddr, &fp);
441 if (err)
442 break;
443 fp->f_args = unargv(argc, argv);
444 loadaddr = fp->f_addr + fp->f_size;
445 file_insert_tail(fp); /* Add to the list of loaded files */
446 if (file_load_dependancies(fp) != 0) {
446 if (file_load_dependencies(fp) != 0) {
447 err = ENOENT;
448 last_file->f_next = NULL;
449 loadaddr = last_file->f_addr + last_file->f_size;
450 fp = NULL;
451 break;
452 }
453 } while(0);
454 if (err == EFTYPE)

--- 504 unchanged lines hidden ---
447 err = ENOENT;
448 last_file->f_next = NULL;
449 loadaddr = last_file->f_addr + last_file->f_size;
450 fp = NULL;
451 break;
452 }
453 } while(0);
454 if (err == EFTYPE)

--- 504 unchanged lines hidden ---