mp_implfuncs.c revision b9bc7f7832704fda46b4d6b04f3f7be1227dc644
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
#define PSMI_1_6
#if defined(__xpv)
extern void *get_next_mach(void *, char *);
extern void close_mach_list(void);
extern void open_mach_list(void);
* from startup.c - kernel VA range allocator for device mappings
void psm_modloadonly(void);
void psm_install(void);
static struct modlinkage *
int memsz;
sizeof (struct psm_sw);
if (!mlinkp) {
return (NULL);
return (mlinkp);
if (!mlinkp)
int status;
if (!*modlpp) {
if (!mlinkp)
return (ENOSPC);
if (status) {
return (status);
int status;
if (status == 0) {
return (status);
int status;
if (!*modlpp) {
if (!mlinkp)
return ((int)NULL);
if (!status) {
return (status);
psm_get_cpu_id(void)
if (len == 0)
#ifdef __xpv
if (len == 0)
if (len == 0)
return (EBUSY);
#if defined(__xpv)
static char **pnamep;
static char *psm_impl_module_list[] = {
if (first)
if (*pnamep != (char *)0)
return (*pnamep++);
if (mhdl)
return (machname);
psm_modload(void)
char *this;
#if defined(__xpv)
psm_install(void)
psmcnt++;
if (err)
if (psmcnt == 0)
(*psminitf)();
psm_debugger(void)