Commit Graph

458 Commits

Author SHA1 Message Date
jakllsch 271ee63da4 Catch up to current reality. 2011-08-18 20:57:11 +00:00
christos 4d92fa6ddb document non-literal string format 2011-08-18 17:02:49 +00:00
mbalmer b50c50a270 gpio(4) and gpiosim(4) can now be built and used as modules. While here,
make some functions static.
2011-08-12 08:00:52 +00:00
mbalmer 1d8ccccd63 pwdog is not for all platforms, build only on i386, x86_64, and sparc64 2011-08-11 12:03:06 +00:00
mbalmer 352c784990 pwdog(4) is a device driver for QUANCOM Electronic PWDOG1 PCI
attached watchdog timers.
2011-08-11 07:33:24 +00:00
jruoho b7ff5db1d4 Build acpiwdrt(4) as a module on x86. 2011-08-09 12:16:03 +00:00
jruoho 20073051ea Two placeholder comments. 2011-08-09 12:09:55 +00:00
jmcneill fb32363eae include cx24227, lg3303, mt2131, nxt2k, tvpll, xc3028, coram, cxdtv, and emdtv
modules in x86 build
2011-08-09 11:12:02 +00:00
jruoho 4c658c19b0 As wmieeepc(4) was added to amd64 GENERIC, build it also as a amd64 module. 2011-08-09 08:36:05 +00:00
jmcneill fb95eabd74 modify the dtv device api so hardware drivers can be loaded independently
of the dtv module
2011-08-09 01:42:24 +00:00
jmcneill 9ee20799ca add mt2131, cx24227, and coram module glue 2011-08-04 22:26:07 +00:00
pgoyette 39943f3c4f Allow multiple sdtemp sensors to attach, at all valid addresses 2011-08-02 18:52:35 +00:00
pgoyette 55cfe2860e Allow unit numbers to float, rather than tying to specific i2c address 2011-08-02 18:51:35 +00:00
joerg 9a72c11fab Remove a number of now unnecessary -no-integrated-as cases. 2011-08-02 17:22:51 +00:00
pgoyette c3df63d89d Add build glue for modular spdmem(4) driver, and enable it 2011-08-01 03:51:05 +00:00
jmcneill 8037f64f1b build and install finsio module on i386 and amd64 2011-07-31 17:55:41 +00:00
jmcneill c7c1db7e8e add finsio module glue 2011-07-31 17:54:01 +00:00
jmcneill 66ca8ad7c3 add smsc module glue 2011-07-31 16:19:21 +00:00
jmcneill afdad53ffc add module glue for dbcool 2011-07-31 16:05:28 +00:00
jmcneill 17204a8fdc module glue for sdtemp 2011-07-31 16:00:21 +00:00
jmcneill d09db892e8 build and install itesio module on i386 and amd64 2011-07-29 21:01:43 +00:00
jmcneill bedb04943b module build glue for itesio 2011-07-29 20:59:25 +00:00
enami b246d08e78 Build v7fs module on all architecture rather than only on i386. 2011-07-19 23:13:31 +00:00
tron caeab679ca Build 7th Edition(V7) File System as a kernel module. 2011-07-19 19:19:09 +00:00
jmcneill 54696cabe9 irmce module glue 2011-07-19 12:23:51 +00:00
jmcneill 6f708f8d76 add nsclpcsio module to i386 build 2011-07-15 21:08:48 +00:00
jmcneill ac535e1004 add nsclpcsio module glue 2011-07-15 20:57:01 +00:00
jmcneill ee71f9a61a add dtv_intlog10 implementation, from apb@ 2011-07-15 20:27:41 +00:00
jmcneill 6f144888fd module glue for nxt2k, tvpll, cxdtv 2011-07-14 23:50:12 +00:00
matt 82c39ee7c3 files.dtv is included by conf/files 2011-07-14 18:19:49 +00:00
jmcneill 5476439d3f build dtv_demux.c 2011-07-13 22:43:33 +00:00
jruoho b5dc3d4af2 A driver for HP 3D DriverGuard; a LIS3LV02DL-based accelerometer. Tested on
HP NC4400. Like aps(4), this is commented out in the GENERIC kernels.
2011-07-13 07:52:48 +00:00
jmcneill f00b760ccb add module glue for lg3303, xc3028, emdtv 2011-07-11 18:04:32 +00:00
jmcneill 2fb2064b5f build auvitek_dtv.c too 2011-07-09 15:08:54 +00:00
jmcneill 63aa7fdcda build dtv module 2011-07-09 14:56:43 +00:00
jmcneill 729d6c10cf module glue for dtv 2011-07-09 14:53:37 +00:00
joerg b187f964f6 Use integrated assembler with clang for Via PadLock. 2011-07-04 16:20:45 +00:00
ahoka 0e8f635bc2 Refactor flash and nand driver, so we can reuse the io thread code
in the future nor driver (and any other future driver).

Also simplify some of the code in the process, eg. saner flash attachment.
2011-06-28 18:14:11 +00:00
matt a2ad2b75a6 ibm4xx now uses <powerpc/pci_machdep.h> 2011-06-22 18:17:17 +00:00
matt 5b497c25ae IBM4xx now uses the pic-based intr.h 2011-06-20 20:18:43 +00:00
mrg a2c4975d63 build evbppc modules in 3 different flavours:
- oea (default)
	- ibm4xx
	- booke

this, together with earlier machine_module[] work, should allow evbppc
platforms to use modules.
2011-06-15 09:45:58 +00:00
jruoho ced73275c5 Modularize hpet(4). Works nicely with the multiple bus locations. 2011-06-15 08:19:43 +00:00
jruoho c6e5cf85e6 Modularize amdtemp(4). 2011-06-15 03:22:39 +00:00
jruoho ef74b36d13 Rewrite the aibs(4) driver in order to support new models. Draws from the
revision 1.6 (claudio@) of the OpenBSD's equivalent driver. Tested by mrg@.
2011-06-12 07:25:43 +00:00
joerg 67ef870a8e Disable integrated assembler for clang until the RNG instructions are
supported
2011-06-10 04:45:41 +00:00
joerg a216da57a6 Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
2011-05-26 12:56:24 +00:00
joerg 316b3ac0de LLVM's assembler parser doesn't support .code32 yet, so disable it as
needed.
2011-05-20 13:11:40 +00:00
joerg 45f776be20 LLVM's assembler parser doesn't support .code32 yet, so disable it. 2011-05-20 13:08:07 +00:00
joerg e958063324 Remove IRIX emulation 2011-04-26 16:36:40 +00:00
yamt efc12d7878 re-enable tprof_amdpmi 2011-04-14 15:45:27 +00:00
bouyer b41e8c3e3d Fix source list for ffs module. 2011-03-13 18:23:30 +00:00
ahoka be9d16386d + nand_micron.c 2011-03-09 10:05:28 +00:00
bouyer 063f96f3c2 merge the bouyer-quota2 branch. This adds a new on-disk format
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.

See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
2011-03-06 17:08:10 +00:00
jruoho 120b4f01cf Add module build glue for odcm(4). 2011-03-04 05:02:47 +00:00
jruoho 494badeb16 Move acpicpu(4) from "acpinodebus" to "cpufeaturebus". 2011-02-27 17:10:33 +00:00
ahoka 2b6ee22130 Import the Flash and NAND subsytem code contributed by the University
of Szeged, Hungary.

The commit includes:
 - Flash layer, which gives a common API to access flash devices
 - NAND controller subsystem for the flash layer
 - An example OMAP driver which is used on BeagleBoard or alike ARM boards
2011-02-26 18:07:13 +00:00
jruoho e61737f29d Build glue for viac7temp(4). 2011-02-24 14:08:51 +00:00
jruoho b365a799cf Add build glue for powernow(4). 2011-02-24 11:22:34 +00:00
jruoho 53d3e21904 Build glue for est(4). 2011-02-23 11:55:36 +00:00
jmcneill d584463683 module glue for alc@pci 2011-02-23 00:36:51 +00:00
cegger fd97aeb561 catch up to AR9285 changes 2011-02-21 11:16:47 +00:00
jmcneill 6a0ee33bc0 add VirtualBox DRM driver 2011-02-20 15:40:21 +00:00
jruoho bd7da44ea9 Add build glue for coretemp(4). 2011-02-20 13:48:25 +00:00
jmcneill b7d5e19d33 catch up to AR9280 changes 2011-02-20 11:26:33 +00:00
jruoho 697c18cac8 Build fujbp(4), fujhk(4), and wmieeepc(4) as modules. 2011-02-20 08:37:50 +00:00
jmcneill b1c34fd089 add module glue for ath_hal, ath, and if_ath_pci 2011-02-20 03:58:33 +00:00
jmcneill 5b80a0ef30 build padlock module on i386 2011-02-19 14:28:07 +00:00
jmcneill dc1291ac90 add padlock module glue 2011-02-19 14:25:30 +00:00
jmcneill 9dca98e3b3 add via_dmablit 2011-02-18 14:26:52 +00:00
jmcneill 7f1c70f60c add drm_sman, drm_mm, drm_hashtab 2011-02-18 14:26:40 +00:00
jmcneill 3d85f4c008 get rid of #ifdef __FreeBSD__ sections
use ioconf & add a module dependency on "drm"
2011-02-18 02:00:36 +00:00
jmcneill 6c4919473a add panic.kmod, an easy way to trigger a panic. takes a 'how' argument
to specify how to trigger the panic:
 modload -s how=panic panic.kmod   <-- just calls panic()
 modload -s how=nullptr panic.kmod <-- null ptr deref
if how isn't specified, it defaults to 'panic'. feel free to add more.
2011-02-18 01:07:20 +00:00
jruoho 2b0b13f21f Use ioconf for the module declarations. 2011-02-16 08:35:51 +00:00
jruoho b9f301d5a2 Convert the homegrown module declarations to use ioconf. 2011-02-16 08:19:56 +00:00
jruoho 7e7ec3e920 Convert the ioconf files to lower case for consistency. No functional change. 2011-02-16 08:01:52 +00:00
jruoho 7e0b5b7921 Add a skeleton driver for Asus EeePC acpiwmi(4) mappings. 2011-02-16 07:30:26 +00:00
jmcneill 716271120b build hdafg_dd.c 2011-02-12 15:15:56 +00:00
jmcneill 28ad83d2d7 rename hdaudio_afg.c to hdafg.c 2011-02-12 15:01:00 +00:00
yamt dd0251ed9d add a directory which i forgot to add with sys/modules/Makefile rev.1.60 2011-02-06 02:28:50 +00:00
christos 46329988a2 fix build! 2011-02-05 22:40:49 +00:00
yamt 23ff4c699e build tprof_amdpmi 2011-02-05 14:08:13 +00:00
haad 3bb48ba615 Add support for building pud as module. Do it in a same way how putter is
done.
2011-01-28 23:54:28 +00:00
haad 61583090b2 Add support for compiling ZFS and Solaris modules as RUMP libraries. Add
some locking and rumpcopy primitives and refactor module building Makefiles
to work with both RUMP and kernel modules. This is first part of adding
support for regular test of zfs on NetBSD to hunt some bugs and make it
stable.

Ok by pooka@.
2011-01-18 22:21:22 +00:00
pooka 4ded7232b9 Put async i/o compat routines in a separate source module from the
ones related to clock and process management.
2011-01-17 15:57:04 +00:00
jmcneill 4eb5cd5a57 add acpiwdrt module glue 2011-01-17 15:49:56 +00:00
jmcneill 89497f8548 build and install aps module on i386 and amd64 2011-01-16 01:13:10 +00:00
jmcneill ce4e6d55a3 support building aps(4) as a module 2011-01-16 01:07:32 +00:00
jruoho 37f5de3ab8 Add a dummy-driver for ACPI fans. 2011-01-09 15:12:33 +00:00
jmcneill c82905f94c add hdaudio and hdafg modules 2011-01-07 15:32:11 +00:00
jmcneill 413c4ec645 support building cas(4) as a module 2011-01-07 11:17:22 +00:00
jruoho b1ee05a7c3 Add build files for acpipmtr(4) module. 2011-01-05 20:15:52 +00:00
pgoyette a8cb084374 Define KERN_SA when building the module 2011-01-04 20:52:53 +00:00
jruoho a7f6c722a1 Remove DIAGNOSTIC. 2010-12-30 18:38:50 +00:00
jmcneill 393a0deb05 some platforms don't have bus_dma, so only build these modules on x86 2010-12-29 13:05:42 +00:00
jmcneill b678bc7497 add "ir" and "cir" modules 2010-12-28 14:45:30 +00:00
jmcneill 201870c31a use ioconf 2010-12-28 00:49:21 +00:00
jmcneill 1a0062ed4f hook xc5k, au8522, and auvitek into build 2010-12-27 15:48:28 +00:00
jmcneill eabcfbccce xc5k, au8522, and auvitek modules 2010-12-27 15:43:41 +00:00
rmind 628e094cdc NPF checkpoint:
- Add support for session saving/restoring.
- Add packet logging support (can tcpdump a pseudo-interface).
- Support reload without flushing of sessions; rework some locking.
- Revisit session mangement, replace linking with npf_sentry_t entries.
- Add some counters for statistics, using percpu(9).
- Add IP_DF flag cleansing.
- Fix various bugs; misc clean-up.
2010-12-18 01:07:25 +00:00
haad e5d36b6393 Disable errors reported by unknown pragmas in dtrace module. 2010-12-14 23:27:47 +00:00
ahoka 6c3ce79660 nsmb module makefile 2010-12-10 19:46:40 +00:00
rmind 97b932f123 NPF checkpoint:
- Add proper TCP state tracking as described in Guido van Rooij paper,
  plus handle TCP Window Scaling option.
- Completely rework npf_cache_t, reduce granularity, simplify code.
- Add npf_addr_t as an abstraction, amend session handling code, as well
  as NAT code et al, to use it.  Now design is prepared for IPv6 support.
- Handle IPv4 fragments i.e. perform packet reassembly.
- Add support for IPv4 ID randomization and minimum TTL enforcement.
- Add support for TCP MSS "clamping".
- Random bits for IPv6.  Various fixes and clean-up.
2010-11-11 06:30:39 +00:00
jruoho e2fa7d0097 Add asus(x) and hpqlb(4). 2010-10-26 05:42:51 +00:00
jruoho a2a33b95b3 Build asus(x) and hpqlb(4) as modules on x86. 2010-10-26 05:36:49 +00:00
jruoho 8eae6f006a Bump WARNS to 4. 2010-10-26 04:37:33 +00:00
jruoho 6b1e267f66 Refactor slightly and bump WARNS to 4. 2010-10-26 03:11:10 +00:00
jnemeth 6e39448e16 Revert most of previous:
- props being NULL is NOT an error and is a condition that all modules
  must be prepared to handle
- having this module bomb out for spurious reasons makes this module
  difficult to use for testing things
- keep comment update
- keep some KNF
- add a notice for the case when props is NULL
2010-10-25 22:41:42 +00:00
jruoho 4b8430b9d1 Build acpidalb(4), acpitz(4), acpivga(4), and aibs(4) as modules on x86.
More to come later.
2010-10-25 17:17:56 +00:00
jruoho 70e14dc983 Bump WARNS to 4. 2010-10-25 07:48:03 +00:00
jruoho 6f8ac939ae Build acpiacad(4), acpibat(4), acpibut(4), acpicpu(4), acpilid(4), and
thinkpad(4) as modules on x86. More to come later.
2010-10-25 06:40:32 +00:00
jmcneill b70feaec53 build acpiwmi as a module on x86 2010-10-24 18:29:33 +00:00
jmcneill abee62ef8f build wmi drivers as modules on x86 2010-10-24 16:31:35 +00:00
tsutsui 2240ae6f10 Also build and install compat_aoutm68k.kmod and exec_aout.kmod on m68000
to make things easier.  ${MACHINE_ARCH} == ${MACHINE_CPU} on m68k
so we can't use ad.m68k for a set list to exclude m68000.
2010-10-20 14:50:22 +00:00
pgoyette adb48c7f00 Build the new swsensor(4) device and add to set lists 2010-10-19 11:58:00 +00:00
pgoyette 3ae668c1c8 Add a new software-only sensor device. This is intended for use as a
kernel module, and can be helpful to generate sysmon_envsys events
when creating/modifying powerd scripts.  This will also be used in an
upcoming series of atf tests for sysmon_envsys itself.
2010-10-19 11:55:38 +00:00
tsutsui 621e053625 Build and install compat_aoutm68k.kmod and exec_aout.kmod on m68k machines. 2010-10-15 12:20:33 +00:00
tsutsui 0d70fee822 Add compat_aoutm68k module build dir.
(See options(4) for details of compat_aoutm68k)
2010-10-15 11:22:01 +00:00
tsutsui b01b8bd3fb Disable PAX_ASLR on sh3 as well. exec_elf32 module doesn't work with it
at least on dreamcast.
2010-10-13 14:15:23 +00:00
mrg 0db5384dc8 enable COMPAT_30 and COMPAT_50 in the module. 2010-09-19 05:42:10 +00:00
rmind 63012b51f1 NPF checkpoint:
- Add support for bi-directional NAT and redirection / port forwarding.
- Finish filtering on ICMP type/code and add filtering on TCP flags.
- Add support for TCP reset (RST) or ICMP destination unreachable on block.
- Fix a bunch of bugs; misc cleanup.
2010-09-16 04:53:27 +00:00
sjg ce171c67f4 First cut of simple syscall wrapper, which make(1) can use
to track process activity.
2010-09-09 00:10:16 +00:00
rmind 2e6f2099c6 Import NPF - a packet filter. Some features:
- Designed to be fully MP-safe and highly efficient.

- Tables/IP sets (hash or red-black tree) for high performance lookups.

- Stateful filtering and Network Address Port Translation (NAPT).
  Framework for application level gateways (ALGs).

- Packet inspection engine called n-code processor - inspired by BPF -
  supporting generic RISC-like and specific CISC-like instructions for
  common patterns (e.g. IPv4 address matching).  See npf_ncode(9) manual.

- Convenient userland utility npfctl(8) with npf.conf(8).

NOTE: This is not yet a fully capable alternative to PF or IPFilter.
Further work (support for binat/rdr, return-rst/return-icmp, common ALGs,
state saving/restoring, logging, etc) is in progress.

Thanks a lot to Matt Thomas for various useful comments and code review.
Aye by: board@
2010-08-22 18:56:18 +00:00
jruoho 77e2991ced Add DIAGNOSTIC. 2010-08-18 19:33:10 +00:00
jruoho 6b9ff1079c Merge T-state a.k.a. throttling support for acpicpu(4).
Remarks:

  1.    Native instructions are supported only on Intel. Native support for
        other x86 vendors will be investigated. By assumption, AMD and others
        use the I/O based approach.

  2.    The existing code, INTEL_ONDEMAND_CLOCKMOD, must be disabled in
        order to use acpicpu(4). Otherwise fatal MSR races may occur.
        Unlike with P-states, no attempt is done to disable the existing
        implementation.

  3.    There is no rationale to export controls to user land.

  4.    Throttling is an artefact from the past. T-states will not be used for
        power management per se. For CPU frequency management, P-states are
        preferred in all circumstances. No noticeable additional power savings
        were observed in various experiments. When the system has been scaled
        to the highest (i.e. lowest power) P-state, it is preferable to move
        from C0 to deeper C-states than it is to actively throttle the CPU.

  5.    But T-states need to be implemented for passive cooling via acpitz(4).
        As specified by ACPI and Intel documents, these can be used as the
        last line of defence against critical thermal conditions. Support
        for this will be added later.
2010-08-13 16:21:50 +00:00
pooka 49f08a7073 Define ioconf to create locators.h, which is now required by acpiverbose. 2010-08-11 14:50:38 +00:00
jruoho 53e8f6c919 Merge P-state support for acpicpu(4).
Remarks:

  1.    All processors (x86 or not) for which the vendor has implemented
        ACPI I/O access routines are supported. Native instructions are
        currently supported only for Intel's "Enhanced Speedstep". Code for
        "PowerNow!" (AMD) will be merged later. Native support for VIA's
        "PowerSaver" will be investigated.

  2.    Backwards compatibility with existing userland code is maintained.
        Comparable to the case with cpu_idle(9), the ACPI CPU driver
        installs alternative functions for the existing sysctl(8) controls.
        The "native" behavior (if any) is restored upon detachment.

  3.    The dynamic nature of ACPI-provided P-states needs more investigation.
        The maximum frequency induced (but not forced) by the firmware may
        change dynamically. Currently, the sysctl(8) controls error out with
        a value larger than the dynamic maximum. The code itself does not
        however yet react to the notifications from the firmware by changing
        the frequencies in-place. Presumably the system administrator should
        be able to choose whether to use dynamic or static frequencies.
2010-08-08 16:58:41 +00:00
jruoho 460de0d614 Remove the acpiwmi(4) dump from the ACPIVERBOSE module. Instead of this
complex solution, just use aprint_debug(9) in the driver.
2010-08-06 22:45:00 +00:00
jruoho 47bb5e479e Add a Makefile for ACPI CPUs.
It is safe to load and unload the whole ACPI CPU -functionality at runtime.
2010-07-18 09:37:50 +00:00
rmind ef6414a63a Sync procfs module with kernel change for x86 MD. 2010-07-08 20:32:12 +00:00
pooka 2c9dc3f982 remember to add the new file to the build 2010-07-06 16:13:57 +00:00
rmind fc8b3b7154 Replace tmpfs_pool custom allocator code with a simpler layer for memory
accounting.  Use wired memory (which can be limited) for meta-data, and
kmem(9) for string allocations.

Close PR/31944.  Fix PR/38361 while here.  OK ad@.
2010-06-22 18:32:07 +00:00
rmind ef1673540e KNF and tidy-up example module slightly. 2010-06-22 18:30:20 +00:00
mjf e0e10b0607 Add __cacheline_aligned and __read_mostly annotations.
These annotations help to mitigate false sharing on multiprocessor
systems.

Variables annotated with __cacheline_aligned are placed into the
.data.cacheline_aligned section in the kernel. Each item in this
section is aligned on a cachline boundary - this avoids false
sharing. Highly contended global locks are a good candidate for
__cacheline_aligned annotation.

Variables annotated with __read_mostly are packed together tightly
into a .data.read_mostly section in the kernel. The idea here is that
we can pack infrequently modified data items into a cacheline and
avoid having to purge the cache, which would happen if read mostly
data and write mostly data shared a cachline. Initialisation variables
are a prime candiate for __read_mostly annotations.
2010-06-01 22:13:30 +00:00
pgoyette 6c40070d66 Extract ACPIVERBOSE into a kernel module. The module can be builtin
by defining 'options ACPIVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.

ACPIVERBOSE also includes code to dump acpi/wmi data.
2010-05-31 20:32:28 +00:00
pgoyette 700e1731f0 Extract MIIVERBOSE into a kernel module. The module can be builtin
by defining 'options MIIVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.
2010-05-30 17:44:07 +00:00
pgoyette 1dad7e2286 Extract SCSIVERBOSE into a kernel module. The module can be builtin
by defining 'options SCSIVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.

The module is built for all architectures, whether or not SCSI or
atapi support exists.
2010-05-30 04:38:03 +00:00
pgoyette 3f79fb26a7 Extract USBVERBOSE into a kernel module. The module can be builtin
by defining 'options USBVERBOSE' in the kernel config file (no change
from current behavior), or it can be loaded at boot time on those
architectures that support the boot loader's "load" command.

The module is built for all architectures, whether or not USB support
exists.
2010-05-29 01:14:29 +00:00
mrg 5373bec4d9 add r600_blit.c and radeon_cs.c. 2010-05-27 07:27:35 +00:00
pgoyette 72a7c70b78 Extract the vendor/product tables and related access routines into a
separate kernel module.  Update pci bus attach routine to load the
module (if available) when we're about to start scanning the bus, and
unload the module after the scan is finished.

On architectures which support loading of modules by the boot loader,
the 'pciverbose' module can be loaded and executed without needing to
rebuild the kernel.  On all architectures, using 'options PCIVERBOSE'
in the kernel configuration file will create a 'builtin' module which
is functionally equivalent to previous behavior.

XXX Although not nearly as large as the vendor and product tables,
XXX the PCI class and subclass tables might also be offloaded into
XXX the module at a future time.

XXX Cardbus (and possibly other) drivers should also be modified to
XXX load the module before scanning/attaching devices.
2010-05-24 20:29:40 +00:00
ahoka 0edd676945 Remove bpfilter.h as not needed. 2010-04-13 13:09:46 +00:00
ahoka edd6235b94 Connect the pf module to the build. 2010-04-12 14:08:58 +00:00
ahoka dcc843776f Add new type kernel module for pf (includes pflog, but not pfsync). 2010-04-12 14:05:38 +00:00
ahoka 4a9711fd6e Connect the pad(4) kernel module to the build on i386 and amd64. 2010-04-09 13:49:12 +00:00
ahoka 07c8a4984d Makefile to build kernel module for pad. 2010-04-09 13:41:45 +00:00
mrg eaa088bcc1 add powerpc64 support. from dennis.c.ferguson@gmail.com in PR#43029. 2010-03-22 02:00:33 +00:00
pooka f3beefdb45 Convert acpibat to use ioconf instead of homerolled config glue.
Note, config whines about things like:
files.acpi:30: attaching undefined device `apm'

I intentionally was a lazy boy and didn't include a ton of dirt to
keep the hot napalm and riot blasts in the config thread rolling ;)

tested by jruoho (thanks!)
2010-03-21 07:09:56 +00:00
pooka ce672f239f include bsd.ioconf.mk when necessary 2010-03-21 06:56:52 +00:00
christos fc75a712eb Include ../../Makefile.inc now that it works. 2010-03-13 22:29:33 +00:00
christos 1b57f2e4ab now that I've fixed Makefile.inc, include it. 2010-03-13 22:23:47 +00:00
christos 26d6c574bd Don't hard-code ../../ so that we can handle multi-level modules (dtrace) 2010-03-13 22:06:30 +00:00
darran f6bf800773 DTrace: Add the Function Boundary Trace (FBT) provider moduile. This
module  instruments every function in the kernel with entry and exit
probes.  These probes are true zero-effect probes in that they don't
exist in the code until they are enabled.  The probes are enabled by
directly patching the function entry and exit points to make jumps into
the dtrace framework.
This gives us over 29,000 trace points in the kernel.
2010-03-12 21:53:15 +00:00
darran 328338d6bd DTrace: Add support for a simulated solaris_cpu[] data structure per
cpu.  Needed for the FBT provider amongst other features.
2010-03-12 21:37:37 +00:00
darran 33bc31b9e2 DTrace: fix a build problem for the SDT provider. 2010-03-10 23:40:53 +00:00
pooka c79910eee7 -DFFS is no longer necessary 2010-03-03 00:01:20 +00:00
pooka dd0604d344 Reflect removal of fs_nfs.h and -DNFS 2010-03-02 23:37:16 +00:00
pooka dfe63e3e16 Remove the ufs_vnops.c hacks from the lfs module, since ffs (and
hence ufs) has been required by lfs for ages now.
2010-03-02 18:00:24 +00:00
darran 6a9056a926 DTrace: Add an SDT (Statically Defined Tracing) provider framework, and
implement most of the proc provider.  Adds proc:::create, exec,
exec_success, exec_faillure, signal_send, signal_discard, signal_handle,
lwp_create, lwp_start, lwp_exit.
2010-03-01 21:10:13 +00:00
jruoho a92215aa7e Add makefiles for a sample of ACPI kernel modules. 2010-02-28 17:40:51 +00:00
haad c2a856c467 Update zfs module to new sources. 2010-02-28 15:22:16 +00:00
darran f802834604 DTrace: add the dtrace module. 2010-02-21 11:16:19 +00:00
darran dea8f231d6 DTrace: add the dtrace module to the build. 2010-02-21 11:14:47 +00:00
pooka 27d2b45e99 add bpf kmod 2010-01-25 22:21:28 +00:00
dyoung 6bcc29ee08 Fix MKBINUTILS=no builds by leaving out xldscripts. 2010-01-05 20:49:04 +00:00
njoly 54d7ff3b44 Add netbsd32_compat_50.c to netbsd32 module sources list. 2009-12-21 16:40:58 +00:00
nakayama 1c54a66d99 System utilities, boot programs and kernel modules are machine
(port) specific not CPU, so use MACHINE not MACHINE_ARCH.
2009-12-13 05:01:32 +00:00
uebayasi 42bd5b4c13 Typo. 2009-12-07 07:43:05 +00:00
pooka 70d4493c77 Remove the portalfs kernel file system driver. Replace mount_portal(8)
with a version based on puffs.  User functionality remains the same.
2009-12-05 20:11:01 +00:00
skrll 25edd46c0c Move the kmodule linker script source into sys/modules/xldscripts. It is
not part of binutils and definitely not GPL v3.

Discussed with mrg.
2009-11-10 14:47:52 +00:00
jnemeth 3f353bcfa2 Check to see if we were passed a NULL proplist dictionary. 2009-10-20 05:33:30 +00:00
haad fbd1c01117 Add zfs sets and needed veriables to hook zfs into the build. ZFS on i386
need still one fix othervise it should be ready for testing.
2009-10-05 22:32:58 +00:00
elad 53ca19a3b3 First part of secmodel cleanup and other misc. changes:
- Separate the suser part of the bsd44 secmodel into its own secmodel
    and directory, pending even more cleanups. For revision history
    purposes, the original location of the files was

        src/sys/secmodel/bsd44/secmodel_bsd44_suser.c
        src/sys/secmodel/bsd44/suser.h

  - Add a man-page for secmodel_suser(9) and update the one for
    secmodel_bsd44(9).

  - Add a "secmodel" module class and use it. Userland program and
    documentation updated.

  - Manage secmodel count (nsecmodels) through the module framework.
    This eliminates the need for secmodel_{,de}register() calls in
    secmodel code.

  - Prepare for secmodel modularization by adding relevant module bits.
    The secmodels don't allow auto unload. The bsd44 secmodel depends
    on the suser and securelevel secmodels. The overlay secmodel depends
    on the bsd44 secmodel. As the module class is only cosmetic, and to
    prevent ambiguity, the bsd44 and overlay secmodels are prefixed with
    "secmodel_".

  - Adapt the overlay secmodel to recent changes (mainly vnode scope).

  - Stop using link-sets for the sysctl node(s) creation.

  - Keep sysctl variables under nodes of their relevant secmodels. In
    other words, don't create duplicates for the suser/securelevel
    secmodels under the bsd44 secmodel, as the latter is merely used
    for "grouping".

  - For the suser and securelevel secmodels, "advertise presence" in
    relevant sysctl nodes (sysctl.security.models.{suser,securelevel}).

  - Get rid of the LKM preprocessor stuff.

  - As secmodels are now modules, there's no need for an explicit call
    to secmodel_start(); it's handled by the module framework. That
    said, the module framework was adjusted to properly load secmodels
    early during system startup.

  - Adapt rump to changes: Instead of using empty stubs for securelevel,
    simply use the suser secmodel. Also replace secmodel_start() with a
    call to secmodel_suser_start().

  - 5.99.20.

Testing was done on i386 ("release" build). Spearated module_init()
changes were tested on sparc and sparc64 as well by martin@ (thanks!).

Mailing list reference:

	http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
2009-10-02 18:50:12 +00:00
jmcneill 35a2c68409 enable viadrm kmod for i386 2009-09-27 12:46:39 +00:00
jmcneill 19c6e1e04c Add viadrm kmod 2009-09-27 12:44:05 +00:00
jnemeth 7220a79813 Not all platforms can do PaX stuff. The list was derived in private
conversation with several developers.  The change was tested on
sparc64.

NetBSD ultra.example.ca 5.99.17 NetBSD 5.99.17 (MODULAR) #0: Tue Sep 15 19:08:02 PDT 2009  jnemeth@ultra.example.ca:/usr/local/current/objdir/sys/arch/sparc64/compile/MODULAR sparc64

NAME		CLASS	SOURCE	REFS	SIZE	REQUIRES
...
exec_elf64      misc	filesys	0	6981	coredump
...
2009-09-17 23:07:12 +00:00
haad a83da6a90d Enable taskq which was disabled during testing. 2009-08-10 22:55:08 +00:00
haad 614ae6725c Remove strange looking -I entries. 2009-08-10 22:38:59 +00:00
haad 4837c664b3 Add raidframe module dir. Rf needs some fixes before it can be used as a
kernel module.
2009-08-10 07:19:11 +00:00
haad 58d687496c Add solaris and zfs kernel modules build directories. These modules will
not be built during release build until we import other kernel patches needed.
2009-08-10 07:16:06 +00:00
rmind 7512d1e720 Make POSIX message queues a kernel module. 2009-07-19 02:50:44 +00:00
reinoud 69a586f230 Import read-only part of the NiLFS (v2) implementation for NetBSD. It has been
tested with a DEBUG+DIAGNOSTIC+LOCKDEBUG kernel. To summerise NiLFS, i'll
repeat my posting to tech-kern here:

NiLFS stands for New implementation of Logging File System; LFS done
right they claim :) It is at version 2 now and is being developed by NTT, the
Japanese telecom company and recently put into the linux source tree. See
http://www.nilfs.org. The on-disc format is not completely frozen and i expect
at least one minor revision to come in time.

The benefits of NiLFS are build-in fine-grained checkpointing, persistent
snapshots, multiple mounts and very large file and media support. Every
checkpoint can be transformed into a snapshot and v.v. It is said to perform
very well on flash media since it is not overwriting pieces apart from a
incidental update of the superblock, but that might change. It is accompanied
by a cleaner to clean up the segments and recover lost space.

My work is not a port of the linux code; its a new implementation. Porting the
code would be more work since its very linux oriented and never written to be
ported outside linux. The goal is to be fully interchangable. The code is non
intrusive to other parts of the kernel. It is also very light-weight.

The current state of the code is read-only access to both clean and dirty
NiLFS partitions. On mounting a dirty partition it rolls forward the log to
the last checkpoint. Full read-write support is however planned!

Just as the linux code, mount_nilfs allows for the `head' to be mounted
read/write and allows multiple read-only snapshots/checkpoint mounts next to
it.

By allowing the RW mount at a different snapshot for read-write it should be
possible eventually to revert back to a previous state; i.e. try to upgrade a
system and being able to revert to the exact state prior to the upgrade.

Compared to other FS's its pretty light-weight, suitable for embedded use and
on flash media. The read-only code is currently 17kb object code on
NetBSD/i386. I doubt the read-write code will surpass the 50 or 60. Compared
this to FFS being 156kb, UDF being 84 kb and NFS being 130kb. Run-time memory
usage is most likely not very different from other uses though maybe a bit
higher than FFS.
2009-07-18 16:31:41 +00:00
mrg de36815874 add a couple of missing files. pointed out by tron. 2009-06-22 15:34:53 +00:00
tron 45353de023 Fix modules build after update of drm(4). 2009-06-22 13:13:08 +00:00
haad 7147ed320b Add work in support for compiling ccd and cgd drivers as a modules. I forgot
to committ when I have written device module autoloading stuff.
2009-06-05 19:21:02 +00:00
dyoung d0947ed2de Also look for sources in sys/arch/x86/x86/ if MACHINE_ARCH is i386 or
x86_64.
2009-03-31 18:41:40 +00:00
yamt 625056c471 enable tprof modules. 2009-03-10 14:56:30 +00:00
yamt 324183902f add makefiles for tprof drivers. 2009-03-10 14:49:49 +00:00
yamt 1c655cd541 whitespace 2009-03-05 01:29:32 +00:00
he e075a1d038 Follow up the removal of linux_support.S for amd64 and i386. 2009-02-24 12:17:51 +00:00
ad 59fcf21389 PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep

Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.
2009-02-22 20:28:05 +00:00
abs 515e52158b Convert more MACHINE tests to MACHINE_ARCH 2009-02-14 13:50:50 +00:00
haad a257a2bccf Revert previously changes. There is no cgd and ccd directory until I properly
test ccd.kmod and cgd.kmod.
2009-02-05 21:07:19 +00:00
haad 7aa7bdd03c Add support for the MODULAR framework to the vnd driver. Enable building of
vnd.kmod by default.
2009-02-05 17:32:10 +00:00
jmcneill 894890c301 kmod reachover glue 2009-02-03 13:32:30 +00:00
christos 143e6033a9 Provide compatibility for pre-christos-time_t sysv sysctls. 2009-01-19 19:39:41 +00:00
haad 4768b70dfe Add comment about adding module dependiences to MODULE macro. 2009-01-14 00:53:44 +00:00
christos 461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
pooka b235dbfce2 sysvbfs module 2009-01-05 15:36:51 +00:00
haad 894d2ad3b7 Add stubs for mirror target, too. This target does nothing for now, but lvm
tools support mirror target and trying to create LV with mirrorred backend
caused panic in dm_table_load_ioctl.
2009-01-02 11:03:24 +00:00
haad 18bcf672b4 Remove unneeded targets from dm driver and build them as separate modules.
The zero, error and snapshot targets are build as modules and can be loaded
to dm driver with modload. I do not build/install these drivers by default.

The linear and stripe targets are needed for LVM so I keep them compiled in
dm.
2009-01-02 01:06:16 +00:00
agc 287120139a Might as well install the dm devmapper module when we install the
other parts of the LVM tools - use the same MKLVM switch, though.
2008-12-31 21:22:02 +00:00
haad 210ce8a464 Add makefile for building device-mapper kernel module. 2008-12-19 15:36:58 +00:00
njoly 84ab0cee9a s/SYSVIPC/SYSVMSG/, for message queues support. 2008-12-08 12:56:00 +00:00
ad 49e50a21d6 PR kern/40110: null, overlay and umap modules loading -> panic (layerfs symbols not there)
Add a layerfs module.
2008-12-05 13:05:37 +00:00
ad dc5f414733 PR port-amd64/40091 compat_linux32 module loading = panic due to missing syms 2008-12-03 12:51:11 +00:00
tsutsui 7828361bcf - don't build compat_linux on alpha until sys/modules/compat_linux/Makefile
handles required MD files under sys/compat/linux/arch/alpha
- build exec_elf64 for all 64 bit arch
- use MACHINE_ARCH!="alpha" instead of MACHINE!="alpha" for exec_elf32 check

XXX we have many histrical inconsistent use of amd64 vs x86_64.
2008-11-29 18:41:06 +00:00
he f4b2fe2c8d Build compat_linux and exec_elf64 for alpha. 2008-11-28 21:17:08 +00:00
cube 78c770f784 Descend into the new modules during the build. 2008-11-25 12:50:03 +00:00
cube 1ff44d9310 Build and install the PPP compressors modules deflate and bsdcomp. 2008-11-25 02:42:35 +00:00
ad 22a5f6ab5a Rename some modules to match their vfs name. 2008-11-24 11:26:49 +00:00
martin 840e410768 exec_elf32 makes no sense on alpha 2008-11-23 15:29:42 +00:00
ad d9d57112d9 PR port-amd64/39990 modules/compat_linux32: build fix 2008-11-21 10:04:58 +00:00
ad 5b4bafc85a typo 2008-11-20 11:01:54 +00:00
ad 96c1610fd0 exec_aout module:
- compat_exec.c belongs here, not in compat.
- Make COMPAT_NOMID work in here.
2008-11-20 10:54:38 +00:00
ad 226bc85b61 Rename the accept filter modules to make module name match filter name. 2008-11-20 09:58:45 +00:00
ad 1ab7ca8fdc PR port-amd64/39964 modules/compat_linux: missing symbols on amd64 2008-11-20 09:26:06 +00:00
ad 11c98a4abf PR port-amd64 modules/compat missing symbols on amd64
Also, test for compat_??_machdep.c so we don't have to grow more ifdefs
in the makefile.
2008-11-20 09:22:57 +00:00
ad 92ce8c6a3d Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
2008-11-19 18:35:57 +00:00
ad 974cf03d8d Fail to load if there is no embedded file system image. 2008-11-16 15:47:35 +00:00
ad 15fabc9984 Return EOPNOTSUPP for unload. 2008-11-16 15:46:10 +00:00
ad c94326aee4 +lfs_itimes.c 2008-11-16 15:39:19 +00:00
ad e6a3385171 Make POSIX AIO loadable as a module. 2008-11-14 23:33:45 +00:00
ad f34e8d4f6b ndis module. Deliberately not enabled as part of the build. 2008-11-13 12:11:54 +00:00
ad 05844d020c PR kern/39263 $ufs kernel module dependency problems
Pull in the ufs stuff and enable features to make this module useful.
2008-11-13 10:50:26 +00:00
ad 03dacfd7f4 +compat_ossaudio 2008-11-13 10:15:52 +00:00
ad c3499e89ad Add a note:
Do not automatically install modules that would fundamentally alter system
behaviour or create a security hole, as the system may automatically load
modules.
2008-11-13 10:06:46 +00:00
ad b11cbdbb9d compat_ossaudio module, so others can depend on it. 2008-11-13 10:05:52 +00:00
ad 57d1c37e21 Add missing ksem makefile. 2008-11-13 10:03:22 +00:00
ad 0b7375c9af Allow the POSIX semaphore code to be loaded as a module. 2008-11-12 14:32:34 +00:00
ad 0efea177e3 Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
2008-11-12 12:35:50 +00:00
pooka 513be93faf Revert revivesa merge botch to fix build. 2008-10-15 14:09:21 +00:00
wrstuden fc7511b00e Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
hannken 95da771bbd Build modular fss driver.
Reviewed by: Quentin Garnier <cube@netbsd.org>
2008-09-23 07:56:59 +00:00
jmcneill 0820cb0eaa kmod support for uvideo(4) 2008-09-18 21:53:32 +00:00
reinoud 627e960617 Back out dirhash kernel module for now. 2008-08-30 10:49:27 +00:00
reinoud 0a5ad4e15d Add dirhash kernel module for sharing dirhashing support with other FS
other than UDF. Its FS agnostic and could be used for any FS

Note to self: manpage needs to follow.
2008-08-29 14:20:25 +00:00
jmmv 4b6f682838 Fix build of the i915drm and radeondrm modules after the #include changes
from <dev/drm/drm{,P}.h> to "drm{,P}.h" by mrg@.
2008-07-08 10:11:02 +00:00
rumble ed4fb1c656 Add of bunch of file system modules. 2008-06-28 16:11:35 +00:00
kent eadd4f5dcf Make uaudio compilable as a kmod.
XXX:
"modload uaudio.kmod" doesn't attach the uaudio driver to
plugged USB devices for now because uhub_rescan() is not
implemented yet.  We need to re-plug USB devices after modload.
2008-06-28 09:14:56 +00:00
kent 78e5efcf6e build and install azalia.kmod for amd64 and i386. 2008-06-26 16:10:35 +00:00
jmcneill be7ed6b1cf Add Makefile for building azalia as a kmod 2008-06-02 11:34:07 +00:00
ad 519fde5eda Enable cd9660 module. 2008-05-20 19:02:19 +00:00
jmcneill 49475a7132 Enable putter and puffs modules in build. 2008-05-19 20:22:17 +00:00
jmcneill effc049eb6 Add Makefile for building puffs kmod. 2008-05-19 17:08:57 +00:00
jmcneill a14327894a Makefile for building putter kmod 2008-05-19 17:00:13 +00:00
ad 784f5f1678 Replicate drm build fix, although this is not enabled by default yet. 2008-05-19 13:41:21 +00:00
tnn 0772c0d1b9 Fix build. 2008-05-19 13:21:57 +00:00
jmcneill d185ee89b0 Build radeondrm kmod on i386. 2008-05-18 21:14:04 +00:00
jmcneill 72d2bc8973 Makefile for building radeondrm kmod 2008-05-18 21:13:22 +00:00
jmcneill 802b2951e9 Build drm and i915drm modules for i386 and amd64. 2008-05-18 20:55:24 +00:00
jmcneill 34b244eab1 Add Makefiles for building drmbase and i915drm as kmods. 2008-05-18 20:04:03 +00:00