PERFORCE change 98065 for review
John Baldwin
jhb at FreeBSD.org
Mon May 29 06:08:55 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=98065
Change 98065 by jhb at jhb_mutex on 2006/05/29 13:07:19
- Retire linker_lookup_set() and just use linker_file_lookup_set()
internally again.
- Use TAILQ_FOREACH() in a spot.
Affected files ...
.. //depot/projects/smpng/sys/kern/kern_linker.c#63 edit
Differences ...
==== //depot/projects/smpng/sys/kern/kern_linker.c#63 (text+ko) ====
@@ -130,8 +130,6 @@
static int linker_load_module(const char *kldname,
const char *modname, struct linker_file *parent,
struct mod_depend *verinfo, struct linker_file **lfpp);
-static int linker_lookup_set(linker_file_t file, const char *name,
- void *firstp, void *lastp, int *countp);
static modlist_t modlist_lookup2(const char *name, struct mod_depend *verinfo);
static char *
@@ -189,7 +187,7 @@
KLD_DPF(FILE, ("linker_file_sysinit: calling SYSINITs for %s\n",
lf->filename));
- if (linker_lookup_set(lf, "sysinit_set", &start, &stop, NULL) != 0)
+ if (linker_file_lookup_set(lf, "sysinit_set", &start, &stop, NULL) != 0)
return;
/*
* Perform a bubble sort of the system initialization objects by
@@ -231,7 +229,8 @@
KLD_DPF(FILE, ("linker_file_sysuninit: calling SYSUNINITs for %s\n",
lf->filename));
- if (linker_lookup_set(lf, "sysuninit_set", &start, &stop, NULL) != 0)
+ if (linker_file_lookup_set(lf, "sysuninit_set", &start, &stop,
+ NULL) != 0)
return;
/*
@@ -275,7 +274,7 @@
("linker_file_register_sysctls: registering SYSCTLs for %s\n",
lf->filename));
- if (linker_lookup_set(lf, "sysctl_set", &start, &stop, NULL) != 0)
+ if (linker_file_lookup_set(lf, "sysctl_set", &start, &stop, NULL) != 0)
return;
for (oidp = start; oidp < stop; oidp++)
@@ -290,7 +289,7 @@
KLD_DPF(FILE, ("linker_file_unregister_sysctls: registering SYSCTLs"
" for %s\n", lf->filename));
- if (linker_lookup_set(lf, "sysctl_set", &start, &stop, NULL) != 0)
+ if (linker_file_lookup_set(lf, "sysctl_set", &start, &stop, NULL) != 0)
return;
for (oidp = start; oidp < stop; oidp++)
@@ -307,7 +306,7 @@
KLD_DPF(FILE, ("linker_file_register_modules: registering modules"
" in %s\n", lf->filename));
- if (linker_lookup_set(lf, "modmetadata_set", &start, &stop,
+ if (linker_file_lookup_set(lf, "modmetadata_set", &start, &stop,
NULL) != 0) {
/*
* This fallback should be unnecessary, but if we get booted
@@ -433,8 +432,7 @@
return (0);
}
- error = linker_load_module(NULL, modname, NULL, verinfo,
- result);
+ error = linker_load_module(NULL, modname, NULL, verinfo, result);
KLD_UNLOCK();
return (error);
}
@@ -650,20 +648,11 @@
}
/*
- * Locate a linker set and its contents. This is a helper function to avoid
- * linker_if.h exposure elsewhere. Note: firstp and lastp are really void **.
- * The first function is an internal wrapper so we can avoid having lots of
- * (void **) casts.
+ * Locate a linker set and its contents. This is a helper function to
+ * avoid linker_if.h exposure elsewhere. Note: firstp and lastp are
+ * really void **. This function is used in this file so we can avoid
+ * having lots of (void **) casts.
*/
-static int
-linker_lookup_set(linker_file_t file, const char *name,
- void *firstp, void *lastp, int *countp)
-{
-
- KLD_LOCK_ASSERT();
- return (LINKER_LOOKUP_SET(file, name, firstp, lastp, countp));
-}
-
int
linker_file_lookup_set(linker_file_t file, const char *name,
void *firstp, void *lastp, int *countp)
@@ -673,7 +662,7 @@
locked = KLD_LOCKED();
if (!locked)
KLD_LOCK();
- error = linker_lookup_set(file, name, firstp, lastp, countp);
+ error = LINKER_LOOKUP_SET(file, name, firstp, lastp, countp);
if (!locked)
KLD_UNLOCK();
return (error);
@@ -1215,8 +1204,7 @@
if (verinfo == NULL)
return (modlist_lookup(name, 0));
bestmod = NULL;
- for (mod = TAILQ_FIRST(&found_modules); mod;
- mod = TAILQ_NEXT(mod, link)) {
+ TAILQ_FOREACH(mod, &found_modules, link) {
if (strcmp(mod->name, name) != 0)
continue;
ver = mod->version;
@@ -1323,7 +1311,7 @@
/*
* First get a list of stuff in the kernel.
*/
- if (linker_lookup_set(linker_kernel_file, MDT_SETNAME, &start,
+ if (linker_file_lookup_set(linker_kernel_file, MDT_SETNAME, &start,
&stop, NULL) == 0)
linker_addmodules(linker_kernel_file, start, stop, 1);
@@ -1333,7 +1321,8 @@
*/
restart:
TAILQ_FOREACH(lf, &loaded_files, loaded) {
- error = linker_lookup_set(lf, MDT_SETNAME, &start, &stop, NULL);
+ error = linker_file_lookup_set(lf, MDT_SETNAME, &start,
+ &stop, NULL);
/*
* First, look to see if we would successfully link with this
* stuff.
@@ -1426,7 +1415,8 @@
panic("cannot add dependency");
}
lf->userrefs++; /* so we can (try to) kldunload it */
- error = linker_lookup_set(lf, MDT_SETNAME, &start, &stop, NULL);
+ error = linker_file_lookup_set(lf, MDT_SETNAME, &start,
+ &stop, NULL);
if (!error) {
for (mdp = start; mdp < stop; mdp++) {
mp = *mdp;
@@ -1457,7 +1447,7 @@
continue;
}
linker_file_register_modules(lf);
- if (linker_lookup_set(lf, "sysinit_set", &si_start,
+ if (linker_file_lookup_set(lf, "sysinit_set", &si_start,
&si_stop, NULL) == 0)
sysinit_add(si_start, si_stop);
linker_file_register_sysctls(lf);
@@ -1918,7 +1908,8 @@
if (error)
return (error);
}
- if (linker_lookup_set(lf, MDT_SETNAME, &start, &stop, &count) != 0)
+ if (linker_file_lookup_set(lf, MDT_SETNAME, &start, &stop,
+ &count) != 0)
return (0);
for (mdp = start; mdp < stop; mdp++) {
mp = *mdp;
More information about the p4-projects
mailing list