Commit Graph

303 Commits

Author SHA1 Message Date
cube 43a2c97ad2 Include pcidevs.h, because in a real driver, you'd need it. 2004-07-06 12:21:55 +00:00
cube f584691eb3 Hands are not good at pasting stuff. 2004-07-06 12:15:58 +00:00
cube f04e188b92 Add prototype for the forged <module>_lkmentry function. Pointed out by
rtr@.
2004-07-06 12:10:13 +00:00
skrll c561286bf0 wizd missed one! 2004-07-02 13:42:06 +00:00
wiz 711c55c92c Drop trailing whitespace; fix Dd argument; use standard section headers;
sort SEE ALSO; use \*[Lt]\*[Gt] instead of <>; empty lines are fine in
.Bd/.Ed.
2004-07-02 13:38:14 +00:00
wiz 07b563fdee Fix typo. 2004-07-02 13:33:39 +00:00
cube 4791863f66 Add 'pcilkm' module.
It is a layer to make it possible to have loadable PCI device drivers.

First you load (with symbols) the pcilkm module, then you can load PCI
drivers that have been compiled to work with pcilkm.

Two examples are provided.  'pcienum', the first one, is a simple
demonstration of how to use pcilkm:  it is the basic skeleton of a PCI
driver, and will attach at load time to all PCI devices known to the
system.

The second example 'auich' demonstrates how simple it is to use an
existing driver as a LKM.  It simply includes the code for auich(4) and
then adds the necessary pcilkm logic.  However there are some drawbacks
that are described in the README file.
2004-07-02 13:26:40 +00:00
itojun fbbd2967d1 forgot to "cvs add". noted by Havard 2004-06-30 09:51:43 +00:00
tron 0e42006ea8 Build pf(4) lkm. 2004-06-30 09:21:26 +00:00
jmc 3b3bf466dc Don't build the pf lkm. It's missing entire files at the moment. Re-enable
once it compiles
2004-06-30 03:21:10 +00:00
jmc 7e941f7f6b Add a missing NetBSD tag 2004-06-30 02:55:15 +00:00
itojun 0407dd42ae make PF lkm working. from Peter Postma and Joel Wilsson.
remove pf_ioctl_head/pf_newif_head, which was never used.
2004-06-29 04:42:54 +00:00
christos e287801e16 make this compile and fix error handling (does not load yet). 2004-06-22 18:04:05 +00:00
itojun 7ef0131ac7 PF LKM - not working (ld dumps core) because of the lack of my LKM knowledge.
committed to ask help from LKM guru.
reviewed by matt, christos, perry
2004-06-22 14:18:58 +00:00
mhitch 4c9aff16f0 Addition of header files for sysctl set function prototypes referenced
structs defined in other header files.  Gcc 2.95 on vax doesn't like this.
Add appropriate header files to fix vax compile failures.
2004-05-25 01:36:37 +00:00
atatat 10a7ba9ef6 Tweak sysctl setup functions (the macros, actually) for use in lkms,
and tweak lkminit_*.c (where applicable) to call them, and to call
sysctl_teardown() when being unloaded.

This consists of (1) making setup functions not be static when being
compiled as lkms (change to sys/sysctl.h), (2) making prototypes
visible for the various setup functions in header files (changes to
various header files), and (3) making simple "load" and "unload"
functions in the actual lkminit stuff.

linux_sysctl.c also needs its root exposed (ie, made not static) for
this (when built as an lkm).
2004-05-20 06:34:24 +00:00
cube a1ec763832 It's not safe to save the sysctlnode pointer returned by sysctl_createv.
It should only be used by the calling function to create further nodes
in the same function, and of course to save the MIB number, which is what
is done now.
Correct a stupid bug in the ethernet address parsing code. <ashamed face>
2004-05-13 07:20:47 +00:00
cube aea96fa075 Add a sample utilization of Andrew Brown's sysctl framework. See comments
in the code for more details.
Give copyright to TNF.
2004-05-12 13:51:16 +00:00
martti 6cb8b4cb48 Set PATH and use ip_fil_netbsd.c 2004-03-28 09:37:14 +00:00
martti 24d567d60d Upgraded IPFilter to 4.1.1 2004-03-28 09:00:53 +00:00
mrg a698ba9223 allow the number of vnd's created to be patchable... 2004-03-21 10:51:16 +00:00
atatat 0275942afd Alphabetize... 2004-01-20 04:55:46 +00:00
matt 4ff8ae6cfa Enhance the scripts to not use trampolines for symbols which are internal
to the module.
2004-01-16 00:35:48 +00:00
simonb c1d14e3852 Try to spell "NetBSD" correctly... 2003-12-30 07:08:08 +00:00
atatat fb4d990f63 Fix example lkms. The misc/example one was never converted to the new
lkm stuff, and syscall/example was never told that we use lwp now, and
not proc.
2003-12-30 06:53:26 +00:00
cube 8db032b396 Add ethfoo LKM example. It implements a cloning interface for fake
Ethernet devices that can be assigned an Ethernet address using the
included setaddr utility.
2003-11-24 21:58:45 +00:00
scw 7f80949f0d Use the same trick as powerpc to resolve the 24-bit pc-relative
branch limitation.
2003-11-04 14:50:27 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
christos cd026bf62c Sprinkle more COMPAT_NETBSD32 for good cheer. 2003-10-16 16:06:43 +00:00
christos b51967d220 add -DCOMPAT_NETBSD32 so that it builds. 2003-10-16 15:59:01 +00:00
christos 74e287ff04 Add more compat options until this builds. 2003-10-16 15:57:12 +00:00
lukem 9c437ec754 Change `LNFILES' to `BUILDSYMLINKS', to more accurately describe its purpose.
Per discussion with Simon Gerraty.
2003-09-20 06:20:41 +00:00
christos 86226ab757 fix for non-objdir build. reported by tron. 2003-09-13 22:25:47 +00:00
christos d91e004306 add missing path. 2003-09-12 16:29:09 +00:00
tron d08125d839 Wrap overlong lines, fix indentation. 2003-09-12 14:06:48 +00:00
christos e4ce502bf6 give this Makefile a chance to work, by eliminating unneeded complexity. 2003-09-12 13:05:28 +00:00
christos b3fcf8836e newed -DCOMPAT_IBCS2 now. 2003-09-12 13:01:57 +00:00
christos 654fd674fb add the SYSV compat flags needed. 2003-09-12 02:08:35 +00:00
itojun 8ca90bd4e4 add /kern/ipsecsa and /kern/ipsecsp, which can be inspected by setkey(8).
it allows easier access to ipsecsa/sp.  it works around problem where
setkey -D does not work with large number of ipsec SAs due to socket buffer
size.
2003-09-08 06:51:53 +00:00
tron fadd4495f2 Adding "${.CURDIR}/../coda" to the path causes build failures if object
files exist in that directory. Simply creating a symbolic link to the file
"${.CURDIR}/../coda/lkminit_vfs.c" via "LNFILES" fixes that problem.
2003-09-07 12:25:54 +00:00
jdolecek f7394f424e switch over to DISPATCH(), it calls the 'load' entry point in right
order now
2003-09-06 13:34:56 +00:00
jdolecek c8390a7dbc simplify struct sysent handling a bit more; store old sysents before
overwriting them with LFS syscalls, and restore to original contents
on module unload
2003-09-06 13:30:50 +00:00
jdolecek f67c969fe0 ANSIfy 2003-09-06 13:20:41 +00:00
jdolecek d21da2d8e2 switch to DISPATCH() - it now calls the 'load' routine in order we want here
while here, simplify struct sysent handling a bit, fixing setting of sy_flags
2003-09-06 13:16:17 +00:00
jdolecek ffac54bf71 convert over to standard LKM macros; done by defining the VFS
and DEV parts in separate functions, and calling those dispatch
functions from coda_lkmentry()
2003-09-06 10:56:37 +00:00
jdolecek 67d5719f24 ANSIfy 2003-09-06 08:45:18 +00:00
jdolecek 07fce822f1 share lkminit_vfs.c with coda module 2003-09-06 08:40:42 +00:00
lukem 7237dbc136 missing rcsid 2003-09-04 07:51:21 +00:00
lukem f7fe23abb3 use LNFILES to simplify creation of symlinks in .OBJDIR for builds 2003-09-04 07:18:01 +00:00
drochner ffad96d540 add coda5, sort 2003-09-02 17:15:46 +00:00