]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/riscv/conf/GENERIC
THIS BRANCH IS OBSOLETE, PLEASE READ:
[FreeBSD/FreeBSD.git] / sys / riscv / conf / GENERIC
1 #
2 # GENERIC -- Generic kernel configuration file for FreeBSD/RISC-V
3 #
4 # For more information on this file, please read the config(5) manual page,
5 # and/or the handbook section on Kernel Configuration Files:
6 #
7 #    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
8 #
9 # The handbook is also available locally in /usr/share/doc/handbook
10 # if you've installed the doc distribution, otherwise always see the
11 # FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
12 # latest information.
13 #
14 # An exhaustive list of options and more detailed explanations of the
15 # device lines is also present in the ../../conf/NOTES and NOTES files.
16 # If you are in doubt as to the purpose or necessity of a line, check first
17 # in NOTES.
18 #
19 # $FreeBSD$
20
21 cpu             RISCV
22 ident           GENERIC
23
24 makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
25 makeoptions     WITH_CTF=1              # Run ctfconvert(1) for DTrace support
26
27 options         SCHED_ULE               # ULE scheduler
28 options         PREEMPTION              # Enable kernel thread preemption
29 options         VIMAGE                  # Subsystem virtualization, e.g. VNET
30 options         INET                    # InterNETworking
31 options         INET6                   # IPv6 communications protocols
32 options         TCP_HHOOK               # hhook(9) framework for TCP
33 options         IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
34 options         ROUTE_MPATH             # Multipath routing support
35 options         TCP_OFFLOAD             # TCP offload
36 options         SCTP_SUPPORT            # Allow kldload of SCTP
37 options         FFS                     # Berkeley Fast Filesystem
38 options         SOFTUPDATES             # Enable FFS soft updates support
39 options         UFS_ACL                 # Support for access control lists
40 options         UFS_DIRHASH             # Improve performance on big directories
41 options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
42 options         QUOTA                   # Enable disk quotas for UFS
43 options         NFSCL                   # Network Filesystem Client
44 options         NFSD                    # Network Filesystem Server
45 options         NFSLOCKD                # Network Lock Manager
46 options         NFS_ROOT                # NFS usable as /, requires NFSCL
47 options         MSDOSFS                 # MSDOS Filesystem
48 options         CD9660                  # ISO 9660 Filesystem
49 options         PROCFS                  # Process filesystem (requires PSEUDOFS)
50 options         PSEUDOFS                # Pseudo-filesystem framework
51 options         TMPFS                   # Efficient memory filesystem
52 options         GEOM_PART_GPT           # GUID Partition Tables.
53 options         GEOM_RAID               # Soft RAID functionality.
54 options         GEOM_LABEL              # Provides labelization
55 options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
56 options         KTRACE                  # ktrace(1) support
57 options         STACK                   # stack(9) support
58 options         SYSVSHM                 # SYSV-style shared memory
59 options         SYSVMSG                 # SYSV-style message queues
60 options         SYSVSEM                 # SYSV-style semaphores
61 options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
62 options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
63 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
64 # options       HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
65 options         AUDIT                   # Security event auditing
66 options         CAPABILITY_MODE         # Capsicum capability mode
67 options         CAPABILITIES            # Capsicum capabilities
68 options         MAC                     # TrustedBSD MAC Framework
69 options         KDTRACE_FRAME           # Ensure frames are compiled in
70 options         KDTRACE_HOOKS           # Kernel DTrace hooks
71 options         DDB_CTF                 # Kernel ELF linker loads CTF data
72 options         FPE                     # Floating-point extension support
73 options         RACCT                   # Resource accounting framework
74 options         RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
75 options         RCTL                    # Resource limits
76 options         SMP
77 options         INTRNG
78
79 # RISC-V SBI console
80 device          rcons
81
82 # EXT_RESOURCES pseudo devices
83 options         EXT_RESOURCES
84 device          clk
85 device          syscon
86 device          syscon_power
87 device          riscv_syscon
88
89 # Bus drivers
90 device          pci
91
92 # VirtIO support
93 device          virtio                  # Generic VirtIO bus (required)
94 device          virtio_pci              # VirtIO PCI device
95 device          vtnet                   # VirtIO Ethernet device
96 device          virtio_blk              # VirtIO Block device
97 device          virtio_mmio             # VirtIO MMIO bus
98
99 # DTrace support
100 # device        dtrace
101 # device        dtrace_profile
102 # device        dtrace_sdt
103 # device        dtrace_fbt
104 # device        dtrace_systrace
105 # device        dtrace_prototype
106 # device        dtraceall
107
108 # Serial (COM) ports
109 device          uart            # Generic UART driver
110 device          uart_lowrisc    # lowRISC UART driver
111 device          uart_ns8250     # ns8250-type UART driver
112
113 # RTC
114 device          goldfish_rtc    # QEMU RTC
115
116 # Ethernet drivers
117 device          miibus          # MII bus support
118 device          cgem            # Cadence Gigabit Ethernet MAC
119 device          xae             # Xilinx AXI Ethernet MAC
120
121 # DMA support
122 device          xdma            # DMA interface
123 device          axidma          # Xilinx AXI DMA Controller
124
125 # Uncomment for memory disk
126 # options       MD_ROOT
127 # options       MD_ROOT_SIZE=32768      # 32MB ram disk
128 # makeoptions   MFS_IMAGE=/path/to/img
129 # options       ROOTDEVNAME=\"ufs:/dev/md0\"
130
131 # Uncomment for virtio block device
132 # options       ROOTDEVNAME=\"ufs:/dev/vtbd0\"
133
134 # Debugging support.  Always need this:
135 options         KDB                     # Enable kernel debugger support.
136 options         KDB_TRACE               # Print a stack trace for a panic.
137 # For full debugger support use (turn off in stable branch):
138 options         DDB                     # Support DDB.
139 # options       GDB                     # Support remote GDB.
140 options         DEADLKRES               # Enable the deadlock resolver
141 options         INVARIANTS              # Enable calls of extra sanity checking
142 options         INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
143 options         WITNESS                 # Enable checks to detect deadlocks and cycles
144 options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
145 options         MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
146 # options       EARLY_PRINTF
147 options         VERBOSE_SYSINIT=0       # Support debug.verbose_sysinit, off by default
148
149 # Kernel dump features.
150 options         ZSTDIO                  # zstd-compressed kernel and user dumps
151
152 # Pseudo devices.
153 device          crypto          # core crypto support
154 device          loop            # Network loopback
155 device          ether           # Ethernet support
156 device          vlan            # 802.1Q VLAN support
157 device          tuntap          # Packet tunnel.
158 device          md              # Memory "disks"
159 device          gif             # IPv6 and IPv4 tunneling
160 device          firmware        # firmware assist module
161
162 # The `bpf' device enables the Berkeley Packet Filter.
163 # Be aware of the administrative consequences of enabling this!
164 # Note that 'bpf' is required for DHCP.
165 device          bpf             # Berkeley packet filter
166
167 # Flattened Device Tree
168 options         FDT
169 makeoptions     MODULES_EXTRA+="dtb/sifive"
170
171 # SiFive device drivers
172 device          fu540spi
173 include         "../sifive/std.sifive"