1993-08-21 22:24:24 +00:00
|
|
|
# This file tells config what files go into building a kernel,
|
|
|
|
# files marked standard are always included.
|
1993-06-12 14:58:17 +00:00
|
|
|
#
|
1999-08-28 01:08:13 +00:00
|
|
|
# $FreeBSD$
|
Mega-commit for Linux emulator update.. This has been stress tested under
netscape-2.0 for Linux running all the Java stuff. The scrollbars are now
working, at least on my machine. (whew! :-)
I'm uncomfortable with the size of this commit, but it's too
inter-dependant to easily seperate out.
The main changes:
COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386
machine dependent section into the linux emulator itself. The int 0x80
syscall code was almost identical to the lcall 7,0 code and a minor tweak
allows them to both be used with the same C code. All kernels can now
just modload the lkm and it'll DTRT without having to rebuild the kernel
first. Like IBCS2, you can statically compile it in with "options LINUX".
A pile of new syscalls implemented, including getdents(), llseek(),
readv(), writev(), msync(), personality(). The Linux-ELF libraries want
to use some of these.
linux_select() now obeys Linux semantics, ie: returns the time remaining
of the timeout value rather than leaving it the original value.
Quite a few bugs removed, including incorrect arguments being used in
syscalls.. eg: mixups between passing the sigset as an int, vs passing
it as a pointer and doing a copyin(), missing return values, unhandled
cases, SIOC* ioctls, etc.
The build for the code has changed. i386/conf/files now knows how
to build linux_genassym and generate linux_assym.h on the fly.
Supporting changes elsewhere in the kernel:
The user-mode signal trampoline has moved from the U area to immediately
below the top of the stack (below PS_STRINGS). This allows the different
binary emulations to have their own signal trampoline code (which gets rid
of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so
that the emulator can provide the exact "struct sigcontext *" argument to
the program's signal handlers.
The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which
have the same values as the re-used SA_DISABLE and SA_ONSTACK which are
intended for sigaction only. This enables the support of a SA_RESETHAND
flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal
semantics where the signal handler is reset when it's triggered.
makesyscalls.sh no longer appends the struct sysentvec on the end of the
generated init_sysent.c code. It's a lot saner to have it in a seperate
file rather than trying to update the structure inside the awk script. :-)
At exec time, the dozen bytes or so of signal trampoline code are copied
to the top of the user's stack, rather than obtaining the trampoline code
the old way by getting a clone of the parent's user area. This allows
Linux and native binaries to freely exec each other without getting
trampolines mixed up.
1996-03-02 19:38:20 +00:00
|
|
|
#
|
1997-06-01 20:25:55 +00:00
|
|
|
# The long compile-with and dependency lines are required because of
|
|
|
|
# limitations in config: backslash-newline doesn't work in strings, and
|
|
|
|
# dependency lines other than the first are silently ignored.
|
|
|
|
#
|
2000-08-22 05:01:08 +00:00
|
|
|
linux_genassym.o optional compat_linux \
|
|
|
|
dependency "$S/i386/linux/linux_genassym.c" \
|
2002-01-11 07:52:02 +00:00
|
|
|
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
2000-08-22 05:01:08 +00:00
|
|
|
no-obj no-implicit-rule \
|
1999-12-23 21:52:17 +00:00
|
|
|
clean "linux_genassym.o"
|
Mega-commit for Linux emulator update.. This has been stress tested under
netscape-2.0 for Linux running all the Java stuff. The scrollbars are now
working, at least on my machine. (whew! :-)
I'm uncomfortable with the size of this commit, but it's too
inter-dependant to easily seperate out.
The main changes:
COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386
machine dependent section into the linux emulator itself. The int 0x80
syscall code was almost identical to the lcall 7,0 code and a minor tweak
allows them to both be used with the same C code. All kernels can now
just modload the lkm and it'll DTRT without having to rebuild the kernel
first. Like IBCS2, you can statically compile it in with "options LINUX".
A pile of new syscalls implemented, including getdents(), llseek(),
readv(), writev(), msync(), personality(). The Linux-ELF libraries want
to use some of these.
linux_select() now obeys Linux semantics, ie: returns the time remaining
of the timeout value rather than leaving it the original value.
Quite a few bugs removed, including incorrect arguments being used in
syscalls.. eg: mixups between passing the sigset as an int, vs passing
it as a pointer and doing a copyin(), missing return values, unhandled
cases, SIOC* ioctls, etc.
The build for the code has changed. i386/conf/files now knows how
to build linux_genassym and generate linux_assym.h on the fly.
Supporting changes elsewhere in the kernel:
The user-mode signal trampoline has moved from the U area to immediately
below the top of the stack (below PS_STRINGS). This allows the different
binary emulations to have their own signal trampoline code (which gets rid
of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so
that the emulator can provide the exact "struct sigcontext *" argument to
the program's signal handlers.
The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which
have the same values as the re-used SA_DISABLE and SA_ONSTACK which are
intended for sigaction only. This enables the support of a SA_RESETHAND
flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal
semantics where the signal handler is reset when it's triggered.
makesyscalls.sh no longer appends the struct sysentvec on the end of the
generated init_sysent.c code. It's a lot saner to have it in a seperate
file rather than trying to update the structure inside the awk script. :-)
At exec time, the dozen bytes or so of signal trampoline code are copied
to the top of the user's stack, rather than obtaining the trampoline code
the old way by getting a clone of the parent's user area. This allows
Linux and native binaries to freely exec each other without getting
trampolines mixed up.
1996-03-02 19:38:20 +00:00
|
|
|
#
|
2000-08-22 05:01:08 +00:00
|
|
|
linux_assym.h optional compat_linux \
|
|
|
|
dependency "$S/kern/genassym.sh linux_genassym.o" \
|
2000-06-02 09:27:48 +00:00
|
|
|
compile-with "sh $S/kern/genassym.sh linux_genassym.o > ${.TARGET}" \
|
2000-08-22 05:01:08 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
Mega-commit for Linux emulator update.. This has been stress tested under
netscape-2.0 for Linux running all the Java stuff. The scrollbars are now
working, at least on my machine. (whew! :-)
I'm uncomfortable with the size of this commit, but it's too
inter-dependant to easily seperate out.
The main changes:
COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386
machine dependent section into the linux emulator itself. The int 0x80
syscall code was almost identical to the lcall 7,0 code and a minor tweak
allows them to both be used with the same C code. All kernels can now
just modload the lkm and it'll DTRT without having to rebuild the kernel
first. Like IBCS2, you can statically compile it in with "options LINUX".
A pile of new syscalls implemented, including getdents(), llseek(),
readv(), writev(), msync(), personality(). The Linux-ELF libraries want
to use some of these.
linux_select() now obeys Linux semantics, ie: returns the time remaining
of the timeout value rather than leaving it the original value.
Quite a few bugs removed, including incorrect arguments being used in
syscalls.. eg: mixups between passing the sigset as an int, vs passing
it as a pointer and doing a copyin(), missing return values, unhandled
cases, SIOC* ioctls, etc.
The build for the code has changed. i386/conf/files now knows how
to build linux_genassym and generate linux_assym.h on the fly.
Supporting changes elsewhere in the kernel:
The user-mode signal trampoline has moved from the U area to immediately
below the top of the stack (below PS_STRINGS). This allows the different
binary emulations to have their own signal trampoline code (which gets rid
of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so
that the emulator can provide the exact "struct sigcontext *" argument to
the program's signal handlers.
The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which
have the same values as the re-used SA_DISABLE and SA_ONSTACK which are
intended for sigaction only. This enables the support of a SA_RESETHAND
flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal
semantics where the signal handler is reset when it's triggered.
makesyscalls.sh no longer appends the struct sysentvec on the end of the
generated init_sysent.c code. It's a lot saner to have it in a seperate
file rather than trying to update the structure inside the awk script. :-)
At exec time, the dozen bytes or so of signal trampoline code are copied
to the top of the user's stack, rather than obtaining the trampoline code
the old way by getting a clone of the parent's user area. This allows
Linux and native binaries to freely exec each other without getting
trampolines mixed up.
1996-03-02 19:38:20 +00:00
|
|
|
clean "linux_assym.h"
|
|
|
|
#
|
2000-08-22 05:01:08 +00:00
|
|
|
svr4_genassym.o optional compat_svr4 \
|
|
|
|
dependency "$S/i386/svr4/svr4_genassym.c" \
|
2002-01-11 07:52:02 +00:00
|
|
|
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
2000-08-22 05:01:08 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "svr4_genassym.o"
|
|
|
|
#
|
|
|
|
svr4_assym.h optional compat_svr4 \
|
|
|
|
dependency "$S/kern/genassym.sh svr4_genassym.o" \
|
2000-06-02 09:27:48 +00:00
|
|
|
compile-with "sh $S/kern/genassym.sh svr4_genassym.o > ${.TARGET}" \
|
2000-08-22 05:01:08 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
1999-12-08 12:13:13 +00:00
|
|
|
clean "svr4_assym.h"
|
|
|
|
#
|
The second phase of syscons reorganization.
- Split syscons source code into manageable chunks and reorganize
some of complicated functions.
- Many static variables are moved to the softc structure.
- Added a new key function, PREV. When this key is pressed, the vty
immediately before the current vty will become foreground. Analogue
to PREV, which is usually assigned to the PrntScrn key.
PR: kern/10113
Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
- Modified the kernel console input function sccngetc() so that it
handles function keys properly.
- Reorganized the screen update routine.
- VT switching code is reorganized. It now should be slightly more
robust than before.
- Added the DEVICE_RESUME function so that syscons no longer hooks the
APM resume event directly.
- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING,
SC_NO_HISTORY and SC_NO_SYSMOUSE.
Various parts of syscons can be omitted so that the kernel size is
reduced.
SC_PIXEL_MODE
Made the VESA 800x600 mode an option, rather than a standard part of
syscons.
SC_DISABLE_DDBKEY
Disables the `debug' key combination.
SC_ALT_MOUSE_IMAGE
Inverse the character cell at the mouse cursor position in the text
console, rather than drawing an arrow on the screen.
Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)
SC_DFLT_FONT
makeoptions "SC_DFLT_FONT=_font_name_"
Include the named font as the default font of syscons. 16-line,
14-line and 8-line font data will be compiled in. This option replaces
the existing STD8X16FONT option, which loads 16-line font data only.
- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.
- The video driver provides a set of ioctl commands to manipulate the
frame buffer.
- New kernel configuration option: VGA_WIDTH90
Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. These
modes are mot always supported by the video card.
PR: i386/7510
Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.
- The header file machine/console.h is reorganized; its contents is now
split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h
(another new file). machine/console.h is still maintained for
compatibility reasons.
- Kernel console selection/installation routines are fixed and
slightly rebumped so that it should now be possible to switch between
the interanl kernel console (sc or vt) and a remote kernel console
(sio) again, as it was in 2.x, 3.0 and 3.1.
- Screen savers and splash screen decoders
Because of the header file reorganization described above, screen
savers and splash screen decoders are slightly modified. After this
update, /sys/modules/syscons/saver.h is no longer necessary and is
removed.
1999-06-22 14:14:06 +00:00
|
|
|
font.h optional sc_dflt_font \
|
2000-08-22 05:01:08 +00:00
|
|
|
compile-with "uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'static u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'static u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < /usr/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'static u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
|
The second phase of syscons reorganization.
- Split syscons source code into manageable chunks and reorganize
some of complicated functions.
- Many static variables are moved to the softc structure.
- Added a new key function, PREV. When this key is pressed, the vty
immediately before the current vty will become foreground. Analogue
to PREV, which is usually assigned to the PrntScrn key.
PR: kern/10113
Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
- Modified the kernel console input function sccngetc() so that it
handles function keys properly.
- Reorganized the screen update routine.
- VT switching code is reorganized. It now should be slightly more
robust than before.
- Added the DEVICE_RESUME function so that syscons no longer hooks the
APM resume event directly.
- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING,
SC_NO_HISTORY and SC_NO_SYSMOUSE.
Various parts of syscons can be omitted so that the kernel size is
reduced.
SC_PIXEL_MODE
Made the VESA 800x600 mode an option, rather than a standard part of
syscons.
SC_DISABLE_DDBKEY
Disables the `debug' key combination.
SC_ALT_MOUSE_IMAGE
Inverse the character cell at the mouse cursor position in the text
console, rather than drawing an arrow on the screen.
Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)
SC_DFLT_FONT
makeoptions "SC_DFLT_FONT=_font_name_"
Include the named font as the default font of syscons. 16-line,
14-line and 8-line font data will be compiled in. This option replaces
the existing STD8X16FONT option, which loads 16-line font data only.
- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.
- The video driver provides a set of ioctl commands to manipulate the
frame buffer.
- New kernel configuration option: VGA_WIDTH90
Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. These
modes are mot always supported by the video card.
PR: i386/7510
Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.
- The header file machine/console.h is reorganized; its contents is now
split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h
(another new file). machine/console.h is still maintained for
compatibility reasons.
- Kernel console selection/installation routines are fixed and
slightly rebumped so that it should now be possible to switch between
the interanl kernel console (sc or vt) and a remote kernel console
(sio) again, as it was in 2.x, 3.0 and 3.1.
- Screen savers and splash screen decoders
Because of the header file reorganization described above, screen
savers and splash screen decoders are slightly modified. After this
update, /sys/modules/syscons/saver.h is no longer necessary and is
removed.
1999-06-22 14:14:06 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
2000-03-23 15:42:24 +00:00
|
|
|
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
|
1997-07-25 11:53:30 +00:00
|
|
|
#
|
Keyboard driver update in preparation for the USB keyboard driver.
- Refined internal interface in keyboard drivers so that:
1. the side effect of device probe is kept minimal,
2. polling mode function is added,
3. and new ioctl and configuration options are added (see below).
- Added new ioctl: KDSETREPEAT
Set keyboard typematic rate. There has existed an ioctl command,
KDSETRAD, for the same purpose. However, KDSETRAD is dependent on
the AT keyboard. KDSETREPEAT provides more generic interface.
KDSETRAD will still be supported in the atkbd driver.
- Added new configuration options:
ATKBD_DFLT_KEYMAP
Specify a keymap to be used as the default, built-in keymap.
(There has been undocumented options, DKKEYMAP, UKKEYMAP, GRKEYMAP,
SWKEYMAP, RUKEYMAP, ESKEYMAP, and ISKEYMAP to set the default keymap.
These options are now gone for good. The new option is more general.)
KBD_DISABLE_KEYMAP_LOADING
Don't allow the user to change the keymap.
1999-03-10 10:36:53 +00:00
|
|
|
atkbdmap.h optional atkbd_dflt_keymap \
|
2000-08-22 05:01:08 +00:00
|
|
|
compile-with "/usr/sbin/kbdcontrol -L ${ATKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > atkbdmap.h" \
|
Keyboard driver update in preparation for the USB keyboard driver.
- Refined internal interface in keyboard drivers so that:
1. the side effect of device probe is kept minimal,
2. polling mode function is added,
3. and new ioctl and configuration options are added (see below).
- Added new ioctl: KDSETREPEAT
Set keyboard typematic rate. There has existed an ioctl command,
KDSETRAD, for the same purpose. However, KDSETRAD is dependent on
the AT keyboard. KDSETREPEAT provides more generic interface.
KDSETRAD will still be supported in the atkbd driver.
- Added new configuration options:
ATKBD_DFLT_KEYMAP
Specify a keymap to be used as the default, built-in keymap.
(There has been undocumented options, DKKEYMAP, UKKEYMAP, GRKEYMAP,
SWKEYMAP, RUKEYMAP, ESKEYMAP, and ISKEYMAP to set the default keymap.
These options are now gone for good. The new option is more general.)
KBD_DISABLE_KEYMAP_LOADING
Don't allow the user to change the keymap.
1999-03-10 10:36:53 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "atkbdmap.h"
|
|
|
|
#
|
|
|
|
ukbdmap.h optional ukbd_dflt_keymap \
|
2000-08-22 05:01:08 +00:00
|
|
|
compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \
|
Keyboard driver update in preparation for the USB keyboard driver.
- Refined internal interface in keyboard drivers so that:
1. the side effect of device probe is kept minimal,
2. polling mode function is added,
3. and new ioctl and configuration options are added (see below).
- Added new ioctl: KDSETREPEAT
Set keyboard typematic rate. There has existed an ioctl command,
KDSETRAD, for the same purpose. However, KDSETRAD is dependent on
the AT keyboard. KDSETREPEAT provides more generic interface.
KDSETRAD will still be supported in the atkbd driver.
- Added new configuration options:
ATKBD_DFLT_KEYMAP
Specify a keymap to be used as the default, built-in keymap.
(There has been undocumented options, DKKEYMAP, UKKEYMAP, GRKEYMAP,
SWKEYMAP, RUKEYMAP, ESKEYMAP, and ISKEYMAP to set the default keymap.
These options are now gone for good. The new option is more general.)
KBD_DISABLE_KEYMAP_LOADING
Don't allow the user to change the keymap.
1999-03-10 10:36:53 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "ukbdmap.h"
|
|
|
|
#
|
1999-07-03 19:19:34 +00:00
|
|
|
trlld.o optional oltr \
|
2002-03-25 03:27:09 +00:00
|
|
|
dependency "$S/contrib/dev/oltr/i386-elf.trlld.o.uu" \
|
|
|
|
compile-with "uudecode < $S/contrib/dev/oltr/i386-elf.trlld.o.uu" \
|
1999-06-29 16:14:20 +00:00
|
|
|
no-implicit-rule
|
2000-08-22 05:01:08 +00:00
|
|
|
#
|
2003-06-25 14:51:20 +00:00
|
|
|
hal.o optional ath_hal \
|
2004-12-08 18:20:53 +00:00
|
|
|
dependency "$S/contrib/dev/ath/public/i386-elf.hal.o.uu" \
|
|
|
|
compile-with "uudecode < $S/contrib/dev/ath/public/i386-elf.hal.o.uu" \
|
2003-06-25 14:51:20 +00:00
|
|
|
no-implicit-rule
|
2004-12-08 18:20:53 +00:00
|
|
|
opt_ah.h optional ath_hal \
|
|
|
|
dependency "$S/contrib/dev/ath/public/i386-elf.opt_ah.h" \
|
|
|
|
compile-with "cp $S/contrib/dev/ath/public/i386-elf.opt_ah.h opt_ah.h" \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "opt_ah.h"
|
2003-06-25 14:51:20 +00:00
|
|
|
#
|
2005-03-12 00:29:30 +00:00
|
|
|
nvenetlib.o optional nve pci \
|
|
|
|
dependency "$S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu" \
|
|
|
|
compile-with "uudecode $S/contrib/dev/nve/i386/nvenetlib.o.bz2.uu ; bzip2 -df nvenetlib.o.bz2" \
|
|
|
|
no-implicit-rule
|
|
|
|
#
|
|
|
|
os+%DIKED-nve.h optional nve pci \
|
|
|
|
dependency "$S/contrib/dev/nve/os.h" \
|
|
|
|
compile-with "sed -e 's/^.*#include.*phy\.h.*$$//' $S/contrib/dev/nve/os.h > os+%DIKED-nve.h" \
|
2005-04-22 19:55:52 +00:00
|
|
|
no-implicit-rule no-obj before-depend \
|
|
|
|
clean "os+%DIKED-nve.h"
|
2005-03-12 00:29:30 +00:00
|
|
|
#
|
2004-10-24 08:53:40 +00:00
|
|
|
hptmvraid.o optional hptmv \
|
2005-03-02 05:14:28 +00:00
|
|
|
dependency "$S/dev/hptmv/i386-elf.raid.o.uu" \
|
|
|
|
compile-with "uudecode < $S/dev/hptmv/i386-elf.raid.o.uu" \
|
2004-10-24 08:53:40 +00:00
|
|
|
no-implicit-rule
|
|
|
|
#
|
2003-06-25 14:51:20 +00:00
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
compat/linux/linux_file.c optional compat_linux
|
|
|
|
compat/linux/linux_getcwd.c optional compat_linux
|
|
|
|
compat/linux/linux_ioctl.c optional compat_linux
|
|
|
|
compat/linux/linux_ipc.c optional compat_linux
|
|
|
|
compat/linux/linux_mib.c optional compat_linux
|
|
|
|
compat/linux/linux_misc.c optional compat_linux
|
|
|
|
compat/linux/linux_signal.c optional compat_linux
|
|
|
|
compat/linux/linux_socket.c optional compat_linux
|
|
|
|
compat/linux/linux_stats.c optional compat_linux
|
|
|
|
compat/linux/linux_sysctl.c optional compat_linux
|
|
|
|
compat/linux/linux_uid16.c optional compat_linux
|
|
|
|
compat/linux/linux_util.c optional compat_linux
|
|
|
|
compat/ndis/kern_ndis.c optional ndisapi pci
|
Next step on the road to IRPs: create and use an imitation of the
Windows DRIVER_OBJECT and DEVICE_OBJECT mechanism so that we can
simulate driver stacking.
In Windows, each loaded driver image is attached to a DRIVER_OBJECT
structure. Windows uses the registry to match up a given vendor/device
ID combination with a corresponding DRIVER_OBJECT. When a driver image
is first loaded, its DriverEntry() routine is invoked, which sets up
the AddDevice() function pointer in the DRIVER_OBJECT and creates
a dispatch table (based on IRP major codes). When a Windows bus driver
detects a new device, it creates a Physical Device Object (PDO) for
it. This is a DEVICE_OBJECT structure, with semantics analagous to
that of a device_t in FreeBSD. The Windows PNP manager will invoke
the driver's AddDevice() function and pass it pointers to the DRIVER_OBJECT
and the PDO.
The AddDevice() function then creates a new DRIVER_OBJECT structure of
its own. This is known as the Functional Device Object (FDO) and
corresponds roughly to a private softc instance. The driver uses
IoAttachDeviceToDeviceStack() to add this device object to the
driver stack for this PDO. Subsequent drivers (called filter drivers
in Windows-speak) can be loaded which add themselves to the stack.
When someone issues an IRP to a device, it travel along the stack
passing through several possible filter drivers until it reaches
the functional driver (which actually knows how to talk to the hardware)
at which point it will be completed. This is how Windows achieves
driver layering.
Project Evil now simulates most of this. if_ndis now has a modevent
handler which will use MOD_LOAD and MOD_UNLOAD events to drive the
creation and destruction of DRIVER_OBJECTs. (The load event also
does the relocation/dynalinking of the image.) We don't have a registry,
so the DRIVER_OBJECTS are stored in a linked list for now. Eventually,
the list entry will contain the vendor/device ID list extracted from
the .INF file. When ndis_probe() is called and detectes a supported
device, it will create a PDO for the device instance and attach it
to the DRIVER_OBJECT just as in Windows. ndis_attach() will then call
our NdisAddDevice() handler to create the FDO. The NDIS miniport block
is now a device extension hung off the FDO, just as it is in Windows.
The miniport characteristics table is now an extension hung off the
DRIVER_OBJECT as well (the characteristics are the same for all devices
handled by a given driver, so they don't need to be per-instance.)
We also do an IoAttachDeviceToDeviceStack() to put the FDO on the
stack for the PDO. There are a couple of fake bus drivers created
for the PCI and pccard buses. Eventually, there will be one for USB,
which will actually accept USB IRP.s
Things should still work just as before, only now we do things in
the proper order and maintain the correct framework to support passing
IRPs between drivers.
Various changes:
- corrected the comments about IRQL handling in subr_hal.c to more
accurately reflect reality
- update ndiscvt to make the drv_data symbol in ndis_driver_data.h a
global so that if_ndis_pci.o and/or if_ndis_pccard.o can see it.
- Obtain the softc pointer from the miniport block by referencing
the PDO rather than a private pointer of our own (nmb_ifp is no
longer used)
- implement IoAttachDeviceToDeviceStack(), IoDetachDevice(),
IoGetAttachedDevice(), IoAllocateDriverObjectExtension(),
IoGetDriverObjectExtension(), IoCreateDevice(), IoDeleteDevice(),
IoAllocateIrp(), IoReuseIrp(), IoMakeAssociatedIrp(), IoFreeIrp(),
IoInitializeIrp()
- fix a few mistakes in the driver_object and device_object definitions
- add a new module, kern_windrv.c, to handle the driver registration
and relocation/dynalinkign duties (which don't really belong in
kern_ndis.c).
- made ndis_block and ndis_chars in the ndis_softc stucture pointers
and modified all references to it
- fixed NdisMRegisterMiniport() and NdisInitializeWrapper() so they
work correctly with the new driver_object mechanism
- changed ndis_attach() to call NdisAddDevice() instead of ndis_load_driver()
(which is now deprecated)
- used ExAllocatePoolWithTag()/ExFreePool() in lookaside list routines
instead of kludged up alloc/free routines
- added kern_windrv.c to sys/modules/ndis/Makefile and files.i386.
2005-02-08 17:23:25 +00:00
|
|
|
compat/ndis/kern_windrv.c optional ndisapi pci
|
2005-01-04 06:07:25 +00:00
|
|
|
compat/ndis/subr_hal.c optional ndisapi pci
|
|
|
|
compat/ndis/subr_ndis.c optional ndisapi pci
|
|
|
|
compat/ndis/subr_ntoskrnl.c optional ndisapi pci
|
|
|
|
compat/ndis/subr_pe.c optional ndisapi pci
|
- Correct one aspect of the driver_object/device_object/IRP framework:
when we create a PDO, the driver_object associated with it is that
of the parent driver, not the driver we're trying to attach. For
example, if we attach a PCI device, the PDO we pass to the NdisAddDevice()
function should contain a pointer to fake_pci_driver, not to the NDIS
driver itself. For PCI or PCMCIA devices this doesn't matter because
the child never needs to talk to the parent bus driver, but for USB,
the child needs to be able to send IRPs to the parent USB bus driver, and
for that to work the parent USB bus driver has to be hung off the PDO.
This involves modifying windrv_lookup() so that we can search for
bus drivers by name, if necessary. Our fake bus drivers attach themselves
as "PCI Bus," "PCCARD Bus" and "USB Bus," so we can search for them
using those names.
The individual attachment stubs now create and attach PDOs to the
parent bus drivers instead of hanging them off the NDIS driver's
object, and in if_ndis.c, we now search for the correct driver
object depending on the bus type, and use that to find the correct PDO.
With this fix, I can get my sample USB ethernet driver to deliver
an IRP to my fake parent USB bus driver's dispatch routines.
- Add stub modules for USB support: subr_usbd.c, usbd_var.h and
if_ndis_usb.c. The subr_usbd.c module is hooked up the build
but currently doesn't do very much. It provides the stub USB
parent driver object and a dispatch routine for
IRM_MJ_INTERNAL_DEVICE_CONTROL. The only exported function at
the moment is USBD_GetUSBDIVersion(). The if_ndis_usb.c stub
compiles, but is not hooked up to the build yet. I'm putting
these here so I can keep them under source code control as I
flesh them out.
2005-02-24 21:49:14 +00:00
|
|
|
compat/ndis/subr_usbd.c optional ndisapi pci
|
2005-04-11 16:23:13 +00:00
|
|
|
compat/ndis/winx32_wrap.S optional ndisapi pci
|
2005-01-04 06:07:25 +00:00
|
|
|
compat/pecoff/imgact_pecoff.c optional pecoff_support
|
|
|
|
compat/svr4/imgact_svr4.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_fcntl.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_filio.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_ioctl.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_ipc.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_misc.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_resource.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_signal.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_socket.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_sockio.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_stat.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_stream.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_syscallnames.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_sysent.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_sysvec.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_termios.c optional compat_svr4
|
|
|
|
compat/svr4/svr4_ttold.c optional compat_svr4
|
|
|
|
contrib/dev/oltr/if_oltr.c optional oltr
|
2005-02-03 23:01:01 +00:00
|
|
|
contrib/dev/oltr/if_oltr_isa.c optional oltr isa
|
|
|
|
contrib/dev/oltr/if_oltr_pci.c optional oltr pci
|
2005-01-04 06:07:25 +00:00
|
|
|
contrib/dev/oltr/trlldbm.c optional oltr
|
|
|
|
contrib/dev/oltr/trlldhm.c optional oltr
|
|
|
|
contrib/dev/oltr/trlldmac.c optional oltr
|
|
|
|
bf_enc.o optional ipsec ipsec_esp \
|
2002-03-05 09:19:02 +00:00
|
|
|
dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \
|
|
|
|
compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \
|
|
|
|
no-implicit-rule
|
2005-01-04 06:07:25 +00:00
|
|
|
crypto/des/arch/i386/des_enc.S optional ipsec ipsec_esp
|
|
|
|
crypto/des/des_ecb.c optional netsmbcrypto
|
|
|
|
crypto/des/arch/i386/des_enc.S optional netsmbcrypto
|
|
|
|
crypto/des/des_setkey.c optional netsmbcrypto
|
|
|
|
bf_enc.o optional crypto \
|
2002-10-04 20:42:36 +00:00
|
|
|
dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \
|
|
|
|
compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \
|
|
|
|
no-implicit-rule
|
2005-01-04 06:07:25 +00:00
|
|
|
crypto/des/arch/i386/des_enc.S optional crypto
|
|
|
|
crypto/des/des_ecb.c optional crypto
|
|
|
|
crypto/des/des_setkey.c optional crypto
|
|
|
|
dev/advansys/adv_isa.c optional adv isa
|
|
|
|
dev/aic/aic_isa.c optional aic isa
|
2005-03-31 20:21:43 +00:00
|
|
|
dev/arcmsr/arcmsr.c optional arcmsr pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ar/if_ar.c optional ar
|
|
|
|
dev/ar/if_ar_isa.c optional ar isa
|
|
|
|
dev/ar/if_ar_pci.c optional ar pci
|
|
|
|
dev/arl/if_arl.c optional arl
|
|
|
|
dev/arl/if_arl_isa.c optional arl isa
|
|
|
|
dev/cm/if_cm_isa.c optional cm isa
|
|
|
|
dev/cp/cpddk.c optional cp
|
|
|
|
dev/cp/if_cp.c optional cp
|
|
|
|
dev/ctau/ctau.c optional ctau
|
|
|
|
dev/ctau/ctddk.c optional ctau
|
|
|
|
dev/ctau/if_ct.c optional ctau
|
|
|
|
dev/cx/csigma.c optional cx
|
|
|
|
dev/cx/cxddk.c optional cx
|
|
|
|
dev/cx/if_cx.c optional cx
|
2005-02-09 20:03:40 +00:00
|
|
|
dev/ed/if_ed_3c503.c optional ed isa ed_3c503
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ed/if_ed_isa.c optional ed isa
|
2005-02-09 20:03:40 +00:00
|
|
|
dev/ed/if_ed_wd80x3.c optional ed isa
|
|
|
|
dev/ed/if_ed_hpp.c optional ed isa ed_hpp
|
|
|
|
dev/ed/if_ed_sic.c optional ed isa ed_sic
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/fb/fb.c optional fb
|
|
|
|
dev/fb/fb.c optional vga
|
|
|
|
dev/fb/splash.c optional splash
|
|
|
|
dev/fb/vga.c optional vga
|
|
|
|
dev/fdc/fdc.c optional fdc
|
|
|
|
dev/fdc/fdc_acpi.c optional fdc
|
|
|
|
dev/fdc/fdc_isa.c optional fdc isa
|
|
|
|
dev/fdc/fdc_pccard.c optional fdc pccard
|
|
|
|
dev/fe/if_fe_isa.c optional fe isa
|
2005-01-10 04:40:23 +00:00
|
|
|
dev/hptmv/entry.c optional hptmv
|
|
|
|
dev/hptmv/mv.c optional hptmv
|
2005-03-02 05:14:28 +00:00
|
|
|
dev/hptmv/gui_lib.c optional hptmv
|
|
|
|
dev/hptmv/hptproc.c optional hptmv
|
|
|
|
dev/hptmv/ioctl.c optional hptmv
|
2005-04-29 02:40:16 +00:00
|
|
|
dev/hwpmc/hwpmc_amd.c optional hwpmc
|
|
|
|
dev/hwpmc/hwpmc_intel.c optional hwpmc
|
|
|
|
dev/hwpmc/hwpmc_pentium.c optional hwpmc
|
|
|
|
dev/hwpmc/hwpmc_piv.c optional hwpmc
|
|
|
|
dev/hwpmc/hwpmc_ppro.c optional hwpmc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ichwd/ichwd.c optional ichwd
|
|
|
|
dev/if_ndis/if_ndis.c optional ndis
|
|
|
|
dev/if_ndis/if_ndis_pccard.c optional ndis pccard
|
|
|
|
dev/if_ndis/if_ndis_pci.c optional ndis cardbus
|
|
|
|
dev/if_ndis/if_ndis_pci.c optional ndis pci
|
Throw the switch on the new driver generation/loading mechanism. From
here on in, if_ndis.ko will be pre-built as a module, and can be built
into a static kernel (though it's not part of GENERIC). Drivers are
created using the new ndisgen(8) script, which uses ndiscvt(8) under
the covers, along with a few other tools. The result is a driver module
that can be kldloaded into the kernel.
A driver with foo.inf and foo.sys files will be converted into
foo_sys.ko (and foo_sys.o, for those who want/need to make static
kernels). This module contains all of the necessary info from the
.INF file and the driver binary image, converted into an ELF module.
You can kldload this module (or add it to /boot/loader.conf) to have
it loaded automatically. Any required firmware files can be bundled
into the module as well (or converted/loaded separately).
Also, add a workaround for a problem in NdisMSleep(). During system
bootstrap (cold == 1), msleep() always returns 0 without actually
sleeping. The Intel 2200BG driver uses NdisMSleep() to wait for
the NIC's firmware to come to life, and fails to load if NdisMSleep()
doesn't actually delay. As a workaround, if msleep() (and hence
ndis_thsuspend()) returns 0, use a hard DELAY() to sleep instead).
This is not really the right thing to do, but we can't really do much
else. At the very least, this makes the Intel driver happy.
There are probably other drivers that fail in this way during bootstrap.
Unfortunately, the only workaround for those is to avoid pre-loading
them and kldload them once the system is running instead.
2005-04-24 20:21:22 +00:00
|
|
|
dev/if_ndis/if_ndis_usb.c optional ndis usb
|
2005-01-10 04:40:23 +00:00
|
|
|
dev/io/iodev.c optional io
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/kbd/atkbd.c optional atkbd
|
|
|
|
dev/kbd/atkbdc.c optional atkbdc
|
|
|
|
dev/kbd/kbd.c optional atkbd
|
|
|
|
dev/kbd/kbd.c optional sc
|
|
|
|
dev/kbd/kbd.c optional ukbd
|
|
|
|
dev/kbd/kbd.c optional vt
|
|
|
|
dev/lnc/if_lnc_isa.c optional lnc isa
|
|
|
|
dev/mem/memutil.c optional mem
|
|
|
|
dev/mse/mse.c optional mse
|
|
|
|
dev/mse/mse_isa.c optional mse isa
|
2005-03-12 00:29:30 +00:00
|
|
|
dev/nve/if_nve.c optional nve pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ppc/ppc.c optional ppc
|
|
|
|
dev/ppc/ppc_puc.c optional ppc puc pci
|
|
|
|
dev/random/nehemiah.c optional random
|
|
|
|
dev/sbni/if_sbni.c optional sbni
|
|
|
|
dev/sbni/if_sbni_isa.c optional sbni isa
|
|
|
|
dev/sbni/if_sbni_pci.c optional sbni pci
|
|
|
|
dev/sio/sio.c optional sio
|
|
|
|
dev/sio/sio_isa.c optional sio isa
|
|
|
|
dev/sr/if_sr_isa.c optional sr isa
|
|
|
|
dev/syscons/apm/apm_saver.c optional apm_saver apm
|
|
|
|
dev/syscons/schistory.c optional sc
|
|
|
|
dev/syscons/scmouse.c optional sc
|
|
|
|
dev/syscons/scterm.c optional sc
|
|
|
|
dev/syscons/scterm-dumb.c optional sc
|
|
|
|
dev/syscons/scterm-sc.c optional sc
|
|
|
|
dev/syscons/scvesactl.c optional sc vga vesa
|
|
|
|
dev/syscons/scvgarndr.c optional sc vga
|
|
|
|
dev/syscons/scvidctl.c optional sc
|
|
|
|
dev/syscons/scvtb.c optional sc
|
|
|
|
dev/syscons/syscons.c optional sc
|
|
|
|
dev/syscons/sysmouse.c optional sc
|
|
|
|
dev/uart/uart_cpu_i386.c optional uart
|
2002-10-05 16:35:33 +00:00
|
|
|
geom/geom_bsd.c standard
|
2003-04-17 07:39:03 +00:00
|
|
|
geom/geom_bsd_enc.c standard
|
2002-10-05 16:35:33 +00:00
|
|
|
geom/geom_mbr.c standard
|
2003-04-12 08:34:40 +00:00
|
|
|
geom/geom_mbr_enc.c standard
|
2005-05-24 12:28:21 +00:00
|
|
|
gnu/reiserfs/reiserfs_hashes.c optional reiserfs \
|
|
|
|
warning "kernel contains GPL contaminated ReiserFS filesystem"
|
|
|
|
gnu/reiserfs/reiserfs_inode.c optional reiserfs
|
|
|
|
gnu/reiserfs/reiserfs_item_ops.c optional reiserfs
|
|
|
|
gnu/reiserfs/reiserfs_namei.c optional reiserfs
|
|
|
|
gnu/reiserfs/reiserfs_prints.c optional reiserfs
|
|
|
|
gnu/reiserfs/reiserfs_stree.c optional reiserfs
|
|
|
|
gnu/reiserfs/reiserfs_vfsops.c optional reiserfs
|
|
|
|
gnu/reiserfs/reiserfs_vnops.c optional reiserfs
|
2004-06-30 14:19:28 +00:00
|
|
|
dev/acpica/acpi_if.m standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/acpica/OsdEnvironment.c optional acpi
|
|
|
|
i386/acpica/acpi_machdep.c optional acpi
|
|
|
|
i386/acpica/acpi_wakeup.c optional acpi
|
|
|
|
acpi_wakecode.h optional acpi \
|
2001-07-20 06:07:34 +00:00
|
|
|
dependency "$S/i386/acpica/acpi_wakecode.S" \
|
|
|
|
compile-with "${MAKE} -f $S/i386/acpica/Makefile MAKESRCPATH=$S/i386/acpica" \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin"
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/acpica/madt.c optional acpi apic
|
|
|
|
i386/bios/apm.c optional apm
|
|
|
|
i386/bios/mca_machdep.c optional mca
|
|
|
|
i386/bios/smapi.c optional smapi
|
|
|
|
i386/bios/smapi_bios.S optional smapi
|
|
|
|
i386/bios/smbios.c optional smbios
|
|
|
|
i386/bios/vpd.c optional vpd
|
2005-02-20 20:29:04 +00:00
|
|
|
i386/cpufreq/est.c optional cpufreq
|
2005-02-23 16:43:44 +00:00
|
|
|
i386/cpufreq/p4tcc.c optional cpufreq
|
2005-03-27 21:50:30 +00:00
|
|
|
i386/cpufreq/powernow.c optional cpufreq
|
2005-04-19 16:39:23 +00:00
|
|
|
i386/cpufreq/smist.c optional cpufreq
|
2005-01-04 06:07:25 +00:00
|
|
|
#i386/i386/apic_vector.s optional apic
|
1999-08-18 04:08:31 +00:00
|
|
|
i386/i386/atomic.c standard \
|
2000-01-09 08:24:27 +00:00
|
|
|
compile-with "${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
|
1999-07-03 19:19:34 +00:00
|
|
|
i386/i386/autoconf.c standard
|
1997-08-01 06:04:34 +00:00
|
|
|
i386/i386/bios.c standard
|
|
|
|
i386/i386/bioscall.s standard
|
1998-01-15 07:30:54 +00:00
|
|
|
i386/i386/busdma_machdep.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/db_disasm.c optional ddb
|
|
|
|
i386/i386/db_interface.c optional ddb
|
|
|
|
i386/i386/db_trace.c optional ddb
|
2002-05-13 02:40:21 +00:00
|
|
|
i386/i386/dump_machdep.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/elan-mmcr.c optional cpu_elan
|
|
|
|
i386/i386/elan-mmcr.c optional cpu_soekris
|
1998-10-09 23:08:14 +00:00
|
|
|
i386/i386/elf_machdep.c standard
|
1994-08-30 17:18:34 +00:00
|
|
|
i386/i386/exception.s standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/gdb_machdep.c optional gdb
|
|
|
|
i386/i386/geode.c optional cpu_geode
|
|
|
|
i386/i386/i686_mem.c optional mem
|
1996-07-08 19:44:39 +00:00
|
|
|
i386/i386/identcpu.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/in_cksum.c optional inet
|
1997-03-22 18:54:54 +00:00
|
|
|
i386/i386/initcpu.c standard
|
2003-11-03 22:46:43 +00:00
|
|
|
i386/i386/intr_machdep.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/io.c optional io
|
2005-01-10 04:40:23 +00:00
|
|
|
i386/i386/io_apic.c optional apic
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/k6_mem.c optional mem
|
2002-09-23 15:50:06 +00:00
|
|
|
i386/i386/legacy.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/local_apic.c optional apic
|
2003-02-28 21:59:14 +00:00
|
|
|
i386/i386/locore.s standard no-obj
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/longrun.c optional cpu_enable_longrun
|
1994-08-30 17:18:34 +00:00
|
|
|
i386/i386/machdep.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/mem.c optional mem
|
|
|
|
i386/i386/mp_clock.c optional smp
|
|
|
|
i386/i386/mp_machdep.c optional smp
|
|
|
|
i386/i386/mp_watchdog.c optional mp_watchdog smp
|
|
|
|
i386/i386/mpboot.s optional smp
|
|
|
|
i386/i386/mptable.c optional apic
|
|
|
|
i386/i386/mptable_pci.c optional apic pci
|
1999-04-16 21:22:55 +00:00
|
|
|
i386/i386/nexus.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/i386/perfmon.c optional perfmon
|
|
|
|
i386/i386/perfmon.c optional perfmon profiling-routine
|
1993-06-12 14:58:17 +00:00
|
|
|
i386/i386/pmap.c standard
|
2005-05-31 09:43:04 +00:00
|
|
|
i386/i386/ptrace_machdep.c standard
|
1994-08-30 17:18:34 +00:00
|
|
|
i386/i386/support.s standard
|
|
|
|
i386/i386/swtch.s standard
|
1993-06-12 14:58:17 +00:00
|
|
|
i386/i386/sys_machdep.c standard
|
|
|
|
i386/i386/trap.c standard
|
2003-02-11 13:19:01 +00:00
|
|
|
i386/i386/tsc.c standard
|
2004-03-21 20:28:36 +00:00
|
|
|
i386/i386/uio_machdep.c standard
|
1999-06-01 18:18:39 +00:00
|
|
|
i386/i386/vm86.c standard
|
1999-06-29 16:14:20 +00:00
|
|
|
i386/i386/vm_machdep.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/ibcs2/ibcs2_errno.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_fcntl.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_ioctl.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_ipc.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_isc.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_isc_sysent.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_misc.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_msg.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_other.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_signal.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_socksys.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_stat.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_sysent.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_sysi86.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_sysvec.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_util.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_xenix.c optional ibcs2
|
|
|
|
i386/ibcs2/ibcs2_xenix_sysent.c optional ibcs2
|
|
|
|
i386/ibcs2/imgact_coff.c optional ibcs2
|
2003-11-03 22:46:43 +00:00
|
|
|
i386/isa/atpic.c standard
|
2004-05-26 07:43:41 +00:00
|
|
|
#i386/isa/atpic_vector.s standard
|
1993-06-12 14:58:17 +00:00
|
|
|
i386/isa/clock.c standard
|
2004-05-04 20:07:46 +00:00
|
|
|
i386/isa/elcr.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/isa/elink.c optional ep
|
|
|
|
i386/isa/elink.c optional ie
|
|
|
|
i386/isa/if_el.c optional el
|
|
|
|
i386/isa/isa.c optional isa
|
|
|
|
i386/isa/isa_dma.c optional isa
|
2003-11-03 22:46:43 +00:00
|
|
|
i386/isa/nmi.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/isa/npx.c optional npx
|
|
|
|
i386/isa/pcf.c optional pcf
|
|
|
|
i386/isa/pcvt/pcvt_drv.c optional vt
|
|
|
|
i386/isa/pcvt/pcvt_ext.c optional vt
|
|
|
|
i386/isa/pcvt/pcvt_kbd.c optional vt
|
|
|
|
i386/isa/pcvt/pcvt_out.c optional vt
|
|
|
|
i386/isa/pcvt/pcvt_sup.c optional vt
|
|
|
|
i386/isa/pcvt/pcvt_vtf.c optional vt
|
|
|
|
i386/isa/pmtimer.c optional pmtimer
|
|
|
|
i386/isa/prof_machdep.c optional profiling-routine
|
|
|
|
i386/isa/spic.c optional spic
|
|
|
|
i386/isa/spkr.c optional speaker
|
|
|
|
i386/isa/vesa.c optional vga vesa
|
|
|
|
i386/linux/imgact_linux.c optional compat_linux
|
|
|
|
i386/linux/linux_dummy.c optional compat_linux
|
|
|
|
i386/linux/linux_locore.s optional compat_linux \
|
1996-03-15 07:49:02 +00:00
|
|
|
dependency "linux_assym.h"
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/linux/linux_machdep.c optional compat_linux
|
|
|
|
i386/linux/linux_ptrace.c optional compat_linux
|
|
|
|
i386/linux/linux_sysent.c optional compat_linux
|
|
|
|
i386/linux/linux_sysvec.c optional compat_linux
|
|
|
|
i386/pci/pci_bus.c optional pci
|
|
|
|
i386/pci/pci_cfgreg.c optional pci
|
|
|
|
i386/pci/pci_pir.c optional pci
|
|
|
|
i386/svr4/svr4_locore.s optional compat_svr4 \
|
2001-01-09 05:03:08 +00:00
|
|
|
dependency "svr4_assym.h" \
|
2002-08-20 00:29:16 +00:00
|
|
|
warning "COMPAT_SVR4 is broken and should be avoided"
|
2005-01-04 06:07:25 +00:00
|
|
|
i386/svr4/svr4_machdep.c optional compat_svr4
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
2001-12-22 09:29:03 +00:00
|
|
|
# isdn4bsd, needed for isic | iwic | ifpi | ifpi2 | ihfc | ifpnp | itjc
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/i4b_hdlc.c optional itjc
|
|
|
|
i4b/layer1/i4b_hdlc.c optional ihfc
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional isic
|
|
|
|
i4b/layer1/i4b_l1lib.c optional isic
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional iwic
|
|
|
|
i4b/layer1/i4b_l1lib.c optional iwic
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional ifpi
|
|
|
|
i4b/layer1/i4b_l1lib.c optional ifpi
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional ifpi2
|
|
|
|
i4b/layer1/i4b_l1lib.c optional ifpi2
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional ihfc
|
|
|
|
i4b/layer1/i4b_l1lib.c optional ihfc
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional ifpnp
|
|
|
|
i4b/layer1/i4b_l1lib.c optional ifpnp
|
|
|
|
i4b/layer1/i4b_l1dmux.c optional itjc
|
|
|
|
i4b/layer1/i4b_l1lib.c optional itjc
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
|
|
|
# isdn4bsd, isic
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/isic/i4b_asuscom_ipac.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_avm_a1.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_bchan.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_ctx_s0P.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_drn_ngo.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_dynalink.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_elsa_qs1i.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_elsa_qs1p.c optional isic pci
|
|
|
|
i4b/layer1/isic/i4b_elsa_pcc16.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_hscx.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_isac.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_isic.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_isic_isa.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_isic_pnp.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_itk_ix1.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_l1.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_l1fsm.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_siemens_isurf.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_sws.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_tel_s016.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_tel_s0163.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_tel_s08.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_usr_sti.c optional isic
|
|
|
|
i4b/layer1/isic/i4b_diva.c optional isic
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
|
|
|
# isdn4bsd, iwic
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/iwic/i4b_iwic_pci.c optional iwic pci
|
|
|
|
i4b/layer1/iwic/i4b_iwic_dchan.c optional iwic pci
|
|
|
|
i4b/layer1/iwic/i4b_iwic_bchan.c optional iwic pci
|
|
|
|
i4b/layer1/iwic/i4b_iwic_fsm.c optional iwic pci
|
|
|
|
i4b/layer1/iwic/i4b_iwic_l1if.c optional iwic pci
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
|
|
|
# isdn4bsd, ifpi
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/ifpi/i4b_ifpi_pci.c optional ifpi pci
|
|
|
|
i4b/layer1/ifpi/i4b_ifpi_isac.c optional ifpi pci
|
|
|
|
i4b/layer1/ifpi/i4b_ifpi_l1.c optional ifpi pci
|
|
|
|
i4b/layer1/ifpi/i4b_ifpi_l1fsm.c optional ifpi pci
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
2001-12-22 09:29:03 +00:00
|
|
|
# isdn4bsd, ifpi2
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/ifpi2/i4b_ifpi2_pci.c optional ifpi2 pci
|
|
|
|
i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c optional ifpi2 pci
|
|
|
|
i4b/layer1/ifpi2/i4b_ifpi2_l1.c optional ifpi2 pci
|
|
|
|
i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c optional ifpi2 pci
|
2001-12-22 09:29:03 +00:00
|
|
|
#
|
2000-10-09 13:41:07 +00:00
|
|
|
# isdn4bsd, ifpnp
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/ifpnp/i4b_ifpnp_avm.c optional ifpnp
|
|
|
|
i4b/layer1/ifpnp/i4b_ifpnp_isac.c optional ifpnp
|
|
|
|
i4b/layer1/ifpnp/i4b_ifpnp_l1.c optional ifpnp
|
|
|
|
i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c optional ifpnp
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
|
|
|
# isdn4bsd, ihfc
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/ihfc/i4b_ihfc_l1if.c optional ihfc
|
|
|
|
i4b/layer1/ihfc/i4b_ihfc_pnp.c optional ihfc
|
|
|
|
i4b/layer1/ihfc/i4b_ihfc_drv.c optional ihfc
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
2001-01-11 15:20:38 +00:00
|
|
|
# isdn4bsd, itjc
|
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
i4b/layer1/itjc/i4b_itjc_pci.c optional itjc
|
|
|
|
i4b/layer1/itjc/i4b_itjc_isac.c optional itjc
|
|
|
|
i4b/layer1/itjc/i4b_itjc_l1.c optional itjc
|
|
|
|
i4b/layer1/itjc/i4b_itjc_l1fsm.c optional itjc
|
|
|
|
#
|
|
|
|
isa/atkbd_isa.c optional atkbd
|
|
|
|
isa/atkbdc_isa.c optional atkbdc
|
|
|
|
isa/psm.c optional psm
|
|
|
|
isa/syscons_isa.c optional sc
|
|
|
|
isa/vga_isa.c optional vga
|
|
|
|
kern/imgact_aout.c optional compat_aout
|
|
|
|
kern/imgact_gzip.c optional gzip
|
1995-12-26 13:58:31 +00:00
|
|
|
libkern/divdi3.c standard
|
2004-05-05 11:17:26 +00:00
|
|
|
libkern/ffsl.c standard
|
|
|
|
libkern/flsl.c standard
|
1995-12-26 13:58:31 +00:00
|
|
|
libkern/moddi3.c standard
|
|
|
|
libkern/qdivrem.c standard
|
2000-12-01 09:54:17 +00:00
|
|
|
libkern/ucmpdi2.c standard
|
1995-12-26 13:58:31 +00:00
|
|
|
libkern/udivdi3.c standard
|
|
|
|
libkern/umoddi3.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
pci/agp_ali.c optional agp
|
|
|
|
pci/agp_amd.c optional agp
|
|
|
|
pci/agp_amd64.c optional agp
|
|
|
|
pci/agp_i810.c optional agp
|
|
|
|
pci/agp_intel.c optional agp
|
|
|
|
pci/agp_nvidia.c optional agp
|
|
|
|
pci/agp_sis.c optional agp
|
|
|
|
pci/agp_via.c optional agp
|