ื“ื•ื— ืคื™ืชื•ื— FreeBSD ืœืจื‘ืขื•ืŸ ื”ืจืืฉื•ืŸ ืฉืœ 2020

ื™ืฆื ืœืื•ืจ ื“ื™ื•ื•ื— ืขืœ ืคื™ืชื•ื— ืคืจื•ื™ืงื˜ FreeBSD ืžื™ื ื•ืืจ ืขื“ ืžืจืฅ 2020. ื‘ื™ืŸ ื”ืฉื™ื ื•ื™ื™ื ื ื™ืชืŸ ืœืฆื™ื™ืŸ:

  • ืฉืืœื•ืช ื›ืœืœื™ื•ืช ื•ืžืขืจื›ืชื™ื•ืช
    • ื”ืกื™ืจื• ืืช ืขืจื›ืช ื”ืžื”ื“ืจ ืฉืœ GCC ืžืขืฅ ื”ืžืงื•ืจ FreeBSD-CURRENT, ื›ืžื• ื’ื ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช gperf, gcov ื•-gtc (devicetree compiler) ืฉืื™ื ื ื‘ืฉื™ืžื•ืฉ. ื›ืœ ื”ืคืœื˜ืคื•ืจืžื•ืช ืฉืื™ื ืŸ ืชื•ืžื›ื•ืช ื‘-Clang ื”ื•ืขื‘ืจื• ืœืฉื™ืžื•ืฉ ื‘ื›ืœื™ ื‘ื ื™ื™ื” ื—ื™ืฆื•ื ื™ื™ื ืฉื”ื•ืชืงื ื• ืžื™ืฆื™ืื•ืช. ืžืขืจื›ืช ื”ื‘ืกื™ืก ืฉืœื—ื” ืžื”ื“ื•ืจื” ืžื™ื•ืฉื ืช ืฉืœ GCC 4.2.1, ื•ืฉื™ืœื•ื‘ ืฉืœ ื’ืจืกืื•ืช ื—ื“ืฉื•ืช ื™ื•ืชืจ ืœื ื”ื™ื” ืืคืฉืจื™ ืขืงื‘ ื”ืžืขื‘ืจ ืฉืœ 4.2.2 ืœืจื™ืฉื™ื•ืŸ GPLv3, ืฉื ื—ืฉื‘ ื‘ืœืชื™ ื”ื•ืœื ืขื‘ื•ืจ ืจื›ื™ื‘ื™ ื”ื‘ืกื™ืก ืฉืœ FreeBSD. ืžื”ื“ื•ืจื•ืช ื ื•ื›ื—ื™ื•ืช ืฉืœ GCC, ื›ื•ืœืœ GCC 9, ืขื“ื™ื™ืŸ ื ื™ืชื ื•ืช ืœื”ืชืงื ื” ืžื—ื‘ื™ืœื•ืช ื•ื™ืฆื™ืื•ืช.
    • ืชืฉืชื™ืช ืืžื•ืœืฆื™ื™ืช ืกื‘ื™ื‘ืช ืœื™ื ื•ืงืก (Linuxulator) ื”ื•ืกื™ืคื” ืชืžื™ื›ื” ื‘ืงืจื™ืื” ืœืžืขืจื›ืช sendfile, ืžืฆื‘ TCP_CORK (ื ื“ืจืฉ ืขื‘ื•ืจ nginx), ื•ื“ื’ืœ MAP_32BIT (ืคื•ืชืจ ืืช ื”ื‘ืขื™ื” ื‘ื”ืฉืงืช ื—ื‘ื™ืœื•ืช ืขื Mono ืž-Ubuntu Bionic). ื‘ืขื™ื•ืช ื‘ืจื–ื•ืœื•ืฆื™ื™ืช DNS ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-glibc ื—ื“ืฉ ืž-2.30 (ืœื“ื•ื’ืžื” ืž- CentOS 8) ื ืคืชืจื•.
      ืชืฉืชื™ืช ื”ืื™ื ื˜ื’ืจืฆื™ื” ื”ืจืฆื™ืคื” ืžืกืคืงืช ืืช ื”ื™ื›ื•ืœืช ืœื”ืจื™ืฅ ืขื‘ื•ื“ื•ืช LTP (Linux Testing Project) ืขื Linuxulator ื›ื“ื™ ืœื‘ื“ื•ืง ืฉื™ืคื•ืจื™ื ืฉื‘ื•ืฆืขื• ื‘ืงื•ื“ ื›ื“ื™ ืœืชืžื•ืš ื‘ืœื™ื ื•ืงืก. ื›-400 ื‘ื“ื™ืงื•ืช ื ื›ืฉืœื•ืช ื•ื“ื•ืจืฉื•ืช ืชื™ืงื•ืŸ (ื—ืœืง ืžื”ืฉื’ื™ืื•ืช ื ื’ืจืžื•ืช ื›ืชื•ืฆืื” ืžืชื•ืฆืื•ืช ืฉื’ื•ื™ื•ืช, ื—ืœืงืŸ ื“ื•ืจืฉื•ืช ืชื™ืงื•ื ื™ื ื˜ืจื™ื•ื•ื™ืืœื™ื™ื, ืืš ื™ืฉื ืŸ ืื—ืจื•ืช ื”ื“ื•ืจืฉื•ืช ื”ื•ืกืคืช ืชืžื™ื›ื” ืœืงืจื™ืื•ืช ืžืขืจื›ืช ื—ื“ืฉื•ืช ืœืชื™ืงื•ืŸ). ื ืขืฉืชื” ืขื‘ื•ื“ื” ื›ื“ื™ ืœื ืงื•ืช ืืช ืงื•ื“ Linuxulator ื•ืœืคืฉื˜ ืืช ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื. ืชื™ืงื•ื ื™ื ืขื ืชืžื™ื›ื” ื‘ืชื›ื•ื ื•ืช ืžื•ืจื—ื‘ื•ืช ื•ืงืจื™ืื” ืœืžืขืจื›ืช fexecve ื”ื•ื›ื ื•, ืืš ืขื“ื™ื™ืŸ ืœื ื ื‘ื“ืงื•.

    • ืคื’ื™ืฉื•ืช ืงื‘ื•ืฆืช ื”ืขื‘ื•ื“ื” ืฉื ื•ืฆืจื” ืœื‘ื™ืฆื•ืข ื”ื’ื™ืจื” ืฉืœ ืงื•ื“ื™ ืžืงื•ืจ ืžืžืขืจื›ืช ื‘ืงืจืช ื”ืžืงื•ืจ ื”ืžืจื›ื–ื™ืช Subversion ืœืžืขืจื›ืช ื”ืžื‘ื•ื–ืจืช Git ื ืžืฉื›ื•ืช. ื“ื•ื— ืขื ื”ืฆืขื•ืช ืœื”ื’ื™ืจื” ื ืžืฆื ื‘ืชื”ืœื™ืš ื”ื›ื ื”.
    • ะ’ rtld (ืžืงืฉืจ ื‘ื–ืžืŸ ืจื™ืฆื”) ืžืฆื‘ ื‘ื™ืฆื•ืข ื™ืฉื™ืจ ืžืฉื•ืคืจ ("/libexec/ld-elf.so.1 {ื ืชื™ื‘} {ื˜ื™ืขื•ื ื™ื}").
    • ื”ืคืจื•ื™ืงื˜ ืœื‘ื“ื™ืงื” ืžื˜ื•ืฉื˜ืฉืช ืฉืœ ืœื™ื‘ืช FreeBSD ื‘ืืžืฆืขื•ืช ืžืขืจื›ืช syzkaller ืžืžืฉื™ืš ืœื”ืชืคืชื—. ื‘ืžื”ืœืš ืชืงื•ืคืช ื”ื“ื™ื•ื•ื—, ื‘ื•ื˜ืœื• ื‘ืขื™ื•ืช ื‘ืขืจื™ืžืช ื”ืจืฉืช ื•ื‘ืงื•ื“ ืœืขื‘ื•ื“ื” ืขื ื˜ื‘ืœืื•ืช ืžืชืืจ ืงื‘ืฆื™ื ืฉื–ื•ื”ื• ื‘ืืžืฆืขื•ืช syzkaller. ื‘ืขืงื‘ื•ืช ืื‘ื—ื•ืŸ ื”ืฉื’ื™ืื”, ื ื•ืกืคื• ืฉื™ื ื•ื™ื™ื ืœืขืจื™ืžืช SCTP ื›ื“ื™ ืœื”ืงืœ ืขืœ ืื™ืชื•ืจ ื‘ืื’ื™ื. ื›ืœืœื™ื ื ื•ืกืคื• ืœ- stress2 ื›ื“ื™ ืœื–ื”ื•ืช ืจื’ืจืกื™ื•ืช ืืคืฉืจื™ื•ืช. ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื‘ื“ื™ืงืช fuzz ืฉืœ ืงืจื™ืื•ืช ืžืขืจื›ืช ื—ื“ืฉื•ืช, ื›ื•ืœืœ copy_file_range(), __realpathat() ื•ืงืจื™ืื•ืช ืชืช-ืžืขืจื›ืช Capsicum. ื”ืขื‘ื•ื“ื” ื ืžืฉื›ืช ืœื›ืกื•ืช ืืช ืฉื›ื‘ืช ื”ื“ืžื™ื™ืช ืœื™ื ื•ืงืก ืขื ื‘ื“ื™ืงื•ืช fuzz. ื ื™ืชื—ื ื• ื•ื‘ื™ื˜ืœื ื• ืฉื’ื™ืื•ืช ืฉืฆื•ื™ื ื• ื‘ื“ื•ื—ื•ืช ื”-Coverity Scan ื”ืื—ืจื•ื ื™ื.
    • ืžืขืจื›ืช ื”ืื™ื ื˜ื’ืจืฆื™ื” ื”ืจืฆื™ืคื” ืขื‘ืจื” ืœื‘ื™ืฆื•ืข ื›ืœ ื‘ื“ื™ืงื•ืช ืจืืฉ ืขื ืฃ ืจืง ื‘ืืžืฆืขื•ืช clang/lld. ื‘ืขืช ื‘ื“ื™ืงืช RISC-V, ืžื•ื‘ื˜ื—ืช ื”ื™ื•ื•ืฆืจื•ืช ืชืžื•ื ืช ื“ื™ืกืง ืฉืœืžื” ืœื”ืคืขืœืช ื‘ื“ื™ืงื•ืช ื‘-QEMU ื‘ืืžืฆืขื•ืช OpenSBI. ื ื•ืกืคื• ืžืฉื™ืžื•ืช ื—ื“ืฉื•ืช ืœื‘ื“ื™ืงืช ืชืžื•ื ื•ืช ื•ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืœื”ืขื‘ืจืช ื—ื‘ื™ืœืช ื”ื‘ื“ื™ืงื•ืช Kyua ืžื”ืคื•ืจื˜ื™ื (devel/kyua) ืœืžืขืจื›ืช ื”ื‘ืกื™ืก ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื•ืช (ื”ื—ื‘ื™ืœื•ืช ืžื•ืชืงื ื•ืช ืœืื˜ ืžืื•ื“) ื”ืžืชืขื•ืจืจื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื‘- Kyua ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื—ื“ืฉื•ืช, ืฉื”ืคื™ืชื•ื— ืฉืœื”ืŸ ืžืชื‘ืฆืข ื‘ืืžืฆืขื•ืช ืืžื•ืœื˜ื•ืจ ืื• FPGA. ืฉื™ืœื•ื‘ ื‘ืžืขืจื›ืช ื”ื‘ืกื™ืก ื™ืคืฉื˜ ืžืฉืžืขื•ืชื™ืช ืืช ื”ื‘ื“ื™ืงื•ืช ืฉืœ ืคืœื˜ืคื•ืจืžื•ืช ืžืฉื•ื‘ืฆื•ืช ื•ื”ืชืžืžืฉืงื•ืช ืขื ืžืขืจื›ื•ืช ืื™ื ื˜ื’ืจืฆื™ื” ืจืฆื™ืคื•ืช.
    • ื”ื•ืฉืง ืคืจื•ื™ืงื˜ ืœืžื™ื˜ื•ื‘ ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ื’ืฉืจ ื”ืจืฉืช ืื_ื’ืฉืจ, ืืฉืจ ืžืฉืชืžืฉืช ื‘-mutex ื™ื—ื™ื“ ืœื ืขื™ืœืช ื ืชื•ื ื™ื ืคื ื™ืžื™ื™ื, ืžื” ืฉืœื ืžืืคืฉืจ ื”ืฉื’ืช ื”ื‘ื™ืฆื•ืขื™ื ื”ืจืฆื•ื™ื™ื ื‘ืžืขืจื›ื•ืช ืขื ืžืกืคืจ ืจื‘ ืฉืœ ืกื‘ื™ื‘ื•ืช ื›ืœื ืื• ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื”ืžืื•ื—ื“ื•ืช ื‘ืจืฉืช ืื—ืช. ื‘ืฉืœื‘ ื–ื” ื ื•ืกืคื• ืœืงื•ื“ ื‘ื“ื™ืงื•ืช ืœืžื ื™ืขืช ื”ืชืจื—ืฉื•ืช ืจื’ืจืกื™ื•ืช ื‘ืžื”ืœืš ื”ืžื•ื“ืจื ื™ื–ืฆื™ื” ืฉืœ ื”ืขื‘ื•ื“ื” ืขื ืžื ืขื•ืœื™ื. ื ืฉืงืœืช ื”ืืคืฉืจื•ืช ืœื”ืฉืชืžืฉ ื‘-ConcurrencyKit ื›ื“ื™ ืœื‘ืฆืข ื‘ืžืงื‘ื™ืœ ืžื˜ืคืœื™ื ื‘ื”ืขื‘ืจืช ื ืชื•ื ื™ื (bridge_input(), bridge_output(), bridge_forward(), ...).
    • ื ื•ืกืคื” ืงืจื™ืื” ื—ื“ืฉื” ืœืžืขืจื›ืช sigfastblock ื›ื“ื™ ืœืืคืฉืจ ืœืฉืจืฉื•ืจ ืœืฆื™ื™ืŸ ื‘ืœื•ืง ื–ื™ื›ืจื•ืŸ ืขื‘ื•ืจ ืžื˜ืคืœ ืื™ืชื•ืช ืžื”ื™ืจ ื›ื“ื™ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžื˜ืคืœื™ ื—ืจื™ื’ื™ื.
    • ื”ืœื™ื‘ื” ืžื•ืกื™ืคื” ืชืžื™ื›ื” ื‘ื”ื•ืจืื•ืช ืื˜ื•ืžื™ื•ืช LSE (Large System Extension) ื”ื ืชืžื›ื•ืช ืขืœ ื™ื“ื™ ืžืขืจื›ื•ืช ARMv8.1. ื”ื•ืจืื•ืช ืืœื• ื ื“ืจืฉื•ืช ืœืฉื™ืคื•ืจ ื”ื‘ื™ืฆื•ืขื™ื ื‘ืขืช ื”ืคืขืœื” ืขืœ ืœื•ื—ื•ืช Cavium ThunderX2 ื•-AWS Graviton 2. ื”ืฉื™ื ื•ื™ื™ื ืฉื ื•ืกืคื• ืžื–ื”ื™ื ืชืžื™ื›ืช LSE ื•ืžืืคืฉืจื™ื ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืืช ื”ื™ื™ืฉื•ื ื”ืื˜ื•ืžื™ ื”ืžื‘ื•ืกืก ืขืœื™ื”ื. ื‘ืžื”ืœืš ื”ื‘ื“ื™ืงื”, ื”ืฉื™ืžื•ืฉ ื‘-LSE ืืคืฉืจ ืœื”ืคื—ื™ืช ืืช ื–ืžืŸ ื”ืžืขื‘ื“ ื”ืžื•ืฉืงืข ื‘ื”ืจื›ื‘ืช ื”ืงืจื ืœ ื‘-15%.
    • ื‘ื•ืฆืขื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื‘ื™ืฆื•ืขื™ื ื•ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืขืจื›ืช ื”ื›ืœื™ื ื”ื•ืจื—ื‘ื” ืขื‘ื•ืจ ืงื‘ืฆื™ ื”ืคืขืœื” ื‘ืคื•ืจืžื˜ ELF.
      ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืฉืžื™ืจืช ืžื™ื“ืข ื ื™ืคื•ื™ ื‘ืื’ื™ื ืฉืœ DWARF, ืคืชืจื” ื‘ืขื™ื•ืช ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช elfcopy/objcopy, ื”ื•ืกืคืช ืขื™ื‘ื•ื“ DW_AT_ranges,
      readelf ืžื™ื™ืฉืžืช ืืช ื”ื™ื›ื•ืœืช ืœืคืขื ื— ืืช ื”ื“ื’ืœื™ื PROTMAX_DISABLE, STKGAP_DISABLE ื•-WXNEEDED, ื›ืžื• ื’ื Xen ื•-GNU Build-ID.

  • ืื‘ื˜ื—ื”
    • ื›ื“ื™ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ FreeBSD ื‘ืกื‘ื™ื‘ื•ืช ืขื ืŸ ืฉืœ Azure, ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืœืžืชืŸ ืชืžื™ื›ื” ื‘ืžื ื’ื ื•ืŸ HyperV Socket, ื”ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ืžืžืฉืง socket ืœืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ ื”ืžืขืจื›ืช ื”ืื•ืจื—ืช ืœืกื‘ื™ื‘ืช ื”ืžืืจื—ืช ืœืœื ื”ืงืžืช ืจืฉืช.
    • ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืขืœ ืžื ืช ืœืกืคืง ื‘ื ื™ื™ื” ื—ื•ื–ืจืช ืฉืœ FreeBSD, ืžื” ืฉืžืืคืฉืจ ืœื”ื‘ื˜ื™ื— ืฉืงื•ื‘ืฆื™ ื”ื”ืคืขืœื” ืฉืœ ืจื›ื™ื‘ื™ ื”ืžืขืจื›ืช ืžื•ืจื›ื‘ื™ื ื‘ื“ื™ื•ืง ืžืงื•ื“ื™ ื”ืžืงื•ืจ ื”ืžื•ืฆื”ืจื™ื ื•ืื™ื ื ืžื›ื™ืœื™ื ืฉื™ื ื•ื™ื™ื ื–ืจื™ื.
    • ืœืชื•ื›ื ืช elfctl ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœืฉืœื•ื˜ ื‘ื”ื›ืœืœื” ืฉืœ ืžื ื’ื ื•ื ื™ ื”ื’ื ื” ื ื•ืกืคื™ื (ASLR, PROT_MAX, ืžื—ืกื ื™ืช, ืžื™ืคื•ื™ W+X) ื‘ืจืžืช ืชื”ืœื™ื›ื™ื ื‘ื•ื“ื“ื™ื
  • ืžืขืจื›ื•ืช ืื—ืกื•ืŸ ื•ืงื‘ืฆื™ื
    • ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืœื”ื˜ืžืขืช ื”ื™ื›ื•ืœืช ืฉืœ NFS ืœืคืขื•ืœ ืขืœ ืคื ื™ ืขืจื•ืฅ ืชืงืฉื•ืจืช ืžื•ืฆืคืŸ ื”ืžื‘ื•ืกืก ืขืœ TLS 1.3, ื‘ืžืงื•ื ืœื”ืฉืชืžืฉ ื‘-Kerberos (ืžืฆื‘ sec=krb5p), ื”ืžื•ื’ื‘ืœืช ืœื”ืฆืคื ืช ื”ื•ื“ืขื•ืช RPC ื‘ืœื‘ื“ ื•ืžื™ื•ืฉืžืช ืจืง ื‘ืชื•ื›ื ื”. ื”ื”ื˜ืžืขื” ื”ื—ื“ืฉื” ืžืฉืชืžืฉืช ื‘ืขืจื™ืžืช ื”-TLS ื”ืžืกื•ืคืงืช ื‘ืœื™ื‘ื” ื›ื“ื™ ืœืืคืฉืจ ื”ืืฆืช ื—ื•ืžืจื”. ืงื•ื“ NFS ืขืœ TLS ื›ืžืขื˜ ืžื•ื›ืŸ ืœื‘ื“ื™ืงื”, ืืš ืขื“ื™ื™ืŸ ื“ื•ืจืฉ ืขื‘ื•ื“ื” ื›ื“ื™ ืœืชืžื•ืš ื‘ืชืขื•ื“ื•ืช ืœืงื•ื— ื—ืชื•ืžื•ืช ื•ืœื”ืชืื™ื ืืช ืžื—ืกื ื™ืช ื”-TLS ืฉืœ ื”ืœื™ื‘ื” ืœืฉืœื™ื—ืช ื ืชื•ื ื™ NFS (ืชื™ืงื•ื ื™ื ืœืงื‘ืœื” ื›ื‘ืจ ืžื•ื›ื ื™ื).
  • ืชืžื™ื›ื” ื‘ื—ื•ืžืจื”
    • ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืœื”ื•ืกืคืช ืชืžื™ื›ื” ื‘-X86 CPU Hygon ื”ืกื™ื ื™ืช ื”ืžื‘ื•ืกืกืช ืขืœ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช AMD;
    • ื›ื—ืœืง ืž-CheriBSD, ืžื–ืœื’ ืฉืœ FreeBSD ืœืืจื›ื™ื˜ืงื˜ื•ืจืช ืžืขื‘ื“ื™ ืžื—ืงืจ ืฆ'ืจื™ (ื”ื•ืจืื•ืช RISC Enhanced Hardware), ืžืžืฉื™ื›ื” ืœื”ื™ื•ืช ืžื™ื•ืฉืžืช ืชืžื™ื›ื” ื‘ืžืขื‘ื“ ARM Morello, ืืฉืจ ื™ืชืžื•ืš ื‘ืžืขืจื›ืช ื‘ืงืจืช ื”ื’ื™ืฉื” ืœื–ื™ื›ืจื•ืŸ CHERI ื”ืžื‘ื•ืกืกืช ืขืœ ืžื•ื“ืœ ื”ืื‘ื˜ื—ื” ืฉืœ ืคืจื•ื™ืงื˜ Capsicum. ืฉื‘ื‘ ืžื•ืจืœื• ื”ื ืžืชื›ื ื ื™ื ืฉื—ืจื•ืจ ื‘-2021. ื”ืขื‘ื•ื“ื” ืžืชืžืงื“ืช ื›ืขืช ื‘ื”ื•ืกืคืช ืชืžื™ื›ื” ืœืคืœื˜ืคื•ืจืžืช Arm Neoverse N1 ื”ืžื ื™ืขื” ืืช ืžื•ืจืœื•. ื”ื•ืฆื’ื” ื™ืฆื™ืื” ืจืืฉื•ื ื™ืช ืฉืœ CheriBSD ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจืช RISC-V. ืคื™ืชื•ื— CheriBSD ื ืžืฉืš ืขื‘ื•ืจ ืื‘ ื”ื˜ื™ืคื•ืก ื”ื™ื™ื—ื•ืก ืฉืœ CHERI ื”ืžื‘ื•ืกืก ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช MIPS64.
    • ื”ืขื‘ืจืช FreeBSD ื ืžืฉื›ืช ืขื‘ื•ืจ 64 ืกื™ื‘ื™ื•ืช SoC NXP LS1046A ื”ืžื‘ื•ืกืก ืขืœ ืžืขื‘ื“ ARMv8 Cortex-A72 ืขื ืžื ื•ืข ื”ืืฆืช ืขื™ื‘ื•ื“ ืžื ื•ืช ืจืฉืช ืžืฉื•ืœื‘, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ื•-USB 3.0. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ืžื ื”ืœื™ ื”ื”ืชืงืŸ QorIQ ื•-LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI ืžื•ื›ื ื™ื ืœื”ืขื‘ืจื” ืœื”ืจื›ื‘ FreeBSD ื”ืจืืฉื™.
    • ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ena ืขื•ื“ื›ืŸ ืœื’ืจืกื” 2.1.1 ืขื ืชืžื™ื›ื” ื‘ื“ื•ืจ ื”ืฉื ื™ ืฉืœ ืžืชืืžื™ ืจืฉืช ENAv2 (Elastic Network Adapter) ื”ืžืฉืžืฉื™ื ื‘ืชืฉืชื™ืช Elastic Compute Cloud (EC2) ืœืืจื’ื•ืŸ ืชืงืฉื•ืจืช ื‘ื™ืŸ ืฆืžืชื™ EC2 ื‘ืžื”ื™ืจื•ื™ื•ืช ืฉืœ ืขื“ 25 Gb/ ืก. ืขื“ื›ื•ืŸ ืœ-ENA 2.2.0 ื ืžืฆื ื‘ื”ื›ื ื”.
    • ื ืžืฉื›ื™ื ืฉื™ืคื•ืจื™ื ื‘ื™ืฆื™ืืช FreeBSD ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช powerpc64. ื”ื”ืชืžืงื“ื•ืช ื”ื™ื ื‘ืžืชืŸ ื‘ื™ืฆื•ืขื™ื ืื™ื›ื•ืชื™ื™ื ื‘ืžืขืจื›ื•ืช ืขื ืžืขื‘ื“ื™ IBM POWER8 ื•-POWER9. ื‘ืžื”ืœืš ืชืงื•ืคืช ื”ื“ื™ื•ื•ื—, FreeBSD-CURRENT ื”ื•ืขื‘ืจ ืœืฉื™ืžื•ืฉ ื‘ืžื”ื“ืจ LLVM/Clang 10.0 ื•ื‘ืžืงืฉืจ lld ื‘ืžืงื•ื GCC. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืžืขืจื›ื•ืช powerpc64 ืžืฉืชืžืฉื•ืช ื‘-ELFv2 ABI ื•ื”ืชืžื™ื›ื” ื‘-ELFv1 ABI ื”ื•ืคืกืงื”. ืœ-FreeBSD-STABLE ืขื“ื™ื™ืŸ ื™ืฉ gcc 4.2.1. ื‘ืขื™ื•ืช ืขื ื“ืจื™ื™ื‘ืจื™ื ืฉืœ virtio, aacraid ื•-ixl ื ืคืชืจื•. ื‘ืžืขืจื›ื•ืช powerpc64 ืืคืฉืจ ืœื”ืจื™ืฅ QEMU ืœืœื ืชืžื™ื›ื” ื‘-Huge Pages.
    • ื”ืขื‘ื•ื“ื” ื ืžืฉื›ืช ืœื™ื™ืฉื ืชืžื™ื›ื” ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช RISC-V. ื‘ืžืชื›ื•ื ืชื• ื”ื ื•ื›ื—ื™ืช, FreeBSD ื›ื‘ืจ ืžืืชื—ืœ ื‘ื”ืฆืœื—ื” ื‘ืœื•ื— SiFive Hifive Unleashed, ืฉืขื‘ื•ืจื• ื”ื•ื›ื ื• ื“ืจื™ื™ื‘ืจื™ื
      UART, SPI ื•-PRCI, ืชื•ืžืš ื‘ืงื•ืฉื—ื” OpenSBI ื•-SBI 0.2. ื‘ืžื”ืœืš ืชืงื•ืคืช ื”ื“ื™ื•ื•ื—, ื”ืขื‘ื•ื“ื” ื”ืชืžืงื“ื” ื‘ืžืขื‘ืจ ืž-GCC ืœ-clang ื•-lld.

  • ืžืขืจื›ืช ืืคืœื™ืงืฆื™ื•ืช ื•ื™ืฆื™ืื•ืช
    • ืื•ืกืฃ ื™ืฆื™ืื•ืช FreeBSD ื—ืฆื” ืืช ื”ืกืฃ ืฉืœ 39 ืืœืฃ ื™ืฆื™ืื•ืช, ืžืกืคืจ ื”-PRs ื”ืœื ืกื’ื•ืจื™ื ืขื•ืœื” ื‘ืžืขื˜ ืขืœ 2400, ืžืชื•ื›ื 640 PRs ื˜ืจื ืžื•ื™ื ื•. ื‘ืžื”ืœืš ืชืงื•ืคืช ื”ื“ื™ื•ื•ื— ื‘ื•ืฆืขื• 8146 ืฉื™ื ื•ื™ื™ื ืž-173 ืžืคืชื—ื™ื. ืืจื‘ืขื” ืžืฉืชืชืคื™ื ื—ื“ืฉื™ื ืงื™ื‘ืœื• ื–ื›ื•ื™ื•ืช ืžืชื—ื™ื™ื‘ื™ื (ืœื•ืื™ืง ื‘ืจื˜ื•ืœื˜ื™, ืžื™ืงืืœ ืื•ืจื ืงืจ, ืงื™ื™ืœ ืื•ื•ื ืก, ืœื•ืจื ืฆื• ืกืœื‘ื“ื•ืจ). ื ื•ืกืคื• USES=qca ื“ื’ืœ ื•ื”ื•ืกืจื• USES=zope ื“ื’ืœ (ื‘ืฉืœ ื—ื•ืกืจ ืชืื™ืžื•ืช ืขื Python 3). ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืœื”ืกืจืช Python 2.7 ืžืขืฅ ื”ืคื•ืจื˜ื™ื - ื›ืœ ื”ื™ืฆื™ืื•ืช ืžื‘ื•ืกืกื•ืช Python 2 ื—ื™ื™ื‘ื•ืช ืœื”ื™ื•ืช ืžื•ืขื‘ืจื•ืช ืœืคื™ื™ืชื•ืŸ 3 ืื• ืฉื™ื•ืกืจื•. ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช ืฉืœ pkg ืขื•ื“ื›ืŸ ืœื’ืจืกื” 1.13.2.
    • ืจื›ื™ื‘ื™ ืžื—ืกื ื™ืช ื’ืจืคื™ืงื” ืžืขื•ื“ื›ื ื™ื ื•ื™ืฆื™ืื•ืช ื”ืงืฉื•ืจื•ืช ืœ-xorg.
      ืฉืจืช X.org ืขื•ื“ื›ืŸ ืœื’ืจืกื” 1.20.8 (ื ืฉืœื—ื” ื‘ืขื‘ืจ ื‘ืกื ื™ืฃ 1.18), ืžื” ืฉืืคืฉืจ ืœ-FreeBSD ืœื”ืฉืชืžืฉ ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื‘-udev/evdev backend ืœื˜ื™ืคื•ืœ ื‘ื”ืชืงื ื™ ืงืœื˜. ื—ื‘ื™ืœืช Mesa ื”ื•ื—ืœืคื” ืœืฉื™ืžื•ืฉ ื‘ืชื•ืกืฃ DRI3 ื‘ืžืงื•ื DRI2 ื›ื‘ืจื™ืจืช ืžื—ื“ืœ. ืžืชื‘ืฆืขืช ืขื‘ื•ื“ื” ืœืฉืžื™ืจื” ืขืœ ืžื ื”ืœื™ ื”ื”ืชืงื ื™ื ื”ื’ืจืคื™ื™ื, ืžื—ืกื ื™ืช ื”ืชืงืŸ ื”ืงืœื˜ ื•ืจื›ื™ื‘ื™ drm-kmod (ื™ืฆื™ืื” ื”ืžืืคืฉืจืช ืืช ื”ื”ืคืขืœื” ืฉืœ ืžื•ื“ื•ืœื™ amdgpu, i915 ื•-radeon DRM, ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืžืกื’ืจืช linuxkpi ืœืชืื™ืžื•ืช ืขื ืžื ื”ืœ ื”ืขื™ื‘ื•ื“ ื”ื™ืฉื™ืจ ืฉืœ ืœื™ื‘ืช ืœื™ื ื•ืงืก) ืขื“ื›ื ื™.

    • ืฉื•ืœื—ืŸ ื”ืขื‘ื•ื“ื” ืฉืœ KDE Plasma, KDE Frameworks, KDE Applications ื•-Qt ื ืฉืžืจื™ื ืžืขื•ื“ื›ื ื™ื ื•ืžืขื•ื“ื›ื ื™ื ืœืžื”ื“ื•ืจื•ืช ื”ืื—ืจื•ื ื•ืช. ืืคืœื™ืงืฆื™ื” ื—ื“ืฉื” kstars (ื›ื•ื›ื‘ ืื˜ืœืก) ื ื•ืกืคื” ืœื™ืฆื™ืื•ืช.
    • ื ืขืฉืชื” ืขื‘ื•ื“ื” ืœื‘ื™ื˜ื•ืœ ืฉื™ื ื•ื™ื™ื ืจื’ืจืกื™ื‘ื™ื™ื ื‘ืžื ื”ืœ ื”ื—ืœื•ื ื•ืช xfwm4 ืฉื”ื•ืคื™ืข ืœืื—ืจ ืขื“ื›ื•ืŸ Xfce ืœื’ืจืกื” 4.14 (ืœื“ื•ื’ืžื”, ื—ืคืฆื™ื ื”ื•ืคื™ืขื• ื‘ืขืช ืงื™ืฉื•ื˜ ื—ืœื•ื ื•ืช).
    • ืคื•ืจื˜ ื”ื™ื™ืŸ ืขื•ื“ื›ืŸ ืœืฉื—ืจื•ืจ Wine 5.0 (ืงื•ื“ื ืœื›ืŸ ื”ื•ืฆืข 4.0.3).
    • ื”ื—ืœ ืžื’ืจืกื” 1.14, ืžื”ื“ืจ ื”ืฉืคื” Go ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ืจืฉืžื™ืช ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ARM64 ืขื‘ื•ืจ FreeBSD 12.0.
    • OpenSSH ื‘ืžืขืจื›ืช ื”ื‘ืกื™ืก ืขื•ื“ื›ื ื” ืœื’ืจืกื” 7.9p1.
    • ืกืคืจื™ื™ืช sysctlmibinfo2 ื”ื•ื˜ืžืขื” ื•ื”ื•ืฆื‘ื” ื‘ืคื•ืจื˜ื™ื (devel/libsysctlmibinfo2), ืžืกืคืงืช API ืœื’ื™ืฉื” ืœ-sysctl MIB ื•ืœืชืจื’ื•ื ืฉืžื•ืช sysctl ืœืžื–ื”ื™ ืื•ื‘ื™ื™ืงื˜ื™ื (OIDs).
    • ื ื•ืฆืจ ืขื“ื›ื•ืŸ ื”ืคืฆื” NomadBSD 1.3.1, ืฉื”ื™ื ืžื”ื“ื•ืจื” ืฉืœ FreeBSD ื”ืžื•ืชืืžืช ืœืฉื™ืžื•ืฉ ื›ืฉื•ืœื—ืŸ ืขื‘ื•ื“ื” ื ื™ื™ื“ ื”ื ื™ืชืŸ ืœืืชื—ื•ืœ ืžื›ื•ื ืŸ USB. ื”ืกื‘ื™ื‘ื” ื”ื’ืจืคื™ืช ืžื‘ื•ืกืกืช ืขืœ ืžื ื”ืœ ื—ืœื•ื ื•ืช ืงื•ืคืกื ืคืชื•ื—ื”. ืžืฉืžืฉ ืœื”ืจื›ื‘ืช ื›ื•ื ื ื™ื DSBMD (ื ืชืžืš ื‘ื”ืจื›ื‘ืช CD9660, FAT, HFS+, NTFS, Ext2/3/4), ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืจืฉืช ืืœื—ื•ื˜ื™ืช - wifimgr, ื•ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ืขื•ืฆืžืช ื”ืงื•ืœ - DSBMixer.
    • ื”ืชื—ื™ืœ ืขื‘ื•ื“ื” ืขืœ ื›ืชื™ื‘ืช ืชื™ืขื•ื“ ืžืœื ืœืžื ื”ืœ ืกื‘ื™ื‘ืช ื”ื›ืœื ื™ื›ื•ืœ. ืคื•ื˜ 0.11.0 ืžืชื›ื•ื ืŸ ืœืฉื—ืจื•ืจ, ืฉื™ื›ืœื•ืœ ื›ืœื™ื ืœื ื™ื”ื•ืœ ืžื—ืกื ื™ืช ื”ืจืฉืช.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”