d1b06863fb
* GENERAL - Update copyright. - Make kernel options for RANDOM_YARROW and RANDOM_DUMMY. Set neither to ON, which means we want Fortuna - If there is no 'device random' in the kernel, there will be NO random(4) device in the kernel, and the KERN_ARND sysctl will return nothing. With RANDOM_DUMMY there will be a random(4) that always blocks. - Repair kern.arandom (KERN_ARND sysctl). The old version went through arc4random(9) and was a bit weird. - Adjust arc4random stirring a bit - the existing code looks a little suspect. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Redo read_random(9) so as to duplicate random(4)'s read internals. This makes it a first-class citizen rather than a hack. - Move stuff out of locked regions when it does not need to be there. - Trim RANDOM_DEBUG printfs. Some are excess to requirement, some behind boot verbose. - Use SYSINIT to sequence the startup. - Fix init/deinit sysctl stuff. - Make relevant sysctls also tunables. - Add different harvesting "styles" to allow for different requirements (direct, queue, fast). - Add harvesting of FFS atime events. This needs to be checked for weighing down the FS code. - Add harvesting of slab allocator events. This needs to be checked for weighing down the allocator code. - Fix the random(9) manpage. - Loadable modules are not present for now. These will be re-engineered when the dust settles. - Use macros for locks. - Fix comments. * src/share/man/... - Update the man pages. * src/etc/... - The startup/shutdown work is done in D2924. * src/UPDATING - Add UPDATING announcement. * src/sys/dev/random/build.sh - Add copyright. - Add libz for unit tests. * src/sys/dev/random/dummy.c - Remove; no longer needed. Functionality incorporated into randomdev.*. * live_entropy_sources.c live_entropy_sources.h - Remove; content moved. - move content to randomdev.[ch] and optimise. * src/sys/dev/random/random_adaptors.c src/sys/dev/random/random_adaptors.h - Remove; plugability is no longer used. Compile-time algorithm selection is the way to go. * src/sys/dev/random/random_harvestq.c src/sys/dev/random/random_harvestq.h - Add early (re)boot-time randomness caching. * src/sys/dev/random/randomdev_soft.c src/sys/dev/random/randomdev_soft.h - Remove; no longer needed. * src/sys/dev/random/uint128.h - Provide a fake uint128_t; if a real one ever arrived, we can use that instead. All that is needed here is N=0, N++, N==0, and some localised trickery is used to manufacture a 128-bit 0ULLL. * src/sys/dev/random/unit_test.c src/sys/dev/random/unit_test.h - Improve unit tests; previously the testing human needed clairvoyance; now the test will do a basic check of compressibility. Clairvoyant talent is still a good idea. - This is still a long way off a proper unit test. * src/sys/dev/random/fortuna.c src/sys/dev/random/fortuna.h - Improve messy union to just uint128_t. - Remove unneeded 'static struct fortuna_start_cache'. - Tighten up up arithmetic. - Provide a method to allow eternal junk to be introduced; harden it against blatant by compress/hashing. - Assert that locks are held correctly. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Turn into self-sufficient module (no longer requires randomdev_soft.[ch]) * src/sys/dev/random/yarrow.c src/sys/dev/random/yarrow.h - Improve messy union to just uint128_t. - Remove unneeded 'staic struct start_cache'. - Tighten up up arithmetic. - Provide a method to allow eternal junk to be introduced; harden it against blatant by compress/hashing. - Assert that locks are held correctly. - Fix the nasty pre- and post-read overloading by providing explictit functions to do these tasks. - Turn into self-sufficient module (no longer requires randomdev_soft.[ch]) - Fix some magic numbers elsewhere used as FAST and SLOW. Differential Revision: https://reviews.freebsd.org/D2025 Reviewed by: vsevolod,delphij,rwatson,trasz,jmg Approved by: so (delphij)
133 lines
3.9 KiB
Plaintext
133 lines
3.9 KiB
Plaintext
# RT305X -- Kernel configuration file for FreeBSD/mips for Ralink RT305xF systems
|
|
#
|
|
# For more information on this file, please read the handbook section on
|
|
# Kernel Configuration Files:
|
|
#
|
|
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
|
|
#
|
|
# The handbook is also available locally in /usr/share/doc/handbook
|
|
# if you've installed the doc distribution, otherwise always see the
|
|
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
|
|
# latest information.
|
|
#
|
|
# An exhaustive list of options and more detailed explanations of the
|
|
# device lines is also present in the ../../conf/NOTES and NOTES files.
|
|
# If you are in doubt as to the purpose or necessity of a line, check first
|
|
# in NOTES.
|
|
#
|
|
# $FreeBSD$
|
|
|
|
ident RT305X
|
|
|
|
machine mips mipsel
|
|
makeoptions MIPS_LITTLE_ENDIAN=defined
|
|
makeoptions KERNLOADADDR=0x80001000
|
|
|
|
# Don't build any modules yet.
|
|
makeoptions MODULES_OVERRIDE="wlan_xauth wlan_wep wlan_tkip wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt if_bridge bridgestp msdosfs md ipfw dummynet libalias geom/geom_label ufs usb/uplcom usb/u3g usb/umodem usb/umass usb/ucom cam zlib"
|
|
makeoptions RT3052F
|
|
|
|
include "../rt305x/std.rt305x"
|
|
|
|
hints "RT305X.hints" #Default places to look for devices.
|
|
|
|
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
|
|
|
|
# Debugging for use in -current
|
|
#options DEADLKRES #Enable the deadlock resolver
|
|
#options INVARIANTS #Enable calls of extra sanity checking
|
|
#options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
|
|
#options WITNESS #Enable checks to detect deadlocks and cycles
|
|
#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed
|
|
#options DIAGNOSTIC
|
|
#options DEBUG_LOCKS
|
|
#options DEBUG_VFS_LOCKS
|
|
#options GDB
|
|
options DDB
|
|
options KDB
|
|
|
|
options SCHED_ULE
|
|
#options SCHED_4BSD #4BSD scheduler
|
|
#options COMPAT_43
|
|
options INET #InterNETworking
|
|
options NFSCL #Network Filesystem Client
|
|
options NFS_ROOT #NFS usable as /, requires NFSCL
|
|
options PSEUDOFS #Pseudo-filesystem framework
|
|
#options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
|
|
|
|
options BOOTP
|
|
#options BOOTP_NFSROOT
|
|
options BOOTP_NFSV3
|
|
options BOOTP_WIRED_TO=rt0
|
|
options BOOTP_COMPAT
|
|
options CD9660 # ISO 9660 Filesystem
|
|
options ROOTDEVNAME=\"cd9660:/dev/map/rootfs.uncompress\"
|
|
options TMPFS # TMP Memory Filesystem
|
|
|
|
#options FFS #Berkeley Fast Filesystem
|
|
#options SOFTUPDATES #Enable FFS soft updates support
|
|
#options UFS_ACL #Support for access control lists
|
|
#options UFS_DIRHASH #Improve performance on big directories
|
|
#options ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\"
|
|
|
|
# Options for making kernel less hangry
|
|
makeoptions INLINE_LIMIT=1024
|
|
options MAXUSERS=3
|
|
options MAXFILES=512
|
|
options NSFBUFS=256
|
|
options SHMALL=128
|
|
options MSGBUF_SIZE=65536
|
|
|
|
# Options for making kernel smallest
|
|
options NO_SYSCTL_DESCR # No description string of sysctl
|
|
#options NO_FFS_SNAPSHOT # Disable Snapshot supporting
|
|
options SCSI_NO_SENSE_STRINGS
|
|
options SCSI_NO_OP_STRINGS
|
|
options RWLOCK_NOINLINE
|
|
options SX_NOINLINE
|
|
options NO_SWAPPING
|
|
options MROUTING # Multicast routing
|
|
options IPFIREWALL_DEFAULT_TO_ACCEPT
|
|
|
|
device random
|
|
device loop
|
|
# RT3050F, RT3052F have only pseudo PHYs, so mii not required
|
|
device rt
|
|
|
|
device ether
|
|
device bpf # Berkeley packet filter
|
|
device vlan
|
|
#device lagg
|
|
#device if_bridge
|
|
device uart
|
|
nodevice uart_ns8250
|
|
device tun # Packet tunnel.
|
|
|
|
device wlan
|
|
|
|
|
|
device gpio
|
|
device gpioled
|
|
|
|
device cfi # Detect Flash memmory
|
|
device cfid
|
|
|
|
device nvram2env
|
|
|
|
device usb
|
|
#device dotg # DWC like USB OTG Controller driver
|
|
#device u3g
|
|
#device umodem
|
|
#device uplcom
|
|
#device umass
|
|
#device da
|
|
#device pass
|
|
#device scbus
|
|
options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI
|
|
|
|
#options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order
|
|
#options USB_DEBUG
|
|
#options USB_REQ_DEBUG
|
|
|
|
|