Home | History | Annotate | Download | only in ml
      1      0     stevel /*
      2      0     stevel  * CDDL HEADER START
      3      0     stevel  *
      4      0     stevel  * The contents of this file are subject to the terms of the
      5   1548    rshoaib  * Common Development and Distribution License (the "License").
      6   1548    rshoaib  * You may not use this file except in compliance with the License.
      7      0     stevel  *
      8      0     stevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9      0     stevel  * or http://www.opensolaris.org/os/licensing.
     10      0     stevel  * See the License for the specific language governing permissions
     11      0     stevel  * and limitations under the License.
     12      0     stevel  *
     13      0     stevel  * When distributing Covered Code, include this CDDL HEADER in each
     14      0     stevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15      0     stevel  * If applicable, add the following below this CDDL HEADER, with the
     16      0     stevel  * fields enclosed by brackets "[]" replaced with your own identifying
     17      0     stevel  * information: Portions Copyright [yyyy] [name of copyright owner]
     18      0     stevel  *
     19      0     stevel  * CDDL HEADER END
     20      0     stevel  */
     21   1548    rshoaib 
     22      0     stevel /*
     23   8513   Vladimir  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     24      0     stevel  * Use is subject to license terms.
     25      0     stevel  */
     26      0     stevel 
     27      0     stevel #include <sys/asm_linkage.h>
     28      0     stevel 
     29      0     stevel #if defined(__lint)
     30      0     stevel 
     31      0     stevel char stubs_base[1], stubs_end[1];
     32      0     stevel 
     33      0     stevel #else	/* __lint */
     34      0     stevel 
     35      0     stevel #include "assym.h"
     36      0     stevel 
     37      0     stevel /*
     38      0     stevel  * !!!!!!!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!!!!!!
     39      0     stevel  *
     40      0     stevel  *	For functions which are either STUBs or WSTUBs the actual function
     41      0     stevel  *	need to be called using 'call' instruction because of preamble and
     42      0     stevel  *	postamble (i.e mod_hold_stub and mod_release_stub) around the
     43      0     stevel  *	function call. Due to this we need to copy arguments for the
     44      0     stevel  *	real function. On Intel we can't tell how many arguments are there
     45      0     stevel  *	on the stack so we have to either copy everything between esp and
     46      0     stevel  *	ebp or copy only a fixed number (MAXNARG - defined here) for
     47      0     stevel  *	all the stub functions. Currently we are using MAXNARG (it is a kludge
     48      0     stevel  *	but worth it?!).
     49      0     stevel  *
     50      0     stevel  *	NOTE: Use NO_UNLOAD_STUBs if the module is NOT unloadable once it is
     51      0     stevel  *	      loaded.
     52      0     stevel  */
     53      0     stevel #define	MAXNARG	10
     54      0     stevel 
     55      0     stevel /*
     56      0     stevel  * WARNING: there is no check for forgetting to write END_MODULE,
     57      0     stevel  * and if you do, the kernel will most likely crash.  Be careful
     58      0     stevel  *
     59      0     stevel  * This file assumes that all of the contributions to the data segment
     60      0     stevel  * will be contiguous in the output file, even though they are separated
     61      0     stevel  * by pieces of text.  This is safe for all assemblers I know of now...
     62      0     stevel  */
     63      0     stevel 
     64      0     stevel /*
     65      0     stevel  * This file uses ansi preprocessor features:
     66      0     stevel  *
     67      0     stevel  * 1. 	#define mac(a) extra_ ## a     -->   mac(x) expands to extra_a
     68      0     stevel  * The old version of this is
     69      0     stevel  *      #define mac(a) extra_/.*.*./a
     70      0     stevel  * but this fails if the argument has spaces "mac ( x )"
     71      0     stevel  * (Ignore the dots above, I had to put them in to keep this a comment.)
     72      0     stevel  *
     73      0     stevel  * 2.   #define mac(a) #a             -->    mac(x) expands to "x"
     74      0     stevel  * The old version is
     75      0     stevel  *      #define mac(a) "a"
     76      0     stevel  *
     77      0     stevel  * For some reason, the 5.0 preprocessor isn't happy with the above usage.
     78      0     stevel  * For now, we're not using these ansi features.
     79      0     stevel  *
     80      0     stevel  * The reason is that "the 5.0 ANSI preprocessor" is built into the compiler
     81      0     stevel  * and is a tokenizing preprocessor. This means, when confronted by something
     82      0     stevel  * other than C token generation rules, strange things occur. In this case,
     83      0     stevel  * when confronted by an assembly file, it would turn the token ".globl" into
     84      0     stevel  * two tokens "." and "globl". For this reason, the traditional, non-ANSI
     85      0     stevel  * preprocessor is used on assembly files.
     86      0     stevel  *
     87      0     stevel  * It would be desirable to have a non-tokenizing cpp (accp?) to use for this.
     88      0     stevel  */
     89      0     stevel 
     90      0     stevel /*
     91      0     stevel  * This file contains the stubs routines for modules which can be autoloaded.
     92      0     stevel  */
     93      0     stevel 
     94      0     stevel #if defined(__amd64)
     95      0     stevel 
     96      0     stevel /*
     97      0     stevel  * See the 'struct mod_modinfo' definition to see what this declaration
     98      0     stevel  * is trying to achieve here.
     99      0     stevel  */
    100      0     stevel #define	MODULE(module,namespace)	\
    101      0     stevel 	.data;				\
    102      0     stevel module/**/_modname:			\
    103      0     stevel 	.string	"namespace/module";	\
    104      0     stevel 	SET_SIZE(module/**/_modname);	\
    105      0     stevel 	.align	CPTRSIZE;		\
    106      0     stevel 	.globl	module/**/_modinfo;	\
    107      0     stevel 	.type	module/**/_modinfo, @object;	\
    108      0     stevel module/**/_modinfo:			\
    109      0     stevel 	.quad	module/**/_modname;	\
    110      0     stevel 	.quad	0	/* storage for modctl pointer */
    111      0     stevel 
    112      0     stevel 	/* then mod_stub_info structures follow until a mods_func_adr is 0 */
    113      0     stevel 
    114      0     stevel /* this puts a 0 where the next mods_func_adr would be */
    115      0     stevel #define	END_MODULE(module)		\
    116      0     stevel 	.data;				\
    117      0     stevel 	.align	CPTRSIZE;		\
    118      0     stevel 	.quad 0;			\
    119      0     stevel 	SET_SIZE(module/**/_modinfo)
    120      0     stevel 
    121      0     stevel /*
    122      0     stevel  * The data section in the stub_common macro is the
    123      0     stevel  * mod_stub_info structure for the stub function
    124      0     stevel  */
    125      0     stevel 
    126      0     stevel #define STUB_COMMON(module, fcnname, install_fcn, retfcn, weak)		\
    127      0     stevel 	ENTRY(fcnname);							\
    128      0     stevel 	leaq	fcnname/**/_info(%rip), %rax;				\
    129      0     stevel 	cmpl	$0, MODS_FLAG(%rax);			/* weak? */	\
    130      0     stevel 	je	stubs_common_code;			/* not weak */	\
    131      0     stevel 	testb	$MODS_INSTALLED, MODS_FLAG(%rax);	/* installed? */ \
    132      0     stevel 	jne	stubs_common_code;		/* yes, do the mod_hold */ \
    133      0     stevel 	jmp	*MODS_RETFCN(%rax);		/* no, jump to retfcn */ \
    134      0     stevel 	SET_SIZE(fcnname);						\
    135      0     stevel 	.data;								\
    136      0     stevel 	.align	 CPTRSIZE;						\
    137      0     stevel 	.type	fcnname/**/_info, @object;				\
    138      0     stevel fcnname/**/_info:							\
    139      0     stevel 	.quad	install_fcn;		/* 0 */				\
    140      0     stevel 	.quad	module/**/_modinfo;	/* 0x8 */			\
    141      0     stevel 	.quad	fcnname;		/* 0x10 */			\
    142      0     stevel 	.quad	retfcn;			/* 0x18 */			\
    143      0     stevel 	.long	weak;			/* 0x20 */			\
    144      0     stevel 	SET_SIZE(fcnname/**/_info)
    145      0     stevel 
    146      0     stevel #define STUB_UNLOADABLE(module, fcnname, install_fcn, retfcn, weak)	\
    147      0     stevel 	ENTRY(fcnname);							\
    148      0     stevel 	leaq	fcnname/**/_info(%rip), %rax;				\
    149      0     stevel 	testb	$MODS_INSTALLED, MODS_FLAG(%rax); /* installed? */	\
    150      0     stevel 	je	5f;			/* no */			\
    151      0     stevel 	jmp	*(%rax);		/* yes, jump to install_fcn */	\
    152      0     stevel 5:	testb	$MODS_WEAK, MODS_FLAG(%rax);	/* weak? */		\
    153      0     stevel 	je	stubs_common_code;	/* no, do mod load */		\
    154      0     stevel 	jmp	*MODS_RETFCN(%rax);	/* yes, jump to retfcn */	\
    155      0     stevel 	SET_SIZE(fcnname);						\
    156      0     stevel 	.data;								\
    157      0     stevel 	.align	CPTRSIZE;						\
    158      0     stevel 	.type	fcnname/**/_info, @object;				\
    159      0     stevel fcnname/**/_info:							\
    160      0     stevel 	.quad	install_fcn;		/* 0 */				\
    161      0     stevel 	.quad	module/**/_modinfo;	/* 0x8 */			\
    162      0     stevel 	.quad	fcnname;		/* 0x10 */			\
    163      0     stevel 	.quad	retfcn;			/* 0x18 */			\
    164      0     stevel 	.long   weak;			/* 0x20 */			\
    165      0     stevel 	SET_SIZE(fcnname/**/_info)
    166      0     stevel 
    167      0     stevel /*
    168      0     stevel  * We branch here with the fcnname_info pointer in %rax
    169      0     stevel  */
    170      0     stevel 	ENTRY_NP(stubs_common_code)
    171      0     stevel 	.globl	mod_hold_stub
    172      0     stevel 	.globl	mod_release_stub
    173      0     stevel 	pushq	%rbp
    174      0     stevel 	movq	%rsp, %rbp
    175      0     stevel 	subq	$0x10, %rsp
    176      0     stevel 	movq	%r15, (%rsp)		/* (caller saved) */
    177      0     stevel 	movq	%rax, %r15		/* stash the fcnname_info pointer */
    178      0     stevel 	/*
    179      0     stevel 	 * save incoming register arguments
    180      0     stevel 	 */
    181      0     stevel 	pushq	%rdi
    182      0     stevel 	pushq	%rsi
    183      0     stevel 	pushq	%rdx
    184      0     stevel 	pushq	%rcx
    185      0     stevel 	pushq	%r8
    186      0     stevel 	pushq	%r9
    187      0     stevel 	/* (next 4 args, if any, are already on the stack above %rbp) */
    188      0     stevel 	movq	%r15, %rdi
    189      0     stevel 	call	mod_hold_stub		/* mod_hold_stub(mod_stub_info *) */
    190      0     stevel 	cmpl	$-1, %eax		/* error? */
    191      0     stevel 	jne	.L1
    192      0     stevel 	movq	0x18(%r15), %rax
    193      0     stevel 	call	*%rax
    194      0     stevel 	addq	$0x30, %rsp
    195      0     stevel 	jmp	.L2
    196      0     stevel .L1:
    197      0     stevel 	/*
    198      0     stevel 	 * copy MAXNARG == 10 incoming arguments
    199      0     stevel 	 */
    200      0     stevel 	popq	%r9
    201      0     stevel 	popq	%r8
    202      0     stevel 	popq	%rcx
    203      0     stevel 	popq	%rdx
    204      0     stevel 	popq	%rsi
    205      0     stevel 	popq	%rdi
    206      0     stevel 	/*
    207      0     stevel 	 * stack:
    208      0     stevel 	 *	arg9		0x38(%rsp)
    209      0     stevel 	 *	arg8		0x30(%rsp)
    210      0     stevel 	 *	arg7		0x28(%rsp)
    211      0     stevel 	 *	arg6		0x20(%rsp)
    212      0     stevel 	 *	saved %rip	0x18(%rsp)
    213      0     stevel 	 *	saved %rbp	0x10(%rsp)
    214      0     stevel 	 *	<pad>		0x8(%rsp)
    215      0     stevel 	 *	saved %r15	0x0(%rsp)
    216      0     stevel 	 */
    217      0     stevel 	movl	$MAXNARG - 6 + 3, %r11d
    218      0     stevel 	pushq	(%rsp, %r11, 8)
    219      0     stevel 	pushq	(%rsp, %r11, 8)
    220      0     stevel 	pushq	(%rsp, %r11, 8)
    221      0     stevel 	pushq	(%rsp, %r11, 8)
    222      0     stevel 	call	*(%r15)			/* call the stub fn(arg, ..) */
    223      0     stevel 	addq	$0x20, %rsp		/* pop off last 4 args */
    224      0     stevel 	pushq	%rax			/* save any return values */
    225      0     stevel 	pushq	%rdx
    226      0     stevel 	movq	%r15, %rdi
    227      0     stevel 	call	mod_release_stub	/* release hold on module */
    228      0     stevel 	popq	%rdx			/* restore return values */
    229      0     stevel 	popq	%rax
    230      0     stevel .L2:
    231      0     stevel 	popq	%r15
    232      0     stevel 	leave
    233      0     stevel 	ret
    234      0     stevel 	SET_SIZE(stubs_common_code)
    235      0     stevel 
    236      0     stevel #elif defined(__i386)
    237      0     stevel 
    238      0     stevel /*
    239      0     stevel  * See the 'struct mod_modinfo' definition to see what this declaration
    240      0     stevel  * is trying to achieve here.
    241      0     stevel  */
    242      0     stevel #define MODULE(module,namespace)	\
    243      0     stevel 	.data;				\
    244      0     stevel module/**/_modname:			\
    245      0     stevel 	.string	"namespace/module";	\
    246      0     stevel 	SET_SIZE(module/**/_modname);	\
    247      0     stevel 	.align	CPTRSIZE;		\
    248      0     stevel 	.globl	module/**/_modinfo;	\
    249      0     stevel 	.type	module/**/_modinfo, @object;	\
    250      0     stevel module/**/_modinfo:			\
    251      0     stevel 	.long	module/**/_modname;	\
    252      0     stevel 	.long	0	/* storage for modctl pointer */
    253      0     stevel 
    254      0     stevel 	/* then mod_stub_info structures follow until a mods_func_adr is 0 */
    255      0     stevel 
    256      0     stevel /* this puts a 0 where the next mods_func_adr would be */
    257      0     stevel #define END_MODULE(module)		\
    258      0     stevel 	.data;				\
    259      0     stevel 	.align	CPTRSIZE;		\
    260      0     stevel 	.long 0;			\
    261      0     stevel 	SET_SIZE(module/**/_modinfo)
    262      0     stevel 
    263      0     stevel /*
    264      0     stevel  * The data section in the stub_common macro is the
    265      0     stevel  * mod_stub_info structure for the stub function
    266      0     stevel  */
    267      0     stevel 
    268      0     stevel /*
    269      0     stevel  * The flag MODS_INSTALLED is stored in the stub data and is used to
    270      0     stevel  * indicate if a module is installed and initialized.  This flag is used
    271      0     stevel  * instead of the mod_stub_info->mods_modinfo->mod_installed flag
    272      0     stevel  * to minimize the number of pointer de-references for each function
    273      0     stevel  * call (and also to avoid possible TLB misses which could be induced
    274      0     stevel  * by dereferencing these pointers.)
    275      0     stevel  */
    276      0     stevel 
    277      0     stevel #define STUB_COMMON(module, fcnname, install_fcn, retfcn, weak)		\
    278      0     stevel 	ENTRY(fcnname);							\
    279      0     stevel 	leal	fcnname/**/_info, %eax;					\
    280      0     stevel 	cmpl	$0, MODS_FLAG(%eax);	/* weak? */			\
    281      0     stevel 	je	stubs_common_code;	/* not weak */			\
    282      0     stevel 	testb	$MODS_INSTALLED, MODS_FLAG(%eax); /* installed? */	\
    283      0     stevel 	jne	stubs_common_code;	/* yes, do the mod_hold */	\
    284      0     stevel 	jmp	*MODS_RETFCN(%eax);	/* no, just jump to retfcn */	\
    285      0     stevel 	SET_SIZE(fcnname);						\
    286      0     stevel 	.data;								\
    287      0     stevel 	.align	 CPTRSIZE;						\
    288      0     stevel 	.type	fcnname/**/_info, @object;				\
    289      0     stevel fcnname/**/_info:							\
    290      0     stevel 	.long	install_fcn;						\
    291      0     stevel 	.long	module/**/_modinfo;					\
    292      0     stevel 	.long	fcnname;						\
    293      0     stevel 	.long	retfcn;							\
    294      0     stevel 	.long   weak;							\
    295      0     stevel 	SET_SIZE(fcnname/**/_info)
    296      0     stevel 
    297      0     stevel #define STUB_UNLOADABLE(module, fcnname, install_fcn, retfcn, weak)	\
    298      0     stevel 	ENTRY(fcnname);							\
    299      0     stevel 	leal	fcnname/**/_info, %eax;					\
    300      0     stevel 	testb	$MODS_INSTALLED, MODS_FLAG(%eax); /* installed? */	\
    301      0     stevel 	je	5f;		/* no */				\
    302      0     stevel 	jmp	*(%eax);	/* yes, just jump to install_fcn */	\
    303      0     stevel 5:	testb	$MODS_WEAK, MODS_FLAG(%eax);	/* weak? */		\
    304      0     stevel 	je	stubs_common_code;	/* no, do mod load */		\
    305      0     stevel 	jmp	*MODS_RETFCN(%eax);	/* yes, just jump to retfcn */ 	\
    306      0     stevel 	SET_SIZE(fcnname);						\
    307      0     stevel 	.data;								\
    308      0     stevel 	.align	CPTRSIZE;						\
    309      0     stevel 	.type	fcnname/**/_info, @object;				\
    310      0     stevel fcnname/**/_info:							\
    311      0     stevel 	.long	install_fcn;		/* 0 */				\
    312      0     stevel 	.long	module/**/_modinfo;	/* 0x4 */			\
    313      0     stevel 	.long	fcnname;		/* 0x8 */			\
    314      0     stevel 	.long	retfcn;			/* 0xc */			\
    315      0     stevel 	.long   weak;			/* 0x10 */			\
    316      0     stevel 	SET_SIZE(fcnname/**/_info)
    317      0     stevel 
    318      0     stevel /*
    319      0     stevel  * We branch here with the fcnname_info pointer in %eax
    320      0     stevel  */
    321      0     stevel 	ENTRY_NP(stubs_common_code)
    322      0     stevel 	.globl	mod_hold_stub
    323      0     stevel 	.globl	mod_release_stub
    324      0     stevel 	pushl	%esi
    325      0     stevel 	movl	%eax, %esi		/ save the info pointer
    326      0     stevel 	pushl	%eax
    327      0     stevel 	call	mod_hold_stub		/ mod_hold_stub(mod_stub_info *)
    328      0     stevel 	popl	%ecx
    329      0     stevel 	cmpl	$-1, %eax		/ error?
    330      0     stevel 	jne	.L1
    331      0     stevel 	movl	MODS_RETFCN(%esi), %eax
    332      0     stevel 	call    *%eax
    333      0     stevel 	popl	%esi			/ yes, return error (panic?)
    334      0     stevel 	ret
    335      0     stevel .L1:
    336      0     stevel 	movl	$MAXNARG+1, %ecx
    337      0     stevel 	/ copy incoming arguments
    338      0     stevel 	pushl	(%esp, %ecx, 4)		/ push MAXNARG times
    339      0     stevel 	pushl	(%esp, %ecx, 4)
    340      0     stevel 	pushl	(%esp, %ecx, 4)
    341      0     stevel 	pushl	(%esp, %ecx, 4)
    342      0     stevel 	pushl	(%esp, %ecx, 4)
    343      0     stevel 	pushl	(%esp, %ecx, 4)
    344      0     stevel 	pushl	(%esp, %ecx, 4)
    345      0     stevel 	pushl	(%esp, %ecx, 4)
    346      0     stevel 	pushl	(%esp, %ecx, 4)
    347      0     stevel 	pushl	(%esp, %ecx, 4)
    348      0     stevel 	call	*(%esi)			/ call the stub function(arg1,arg2, ...)
    349      0     stevel 	add	$_MUL(MAXNARG, 4), %esp	/ pop off MAXNARG arguments
    350      0     stevel 	pushl	%eax			/ save any return values from the stub
    351      0     stevel 	pushl	%edx
    352      0     stevel 	pushl	%esi
    353      0     stevel 	call	mod_release_stub	/ release hold on module
    354      0     stevel 	addl	$4, %esp
    355      0     stevel 	popl	%edx			/ restore return values
    356      0     stevel 	popl	%eax
    357      0     stevel .L2:
    358      0     stevel 	popl	%esi
    359      0     stevel 	ret
    360      0     stevel 	SET_SIZE(stubs_common_code)
    361      0     stevel 
    362      0     stevel #endif	/* __i386 */
    363      0     stevel 
    364      0     stevel #define STUB(module, fcnname, retfcn)	\
    365      0     stevel     STUB_COMMON(module, fcnname, mod_hold_stub, retfcn, 0)
    366      0     stevel 
    367      0     stevel /*
    368      0     stevel  * "weak stub", don't load on account of this call
    369      0     stevel  */
    370      0     stevel #define WSTUB(module, fcnname, retfcn)	\
    371      0     stevel     STUB_COMMON(module, fcnname, retfcn, retfcn, MODS_WEAK)
    372      0     stevel 
    373      0     stevel /*
    374      0     stevel  * "non-unloadable stub", don't bother 'holding' module if it's already loaded
    375      0     stevel  * since the module cannot be unloaded.
    376      0     stevel  *
    377      0     stevel  * User *MUST* guarantee the module is not unloadable (no _fini routine).
    378      0     stevel  */
    379      0     stevel #define NO_UNLOAD_STUB(module, fcnname, retfcn) \
    380      0     stevel     STUB_UNLOADABLE(module, fcnname,  retfcn, retfcn, MODS_NOUNLOAD)
    381      0     stevel 
    382      0     stevel /*
    383      0     stevel  * "weak stub" for non-unloadable module, don't load on account of this call
    384      0     stevel  */
    385      0     stevel #define NO_UNLOAD_WSTUB(module, fcnname, retfcn) \
    386      0     stevel     STUB_UNLOADABLE(module, fcnname, retfcn, retfcn, MODS_NOUNLOAD|MODS_WEAK)
    387      0     stevel 
    388      0     stevel /*
    389      0     stevel  * this is just a marker for the beginning area of text that contains stubs
    390      0     stevel  */
    391      0     stevel 	ENTRY_NP(stubs_base)
    392      0     stevel 	nop
    393      0     stevel 
    394      0     stevel /*
    395      0     stevel  * WARNING WARNING WARNING!!!!!!
    396      0     stevel  *
    397      0     stevel  * On the MODULE macro you MUST NOT use any spaces!!! They are
    398      0     stevel  * significant to the preprocessor.  With ansi c there is a way around this
    399      0     stevel  * but for some reason (yet to be investigated) ansi didn't work for other
    400      0     stevel  * reasons!
    401      0     stevel  *
    402      0     stevel  * When zero is used as the return function, the system will call
    403      0     stevel  * panic if the stub can't be resolved.
    404      0     stevel  */
    405      0     stevel 
    406      0     stevel /*
    407      0     stevel  * Stubs for devfs. A non-unloadable module.
    408      0     stevel  */
    409      0     stevel 
    410      0     stevel #ifndef	DEVFS_MODULE
    411      0     stevel 	MODULE(devfs,fs);
    412      0     stevel 	NO_UNLOAD_STUB(devfs, devfs_clean,		nomod_minus_one);
    413      0     stevel 	NO_UNLOAD_STUB(devfs, devfs_lookupname,		nomod_minus_one);
    414      0     stevel 	NO_UNLOAD_STUB(devfs, devfs_walk,		nomod_minus_one);
    415      0     stevel 	NO_UNLOAD_STUB(devfs, devfs_devpolicy,		nomod_minus_one);
    416      0     stevel 	NO_UNLOAD_STUB(devfs, devfs_reset_perm,		nomod_minus_one);
    417      0     stevel 	NO_UNLOAD_STUB(devfs, devfs_remdrv_cleanup,	nomod_minus_one);
    418      0     stevel 	END_MODULE(devfs);
    419   2621      llai1 #endif
    420   2621      llai1 
    421   2621      llai1 #ifndef	DEV_MODULE
    422   2621      llai1 	MODULE(dev,fs);
    423   2621      llai1 	NO_UNLOAD_STUB(dev, sdev_modctl_readdir,	nomod_minus_one);
    424   2621      llai1 	NO_UNLOAD_STUB(dev, sdev_modctl_readdir_free,	nomod_minus_one);
    425   2621      llai1 	NO_UNLOAD_STUB(dev, devname_filename_register,	nomod_minus_one);
    426   2621      llai1 	NO_UNLOAD_STUB(dev, sdev_modctl_devexists,	nomod_minus_one);
    427   2621      llai1 	NO_UNLOAD_STUB(dev, devname_profile_update,	nomod_minus_one);
    428   2621      llai1 	NO_UNLOAD_STUB(dev, sdev_devstate_change,	nomod_minus_one);
    429   7688      Aaron 	NO_UNLOAD_STUB(dev, devvt_getvnodeops,		nomod_minus_one);
    430   2621      llai1 	NO_UNLOAD_STUB(dev, devpts_getvnodeops,		nomod_zero);
    431   2621      llai1 	END_MODULE(dev);
    432      0     stevel #endif
    433      0     stevel 
    434      0     stevel /*
    435      0     stevel  * Stubs for specfs. A non-unloadable module.
    436      0     stevel  */
    437      0     stevel 
    438      0     stevel #ifndef SPEC_MODULE
    439      0     stevel 	MODULE(specfs,fs);
    440      0     stevel 	NO_UNLOAD_STUB(specfs, common_specvp,		nomod_zero);
    441      0     stevel 	NO_UNLOAD_STUB(specfs, makectty,		nomod_zero);
    442      0     stevel 	NO_UNLOAD_STUB(specfs, makespecvp,     		nomod_zero);
    443      0     stevel 	NO_UNLOAD_STUB(specfs, smark,          		nomod_zero);
    444      0     stevel 	NO_UNLOAD_STUB(specfs, spec_segmap,    		nomod_einval);
    445      0     stevel 	NO_UNLOAD_STUB(specfs, specfind,       		nomod_zero);
    446      0     stevel 	NO_UNLOAD_STUB(specfs, specvp,         		nomod_zero);
    447      0     stevel 	NO_UNLOAD_STUB(specfs, devi_stillreferenced,	nomod_zero);
    448      0     stevel 	NO_UNLOAD_STUB(specfs, spec_getvnodeops,	nomod_zero);
    449      0     stevel 	NO_UNLOAD_STUB(specfs, spec_char_map,		nomod_zero);
    450      0     stevel 	NO_UNLOAD_STUB(specfs, specvp_devfs,  		nomod_zero);
    451      0     stevel 	NO_UNLOAD_STUB(specfs, spec_assoc_vp_with_devi,	nomod_void);
    452      0     stevel 	NO_UNLOAD_STUB(specfs, spec_hold_devi_by_vp,	nomod_zero);
    453      0     stevel 	NO_UNLOAD_STUB(specfs, spec_snode_walk,		nomod_void);
    454      0     stevel 	NO_UNLOAD_STUB(specfs, spec_devi_open_count,	nomod_minus_one);
    455      0     stevel 	NO_UNLOAD_STUB(specfs, spec_is_clone,		nomod_zero);
    456      0     stevel 	NO_UNLOAD_STUB(specfs, spec_is_selfclone,	nomod_zero);
    457   4845     vikram 	NO_UNLOAD_STUB(specfs, spec_fence_snode,	nomod_minus_one);
    458   4845     vikram 	NO_UNLOAD_STUB(specfs, spec_unfence_snode,	nomod_minus_one);
    459      0     stevel 	END_MODULE(specfs);
    460      0     stevel #endif
    461      0     stevel 
    462      0     stevel 
    463      0     stevel /*
    464      0     stevel  * Stubs for sockfs. A non-unloadable module.
    465      0     stevel  */
    466      0     stevel #ifndef SOCK_MODULE
    467      0     stevel 	MODULE(sockfs,fs);
    468      0     stevel 	NO_UNLOAD_STUB(sockfs, so_socket,  	nomod_zero);
    469      0     stevel 	NO_UNLOAD_STUB(sockfs, so_socketpair,	nomod_zero);
    470      0     stevel 	NO_UNLOAD_STUB(sockfs, bind,  		nomod_zero);
    471      0     stevel 	NO_UNLOAD_STUB(sockfs, listen,  	nomod_zero);
    472      0     stevel 	NO_UNLOAD_STUB(sockfs, accept,  	nomod_zero);
    473      0     stevel 	NO_UNLOAD_STUB(sockfs, connect,  	nomod_zero);
    474      0     stevel 	NO_UNLOAD_STUB(sockfs, shutdown,  	nomod_zero);
    475      0     stevel 	NO_UNLOAD_STUB(sockfs, recv,  		nomod_zero);
    476      0     stevel 	NO_UNLOAD_STUB(sockfs, recvfrom,  	nomod_zero);
    477      0     stevel 	NO_UNLOAD_STUB(sockfs, recvmsg,  	nomod_zero);
    478      0     stevel 	NO_UNLOAD_STUB(sockfs, send,  		nomod_zero);
    479      0     stevel 	NO_UNLOAD_STUB(sockfs, sendmsg,  	nomod_zero);
    480      0     stevel 	NO_UNLOAD_STUB(sockfs, sendto,  	nomod_zero);
    481      0     stevel #ifdef _SYSCALL32_IMPL
    482      0     stevel 	NO_UNLOAD_STUB(sockfs, recv32,		nomod_zero);
    483      0     stevel 	NO_UNLOAD_STUB(sockfs, recvfrom32,	nomod_zero);
    484      0     stevel 	NO_UNLOAD_STUB(sockfs, send32,		nomod_zero);
    485      0     stevel 	NO_UNLOAD_STUB(sockfs, sendto32,	nomod_zero);
    486      0     stevel #endif	/* _SYSCALL32_IMPL */
    487      0     stevel 	NO_UNLOAD_STUB(sockfs, getpeername,  	nomod_zero);
    488      0     stevel 	NO_UNLOAD_STUB(sockfs, getsockname,  	nomod_zero);
    489      0     stevel 	NO_UNLOAD_STUB(sockfs, getsockopt,  	nomod_zero);
    490      0     stevel 	NO_UNLOAD_STUB(sockfs, setsockopt,  	nomod_zero);
    491      0     stevel 	NO_UNLOAD_STUB(sockfs, sockconfig,  	nomod_zero);
    492      0     stevel 	NO_UNLOAD_STUB(sockfs, sock_getmsg,  	nomod_zero);
    493      0     stevel 	NO_UNLOAD_STUB(sockfs, sock_putmsg,  	nomod_zero);
    494      0     stevel 	NO_UNLOAD_STUB(sockfs, sosendfile64,  	nomod_zero);
    495   4173    pr14459 	NO_UNLOAD_STUB(sockfs, snf_segmap,  	nomod_einval);
    496      0     stevel 	NO_UNLOAD_STUB(sockfs, sock_getfasync,  nomod_zero);
    497      0     stevel 	NO_UNLOAD_STUB(sockfs, nl7c_sendfilev,  nomod_zero);
    498   8348       Eric 	NO_UNLOAD_STUB(sockfs, sotpi_sototpi,  nomod_zero);
    499   8348       Eric 	NO_UNLOAD_STUB(sockfs, socket_sendmblk,  nomod_zero);
    500   8348       Eric 	NO_UNLOAD_STUB(sockfs, socket_setsockopt,  nomod_zero);
    501      0     stevel 	END_MODULE(sockfs);
    502      0     stevel #endif
    503      0     stevel 
    504      0     stevel /*
    505      0     stevel  * IPsec stubs.
    506      0     stevel  */
    507      0     stevel 
    508      0     stevel #ifndef	IPSECAH_MODULE
    509      0     stevel 	MODULE(ipsecah,drv);
    510      0     stevel 	WSTUB(ipsecah,	ipsec_construct_inverse_acquire,	nomod_zero);
    511      0     stevel 	WSTUB(ipsecah,	sadb_acquire,		nomod_zero);
    512      0     stevel 	WSTUB(ipsecah,	ipsecah_algs_changed,	nomod_zero);
    513      0     stevel 	WSTUB(ipsecah,	sadb_alg_update,	nomod_zero);
    514      0     stevel 	WSTUB(ipsecah,	sadb_unlinkassoc,	nomod_zero);
    515      0     stevel 	WSTUB(ipsecah,	sadb_insertassoc,	nomod_zero);
    516      0     stevel 	WSTUB(ipsecah,	ipsecah_in_assocfailure,	nomod_zero);
    517      0     stevel 	WSTUB(ipsecah,	sadb_set_lpkt,		nomod_zero);
    518      0     stevel 	WSTUB(ipsecah,	ipsecah_icmp_error,	nomod_zero);
    519      0     stevel 	END_MODULE(ipsecah);
    520      0     stevel #endif
    521      0     stevel 
    522      0     stevel #ifndef	IPSECESP_MODULE
    523      0     stevel 	MODULE(ipsecesp,drv);
    524      0     stevel 	WSTUB(ipsecesp,	ipsecesp_fill_defs,	nomod_zero);
    525      0     stevel 	WSTUB(ipsecesp,	ipsecesp_algs_changed,	nomod_zero);
    526      0     stevel 	WSTUB(ipsecesp, ipsecesp_in_assocfailure,	nomod_zero);
    527      0     stevel 	WSTUB(ipsecesp, ipsecesp_init_funcs,	nomod_zero);
    528      0     stevel 	WSTUB(ipsecesp,	ipsecesp_icmp_error,	nomod_zero);
    529   4987     danmcd 	WSTUB(ipsecesp,	ipsecesp_send_keepalive,	nomod_zero);
    530      0     stevel 	END_MODULE(ipsecesp);
    531      0     stevel #endif
    532      0     stevel 
    533      0     stevel #ifndef	KEYSOCK_MODULE
    534      0     stevel 	MODULE(keysock,	drv);
    535      0     stevel 	WSTUB(keysock,	keysock_plumb_ipsec,	nomod_zero);
    536      0     stevel 	WSTUB(keysock,	keysock_extended_reg,	nomod_zero);
    537      0     stevel 	WSTUB(keysock,	keysock_next_seq,	nomod_zero);
    538      0     stevel 	END_MODULE(keysock);
    539      0     stevel #endif
    540      0     stevel 
    541      0     stevel #ifndef SPDSOCK_MODULE
    542      0     stevel 	MODULE(spdsock,drv);
    543      0     stevel 	WSTUB(spdsock,	spdsock_update_pending_algs,	nomod_zero);
    544      0     stevel 	END_MODULE(spdsock);
    545      0     stevel #endif
    546      0     stevel 
    547      0     stevel /*
    548      0     stevel  * Stubs for nfs common code.
    549      0     stevel  * XXX nfs_getvnodeops should go away with removal of kludge in vnode.c
    550      0     stevel  */
    551      0     stevel #ifndef NFS_MODULE
    552      0     stevel 	MODULE(nfs,fs);
    553      0     stevel 	WSTUB(nfs,	nfs_getvnodeops,	nomod_zero);
    554      0     stevel 	WSTUB(nfs,	nfs_perror,		nomod_zero);
    555      0     stevel 	WSTUB(nfs,	nfs_cmn_err,		nomod_zero);
    556      0     stevel 	WSTUB(nfs,	clcleanup_zone,		nomod_zero);
    557      0     stevel 	WSTUB(nfs,	clcleanup4_zone,	nomod_zero);
    558      0     stevel 	END_MODULE(nfs);
    559      0     stevel #endif
    560      0     stevel 
    561      0     stevel 
    562      0     stevel /*
    563      0     stevel  * Stubs for nfs_dlboot (diskless booting).
    564      0     stevel  */
    565      0     stevel #ifndef NFS_DLBOOT_MODULE
    566      0     stevel 	MODULE(nfs_dlboot,misc);
    567      0     stevel 	STUB(nfs_dlboot,	mount_root,	nomod_minus_one);
    568      0     stevel 	STUB(nfs_dlboot,	dhcpinit,	nomod_minus_one);
    569      0     stevel 	END_MODULE(nfs_dlboot);
    570      0     stevel #endif
    571      0     stevel 
    572      0     stevel /*
    573      0     stevel  * Stubs for nfs server-only code.
    574      0     stevel  */
    575      0     stevel #ifndef NFSSRV_MODULE
    576      0     stevel 	MODULE(nfssrv,misc);
    577      0     stevel 	STUB(nfssrv,		lm_nfs3_fhtovp,	nomod_minus_one);
    578      0     stevel 	STUB(nfssrv,		lm_fhtovp,	nomod_minus_one);
    579      0     stevel 	STUB(nfssrv,		exportfs,	nomod_minus_one);
    580      0     stevel 	STUB(nfssrv,		nfs_getfh,	nomod_minus_one);
    581      0     stevel 	STUB(nfssrv,		nfsl_flush,	nomod_minus_one);
    582   2140     rmesta 	STUB(nfssrv,		rfs4_check_delegated, nomod_zero);
    583   2140     rmesta 	STUB(nfssrv,		mountd_args,	nomod_minus_one);
    584      0     stevel 	NO_UNLOAD_STUB(nfssrv,	rdma_start,	nomod_zero);
    585      0     stevel 	NO_UNLOAD_STUB(nfssrv,	nfs_svc,	nomod_zero);
    586      0     stevel 	END_MODULE(nfssrv);
    587      0     stevel #endif
    588      0     stevel 
    589      0     stevel /*
    590      0     stevel  * Stubs for kernel lock manager.
    591      0     stevel  */
    592      0     stevel #ifndef KLM_MODULE
    593      0     stevel 	MODULE(klmmod,misc);
    594      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_svc,		nomod_zero);
    595      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_shutdown,	nomod_zero);
    596      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_unexport,	nomod_zero);
    597   5295     randyf 	NO_UNLOAD_STUB(klmmod, lm_cprresume,	nomod_zero);
    598   5295     randyf 	NO_UNLOAD_STUB(klmmod, lm_cprsuspend,	nomod_zero);
    599      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_safelock, nomod_zero);
    600      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_safemap, nomod_zero);
    601      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_has_sleep, nomod_zero);
    602      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_free_config, nomod_zero);
    603      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_vp_active, nomod_zero);
    604      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_get_sysid, nomod_zero);
    605      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_rel_sysid, nomod_zero);
    606      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_alloc_sysidt, nomod_minus_one);
    607      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_free_sysidt, nomod_zero);
    608      0     stevel 	NO_UNLOAD_STUB(klmmod, lm_sysidt, nomod_minus_one);
    609      0     stevel 	END_MODULE(klmmod);
    610      0     stevel #endif
    611      0     stevel 
    612      0     stevel #ifndef KLMOPS_MODULE
    613      0     stevel 	MODULE(klmops,misc);
    614      0     stevel 	NO_UNLOAD_STUB(klmops, lm_frlock,	nomod_zero);
    615      0     stevel 	NO_UNLOAD_STUB(klmops, lm4_frlock,	nomod_zero);
    616      0     stevel 	NO_UNLOAD_STUB(klmops, lm_shrlock,	nomod_zero);
    617      0     stevel 	NO_UNLOAD_STUB(klmops, lm4_shrlock,	nomod_zero);
    618      0     stevel 	NO_UNLOAD_STUB(klmops, lm_nlm_dispatch,	nomod_zero);
    619      0     stevel 	NO_UNLOAD_STUB(klmops, lm_nlm4_dispatch,	nomod_zero);
    620      0     stevel 	NO_UNLOAD_STUB(klmops, lm_nlm_reclaim,	nomod_zero);
    621      0     stevel 	NO_UNLOAD_STUB(klmops, lm_nlm4_reclaim,	nomod_zero);
    622      0     stevel 	NO_UNLOAD_STUB(klmops, lm_register_lock_locally, nomod_zero);
    623      0     stevel 	END_MODULE(klmops);
    624      0     stevel #endif
    625      0     stevel 
    626      0     stevel /*
    627      0     stevel  * Stubs for kernel TLI module
    628      0     stevel  *   XXX currently we never allow this to unload
    629      0     stevel  */
    630      0     stevel #ifndef TLI_MODULE
    631      0     stevel 	MODULE(tlimod,misc);
    632      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kopen,		nomod_minus_one);
    633      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kunbind,		nomod_zero);
    634      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kadvise,		nomod_zero);
    635      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_krcvudata,		nomod_zero);
    636      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_ksndudata,		nomod_zero);
    637      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kalloc,		nomod_zero);
    638      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kbind,		nomod_zero);
    639      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kclose,		nomod_zero);
    640      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kspoll,		nomod_zero);
    641      0     stevel 	NO_UNLOAD_STUB(tlimod,	t_kfree,		nomod_zero);
    642      0     stevel 	END_MODULE(tlimod);
    643      0     stevel #endif
    644      0     stevel 
    645      0     stevel /*
    646      0     stevel  * Stubs for kernel RPC module
    647      0     stevel  *   XXX currently we never allow this to unload
    648      0     stevel  */
    649      0     stevel #ifndef RPC_MODULE
    650      0     stevel 	MODULE(rpcmod,strmod);
    651      0     stevel 	NO_UNLOAD_STUB(rpcmod,	clnt_tli_kcreate,	nomod_minus_one);
    652      0     stevel 	NO_UNLOAD_STUB(rpcmod,	svc_tli_kcreate,	nomod_minus_one);
    653      0     stevel 	NO_UNLOAD_STUB(rpcmod,	bindresvport,		nomod_minus_one);
    654      0     stevel 	NO_UNLOAD_STUB(rpcmod, rdma_register_mod,	nomod_minus_one);
    655      0     stevel 	NO_UNLOAD_STUB(rpcmod, rdma_unregister_mod,	nomod_minus_one);
    656      0     stevel 	NO_UNLOAD_STUB(rpcmod, svc_queuereq,		nomod_minus_one);
    657      0     stevel 	NO_UNLOAD_STUB(rpcmod, clist_add,		nomod_minus_one);
    658      0     stevel 	END_MODULE(rpcmod);
    659      0     stevel #endif
    660      0     stevel 
    661      0     stevel /*
    662      0     stevel  * Stubs for des
    663      0     stevel  */
    664      0     stevel #ifndef DES_MODULE
    665      0     stevel 	MODULE(des,misc);
    666      0     stevel 	STUB(des, cbc_crypt, 	 	nomod_zero);
    667      0     stevel 	STUB(des, ecb_crypt, 		nomod_zero);
    668      0     stevel 	STUB(des, _des_crypt,		nomod_zero);
    669      0     stevel 	END_MODULE(des);
    670      0     stevel #endif
    671      0     stevel 
    672      0     stevel /*
    673      0     stevel  * Stubs for procfs. A non-unloadable module.
    674      0     stevel  */
    675      0     stevel #ifndef PROC_MODULE
    676      0     stevel 	MODULE(procfs,fs);
    677      0     stevel 	NO_UNLOAD_STUB(procfs, prfree,		nomod_zero);
    678      0     stevel 	NO_UNLOAD_STUB(procfs, prexit,		nomod_zero);
    679      0     stevel 	NO_UNLOAD_STUB(procfs, prlwpfree,	nomod_zero);
    680      0     stevel 	NO_UNLOAD_STUB(procfs, prlwpexit,	nomod_zero);
    681      0     stevel 	NO_UNLOAD_STUB(procfs, prinvalidate,	nomod_zero);
    682      0     stevel 	NO_UNLOAD_STUB(procfs, prnsegs,		nomod_zero);
    683      0     stevel 	NO_UNLOAD_STUB(procfs, prgetcred,	nomod_zero);
    684      0     stevel 	NO_UNLOAD_STUB(procfs, prgetpriv,	nomod_zero);
    685      0     stevel 	NO_UNLOAD_STUB(procfs, prgetprivsize,	nomod_zero);
    686      0     stevel 	NO_UNLOAD_STUB(procfs, prgetstatus,	nomod_zero);
    687      0     stevel 	NO_UNLOAD_STUB(procfs, prgetlwpstatus,	nomod_zero);
    688      0     stevel 	NO_UNLOAD_STUB(procfs, prgetpsinfo,	nomod_zero);
    689      0     stevel 	NO_UNLOAD_STUB(procfs, prgetlwpsinfo,	nomod_zero);
    690      0     stevel 	NO_UNLOAD_STUB(procfs, oprgetstatus,	nomod_zero);
    691      0     stevel 	NO_UNLOAD_STUB(procfs, oprgetpsinfo,	nomod_zero);
    692      0     stevel #ifdef _SYSCALL32_IMPL
    693      0     stevel 	NO_UNLOAD_STUB(procfs, prgetstatus32,	nomod_zero);
    694      0     stevel 	NO_UNLOAD_STUB(procfs, prgetlwpstatus32, nomod_zero);
    695      0     stevel 	NO_UNLOAD_STUB(procfs, prgetpsinfo32,	nomod_zero);
    696      0     stevel 	NO_UNLOAD_STUB(procfs, prgetlwpsinfo32,	nomod_zero);
    697      0     stevel 	NO_UNLOAD_STUB(procfs, oprgetstatus32,	nomod_zero);
    698      0     stevel 	NO_UNLOAD_STUB(procfs, oprgetpsinfo32,	nomod_zero);
    699      0     stevel #endif	/* _SYSCALL32_IMPL */
    700      0     stevel 	NO_UNLOAD_STUB(procfs, prnotify,	nomod_zero);
    701      0     stevel 	NO_UNLOAD_STUB(procfs, prexecstart,	nomod_zero);
    702      0     stevel 	NO_UNLOAD_STUB(procfs, prexecend,	nomod_zero);
    703      0     stevel 	NO_UNLOAD_STUB(procfs, prrelvm,		nomod_zero);
    704      0     stevel 	NO_UNLOAD_STUB(procfs, prbarrier,	nomod_zero);
    705      0     stevel 	NO_UNLOAD_STUB(procfs, estimate_msacct,	nomod_zero);
    706      0     stevel 	NO_UNLOAD_STUB(procfs, pr_getprot,	nomod_zero);
    707      0     stevel 	NO_UNLOAD_STUB(procfs, pr_getprot_done,	nomod_zero);
    708      0     stevel 	NO_UNLOAD_STUB(procfs, pr_getsegsize,	nomod_zero);
    709      0     stevel 	NO_UNLOAD_STUB(procfs, pr_isobject,	nomod_zero);
    710      0     stevel 	NO_UNLOAD_STUB(procfs, pr_isself,	nomod_zero);
    711      0     stevel 	NO_UNLOAD_STUB(procfs, pr_allstopped,	nomod_zero);
    712      0     stevel 	NO_UNLOAD_STUB(procfs, pr_free_watched_pages, nomod_zero);
    713      0     stevel 	END_MODULE(procfs);
    714      0     stevel #endif
    715      0     stevel 
    716      0     stevel /*
    717      0     stevel  * Stubs for fifofs
    718      0     stevel  */
    719      0     stevel #ifndef FIFO_MODULE
    720      0     stevel 	MODULE(fifofs,fs);
    721      0     stevel 	STUB(fifofs, fifovp,      	0);
    722      0     stevel 	STUB(fifofs, fifo_getinfo,	0);
    723      0     stevel 	STUB(fifofs, fifo_vfastoff,	0);
    724      0     stevel 	END_MODULE(fifofs);
    725      0     stevel #endif
    726      0     stevel 
    727      0     stevel /*
    728      0     stevel  * Stubs for ufs
    729      0     stevel  *
    730      0     stevel  * This is needed to support the old quotactl system call.
    731      0     stevel  * When the old sysent stuff goes away, this will need to be revisited.
    732      0     stevel  */
    733      0     stevel #ifndef UFS_MODULE
    734      0     stevel 	MODULE(ufs,fs);
    735      0     stevel 	STUB(ufs, quotactl, nomod_minus_one);
    736      0     stevel 	END_MODULE(ufs);
    737   6423    gw25295 #endif
    738   6423    gw25295 
    739   6423    gw25295 /*
    740   6423    gw25295  * Stubs for zfs
    741   6423    gw25295  */
    742   6423    gw25295 #ifndef ZFS_MODULE
    743   6423    gw25295 	MODULE(zfs,fs);
    744   6423    gw25295 	STUB(zfs, spa_boot_init, nomod_minus_one);
    745   6423    gw25295 	END_MODULE(zfs);
    746   5648      setje #endif
    747   5648      setje 
    748   5648      setje /*
    749   5648      setje  * Stubs for dcfs
    750   5648      setje  */
    751   5648      setje #ifndef DCFS_MODULE
    752   5648      setje 	MODULE(dcfs,fs);
    753   5648      setje 	STUB(dcfs, decompvp, 0);
    754   5648      setje 	END_MODULE(dcfs);
    755      0     stevel #endif
    756      0     stevel 
    757      0     stevel /*
    758      0     stevel  * Stubs for namefs
    759      0     stevel  */
    760      0     stevel #ifndef NAMEFS_MODULE
    761      0     stevel 	MODULE(namefs,fs);
    762      0     stevel 	STUB(namefs, nm_unmountall, 	0);
    763      0     stevel 	END_MODULE(namefs);
    764  11173   Jonathan #endif
    765  11173   Jonathan 
    766  11173   Jonathan /*
    767  11173   Jonathan  * Stubs for sysdc
    768  11173   Jonathan  */
    769  11173   Jonathan #ifndef SDC_MODULE
    770  11173   Jonathan 	MODULE(SDC,sched);
    771  11173   Jonathan 	NO_UNLOAD_STUB(SDC, sysdc_thread_enter,		nomod_zero);
    772  11173   Jonathan 	END_MODULE(SDC);
    773      0     stevel #endif
    774      0     stevel 
    775      0     stevel /*
    776      0     stevel  * Stubs for ts_dptbl
    777      0     stevel  */
    778      0     stevel #ifndef TS_DPTBL_MODULE
    779      0     stevel 	MODULE(TS_DPTBL,sched);
    780      0     stevel 	STUB(TS_DPTBL, ts_getdptbl,		0);
    781      0     stevel 	STUB(TS_DPTBL, ts_getkmdpris,		0);
    782      0     stevel 	STUB(TS_DPTBL, ts_getmaxumdpri,	0);
    783      0     stevel 	END_MODULE(TS_DPTBL);
    784      0     stevel #endif
    785      0     stevel 
    786      0     stevel /*
    787      0     stevel  * Stubs for rt_dptbl
    788      0     stevel  */
    789      0     stevel #ifndef RT_DPTBL_MODULE
    790      0     stevel 	MODULE(RT_DPTBL,sched);
    791      0     stevel 	STUB(RT_DPTBL, rt_getdptbl,		0);
    792      0     stevel 	END_MODULE(RT_DPTBL);
    793      0     stevel #endif
    794      0     stevel 
    795      0     stevel /*
    796      0     stevel  * Stubs for ia_dptbl
    797      0     stevel  */
    798      0     stevel #ifndef IA_DPTBL_MODULE
    799      0     stevel 	MODULE(IA_DPTBL,sched);
    800      0     stevel 	STUB(IA_DPTBL, ia_getdptbl,		nomod_zero);
    801      0     stevel 	STUB(IA_DPTBL, ia_getkmdpris,		nomod_zero);
    802      0     stevel 	STUB(IA_DPTBL, ia_getmaxumdpri,	nomod_zero);
    803      0     stevel 	END_MODULE(IA_DPTBL);
    804      0     stevel #endif
    805      0     stevel 
    806      0     stevel /*
    807      0     stevel  * Stubs for FSS scheduler
    808      0     stevel  */
    809      0     stevel #ifndef FSS_MODULE
    810      0     stevel 	MODULE(FSS,sched);
    811      0     stevel 	WSTUB(FSS, fss_allocbuf,		nomod_zero);
    812      0     stevel 	WSTUB(FSS, fss_freebuf,			nomod_zero);
    813      0     stevel 	WSTUB(FSS, fss_changeproj,		nomod_zero);
    814      0     stevel 	WSTUB(FSS, fss_changepset,		nomod_zero);
    815      0     stevel 	END_MODULE(FSS);
    816      0     stevel #endif
    817      0     stevel 
    818      0     stevel /*
    819      0     stevel  * Stubs for fx_dptbl
    820      0     stevel  */
    821      0     stevel #ifndef FX_DPTBL_MODULE
    822      0     stevel 	MODULE(FX_DPTBL,sched);
    823      0     stevel 	STUB(FX_DPTBL, fx_getdptbl,		0);
    824      0     stevel 	STUB(FX_DPTBL, fx_getmaxumdpri,		0);
    825      0     stevel 	END_MODULE(FX_DPTBL);
    826      0     stevel #endif
    827      0     stevel 
    828      0     stevel /*
    829      0     stevel  * Stubs for bootdev
    830      0     stevel  */
    831      0     stevel #ifndef BOOTDEV_MODULE
    832      0     stevel 	MODULE(bootdev,misc);
    833      0     stevel 	STUB(bootdev, i_promname_to_devname, 0);
    834      0     stevel 	STUB(bootdev, i_convert_boot_device_name, 0);
    835      0     stevel 	END_MODULE(bootdev);
    836      0     stevel #endif
    837      0     stevel 
    838      0     stevel /*
    839      0     stevel  * stubs for strplumb...
    840      0     stevel  */
    841      0     stevel #ifndef STRPLUMB_MODULE
    842      0     stevel 	MODULE(strplumb,misc);
    843      0     stevel 	STUB(strplumb, strplumb,     0);
    844      0     stevel 	STUB(strplumb, strplumb_load, 0);
    845      0     stevel 	STUB(strplumb, strplumb_get_netdev_path, 0);
    846      0     stevel 	END_MODULE(strplumb);
    847      0     stevel #endif
    848      0     stevel 
    849      0     stevel /*
    850      0     stevel  * Stubs for console configuration module
    851      0     stevel  */
    852      0     stevel #ifndef CONSCONFIG_MODULE
    853      0     stevel 	MODULE(consconfig,misc);
    854      0     stevel 	STUB(consconfig, consconfig,	0);
    855      0     stevel 	STUB(consconfig, consconfig_get_usb_kb_path,	0);
    856      0     stevel 	STUB(consconfig, consconfig_get_usb_ms_path,	0);
    857   8960        Jan 	STUB(consconfig, consconfig_get_plat_fbpath,	0);
    858  10783    Vincent 	STUB(consconfig, consconfig_console_is_ready,	0);
    859      0     stevel 	END_MODULE(consconfig);
    860      0     stevel #endif
    861      0     stevel 
    862      0     stevel /*
    863      0     stevel  * Stubs for accounting.
    864      0     stevel  */
    865      0     stevel #ifndef SYSACCT_MODULE
    866      0     stevel 	MODULE(sysacct,sys);
    867      0     stevel 	WSTUB(sysacct, acct,  		nomod_zero);
    868      0     stevel 	WSTUB(sysacct, acct_fs_in_use, 	nomod_zero);
    869      0     stevel 	END_MODULE(sysacct);
    870      0     stevel #endif
    871      0     stevel 
    872      0     stevel /*
    873      0     stevel  * Stubs for semaphore routines. sem.c
    874      0     stevel  */
    875      0     stevel #ifndef SEMSYS_MODULE
    876      0     stevel 	MODULE(semsys,sys);
    877      0     stevel 	WSTUB(semsys, semexit,		nomod_zero);
    878      0     stevel 	END_MODULE(semsys);
    879      0     stevel #endif
    880      0     stevel 
    881      0     stevel /*
    882      0     stevel  * Stubs for shmem routines. shm.c
    883      0     stevel  */
    884      0     stevel #ifndef SHMSYS_MODULE
    885      0     stevel 	MODULE(shmsys,sys);
    886      0     stevel 	WSTUB(shmsys, shmexit,		nomod_zero);
    887      0     stevel 	WSTUB(shmsys, shmfork,		nomod_zero);
    888    942        ahl 	WSTUB(shmsys, shmgetid,		nomod_minus_one);
    889      0     stevel 	END_MODULE(shmsys);
    890      0     stevel #endif
    891      0     stevel 
    892      0     stevel /*
    893      0     stevel  * Stubs for doors
    894      0     stevel  */
    895      0     stevel #ifndef DOOR_MODULE
    896      0     stevel 	MODULE(doorfs,sys);
    897      0     stevel 	WSTUB(doorfs, door_slam,			nomod_zero);
    898      0     stevel 	WSTUB(doorfs, door_exit,			nomod_zero);
    899      0     stevel 	WSTUB(doorfs, door_revoke_all,			nomod_zero);
    900      0     stevel 	WSTUB(doorfs, door_fork,			nomod_zero);
    901      0     stevel 	NO_UNLOAD_STUB(doorfs, door_upcall,		nomod_einval);
    902      0     stevel 	NO_UNLOAD_STUB(doorfs, door_ki_create,		nomod_einval);
    903      0     stevel 	NO_UNLOAD_STUB(doorfs, door_ki_open,		nomod_einval);
    904      0     stevel 	NO_UNLOAD_STUB(doorfs, door_ki_lookup,		nomod_zero);
    905      0     stevel 	WSTUB(doorfs, door_ki_upcall,			nomod_einval);
    906   6997    jwadams 	WSTUB(doorfs, door_ki_upcall_limited,		nomod_einval);
    907      0     stevel 	WSTUB(doorfs, door_ki_hold,			nomod_zero);
    908      0     stevel 	WSTUB(doorfs, door_ki_rele,			nomod_zero);
    909      0     stevel 	WSTUB(doorfs, door_ki_info,			nomod_einval);
    910      0     stevel 	END_MODULE(doorfs);
    911   9160     Sherry #endif
    912   9160     Sherry 
    913   9160     Sherry /*
    914   9160     Sherry  * Stubs for MD5
    915   9160     Sherry  */
    916   9160     Sherry #ifndef MD5_MODULE
    917   9160     Sherry 	MODULE(md5,misc);
    918   9160     Sherry 	WSTUB(md5, MD5Init,		nomod_zero);
    919   9160     Sherry 	WSTUB(md5, MD5Update,		nomod_zero);
    920   9160     Sherry 	WSTUB(md5, MD5Final,		nomod_zero);
    921   9160     Sherry 	END_MODULE(md5);
    922   4520   nw141292 #endif
    923   4520   nw141292 
    924   4520   nw141292 /*
    925   4520   nw141292  * Stubs for idmap
    926   4520   nw141292  */
    927   4520   nw141292 #ifndef IDMAP_MODULE
    928   4520   nw141292 	MODULE(idmap,misc);
    929   5771   jp151216 	STUB(idmap, kidmap_batch_getgidbysid,	nomod_zero);
    930   5771   jp151216 	STUB(idmap, kidmap_batch_getpidbysid,	nomod_zero);
    931   5771   jp151216 	STUB(idmap, kidmap_batch_getsidbygid,	nomod_zero);
    932   5771   jp151216 	STUB(idmap, kidmap_batch_getsidbyuid,	nomod_zero);
    933   5771   jp151216 	STUB(idmap, kidmap_batch_getuidbysid,	nomod_zero);
    934   5771   jp151216 	STUB(idmap, kidmap_get_create,		nomod_zero);
    935   5771   jp151216 	STUB(idmap, kidmap_get_destroy,		nomod_zero);
    936   5771   jp151216 	STUB(idmap, kidmap_get_mappings,	nomod_zero);
    937   5771   jp151216 	STUB(idmap, kidmap_getgidbysid,		nomod_zero);
    938   5771   jp151216 	STUB(idmap, kidmap_getpidbysid,		nomod_zero);
    939   5771   jp151216 	STUB(idmap, kidmap_getsidbygid,		nomod_zero);
    940   5771   jp151216 	STUB(idmap, kidmap_getsidbyuid,		nomod_zero);
    941   5771   jp151216 	STUB(idmap, kidmap_getuidbysid,		nomod_zero);
    942   5771   jp151216 	STUB(idmap, idmap_get_door,		nomod_einval);
    943   5771   jp151216 	STUB(idmap, idmap_unreg_dh,		nomod_einval);
    944   5771   jp151216 	STUB(idmap, idmap_reg_dh,		nomod_einval);
    945   5771   jp151216 	STUB(idmap, idmap_purge_cache,		nomod_einval);
    946   4520   nw141292 	END_MODULE(idmap);
    947      0     stevel #endif
    948      0     stevel 
    949      0     stevel /*
    950      0     stevel  * Stubs for auditing.
    951      0     stevel  */
    952      0     stevel #ifndef C2AUDIT_MODULE
    953      0     stevel 	MODULE(c2audit,sys);
    954      0     stevel 	STUB(c2audit,  audit_init,			nomod_zero);
    955      0     stevel 	STUB(c2audit,  _auditsys,			nomod_zero);
    956      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_free,		nomod_zero);
    957      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_start, 		nomod_zero);
    958      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_finish,		nomod_zero);
    959      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_newproc,		nomod_zero);
    960      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_pfree,		nomod_zero);
    961      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_thread_free,	nomod_zero);
    962      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_thread_create,	nomod_zero);
    963      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_falloc,		nomod_zero);
    964      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_unfalloc,		nomod_zero);
    965      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_closef,		nomod_zero);
    966      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_copen,		nomod_zero);
    967      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_core_start,	nomod_zero);
    968      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_core_finish,	nomod_zero);
    969      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_stropen,		nomod_zero);
    970      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_strclose,		nomod_zero);
    971      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_strioctl,		nomod_zero);
    972      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_strputmsg,	nomod_zero);
    973      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_c2_revoke,	nomod_zero);
    974      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_savepath,		nomod_zero);
    975      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_anchorpath,	nomod_zero);
    976      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_addcomponent,	nomod_zero);
    977      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_exit,		nomod_zero);
    978      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_exec,		nomod_zero);
    979      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_symlink,		nomod_zero);
    980      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_symlink_create,	nomod_zero);
    981      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_vncreate_start,	nomod_zero);
    982      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_vncreate_finish,	nomod_zero);
    983      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_enterprom,	nomod_zero);
    984      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_exitprom,		nomod_zero);
    985      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_chdirec,		nomod_zero);
    986      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_getf,		nomod_zero);
    987      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_setf,		nomod_zero);
    988      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_sock,		nomod_zero);
    989      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_strgetmsg,	nomod_zero);
    990      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_ipc,		nomod_zero);
    991      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_ipcget,		nomod_zero);
    992      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_lookupname,	nomod_zero);
    993      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_pathcomp,		nomod_zero);
    994      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_fdsend,		nomod_zero);
    995      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_fdrecv,		nomod_zero);
    996      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_priv,		nomod_zero);
    997      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_setppriv,		nomod_zero);
    998      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_devpolicy,	nomod_zero);
    999      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_setfsat_path,	nomod_zero);
   1000      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_cryptoadm,	nomod_zero);
   1001      0     stevel 	NO_UNLOAD_STUB(c2audit, audit_update_context,	nomod_zero);
   1002    898       kais 	NO_UNLOAD_STUB(c2audit, audit_kssl,		nomod_zero);
   1003   4307    pwernau 	NO_UNLOAD_STUB(c2audit, audit_pf_policy,	nomod_zero);
   1004      0     stevel 	END_MODULE(c2audit);
   1005      0     stevel #endif
   1006      0     stevel 
   1007      0     stevel /*
   1008      0     stevel  * Stubs for kernel rpc security service module
   1009      0     stevel  */
   1010      0     stevel #ifndef RPCSEC_MODULE
   1011      0     stevel 	MODULE(rpcsec,misc);
   1012      0     stevel 	NO_UNLOAD_STUB(rpcsec, sec_clnt_revoke,		nomod_zero);
   1013      0     stevel 	NO_UNLOAD_STUB(rpcsec, authkern_create,		nomod_zero);
   1014      0     stevel 	NO_UNLOAD_STUB(rpcsec, sec_svc_msg,		nomod_zero);
   1015      0     stevel 	NO_UNLOAD_STUB(rpcsec, sec_svc_control,		nomod_zero);
   1016      0     stevel 	END_MODULE(rpcsec);
   1017      0     stevel #endif
   1018      0     stevel 
   1019      0     stevel /*
   1020      0     stevel  * Stubs for rpc RPCSEC_GSS security service module
   1021      0     stevel  */
   1022      0     stevel #ifndef RPCSEC_GSS_MODULE
   1023      0     stevel 	MODULE(rpcsec_gss,misc);
   1024      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, __svcrpcsec_gss,		nomod_zero);
   1025      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_getcred,		nomod_zero);
   1026      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_set_callback,	nomod_zero);
   1027      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_secget,		nomod_zero);
   1028      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_secfree,		nomod_zero);
   1029      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_seccreate,		nomod_zero);
   1030      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_set_defaults,	nomod_zero);
   1031      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_revauth,		nomod_zero);
   1032      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_secpurge,		nomod_zero);
   1033      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_cleanup,		nomod_zero);
   1034      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_get_versions,	nomod_zero);
   1035      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_max_data_length,	nomod_zero);
   1036      0     stevel 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_svc_max_data_length,	nomod_zero);
   1037   7387     Robert 	NO_UNLOAD_STUB(rpcsec_gss, rpc_gss_get_service_type,	nomod_zero);
   1038      0     stevel 	END_MODULE(rpcsec_gss);
   1039      0     stevel #endif
   1040      0     stevel 
   1041      0     stevel /*
   1042      0     stevel  * Stubs for PCI configurator module (misc/pcicfg).
   1043      0     stevel  */
   1044      0     stevel #ifndef PCICFG_MODULE
   1045      0     stevel 	MODULE(pcicfg,misc);
   1046      0     stevel 	STUB(pcicfg, pcicfg_configure, 0);
   1047      0     stevel 	STUB(pcicfg, pcicfg_unconfigure, 0);
   1048      0     stevel 	END_MODULE(pcicfg);
   1049      0     stevel #endif
   1050      0     stevel 
   1051    881     johnny /*
   1052  10923       Evan  * Stubs for pcieb nexus driver.
   1053    881     johnny  */
   1054  10923       Evan #ifndef PCIEB_MODULE
   1055  10923       Evan 	MODULE(pcieb,drv);
   1056  10923       Evan 	STUB(pcieb, pcieb_intel_error_workaround, 0);
   1057  10923       Evan 	END_MODULE(pcieb);
   1058    881     johnny #endif
   1059    881     johnny 
   1060      0     stevel #ifndef IWSCN_MODULE
   1061      0     stevel 	MODULE(iwscn,drv);
   1062      0     stevel 	STUB(iwscn, srpop, 0);
   1063      0     stevel 	END_MODULE(iwscn);
   1064      0     stevel #endif
   1065      0     stevel 
   1066      0     stevel /*
   1067      0     stevel  * Stubs for checkpoint-resume module
   1068      0     stevel  */
   1069      0     stevel #ifndef CPR_MODULE
   1070      0     stevel         MODULE(cpr,misc);
   1071      0     stevel         STUB(cpr, cpr, 0);
   1072      0     stevel         END_MODULE(cpr);
   1073      0     stevel #endif
   1074      0     stevel 
   1075      0     stevel /*
   1076      0     stevel  * Stubs for kernel probes (tnf module).  Not unloadable.
   1077      0     stevel  */
   1078      0     stevel #ifndef TNF_MODULE
   1079      0     stevel 	MODULE(tnf,drv);
   1080      0     stevel 	NO_UNLOAD_STUB(tnf, tnf_ref32_1,	nomod_zero);
   1081      0     stevel 	NO_UNLOAD_STUB(tnf, tnf_string_1,	nomod_zero);
   1082      0     stevel 	NO_UNLOAD_STUB(tnf, tnf_opaque_array_1,	nomod_zero);
   1083      0     stevel 	NO_UNLOAD_STUB(tnf, tnf_struct_tag_1,	nomod_zero);
   1084      0     stevel 	NO_UNLOAD_STUB(tnf, tnf_allocate,	nomod_zero);
   1085      0     stevel 	END_MODULE(tnf);
   1086      0     stevel #endif
   1087      0     stevel 
   1088      0     stevel /*
   1089   6318        edp  * Stubs for i86hvm bootstraping
   1090   6318        edp  */
   1091   6318        edp #ifndef HVM_BOOTSTRAP
   1092   6318        edp 	MODULE(hvm_bootstrap,misc);
   1093   6318        edp 	NO_UNLOAD_STUB(hvm_bootstrap, hvmboot_rootconf, nomod_zero);
   1094   6318        edp 	END_MODULE(hvm_bootstrap);
   1095   6318        edp #endif
   1096   6318        edp 
   1097   6318        edp /*
   1098      0     stevel  * Clustering: stubs for bootstrapping.
   1099      0     stevel  */
   1100      0     stevel #ifndef CL_BOOTSTRAP
   1101      0     stevel 	MODULE(cl_bootstrap,misc);
   1102      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clboot_modload, nomod_minus_one);
   1103      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clboot_loadrootmodules, nomod_zero);
   1104      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clboot_rootconf, nomod_zero);
   1105      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clboot_mountroot, nomod_zero);
   1106      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clconf_init, nomod_zero);
   1107      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clconf_get_nodeid, nomod_zero);
   1108      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, clconf_maximum_nodeid, nomod_zero);
   1109      0     stevel 	NO_UNLOAD_WSTUB(cl_bootstrap, cluster, nomod_zero);
   1110      0     stevel 	END_MODULE(cl_bootstrap);
   1111      0     stevel #endif
   1112      0     stevel 
   1113      0     stevel /*
   1114      0     stevel  * Clustering: stubs for cluster infrastructure.
   1115      0     stevel  */
   1116      0     stevel #ifndef CL_COMM_MODULE
   1117      0     stevel 	MODULE(cl_comm,misc);
   1118      0     stevel 	NO_UNLOAD_STUB(cl_comm, cladmin, nomod_minus_one);
   1119      0     stevel 	END_MODULE(cl_comm);
   1120      0     stevel #endif
   1121      0     stevel 
   1122      0     stevel /*
   1123      0     stevel  * Clustering: stubs for global file system operations.
   1124      0     stevel  */
   1125      0     stevel #ifndef PXFS_MODULE
   1126      0     stevel 	MODULE(pxfs,fs);
   1127      0     stevel 	NO_UNLOAD_WSTUB(pxfs, clpxfs_aio_read, nomod_zero);
   1128      0     stevel 	NO_UNLOAD_WSTUB(pxfs, clpxfs_aio_write, nomod_zero);
   1129      0     stevel 	NO_UNLOAD_WSTUB(pxfs, cl_flk_state_transition_notify, nomod_zero);
   1130      0     stevel 	END_MODULE(pxfs);
   1131      0     stevel #endif
   1132      0     stevel 
   1133      0     stevel /*
   1134      0     stevel  * Stubs for kernel cryptographic framework module (misc/kcf).
   1135      0     stevel  */
   1136      0     stevel #ifndef KCF_MODULE
   1137      0     stevel 	MODULE(kcf,misc);
   1138      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mech2id, nomod_minus_one);
   1139      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_register_provider, nomod_minus_one);
   1140      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_unregister_provider, nomod_minus_one);
   1141      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_provider_notification, nomod_minus_one);
   1142      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_op_notification, nomod_minus_one);
   1143      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_kmflag, nomod_minus_one);
   1144      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_digest, nomod_minus_one);
   1145    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_digest_prov, nomod_minus_one);
   1146      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_digest_init, nomod_minus_one);
   1147    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_digest_init_prov, nomod_minus_one);
   1148      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_digest_update, nomod_minus_one);
   1149      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_digest_final, nomod_minus_one);
   1150    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_digest_key_prov, nomod_minus_one);
   1151      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt, nomod_minus_one);
   1152    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_encrypt_prov, nomod_minus_one);
   1153      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_init, nomod_minus_one);
   1154    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_encrypt_init_prov, nomod_minus_one);
   1155      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_update, nomod_minus_one);
   1156      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_final, nomod_minus_one);
   1157      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_decrypt, nomod_minus_one);
   1158    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_decrypt_prov, nomod_minus_one);
   1159      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_decrypt_init, nomod_minus_one);
   1160    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_decrypt_init_prov, nomod_minus_one);
   1161      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_decrypt_update, nomod_minus_one);
   1162      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_decrypt_final, nomod_minus_one);
   1163      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_get_all_mech_info, nomod_minus_one);
   1164    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_check, nomod_minus_one);
   1165    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_check_prov, nomod_minus_one);
   1166    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_derive, nomod_minus_one);
   1167    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_generate, nomod_minus_one);
   1168    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_generate_pair, nomod_minus_one);
   1169    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_unwrap, nomod_minus_one);
   1170    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_key_wrap, nomod_minus_one);
   1171      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac, nomod_minus_one);
   1172    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_mac_prov, nomod_minus_one);
   1173      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_verify, nomod_minus_one);
   1174    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_mac_verify_prov, nomod_minus_one);
   1175      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_init, nomod_minus_one);
   1176    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_mac_init_prov, nomod_minus_one);
   1177      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_update, nomod_minus_one);
   1178      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_final, nomod_minus_one);
   1179      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_decrypt, nomod_minus_one);
   1180    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_mac_decrypt_prov, nomod_minus_one);
   1181      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_verify_decrypt, nomod_minus_one);
   1182    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_mac_verify_decrypt_prov, nomod_minus_one);
   1183      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_decrypt_init, nomod_minus_one);
   1184    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_mac_decrypt_init_prov, nomod_minus_one);
   1185      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_decrypt_update, nomod_minus_one);
   1186      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_mac_decrypt_final, nomod_minus_one);
   1187    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_copy, nomod_minus_one);
   1188    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_create, nomod_minus_one);
   1189    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_destroy, nomod_minus_one);
   1190    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_find_final, nomod_minus_one);
   1191    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_find_init, nomod_minus_one);
   1192    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_find, nomod_minus_one);
   1193    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_get_attribute_value, nomod_minus_one);
   1194    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_get_size, nomod_minus_one);
   1195    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_object_set_attribute_value, nomod_minus_one);
   1196    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_session_close, nomod_minus_one);
   1197    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_session_login, nomod_minus_one);
   1198    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_session_logout, nomod_minus_one);
   1199    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_session_open, nomod_minus_one);
   1200      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_mac, nomod_minus_one);
   1201    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_encrypt_mac_prov, nomod_minus_one);
   1202      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_mac_init, nomod_minus_one);
   1203    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_encrypt_mac_init_prov, nomod_minus_one);
   1204      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_mac_update, nomod_minus_one);
   1205      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_encrypt_mac_final, nomod_minus_one);
   1206      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_create_ctx_template, nomod_minus_one);
   1207      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_destroy_ctx_template, nomod_minus_one);
   1208      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_get_mech_list, nomod_minus_one);
   1209      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_free_mech_list, nomod_minus_one);
   1210      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_cancel_req, nomod_minus_one);
   1211      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_cancel_ctx, nomod_minus_one);
   1212      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_bufcall_alloc, nomod_minus_one);
   1213      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_bufcall_free, nomod_minus_one);
   1214      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_bufcall, nomod_minus_one);
   1215      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_unbufcall, nomod_minus_one);
   1216      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_notify_events, nomod_minus_one);
   1217      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_unnotify_events, nomod_minus_one);
   1218    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_get_provider, nomod_minus_one);
   1219   2800    krishna 	NO_UNLOAD_STUB(kcf, crypto_get_provinfo, nomod_minus_one);
   1220    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_release_provider, nomod_minus_one);
   1221      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_sign, nomod_minus_one);
   1222    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_sign_prov, nomod_minus_one);
   1223      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_sign_init, nomod_minus_one);
   1224    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_sign_init_prov, nomod_minus_one);
   1225      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_sign_update, nomod_minus_one);
   1226      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_sign_final, nomod_minus_one);
   1227      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_sign_recover, nomod_minus_one);
   1228    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_sign_recover_prov, nomod_minus_one);
   1229    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_sign_recover_init_prov, nomod_minus_one);
   1230      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_verify, nomod_minus_one);
   1231    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_verify_prov, nomod_minus_one);
   1232      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_verify_init, nomod_minus_one);
   1233    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_verify_init_prov, nomod_minus_one);
   1234      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_verify_update, nomod_minus_one);
   1235      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_verify_final, nomod_minus_one);
   1236      0     stevel 	NO_UNLOAD_STUB(kcf, crypto_verify_recover, nomod_minus_one);
   1237    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_verify_recover_prov, nomod_minus_one);
   1238    904   mcpowers 	NO_UNLOAD_STUB(kcf, crypto_verify_recover_init_prov, nomod_minus_one);
   1239      0     stevel 	NO_UNLOAD_STUB(kcf, random_add_entropy, nomod_minus_one);
   1240   8513   Vladimir 	NO_UNLOAD_STUB(kcf, random_add_pseudo_entropy, nomod_minus_one);
   1241      0     stevel 	NO_UNLOAD_STUB(kcf, random_get_bytes, nomod_minus_one);
   1242      0     stevel 	NO_UNLOAD_STUB(kcf, random_get_pseudo_bytes, nomod_minus_one);
   1243      0     stevel 	END_MODULE(kcf);
   1244      0     stevel #endif
   1245      0     stevel 
   1246      0     stevel /*
   1247      0     stevel  * Stubs for sha1. A non-unloadable module.
   1248      0     stevel  */
   1249      0     stevel #ifndef SHA1_MODULE
   1250      0     stevel 	MODULE(sha1,crypto);
   1251      0     stevel 	NO_UNLOAD_STUB(sha1, SHA1Init, nomod_void);
   1252      0     stevel 	NO_UNLOAD_STUB(sha1, SHA1Update, nomod_void);
   1253      0     stevel 	NO_UNLOAD_STUB(sha1, SHA1Final, nomod_void);
   1254      0     stevel 	END_MODULE(sha1);
   1255      0     stevel #endif
   1256      0     stevel 
   1257    269   ericheng /*
   1258    269   ericheng  * The following stubs are used by the mac module.
   1259   5895   yz147064  * Since dld already depends on mac, these
   1260   5895   yz147064  * stubs are needed to avoid circular dependencies.
   1261   5895   yz147064  */
   1262   5895   yz147064 #ifndef	DLD_MODULE
   1263   5895   yz147064 	MODULE(dld,drv);
   1264   5895   yz147064 	STUB(dld, dld_init_ops, nomod_void);
   1265   5895   yz147064 	STUB(dld, dld_fini_ops, nomod_void);
   1266  10654    Garrett 	STUB(dld, dld_devt_to_instance, nomod_minus_one);
   1267   5895   yz147064 	STUB(dld, dld_autopush, nomod_minus_one);
   1268   8275       Eric 	STUB(dld, dld_ioc_register, nomod_einval);
   1269   8275       Eric 	STUB(dld, dld_ioc_unregister, nomod_void);
   1270   5895   yz147064 	END_MODULE(dld);
   1271   5895   yz147064 #endif
   1272   5895   yz147064 
   1273   5895   yz147064 /*
   1274   5895   yz147064  * The following stubs are used by the mac module.
   1275   5895   yz147064  * Since dls already depends on mac, these
   1276    269   ericheng  * stubs are needed to avoid circular dependencies.
   1277    269   ericheng  */
   1278    269   ericheng #ifndef DLS_MODULE
   1279    269   ericheng 	MODULE(dls,misc);
   1280   5895   yz147064 	STUB(dls, dls_devnet_mac, nomod_zero);
   1281   5895   yz147064 	STUB(dls, dls_devnet_hold_tmp, nomod_einval);
   1282   5895   yz147064 	STUB(dls, dls_devnet_rele_tmp, nomod_void);
   1283   8275       Eric 	STUB(dls, dls_devnet_hold_link, nomod_einval);
   1284   8275       Eric 	STUB(dls, dls_devnet_rele_link, nomod_void);
   1285   6916      artem 	STUB(dls, dls_devnet_prop_task_wait, nomod_void);
   1286   5895   yz147064 	STUB(dls, dls_mgmt_get_linkid, nomod_einval);
   1287   8275       Eric 	STUB(dls, dls_devnet_macname2linkid, nomod_einval);
   1288   8275       Eric 	STUB(dls, dls_mgmt_get_linkinfo, nomod_einval);
   1289   5895   yz147064         END_MODULE(dls);
   1290    269   ericheng #endif
   1291    269   ericheng 
   1292   5895   yz147064 #ifndef	SOFTMAC_MODULE
   1293   5895   yz147064 	MODULE(softmac,drv);
   1294   5895   yz147064 	STUB(softmac, softmac_hold_device, nomod_einval);
   1295   5895   yz147064 	STUB(softmac, softmac_rele_device, nomod_void);
   1296   5895   yz147064 	STUB(softmac, softmac_recreate, nomod_void);
   1297   5895   yz147064 	END_MODULE(softmac);
   1298      0     stevel #endif
   1299      0     stevel 
   1300  10616  Sebastien #ifndef IPTUN_MODULE
   1301  10616  Sebastien 	MODULE(iptun,drv);
   1302  10616  Sebastien 	STUB(iptun, iptun_create, nomod_einval);
   1303  10616  Sebastien 	STUB(iptun, iptun_delete, nomod_einval);
   1304  10616  Sebastien 	STUB(iptun, iptun_set_policy, nomod_void) ;
   1305  10616  Sebastien 	END_MODULE(iptun);
   1306  10616  Sebastien #endif
   1307  10616  Sebastien 
   1308    898       kais /*
   1309    898       kais  * Stubs for kssl, the kernel SSL proxy
   1310    898       kais  */
   1311    898       kais #ifndef KSSL_MODULE
   1312    898       kais 	MODULE(kssl,drv);
   1313    898       kais 	NO_UNLOAD_STUB(kssl, kssl_check_proxy, nomod_zero);
   1314   5850   vk199839 	NO_UNLOAD_STUB(kssl, kssl_handle_mblk, nomod_zero);
   1315    898       kais 	NO_UNLOAD_STUB(kssl, kssl_input, nomod_zero);
   1316    898       kais 	NO_UNLOAD_STUB(kssl, kssl_build_record, nomod_zero);
   1317    898       kais 	NO_UNLOAD_STUB(kssl, kssl_hold_ent, nomod_void);
   1318    898       kais 	NO_UNLOAD_STUB(kssl, kssl_release_ent, nomod_void);
   1319    898       kais 	NO_UNLOAD_STUB(kssl, kssl_find_fallback, nomod_zero);
   1320    898       kais 	NO_UNLOAD_STUB(kssl, kssl_init_context, nomod_zero);
   1321    898       kais 	NO_UNLOAD_STUB(kssl, kssl_hold_ctx, nomod_void);
   1322    898       kais 	NO_UNLOAD_STUB(kssl, kssl_release_ctx, nomod_void);
   1323    898       kais 	END_MODULE(kssl);
   1324    898       kais #endif
   1325    898       kais 
   1326   6707     brutus /*
   1327   6707     brutus  * Stubs for dcopy, for Intel IOAT KAPIs
   1328   6707     brutus  */
   1329   6707     brutus #ifndef DCOPY_MODULE
   1330   6707     brutus 	MODULE(dcopy,misc);
   1331   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_query, nomod_minus_one);
   1332   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_query_channel, nomod_minus_one);
   1333   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_alloc, nomod_minus_one);
   1334   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_free, nomod_minus_one);
   1335   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_cmd_alloc, nomod_minus_one);
   1336   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_cmd_free, nomod_void);
   1337   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_cmd_post, nomod_minus_one);
   1338   6707     brutus 	NO_UNLOAD_STUB(dcopy, dcopy_cmd_poll, nomod_minus_one);
   1339   6707     brutus 	END_MODULE(dcopy);
   1340   6707     brutus #endif
   1341   6707     brutus 
   1342   8906       Eric /*
   1343   8906       Eric  * Stubs for acpica
   1344   8906       Eric  */
   1345   8906       Eric #ifndef ACPICA_MODULE
   1346   8906       Eric 	MODULE(acpica,misc);
   1347   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiOsReadPort, nomod_minus_one) ;
   1348   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiOsWritePort, nomod_minus_one) ;
   1349   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiInstallNotifyHandler, nomod_minus_one) ;
   1350   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiRemoveNotifyHandler, nomod_minus_one) ;
   1351   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiEvaluateObject, nomod_minus_one) ;
   1352   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiEvaluateObjectTyped, nomod_minus_one) ;
   1353   9980       Dana 	NO_UNLOAD_STUB(acpica, AcpiWriteBitRegister, nomod_minus_one) ;
   1354   9980       Dana 	NO_UNLOAD_STUB(acpica, AcpiReadBitRegister, nomod_minus_one) ;
   1355   8906       Eric 	NO_UNLOAD_STUB(acpica, AcpiOsFree, nomod_minus_one) ;
   1356   8906       Eric 	NO_UNLOAD_STUB(acpica, acpica_get_handle_cpu, nomod_minus_one) ;
   1357   8906       Eric 	NO_UNLOAD_STUB(acpica, acpica_get_global_FADT, nomod_minus_one) ;
   1358  10147       Mark 	NO_UNLOAD_STUB(acpica, acpica_write_cpupm_capabilities,
   1359  10147       Mark 	    nomod_minus_one)		       ;
   1360   8906       Eric 	NO_UNLOAD_STUB(acpica, __acpi_wbinvd, nomod_minus_one) ;
   1361  10457    Saurabh 	NO_UNLOAD_STUB(acpica, acpi_reset_system, nomod_minus_one) ;
   1362   8906       Eric 	END_MODULE(acpica);
   1363   8906       Eric #endif
   1364   8906       Eric 
   1365   8023       Phil #ifndef IPNET_MODULE
   1366   8023       Phil 	MODULE(ipnet,drv);
   1367   8023       Phil 	STUB(ipnet, ipnet_if_getdev, nomod_zero);
   1368   8023       Phil 	STUB(ipnet, ipnet_walk_if, nomod_zero);
   1369   8023       Phil 	END_MODULE(ipnet);
   1370   8023       Phil #endif
   1371   8023       Phil 
   1372   8249     Vikram #ifndef IOMMULIB_MODULE
   1373   8249     Vikram 	MODULE(iommulib,misc);
   1374   8249     Vikram 	STUB(iommulib, iommulib_nex_close, nomod_void);
   1375   8249     Vikram         END_MODULE(iommulib);
   1376   8249     Vikram #endif
   1377   8249     Vikram 
   1378   8348       Eric /*
   1379   8348       Eric  * Stubs for kernel socket, for iscsi
   1380   8348       Eric  */
   1381   8348       Eric #ifndef KSOCKET_MODULE
   1382   8348       Eric 	MODULE(ksocket, misc);
   1383   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_setsockopt, nomod_minus_one);
   1384   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_getsockopt, nomod_minus_one);
   1385   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_getpeername, nomod_minus_one);
   1386   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_getsockname, nomod_minus_one);
   1387   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_socket, nomod_minus_one);
   1388   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_bind, nomod_minus_one);
   1389   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_listen, nomod_minus_one);
   1390   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_accept, nomod_minus_one);
   1391   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_connect, nomod_minus_one);
   1392   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_recv, nomod_minus_one);
   1393   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_recvfrom, nomod_minus_one);
   1394   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_recvmsg, nomod_minus_one);
   1395   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_send, nomod_minus_one);
   1396   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_sendto, nomod_minus_one);
   1397   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_sendmsg, nomod_minus_one);
   1398   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_ioctl, nomod_minus_one);
   1399   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_setcallbacks, nomod_minus_one);
   1400   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_hold, nomod_minus_one);
   1401   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_rele, nomod_minus_one);
   1402   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_shutdown, nomod_minus_one);
   1403   8348       Eric 	NO_UNLOAD_STUB(ksocket, ksocket_close, nomod_minus_one);
   1404   8348       Eric 	END_MODULE(ksocket);
   1405   8348       Eric #endif
   1406   8348       Eric 
   1407      0     stevel / this is just a marker for the area of text that contains stubs
   1408      0     stevel 
   1409      0     stevel 	ENTRY_NP(stubs_end)
   1410      0     stevel 	nop
   1411      0     stevel 
   1412      0     stevel #endif	/* lint */
   1413