NetBSD/sys/modules/Makefile

113 lines
1.9 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.35 2009/11/10 14:47:52 skrll Exp $
# For all platforms
SUBDIR= xldscripts
SUBDIR+= accf_dataready
SUBDIR+= accf_httpready
2008-06-28 20:11:35 +04:00
SUBDIR+= adosfs
SUBDIR+= aio
2008-06-28 20:11:35 +04:00
SUBDIR+= cd9660
SUBDIR+= coda
SUBDIR+= coda5
SUBDIR+= compat
SUBDIR+= compat_ossaudio
SUBDIR+= coredump
2008-06-28 20:11:35 +04:00
SUBDIR+= efs
SUBDIR+= ext2fs
SUBDIR+= exec_script
2008-06-28 20:11:35 +04:00
SUBDIR+= fdesc
SUBDIR+= ffs
SUBDIR+= filecore
SUBDIR+= fss
2008-06-28 20:11:35 +04:00
SUBDIR+= hfs
SUBDIR+= kernfs
SUBDIR+= ksem
SUBDIR+= layerfs
2008-06-28 20:11:35 +04:00
SUBDIR+= lfs
SUBDIR+= mfs
SUBDIR+= mqueue
SUBDIR+= msdos
SUBDIR+= nfs
SUBDIR+= nfsserver
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 20:31:41 +04:00
SUBDIR+= nilfs
2008-06-28 20:11:35 +04:00
SUBDIR+= ntfs
SUBDIR+= null
2008-06-28 20:11:35 +04:00
SUBDIR+= overlay
SUBDIR+= portal
SUBDIR+= ppp_bsdcomp
SUBDIR+= ppp_deflate
2008-06-28 20:11:35 +04:00
SUBDIR+= procfs
SUBDIR+= ptyfs
SUBDIR+= puffs
SUBDIR+= putter
SUBDIR+= miniroot
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 22:50:12 +04:00
SUBDIR+= secmodel_bsd44
SUBDIR+= secmodel_overlay
SUBDIR+= securelevel
2008-06-28 20:11:35 +04:00
SUBDIR+= smbfs
2009-01-05 18:36:51 +03:00
SUBDIR+= sysvbfs
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 22:50:12 +04:00
SUBDIR+= suser
2008-06-28 20:11:35 +04:00
SUBDIR+= tmpfs
SUBDIR+= udf
SUBDIR+= umap
2008-06-28 20:11:35 +04:00
SUBDIR+= union
SUBDIR+= vnd
2009-03-10 17:56:30 +03:00
SUBDIR+= tprof
2008-06-28 20:11:35 +04:00
.if (defined(NOTYET))
SUBDIR+= unionfs
.endif
# Machine dependent section
.if ${MACHINE_ARCH} != "alpha"
2008-11-23 18:29:42 +03:00
SUBDIR+= exec_elf32
.endif
.if ${MACHINE_ARCH} == "alpha" || \
${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= exec_elf64
.endif
2009-03-10 17:56:30 +03:00
.if ${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "x86_64"
SUBDIR+= tprof_pmi
.endif
.if ${MACHINE_ARCH} == "x86_64"
SUBDIR+= azalia
SUBDIR+= compat_linux
SUBDIR+= compat_linux32
SUBDIR+= compat_netbsd32
SUBDIR+= drm
SUBDIR+= i915drm
.endif
.if ${MACHINE_ARCH} == "i386"
SUBDIR+= azalia
SUBDIR+= compat_freebsd
SUBDIR+= compat_ibcs2
SUBDIR+= compat_linux
SUBDIR+= compat_svr4
SUBDIR+= drm
SUBDIR+= exec_aout
SUBDIR+= i915drm
SUBDIR+= radeondrm
2009-09-27 16:46:39 +04:00
SUBDIR+= viadrm
.endif
.include <bsd.own.mk>
# we need our device mapper for LVM
.if (${MKLVM} != "no")
2009-03-05 04:29:32 +03:00
SUBDIR+= dm
.endif
# we need solaris and zfs modules for ZFS
.if (${MKZFS} != "no")
SUBDIR+= solaris
SUBDIR+= zfs
.endif
.include <bsd.subdir.mk>