#SEE SYS/CONF/notes FOR MORE OPTIONS ident MICROBLAZEDEF include "../microblaze/std.microblaze" machine microblaze #makeoptions CONF_CFLAGS=-fno-builtin #Don't allow use of memcmp, etc. makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols #makeoptions KERNEL=foo #Build kernel "foo" and install "/foo" # Only build ext2fs module plus those parts of the sound system I need. makeoptions MODULES_OVERRIDE="" makeoptions DESTDIR=/var/tmp/compile # # The root device and filesystem type can be compiled in; # this provides a fallback option if the root device cannot # be correctly guessed by the bootstrap code, or an override if # the RB_DFLTROOT flag (-r) is specified when booting the kernel. # #options ROOTDEVNAME=\"ufs:da0s2e\" # # FreeBSD processes are subject to certain limits to their consumption # of system resources. See getrlimit(2) for more details. Each # resource limit has two values, a "soft" limit and a "hard" limit. # The soft limits can be modified during normal system operation, but # the hard limits are set at boot time. Their default values are # in sys//include/vmparam.h. There are two ways to change them: # # 1. Set the values at kernel build time. The options below are one # way to allow that limit to grow to 1GB. They can be increased # further by changing the parameters: # # 2. In /boot/loader.conf, set the tunables kern.maxswzone, # kern.maxbcache, kern.maxtsiz, kern.dfldsiz, kern.maxdsiz, # kern.dflssiz, kern.maxssiz and kern.sgrowsiz. # # The options in /boot/loader.conf override anything in the kernel # configuration file. See the function init_param1 in # sys/kern/subr_param.c for more details. # options MAXDSIZ=(1024UL*1024*1024) options MAXSSIZ=(128UL*1024*1024) options DFLDSIZ=(1024UL*1024*1024) #options INCLUDE_CONFIG_FILE # Include this file in kernel # # Compile-time defaults for various boot parameters # options BOOTVERBOSE=1 #options BOOTHOWTO=RB_MULTIPLE #options GEOM_AES # Don't use, use GEOM_BDE #options GEOM_BDE # Disk encryption. #options GEOM_BSD # BSD disklabels #options GEOM_CACHE # Disk cache. #options GEOM_CONCAT # Disk concatenation. #options GEOM_ELI # Disk encryption. #options GEOM_FOX # Redundant path mitigation #options GEOM_GATE # Userland services. #options GEOM_JOURNAL # Journaling. #options GEOM_LABEL # Providers labelization. #options GEOM_MBR # DOS/MBR partitioning #options GEOM_MIRROR # Disk mirroring. #options GEOM_MULTIPATH # Disk multipath #options GEOM_NOP # Test class. #options GEOM_PART_APM # Apple partitioning #options GEOM_PART_BSD # BSD disklabel #options GEOM_PART_BSD64 # BSD disklabel64 #options GEOM_PART_EBR # Extended Boot Records #options GEOM_PART_EBR_COMPAT # Backward compatible partition names #options GEOM_PART_GPT # GPT partitioning #options GEOM_PART_LDM # Logical Disk Manager #options GEOM_PART_MBR # MBR partitioning #options GEOM_PART_PC98 # PC-9800 disk partitioning #options GEOM_PART_VTOC8 # SMI VTOC8 disk label #options GEOM_PC98 # NEC PC9800 partitioning #options GEOM_RAID # Soft RAID functionality. #options GEOM_RAID3 # RAID3 functionality. #options GEOM_SHSEC # Shared secret. #options GEOM_STRIPE # Disk striping. #options GEOM_SUNLABEL # Sun/Solaris partitioning #options GEOM_UZIP # Read-only compressed disks #options GEOM_VINUM # Vinum logical volume manager #options GEOM_VIRSTOR # Virtual storage. #options GEOM_VOL # Volume names from UFS superblock #options GEOM_ZERO # Performance testing helper. #Scheduler selection and stats options options SCHED_4BSD #options SCHED_STATS #options SCHED_ULE ##################################################################### # SMP OPTIONS: # # SMP enables building of a Symmetric MultiProcessor Kernel. # Mandatory: #options SMP # Symmetric MultiProcessor Kernel # MAXCPU defines the maximum number of CPUs that can boot in the system. # A default value should be already present, for every architecture. #options MAXCPU=32 # MAXMEMDOM defines the maximum number of memory domains that can boot in the # system. A default value should already be defined by every architecture. #options MAXMEMDOM=1 # ADAPTIVE_MUTEXES changes the behavior of blocking mutexes to spin # if the thread that currently owns the mutex is executing on another # CPU. This behavior is enabled by default, so this option can be used # to disable it. options NO_ADAPTIVE_MUTEXES # ADAPTIVE_RWLOCKS changes the behavior of reader/writer locks to spin # if the thread that currently owns the rwlock is executing on another # CPU. This behavior is enabled by default, so this option can be used # to disable it. options NO_ADAPTIVE_RWLOCKS # ADAPTIVE_SX changes the behavior of sx locks to spin if the thread that # currently owns the sx lock is executing on another CPU. # This behavior is enabled by default, so this option can be used to # disable it. options NO_ADAPTIVE_SX # MUTEX_NOINLINE forces mutex operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is # already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, LOCK_PROFILING, # and WITNESS options. options MUTEX_NOINLINE # RWLOCK_NOINLINE forces rwlock operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is # already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, LOCK_PROFILING, # and WITNESS options. options RWLOCK_NOINLINE # SX_NOINLINE forces sx lock operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is # already implied by the INVARIANT_SUPPORT, INVARIANTS, KTR, LOCK_PROFILING, # and WITNESS options. options SX_NOINLINE ##################################################################### # COMPATIBILITY OPTIONS # # Implement system calls compatible with 4.3BSD and older versions of # FreeBSD. You probably do NOT want to remove this as much current code # still relies on the 4.3 emulation. Note that some architectures that # are supported by FreeBSD do not include support for certain important # aspects of this compatibility option, namely those related to the # signal delivery mechanism. # #options COMPAT_43 # Enable FreeBSD4 compatibility syscalls #options COMPAT_FREEBSD4 # Enable FreeBSD5 compatibility syscalls #options COMPAT_FREEBSD5 # Enable FreeBSD6 compatibility syscalls #options COMPAT_FREEBSD6 # Enable FreeBSD7 compatibility syscalls #options COMPAT_FREEBSD7 # # These three options provide support for System V Interface # Definition-style interprocess communication, in the form of shared # memory, semaphores, and message queues, respectively. # #options SYSVSHM #options SYSVSEM #options SYSVMSG # # NO_SYSCTL_DESCR omits the sysctl node descriptions to save space in the # resulting kernel. options NO_SYSCTL_DESCR # # EARLY_PRINTF enables support for calling a special printf (eprintf) # very early in the kernel (before cn_init() has been called). This # should only be used for debugging purposes early in boot. Normally, # it is not defined. It is commented out here because this feature # isn't generally available. And the required eputc() isn't defined. # #options EARLY_PRINTF # KTR_COMPILE defines the mask of events to compile into the kernel as # defined by the KTR_* constants in . options KTR options KTR_BOOT_ENTRIES=1024 options KTR_ENTRIES=(128*1024) options KTR_COMPILE=(KTR_INTR|KTR_PROC) #options KTR_MASK=(KTR_INTR|KTR_PROC) #options KTR_CPUMASK=0x3 #options KTR_VERBOSE # # The INVARIANTS option is used in a number of source files to enable # extra sanity checking of internal structures. This support is not # enabled by default because of the extra time it would take to check # for these conditions, which can only occur as a result of # programming errors. # options INVARIANTS # # The INVARIANT_SUPPORT option makes us compile in support for # verifying some of the internal structures. It is a prerequisite for # 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be # called. The intent is that you can set 'INVARIANTS' for single # source files (by changing the source file or specifying it on the # command line) if you have 'INVARIANT_SUPPORT' enabled. Also, if you # wish to build a kernel module with 'INVARIANTS', then adding # 'INVARIANT_SUPPORT' to your kernel will provide all the necessary # infrastructure without the added overhead. # options INVARIANT_SUPPORT options DIAGNOSTIC options STACK ##################################################################### # FILESYSTEM OPTIONS # # Only the root filesystem needs to be statically compiled or preloaded # as module; everything else will be automatically loaded at mount # time. Some people still prefer to statically compile other # filesystems as well. # # NB: The UNION filesystem was known to be buggy in the past. It is now # being actively maintained, although there are still some issues being # resolved. # # One of these is mandatory: options FFS #Fast filesystem #options NFSCLIENT #Network File System client # The rest are optional: #options CD9660 #ISO 9660 filesystem #options FDESCFS #File descriptor filesystem #options FUSE #FUSE support module #options MSDOSFS #MS DOS File System (FAT, FAT32) #options NFSSERVER #Network File System server #options NFSLOCKD #Network Lock Manager #options NFSCL #New Network Filesystem Client #options NFSD #New Network Filesystem Server #options KGSSAPI #Kernel GSSAPI implementation #options NULLFS #NULL filesystem #options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework #options PSEUDOFS_TRACE #Debugging support for PSEUDOFS #options SMBFS #SMB/CIFS filesystem options TMPFS #Efficient memory filesystem #options UDF #Universal Disk Format #options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' #options NFS_ROOT #NFS usable as root device # Soft updates is a technique for improving filesystem speed and # making abrupt shutdown less risky. # #options SOFTUPDATES # Extended attributes allow additional data to be associated with files, # and is used for ACLs, Capabilities, and MAC labels. # See src/sys/ufs/ufs/README.extattr for more information. #options UFS_EXTATTR #options UFS_EXTATTR_AUTOSTART # Access Control List support for UFS filesystems. The current ACL # implementation requires extended attribute support, UFS_EXTATTR, # for the underlying filesystem. # See src/sys/ufs/ufs/README.acls for more information. #options UFS_ACL # Gjournal-based UFS journaling support. #options UFS_GJOURNAL # Make space in the kernel for a root filesystem on a md device. # Define to the number of kilobytes to reserve for the filesystem. #options MD_ROOT_SIZE=10 # Make the md device a potential root device, either with preloaded # images of type mfs_root or md_root. options MD_ROOT # Disk quotas are supported when this option is enabled. #options QUOTA #enable disk quotas # NFS options: #options NFS_MINATTRTIMO=3 # VREG attrib cache timeout in sec #options NFS_MAXATTRTIMO=60 #options NFS_MINDIRATTRTIMO=30 # VDIR attrib cache timeout in sec #options NFS_MAXDIRATTRTIMO=60 #options NFS_GATHERDELAY=10 # Default write gather delay (msec) #options NFS_WDELAYHASHSIZ=16 # and with this #options NFS_DEBUG # Enable NFS Debugging #options EXT2FS # Cryptographically secure random number generator; /dev/random #device random # The system memory devices; /dev/mem, /dev/kmem device mem # The kernel symbol table device; /dev/ksyms #device ksyms # Optional character code conversion support with LIBICONV. # Each option requires their base file system and LIBICONV. #options CD9660_ICONV #options MSDOSFS_ICONV #options UDF_ICONV ##################################################################### # CLOCK OPTIONS # The granularity of operation is controlled by the kernel option HZ whose # default value (1000 on most architectures) means a granularity of 1ms # (1s/HZ). Historically, the default was 100, but finer granularity is # required for DUMMYNET and other systems on modern hardware. There are # reasonable arguments that HZ should, in fact, be 100 still; consider, # that reducing the granularity too much might cause excessive overhead in # clock interrupt processing, potentially causing ticks to be missed and thus # actually reducing the accuracy of operation. options HZ=100 # Enable support for the kernel PLL to use an external PPS signal, # under supervision of [x]ntpd(8) # More info in ntpd documentation: http://www.eecis.udel.edu/~ntp #options PPS_SYNC # Enable support for generic feed-forward clocks in the kernel. # The feed-forward clock support is an alternative to the feedback oriented # ntpd/system clock approach, and is to be used with a feed-forward # synchronization algorithm such as the RADclock: # More info here: http://www.synclab.org/radclock #options FFCLOCK ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS #device pty #BSD-style compatibility pseudo ttys #device nmdm #back-to-back tty devices device md #Memory/malloc disk #device snp #Snoop device - to look at pty/vty/etc.. #device ccd #Concatenated disk driver #device firmware #firmware(9) support # Kernel side iconv library #options LIBICONV # Size of the kernel message buffer. Should be N * pagesize. options MSGBUF_SIZE=40960 ##################################################################### # HARDWARE DEVICE CONFIGURATION # For ISA the required hints are listed. # EISA, MCA, PCI, CardBus, SD/MMC and pccard are self identifying buses, so # no hints are needed. # # Mandatory devices: # # These options are valid for other keyboard drivers as well. options KBD_DISABLE_KEYMAP_LOAD # refuse to load a keymap options KBD_INSTALL_CDEV # install a CDEV entry in /dev #options FB_DEBUG # Frame buffer debugging device splash # Splash screen and screen saver support # Various screen savers. #device blank_saver #device daemon_saver #device dragon_saver #device fade_saver #device fire_saver #device green_saver #device logo_saver #device rain_saver #device snake_saver #device star_saver #device warp_saver # The syscons console driver (SCO color console compatible). #device sc #hint.sc.0.at="isa" options MAXCONS=4 # number of virtual consoles #options SC_ALT_MOUSE_IMAGE # simplified mouse cursor in text mode #options SC_DFLT_FONT # compile font in #makeoptions SC_DFLT_FONT=cp850 options SC_DISABLE_KDBKEY # disable `debug' key options SC_DISABLE_REBOOT # disable reboot key sequence options SC_HISTORY_SIZE=30 # number of history buffer lines #options SC_MOUSE_CHAR=0x3 # char code for text mode mouse cursor #options SC_PIXEL_MODE # add support for the raster text mode # The following options will let you change the default colors of syscons. #options SC_NORM_ATTR=(FG_GREEN|BG_BLACK) #options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN) #options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK) #options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED) # The following options will let you change the default behavior of # cut-n-paste feature #options SC_CUT_SPACES2TABS # convert leading spaces into tabs #options SC_CUT_SEPCHARS=\"x09\" # set of characters that delimit words # (default is single space - \"x20\") # If you have a two button mouse, you may want to add the following option # to use the right button of the mouse to paste text. options SC_TWOBUTTON_MOUSE # You can selectively disable features in syscons. options SC_NO_CUTPASTE options SC_NO_FONT_LOADING options SC_NO_HISTORY options SC_NO_MODE_CHANGE options SC_NO_SYSMOUSE options SC_NO_SUSPEND_VTYSWITCH # `flags' for sc # 0x80 Put the video card in the VESA 800x600 dots, 16 color mode # 0x100 Probe for a keyboard device periodically if one is not present # Enable experimental features of the syscons terminal emulator (teken). #options TEKEN_CONS25 # cons25-style terminal emulation #options TEKEN_UTF8 # UTF-8 output handling # # Optional devices: # # # uart: newbusified driver for serial interfaces. It consolidates the sio(4), # sab(4) and zs(4) drivers. # #device uart # Options for uart(4) #options UART_PPS_ON_CTS # Do time pulse capturing using CTS # instead of DCD. #options UART_POLL_FREQ # Set polling rate, used when hw has # no interrupt support (50 Hz default). # The following hint should only be used for pure ISA devices. It is not # needed otherwise. Use of hints is strongly discouraged. #hint.uart.0.at="isa" # The following 3 hints are used when the UART is a system device (i.e., a # console or debug port), but only on platforms that don't have any other # means to pass the information to the kernel. The unit number of the hint # is only used to bundle the hints together. There is no relation to the # unit number of the probed UART. #hint.uart.0.port="0x3f8" #hint.uart.0.flags="0x10" #hint.uart.0.baud="115200" # `flags' for serial drivers that support consoles like sio(4) and uart(4): # 0x10 enable console support for this unit. Other console flags # (if applicable) are ignored unless this is set. Enabling # console support does not make the unit the preferred console. # Boot with -h or set boot_serial=YES in the loader. For sio(4) # specifically, the 0x20 flag can also be set (see above). # Currently, at most one unit can have console support; the # first one (in config file order) with this flag set is # preferred. Setting this flag for sio0 gives the old behavior. # 0x80 use this port for serial line gdb support in ddb. Also known # as debug port. # # Options for serial drivers that support consoles: #options BREAK_TO_DEBUGGER # A BREAK on a serial console goes to # ddb, if available. # Solaris implements a new BREAK which is initiated by a character # sequence CR ~ ^b which is similar to a familiar pattern used on # Sun servers by the Remote Console. There are FreeBSD extensions: # CR ~ ^p requests force panic and CR ~ ^r requests a clean reboot. #options ALT_BREAK_TO_DEBUGGER # Serial Communications Controller # Supports the Siemens SAB 82532 and Zilog Z8530 multi-channel # communications controllers. #device scc # PCI Universal Communications driver # Supports various multi port PCI I/O cards. #device puc # # MMC/SD # # mmc MMC/SD bus # mmcsd MMC/SD memory card # sdhci Generic PCI SD Host Controller # #device mmc #device mmcsd #device sdhci # # Add software watchdog routines. # #options SW_WATCHDOG # # Add the software deadlock resolver thread. # #options DEADLKRES # # Disable swapping of stack pages. This option removes all # code which actually performs swapping, so it's not possible to turn # it back on at run-time. # # This is sometimes usable for systems which don't have any swap space # (see also sysctls "vm.defer_swapspace_pageouts" and # "vm.disable_swapspace_pageouts") # options NO_SWAPPING # Set the number of sf_bufs to allocate. sf_bufs are virtual buffers # for sendfile(2) that are used to map file VM pages, and normally # default to a quantity that is roughly 16*MAXUSERS+512. You would # typically want about 4 of these for each simultaneous file send. # options NSFBUFS=528 # dcons support (Dumb Console Device) #device dcons # dumb console driver #device dcons_crom # FireWire attachment #options DCONS_BUF_SIZE=16384 # buffer size #options DCONS_POLL_HZ=100 # polling rate #options DCONS_FORCE_CONSOLE=0 # force to be the primary console #options DCONS_FORCE_GDB=1 # force to be the gdb device ##################################################################### # # Embedded system options: # # An embedded system might want to run something other than init. options INIT_PATH=/sbin/init:/rescue/init # Debug options #options BUS_DEBUG # enable newbus debugging #options DEBUG_VFS_LOCKS # enable VFS lock debugging #options SOCKBUF_DEBUG # enable sockbuf last record/mb tail checking # # Verbose SYSINIT # # Make the SYSINIT process performed by mi_startup() verbose. This is very # useful when porting to a new architecture. If DDB is also enabled, this # will print function names instead of addresses. options VERBOSE_SYSINIT ##################################################################### # SYSV IPC KERNEL PARAMETERS # # Maximum number of System V semaphores that can be used on the system at # one time. #options SEMMNI=11 # Total number of semaphores system wide #options SEMMNS=61 # Total number of undo structures in system #options SEMMNU=31 # Maximum number of System V semaphores that can be used by a single process # at one time. #options SEMMSL=61 # Maximum number of operations that can be outstanding on a single System V # semaphore at one time. #options SEMOPM=101 # Maximum number of undo operations that can be outstanding on a single # System V semaphore at one time. #options SEMUME=11 # Maximum number of shared memory pages system wide. #options SHMALL=1025 # Maximum size, in bytes, of a single System V shared memory region. #options SHMMAX=(SHMMAXPGS*PAGE_SIZE+1) #options SHMMAXPGS=1025 # Minimum size, in bytes, of a single System V shared memory region. #options SHMMIN=2 # Maximum number of shared memory regions that can be used on the system # at one time. #options SHMMNI=33 # Maximum number of System V shared memory regions that can be attached to # a single process at one time. #options SHMSEG=9 # Compress user core dumps. #options COMPRESS_USER_CORES # required to compress file output from kernel for COMPRESS_USER_CORES. #device gzio # Set the amount of time (in seconds) the system will wait before # rebooting automatically when a kernel panic occurs. If set to (-1), # the system will wait indefinitely until a key is pressed on the # console. options PANIC_REBOOT_WAIT_TIME=-1 # Attempt to bypass the buffer cache and put data directly into the # userland buffer for read operation when O_DIRECT flag is set on the # file. Both offset and length of the read operation must be # multiples of the physical media sector size. # #options DIRECTIO # Specify a lower limit for the number of swap I/O buffers. They are # (among other things) used when bypassing the buffer cache due to # DIRECTIO kernel option enabled and O_DIRECT flag set on file. # #options NSWBUF_MIN=120 #from RPI: #options PREEMPTION #options PLATFORM #device pty # Comment following lines for boot console on serial port #device vt #device kbdmux #options SC_DFLT_FONT # compile font in #makeoptions SC_DFLT_FONT=cp437 #device ukbd #device gpio #device gpioled #options KDB #options DDB # Enable the kernel debugger # Flattened Device Tree #options FDT # Note: DTB is normally loaded and modified by RPi boot loader, then # handed to kernel via U-Boot and ubldr. #options FDT_DTB_STATIC #makeoptions FDT_DTS_FILE=rpi.dts #options VFP # vfp/neon