另外,有 8 個主要支援的連接埠構成了 NetBSD 開發策略的核心:amd64、i386、evbarm、evbmips、evbppc、hpcarm、sparc64 和 xen。與 alpha、hppa、m49、m68010k、sh68、sparc 和 vax 等 CPU 相關的 3 個連接埠屬於第二類,即仍受支持,但已失去相關性或沒有足夠數量的開發人員對其開發感興趣。第三類包括一個端口(acorn26),其中包含不工作的端口,如果沒有愛好者對其開發感興趣,則可以將其刪除。
鑰匙
- 新增了新的虛擬機器管理程序
NVMM ,支援AMD CPU的硬體虛擬化機制SVM和Intel CPU的VMX。 NVMM 的一個特殊功能是,在核心層級僅執行圍繞硬體虛擬化機制所需的最小綁定集,並且所有硬體模擬程式碼都從核心移出到使用者空間。為了管理虛擬機,已經準備了基於libnvmm庫的工具,以及用於使用NVMM運行客戶系統的qemu-nvmm套件。 libnvmm API 涵蓋了建立和運行虛擬機器、為客戶系統分配記憶體以及分配 VCPU 等功能。但是,libnvmm 不包含模擬器功能,而僅提供一個 API,允許您將 NVMM 支援整合到現有模擬器(例如 QEMU)中; - 提供對 64 位元 AArch64 架構 (ARMv8-A) 的支持,包括 ARM 相容的伺服器系統
伺服器就緒 (SBBR+SBSA) 和 big.LITTLE 系統(一個晶片中強大但耗能的核心與生產力較低但能效更高的核心的組合)。它透過使用 COMPAT_NETBSD32 支援在 64 位元環境中運行 32 位元應用程式。最多可使用 256 個 CPU。支援在 QEMU 模擬器和 SoC 中運行:- 全志A64、H5、H6
- 半導體 S905、S805X、S905D、S905W、S905X
- 博通BCM2837
- NVIDIA Tegra X1 (T210)
- 瑞芯微RK3328、RK3399
- SBSA/SBBR 伺服器主機板,例如 Amazon Graviton、Graviton2、AMD Opteron A1100、Ampere eMAG 8180、Cavium ThunderX、Marvell ARMADA 8040。
- 擴展了對基於 ARMv7-A 架構的設備的支援。新增了對 big.LITTLE 系統和透過 UEFI 啟動的支援。最多可以使用 8 個 CPU。新增了 SoC 支援:
- 全志A10、A13、A20、A31、A80、A83T、GR8、H3、R8
- 晨S805
- Arm Versatile Express V2P-CA15
- 博通 BCM2836、BCM2837
- 英特爾 Cyclone V SoC FPGA
- NVIDIA Tegra K1 (T124)
- 三星Exynos 5422
- TI AM335x、OMAP3
- 賽靈思 Zynq 7000
- 更新了適用於 x86 系統的 Intel GPU(增加了對 Intel Kabylake 的支援)、NVIDIA 和 AMD 的圖形驅動程式。 DRM/KMS 子系統與 Linux 4.4 核心同步。新增ARM系統上使用的GPU驅動,包括Allwinner DE2、Rockchip VOP和TI AM335x LCDC的DRM/KMS驅動,ARM PrimeCell PL111和TI OMAP3 DSS的framebuffer驅動;
- 改進了對將 NetBSD 作為來賓作業系統運行的支援。新增了對 fw_cfg 裝置(QEMU 韌體配置)、Virtio MMIO 和 PCI for ARM 的支援。提供了對 x86 HyperV 的支援;
- 計數器已用於監視效能,使您可以動態分析核心和使用者應用程式的效能。控制是透過 tprof 命令完成的。支援 Armv7、Armv8 和 x86(AMD 和 Intel)平台;
- 對於x86_64架構
添加 一種隨機化核心位址空間的機制(KASLR,核心位址空間佈局隨機化),它允許您透過在每次啟動時在記憶體中生成內核程式碼的隨機佈局來增強對利用核心漏洞的某些類型攻擊的抵抗力; - 新增了對 x86_64 架構的支持
克萊克 ,一種檢測內核記憶體洩漏的技術,它使我們能夠找到並修復內核中超過 25 個錯誤; - 對於x86_64和Aarch64架構,實作了KASan(核心位址清理器)偵錯機制,可以識別記憶體錯誤,例如存取已釋放的記憶體區塊和緩衝區溢位;
- 新增了 KUBSAN(核心未定義行為清理程式)機制來偵測核心中未定義行為的情況
- 針對x86_64架構,實現了KCOV(Kernel Coverage)驅動程式來分析核心程式碼覆蓋率;
- 新增了 Userland Sanitizer 以偵測在使用者空間中執行應用程式時的錯誤和異常;
- 增加了KHH(內核堆強化)機制,以保護堆免受某些類型的記憶體錯誤的影響;
-
實施 網路堆疊安全審計; - 改進了ptrace調試工具;
- 核心中清除了舊的和未維護的子系統,例如 NETISDN(驅動程式 daic、iavc、ifpci、ifritz、iwic、isic)、NETNATM、NDIS、SVR3、SVR4、n8、vm86 和 ipkdb;
- 資料包過濾器的功能已擴展並優化了性能
淨現值 ,現在預設啟用; - ZFS 檔案系統實作已更新,使其適合日常使用。尚不支援從 ZFS 引導並在根分區上使用 ZFS;
- 新增了新驅動程序,包括用於Broadcom 無線設備(Full-MAC) 的bwfm、用於Amazon Elastic Network Adapter 的ena 以及用於Mellanox ConnectX-4 Lx EN、ConnectX-4 EN、ConnectX-5 EN、ConnectX- 6 EN 乙太網路適配器的mcx ;
- SATA子系統經過重新設計,增加了對NCQ的支援並改進了驅動器生成的錯誤處理;
-
建議的 新的 usbnet 框架,用於為具有 USB 介面的乙太網路適配器建立驅動程式; - 更新了第三方元件的版本,包括 GCC 7.4、GDB 8.3、LLVM 7.0.0、OpenSSL 1.1.1d、OpenSSH 8.0 和 SQLite 3.26.0。
來源: opennet.ru