strplumb.c revision d62bc4badc1c1f1549c961cfb8b420e650e1272b
2N/A * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/Aint strplumbdebug = 0;
2N/A if (strplumbdebug != 0) \
2N/A if (strplumbdebug != 0) \
2N/A if (strplumbdebug != 0) \
2N/A if (strplumbdebug != 0) \
2N/Atypedef struct strplumb_modspec {
2N/A * Called from swapgeneric.c:loadrootmodules() in the network boot case.
2N/Astrplumb_load(void)
2N/A for (i = 0, p = strplumb_modlist;
2N/Astrplumb_init(void)
2N/A for (i = 0, p = strplumb_modlist;
2N/Astrplumb_autopush(void)
li)) != 0) {
goto done;
err);
goto done;
done:
return (err);
char *ndev_name = 0;
int ndev_unit = 0;
* swapgeneric.c:rootconf(). All we can do in that case is plumb the
resolve_boot_path(void)
char *devpath;
const char *driver;
int instance;
#ifdef _OBP
#ifdef _OBP
devpath);
return (ENXIO);
return (ENODEV);
return (ENXIO);
int rval;
int rval;
int err;
int rval;
err);
goto done;
&rval)) != 0) {
goto done;
goto done;
&rval)) != 0) {
goto done;
goto done;
goto done;
&rval);
if (err != 0) {
goto done;
li)) != 0) {
goto done;
goto done;
err);
goto done;
&rval)) != 0) {
goto done;
goto done;
goto done;
goto done;
done:
return (err);
strplumb(void)
int err;
return (err);
return (err);
return (err);
* tcp/sctp_stack_init will do this for additional stack instances.
goto done;
goto done;
goto done;
goto done;
done:
return (err);
#ifndef _OBP
static int boot_maclen;
strplumb_get_netdev_path(void)
#ifdef _OBP
return (NULL);
return (prom_bootpath());
return (NULL);
== DDI_SUCCESS) {
return (NULL);
return (devpath);
#ifndef _OBP
char *model_str;
return (DDI_WALK_CONTINUE);
return (DDI_WALK_CONTINUE);
return (DDI_WALK_CONTINUE);
return (DDI_WALK_CONTINUE);
return (DDI_WALK_CONTINUE);
if (dhcack) {
return (DDI_WALK_TERMINATE);
static uchar_t *
char *clonepath;
return (NULL);
if (rc) {
return (NULL);
return (NULL);
*maclenp = 0;
return (macaddr);