freebsd-dev/sys
Wanpeng Qian 8ab99dbea1
bhyve: abort and return FEATURE_NOT_SAVEABLE while set feature with a save flag for NVMe controller.
Currently bhyve's NVMe controller cannot save feature values cross
reboot. It should return a FEATURE_NOT_SAVEABLE error when the command
specifies a save flag.

Quote from NVMe specification, page 205:

https://nvmexpress.org/wp-content/uploads/NVM-Express-1_4-2019.06.10-Ratified.pdf

If the Feature Identifier specified in the Set Features command is not
saveable by the controller and the controller receives a Set Features
command with the Save bit set to one, then the command shall be aborted
with a status of Feature Identifier Not Saveable.

Reviewed by:		chuck (older version)
Approved by:		manu (mentor)
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D32767
2022-11-15 07:48:24 +01:00
..
amd64 bhyve: Drop volatile qualifiers from snapshot code 2022-11-11 10:02:26 -05:00
arm sys: Nuke double-semicolons 2022-11-02 09:34:20 -06:00
arm64 Check alignment of fp in unwind_frame 2022-11-15 00:25:46 +00:00
bsm
cam cam: Use FreeBSD standard copyright 2022-10-07 23:37:46 -06:00
cddl dtrace: Fix the i386 FBT build 2022-11-01 00:17:48 -04:00
compat linuxkpi: Define ZERO_OR_NULL_PTR() in <linux/slab.h> 2022-11-11 21:03:25 +01:00
conf pfsync: prepare code to accommodate AF_INET6 family 2022-11-09 21:06:07 +01:00
contrib acpica: Fix the botched merge 2022-10-27 22:36:35 -04:00
crypto OpenSSL: Regen assembly file for OpenSSSL 1.1.1s 2022-11-01 19:12:09 -04:00
ddb ddb: Don't flag breakpoint/watchpoint commands as MEMSAFE 2022-11-02 13:46:24 -04:00
dev bhyve: abort and return FEATURE_NOT_SAVEABLE while set feature with a save flag for NVMe controller. 2022-11-15 07:48:24 +01:00
dts
fs nfs: Fix common typos in source code comments 2022-11-08 14:58:32 +01:00
gdb ddb: use _FLAGS command macros where appropriate 2022-07-05 11:56:55 -03:00
geom Don't panic when tasting a disk with sectorsize=0 2022-11-09 10:21:12 -07:00
gnu
i386 bnxt: Remove from LINT 2022-11-04 22:55:18 -06:00
isa Adjust function definition in isa's pnp.c to avoid clang 15 warning 2022-07-27 21:13:59 +02:00
kern ktls: Inline ktls_cleanup() into ktls_destroy(). 2022-11-11 16:01:02 -08:00
kgssapi
libkern arm: Remove unused ffs.S 2022-10-20 10:48:31 -06:00
modules pfsync: prepare code to accommodate AF_INET6 family 2022-11-09 21:06:07 +01:00
net if_ovpn: ensure we're in vnet context when calling sorele() 2022-11-14 09:36:44 +01:00
net80211 net8021: Fix a typo in a kernel error message 2022-10-25 04:31:51 +02:00
netgraph ng_hci: handle NG_HCI_M_PULLUP failure in le_advertizing_report 2022-11-01 14:33:37 -04:00
netinet tcp: account sent/received IP ECN markings independently 2022-11-10 11:35:35 +01:00
netinet6 sctp: minor changes due to upstreaming of Glebs recent changes 2022-11-06 23:06:40 +01:00
netipsec ipsec: add support for CHACHA20POLY1305 2022-11-02 14:19:04 +01:00
netlink netlink: unregister groups along with family 2022-11-08 12:46:58 +01:00
netpfil ipfw: Spell PFIL_PASS correctly. 2022-11-14 12:20:19 +01:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed ibcore: The use of IN_LOOPBACK() now requires a valid VNET context. 2022-09-23 13:42:03 +02:00
opencrypto [skip ci] Remove obsolete references in crypto_request(9) 2022-11-02 11:09:06 -06:00
powerpc powerpc: slb_alloc_user_cache: fix missing uma_zalloc wait flag 2022-10-03 20:56:41 -03:00
riscv Check alignment of fp in unwind_frame 2022-11-15 00:25:46 +00:00
rpc clnt_vc.c: Replace msleep() with pause() to avoid assert panic 2022-10-14 15:46:55 -07:00
security Bump MAC_VERSION to 5 2022-10-07 15:24:32 +00:00
sys arm64: Disable per-thread stack-smashing protection in data_abort() 2022-11-07 16:05:58 -05:00
teken
tests
tools dtb: Be much less verbose in the building of dtb 2022-10-29 10:13:54 -06:00
ufs Enable taking snapshots on UFS/FFS filesystems using journaled soft updates. 2022-11-12 22:56:03 -08:00
vm ddb: don't limit pindex output in 'show vmopag' 2022-11-11 14:25:39 -04:00
x86 bhyve: Implement MSR_MISC_FEATURES_ENABLES 2022-10-27 11:34:41 -06:00
xdr
xen
Makefile Remove dead code in the cscope target 2022-11-11 15:53:57 +00:00
README.md README.md: shift description of kernel config files 2022-11-01 12:20:55 -03:00

FreeBSD Kernel Source:

This directory contains the source files and build glue that make up the FreeBSD kernel and its modules, including both original and contributed software.

Kernel configuration files are located in the conf/ subdirectory of each architecture. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries. LINT is a compile-only configuration used to maximize build coverage and detect regressions.

Source Roadmap:

Directory Description
amd64 AMD64 (64-bit x86) architecture support
arm 32-bit ARM architecture support
arm64 64-bit ARM (AArch64) architecture support
cam Common Access Method storage subsystem - cam(4) and ctl(4)
cddl CDDL-licensed optional sources such as DTrace
conf kernel build glue
compat Linux compatibility layer, FreeBSD 32-bit compatibility
contrib 3rd-party imported software such as OpenZFS
crypto crypto drivers
ddb interactive kernel debugger - ddb(4)
fs most filesystems, excluding UFS, NFS, and ZFS
dev device drivers
gdb kernel remote GDB stub - gdb(4)
geom GEOM framework - geom(4)
i386 i386 (32-bit x86) architecture support
kern main part of the kernel
libkern libc-like and other support functions for kernel use
modules kernel module infrastructure
net core networking code
net80211 wireless networking (IEEE 802.11) - net80211(4)
netgraph graph-based networking subsystem - netgraph(4)
netinet IPv4 protocol implementation - inet(4)
netinet6 IPv6 protocol implementation - inet6(4)
netipsec IPsec protocol implementation - ipsec(4)
netpfil packet filters - ipfw(4), pf(4), and ipfilter(4)
opencrypto OpenCrypto framework - crypto(7)
powerpc PowerPC/POWER (32 and 64-bit) architecture support
riscv 64-bit RISC-V architecture support
security security facilities - audit(4) and mac(4)
sys kernel headers
tests kernel unit tests
ufs Unix File System - ffs(7)
vm virtual memory system
x86 code shared by AMD64 and i386 architectures