1512 Commits

Author SHA1 Message Date
ru
d3f751172c Connect ng_source(4) to the build. 2005-02-12 17:04:21 +00:00
ru
7b39518f56 Connect ng_atmllc(4) to the build. 2005-02-12 12:49:32 +00:00
ru
0fd1afe726 Don't export symbols, all netgraph modules appear to have
proper module dependencies.

While here, removed stray -Wall from CFLAGS.
2005-02-12 12:42:54 +00:00
ru
28f16aa5dd Bitrot: the ethernet parse type is long standard. 2005-02-12 12:35:56 +00:00
imp
8ea73f2d54 Break out obscure ISA cards into their own files, as well as ne2000
and wd80x3 support.  Make the obscure ISA cards optional, and add
those options to NOTES on i386 (note: the ifdef around the whole code
is for module building).  Tweak pc98 ed support to include wd80x3 too.
Add goo for alpha too.

The affected cards are the 3Com 3C503, HP LAN+ and SIC (whatever that
is).  I couldn't find any of these for sale on ebay, so they are
untested.  If you have one of these cards, and send it to me, I'll
ensure that you have no future problems with it...

Minor cleanups as well by using functions rather than cut and paste
code for some probing operations (where the function call overhead is
lost in the noise).

Remove use of kvtop, since they aren't required anymore.  This driver
needs to get its memory mapped act together, however, and use bus
space.  It doesn't right now.

This reduces the size of if_ed.ko from about 51k to 33k on my laptop.
2005-02-09 20:03:40 +00:00
ru
587d513a8c Use CFLAGS+=. 2005-02-09 11:50:43 +00:00
obrien
9a77daf15d Fix the standalone module build. 2005-02-09 08:35:24 +00:00
wpaul
df89b62698 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
njl
e4e0cab9b7 Hook acpi_throttle(4) up to the build. It's currently part of acpi_perf.ko
although this may change.
2005-02-06 21:13:41 +00:00
glebius
0946e341eb Add ng_ipfw to kernel module build. 2005-02-05 12:09:38 +00:00
scottl
7fde123e3a Only compile the cpufreq driver on i386 and amd64. 2005-02-05 08:01:10 +00:00
njl
45af79d5a7 Hook up the cpufreq framework, acpi_perf(4), and cpufreq(4) drivers. 2005-02-04 05:49:36 +00:00
mdodd
f1d4551d87 - Split out PCI support.
- Add previously removed ISA support.

Submitted by:	David S. Madole <david AT madole.net>
2005-02-03 23:01:01 +00:00
ru
0aaf0b6c62 Connect ng_device(4) to the build. 2005-02-03 19:54:58 +00:00
ru
f0d189cc4b Fix alignment in the last commit. 2005-02-03 08:07:22 +00:00
grehan
12dfbb5459 Don't build syscons, uart or vpo on PPC. 2005-02-03 06:12:43 +00:00
ru
eb606e3bff Build "digi" on i386, pc98, and amd64 only. 2005-01-30 19:41:12 +00:00
sobomax
443b386117 Remove local hack which cowardly slipped into previous commit.
MFC after:	2 weeks
2005-01-29 23:21:00 +00:00
sobomax
f489acaf0f o Split out kernel part of execve(2) syscall into two parts: one that
copies arguments into the kernel space and one that operates
  completely in the kernel space;

o use kernel-only version of execve(2) to kill another stackgap in
  linuxlator/i386.

Obtained from:  DragonFlyBSD (partially)
MFC after:      2 weeks
2005-01-29 23:12:00 +00:00
ru
7c96f6253a "pst" is not 64-bit clean for reasons specified in sys/amd64/conf/NOTES. 2005-01-27 11:07:13 +00:00
ru
0eadcea76b Comment out "lnc" on amd64 for reasons specified in sys/amd64/conf/NOTES. 2005-01-27 09:21:23 +00:00
imp
5b7b0c14b5 ar and sr (and their netgraph cousins) don't appear to be 64-bit clean, so
disable them on all but i386.
2005-01-27 01:45:15 +00:00
imp
57511acdf3 The ar driver appears to do naughty things with pointers and integers
and so appears to not be 64-bit clean.  disable it on ia64 for the moment.
2005-01-27 01:12:58 +00:00
imp
6ae4221b16 pcic is gone 2005-01-27 00:33:17 +00:00
imp
0af1181586 Add cs module. It has built in my tree for ages, and it just never
made it into FreeBSD's tree.
2005-01-26 21:27:26 +00:00
imp
38acc462cf The tinderbox seems to have a different set of compiler options
enabled than my box, so the agp module gets different warnings than I
got when I built.  WERROR= to compensate.
2005-01-26 21:18:58 +00:00
imp
33da4ef3f6 Add WERRROR= to work around the warnings 2005-01-26 16:29:07 +00:00
wes
dace4e05a9 Provide a WITHOUT_MODULES variable that specifies a list of modules
to elide.  This is a somewhat more convenient way of specifying in
e.g. make.conf a list of modules you know you will never need.

PR:		kern/76225
Submitted by:	David Yeske <dyeske@yahoo.com>
MFC after:	2 weeks
2005-01-20 05:43:24 +00:00
sam
d3c8b51a57 Fix building for non-i386 platforms.
Submitted by:	Coleman Kane
2005-01-18 03:28:08 +00:00
pjd
63224016be Connect SHSEC GEOM class to the build. 2005-01-11 18:18:40 +00:00
pjd
8d8363ee39 Introduce a new GEOM class - SHSEC. It provides sharing secret between
the given providers. Without even one of the configured components there
should be no way to get the secret.

Supported by:	WHEEL Sp. z o.o.
		http://www.wheel.pl
2005-01-11 18:06:44 +00:00
njl
2505523773 Back out previous commits. Installing new share/mk fixes this. 2005-01-03 07:27:17 +00:00
njl
5b8f3da7ea NO_MAN is now NOMAN. 2005-01-03 05:36:55 +00:00
njl
9cde0acc6e Fix kernel modules build. For some reason, this module now bails out with
an error that there is no aicasm.1 man page.
2005-01-03 05:35:58 +00:00
jhb
33a905889d Add usbdevs_data.h to the SRCS list since usb_subr.c needs it. This forces
old usbdevs_data.h files to be updated as well as fixing the standalone
usb module build.
2004-12-31 16:05:07 +00:00
rwatson
21914e7845 mac_portacl.c no longer references vnode_if.h. 2004-12-30 13:49:01 +00:00
obrien
642faa49fb Remove vnode_if.h for rev 1.14. 2004-12-29 21:50:44 +00:00
imp
b4eda5e471 We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
imp
ec37c0493e No need to generate vnode_if.h anymore 2004-12-29 08:44:30 +00:00
rik
43775c98bd Add FR support to sppp (MFCronyx).
Silence on: net@, current@, hackers@.
No objections: joerg

Requested by: by many (mostly Cronyx) users for a long long time.
MFC after:	10 days

PR:		kern/21771, kern/66348
2004-12-28 00:07:57 +00:00
scottl
55b47ae071 Don't define PFIL_HOOKS. It's no longer required in RELENG_5 or HEAD. 2004-12-25 00:23:36 +00:00
ru
5c04306fea NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
ru
f4c44b761b NOCRYPT -> NO_CRYPT 2004-12-21 10:16:04 +00:00
ru
cec60429bb Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
glebius
3a2f2486b6 We already have ng_fec.4 manpage. And sys/modules is not a correct
place for documentation.
2004-12-19 16:06:14 +00:00
sam
532e5cff4c fix typo to resolve undefined symbol
Spotted by:	Rong-En Fan <grafan at gmail.com>
2004-12-16 01:10:48 +00:00
sam
73aa7c6ed2 bring in rijndael crypto code to satisfy dependency: should
break rijndael out into a separate module a la rc4 but several
other cases need to be fixed also so for now do as others do
2004-12-15 01:30:38 +00:00
imp
1f6faf55da Make this compile when you don't have /sys. 2004-12-13 04:59:35 +00:00
scottl
6d3ab8ca37 Remove the addition of ACPI_DEBUG that was accidentally added in the last
commit.
2004-12-13 03:23:08 +00:00
scottl
1048e6f4a6 Allow the acpi_ibm module to be built with ACPI_DEBUG. 2004-12-13 03:22:11 +00:00