]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/riscv/conf/GENERIC
MFV: r366539
[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         TCP_OFFLOAD             # TCP offload
35 options         SCTP_SUPPORT            # Allow kldload of SCTP
36 options         FFS                     # Berkeley Fast Filesystem
37 options         SOFTUPDATES             # Enable FFS soft updates support
38 options         UFS_ACL                 # Support for access control lists
39 options         UFS_DIRHASH             # Improve performance on big directories
40 options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
41 options         QUOTA                   # Enable disk quotas for UFS
42 options         NFSCL                   # Network Filesystem Client
43 options         NFSD                    # Network Filesystem Server
44 options         NFSLOCKD                # Network Lock Manager
45 options         NFS_ROOT                # NFS usable as /, requires NFSCL
46 options         MSDOSFS                 # MSDOS Filesystem
47 options         CD9660                  # ISO 9660 Filesystem
48 options         PROCFS                  # Process filesystem (requires PSEUDOFS)
49 options         PSEUDOFS                # Pseudo-filesystem framework
50 options         TMPFS                   # Efficient memory filesystem
51 options         GEOM_PART_GPT           # GUID Partition Tables.
52 options         GEOM_RAID               # Soft RAID functionality.
53 options         GEOM_LABEL              # Provides labelization
54 options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
55 options         KTRACE                  # ktrace(1) support
56 options         STACK                   # stack(9) support
57 options         SYSVSHM                 # SYSV-style shared memory
58 options         SYSVMSG                 # SYSV-style message queues
59 options         SYSVSEM                 # SYSV-style semaphores
60 options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
61 options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
62 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
63 # options       HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
64 options         AUDIT                   # Security event auditing
65 options         CAPABILITY_MODE         # Capsicum capability mode
66 options         CAPABILITIES            # Capsicum capabilities
67 options         MAC                     # TrustedBSD MAC Framework
68 options         KDTRACE_FRAME           # Ensure frames are compiled in
69 options         KDTRACE_HOOKS           # Kernel DTrace hooks
70 options         DDB_CTF                 # Kernel ELF linker loads CTF data
71 options         FPE                     # Floating-point extension support
72 options         RACCT                   # Resource accounting framework
73 options         RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
74 options         RCTL                    # Resource limits
75 options         SMP
76 options         INTRNG
77
78 # RISC-V SBI console
79 device          rcons
80
81 # EXT_RESOURCES pseudo devices
82 options         EXT_RESOURCES
83 device          clk
84 device          syscon
85 device          syscon_power
86 device          riscv_syscon
87
88 # Bus drivers
89 device          pci
90
91 # VirtIO support
92 device          virtio                  # Generic VirtIO bus (required)
93 device          virtio_pci              # VirtIO PCI device
94 device          vtnet                   # VirtIO Ethernet device
95 device          virtio_blk              # VirtIO Block device
96 device          virtio_mmio             # VirtIO MMIO bus
97
98 # DTrace support
99 # device        dtrace
100 # device        dtrace_profile
101 # device        dtrace_sdt
102 # device        dtrace_fbt
103 # device        dtrace_systrace
104 # device        dtrace_prototype
105 # device        dtraceall
106
107 # Serial (COM) ports
108 device          uart            # Generic UART driver
109 device          uart_lowrisc    # lowRISC UART driver
110 device          uart_ns8250     # ns8250-type UART driver
111
112 # RTC
113 device          goldfish_rtc    # QEMU RTC
114
115 # Ethernet drivers
116 device          miibus          # MII bus support
117 device          cgem            # Cadence Gigabit Ethernet MAC
118 device          xae             # Xilinx AXI Ethernet MAC
119
120 # DMA support
121 device          xdma            # DMA interface
122 device          axidma          # Xilinx AXI DMA Controller
123
124 # Uncomment for memory disk
125 # options       MD_ROOT
126 # options       MD_ROOT_SIZE=32768      # 32MB ram disk
127 # makeoptions   MFS_IMAGE=/path/to/img
128 # options       ROOTDEVNAME=\"ufs:/dev/md0\"
129
130 # Uncomment for virtio block device
131 # options       ROOTDEVNAME=\"ufs:/dev/vtbd0\"
132
133 # Debugging support.  Always need this:
134 options         KDB                     # Enable kernel debugger support.
135 options         KDB_TRACE               # Print a stack trace for a panic.
136 # For full debugger support use (turn off in stable branch):
137 options         DDB                     # Support DDB.
138 # options       GDB                     # Support remote GDB.
139 options         DEADLKRES               # Enable the deadlock resolver
140 options         INVARIANTS              # Enable calls of extra sanity checking
141 options         INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
142 options         WITNESS                 # Enable checks to detect deadlocks and cycles
143 options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
144 options         MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
145 # options       EARLY_PRINTF
146 options         VERBOSE_SYSINIT=0       # Support debug.verbose_sysinit, off by default
147
148 # Kernel dump features.
149 options         ZSTDIO                  # zstd-compressed kernel and user dumps
150
151 # Pseudo devices.
152 device          crypto          # core crypto support
153 device          loop            # Network loopback
154 device          ether           # Ethernet support
155 device          vlan            # 802.1Q VLAN support
156 device          tuntap          # Packet tunnel.
157 device          md              # Memory "disks"
158 device          gif             # IPv6 and IPv4 tunneling
159 device          firmware        # firmware assist module
160
161 # The `bpf' device enables the Berkeley Packet Filter.
162 # Be aware of the administrative consequences of enabling this!
163 # Note that 'bpf' is required for DHCP.
164 device          bpf             # Berkeley packet filter
165
166 # Flattened Device Tree
167 options         FDT
168 makeoptions     MODULES_EXTRA+="dtb/sifive"
169
170 # SiFive device drivers
171 device          fu540spi
172 include         "../sifive/std.sifive"