そろそろ8.4-RELEASEのリリースビルドが始まりそうな感じなのでソースを引っ張ってきた。
# cd /usr
# mv src src_R83p8
# svn co svn://svn.freebsd.org/base/releng/8.4/ src
カーネルのコンフィグファイルを見比べてみた感じ大きな変更はなさそうなので、そのままコンフィグファイルをコピーしてもよさそうだけど、virtoioとGEOM_PART_LDMだけは一応追加してからbuildworldとbuildkernelしてみる。
# diff -uN src_R83p8/sys/conf/NOTES src/sys/conf/NOTES
--- src_R83p8/sys/conf/NOTES 2012-09-09 22:39:12.000000000 +0900
+++ src/sys/conf/NOTES 2013-06-06 19:09:05.000000000 +0900
@@ -1,4 +1,4 @@
-# $FreeBSD: releng/8.3/sys/conf/NOTES 231717 2012-02-14 22:49:34Z luigi $
+# $FreeBSD: releng/8.4/sys/conf/NOTES 242200 2012-10-27 23:34:18Z davide $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -150,6 +150,7 @@
options GEOM_PART_EBR # Extended Boot Records
options GEOM_PART_EBR_COMPAT # Backward compatible partition names
options GEOM_PART_GPT # GPT partitioning
+options GEOM_PART_LDM # Logical Disk Manager
options GEOM_PART_MBR # MBR partitioning
options GEOM_PART_PC98 # PC-9800 disk partitioning
options GEOM_PART_VTOC8 # SMI VTOC8 disk label
@@ -261,6 +262,8 @@
# frequency.
# TURNSTILE_PROFILING enables rudimentary profiling of the hash table
# used to hold active lock queues.
+# UMTX_PROFILING enables rudimentary profiling of the hash table used
+ to hold active lock queues.
# WITNESS enables the witness code which detects deadlocks and cycles
# during locking operations.
# WITNESS_KDB causes the witness code to drop into the kernel debugger if
@@ -284,8 +287,9 @@
# Profiling for internal hash tables.
options SLEEPQUEUE_PROFILING
options TURNSTILE_PROFILING
+options UMTX_PROFILING
+
-
#####################################################################
# COMPATIBILITY OPTIONS
@@ -405,7 +409,7 @@
# KTR is a kernel tracing mechanism imported from BSD/OS. Currently
# it has no userland interface aside from a few sysctl's. It is
# enabled with the KTR option. KTR_ENTRIES defines the number of
-# entries in the circular trace buffer; it must be a power of two.
+# entries in the circular trace buffer; it may be an arbitrary number.
# KTR_COMPILE defines the mask of events to compile into the kernel as
# defined by the KTR_* constants in <sys/ktr.h>. KTR_MASK defines the
# initial value of the ktr_mask variable which determines at runtime
@@ -1260,14 +1264,13 @@
# CAM OPTIONS:
# debugging options:
-# -- NOTE -- If you specify one of the bus/target/lun options, you must
-# specify them all!
-# CAMDEBUG: When defined enables debugging macros
-# CAM_DEBUG_BUS: Debug the given bus. Use -1 to debug all busses.
-# CAM_DEBUG_TARGET: Debug the given target. Use -1 to debug all targets.
-# CAM_DEBUG_LUN: Debug the given lun. Use -1 to debug all luns.
-# CAM_DEBUG_FLAGS: OR together CAM_DEBUG_INFO, CAM_DEBUG_TRACE,
-# CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB
+# CAMDEBUG Compile in all possible debugging.
+# CAM_DEBUG_COMPILE Debug levels to compile in.
+# CAM_DEBUG_FLAGS Debug levels to enable on boot.
+# CAM_DEBUG_BUS Limit debugging to the given bus.
+# CAM_DEBUG_TARGET Limit debugging to the given target.
+# CAM_DEBUG_LUN Limit debugging to the given lun.
+# CAM_DEBUG_DELAY Delay in us after printing each debug line.
#
# CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds
# SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions
@@ -1278,10 +1281,12 @@
# can be changed at boot and runtime with the
# kern.cam.scsi_delay tunable/sysctl.
options CAMDEBUG
+options CAM_DEBUG_COMPILE=-1
+options CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
options CAM_DEBUG_BUS=-1
options CAM_DEBUG_TARGET=-1
options CAM_DEBUG_LUN=-1
-options CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_TRACE|CAM_DEBUG_CDB)
+options CAM_DEBUG_DELAY=1
options CAM_MAX_HIGHPOWER=4
options SCSI_NO_SENSE_STRINGS
options SCSI_NO_OP_STRINGS
@@ -2339,11 +2344,11 @@
# or
# options BROOKTREE_SYSTEM_DEFAULT=BROOKTREE_NTSC
# Specifies the default video capture mode.
-# This is required for Dual Crystal (28&35Mhz) boards where PAL is used
+# This is required for Dual Crystal (28&35MHz) boards where PAL is used
# to prevent hangs during initialisation, e.g. VideoLogic Captivator PCI.
#
# options BKTR_USE_PLL
-# This is required for PAL or SECAM boards with a 28Mhz crystal and no 35Mhz
+# This is required for PAL or SECAM boards with a 28MHz crystal and no 35MHz
# crystal, e.g. some new Bt878 cards.
#
# options BKTR_GPIO_ACCESS
@@ -2572,6 +2577,8 @@
device ohci
# EHCI controller
device ehci
+# XHCI controller
+device xhci
# SL811 Controller
#device slhci
# General USB code (mandatory for USB)
# diff -uN src_R83p8/sys/i386/conf/NOTES src/sys/i386/conf/NOTES
--- src_R83p8/sys/i386/conf/NOTES 2012-09-09 22:42:00.000000000 +0900
+++ src/sys/i386/conf/NOTES 2013-06-06 19:10:37.000000000 +0900
@@ -4,7 +4,7 @@
# This file contains machine dependent kernel configuration notes. For
# machine independent notes, look in /sys/conf/NOTES.
#
-# $FreeBSD: releng/8.3/sys/i386/conf/NOTES 231688 2012-02-14 15:56:01Z jimharris $
+# $FreeBSD: releng/8.4/sys/i386/conf/NOTES 248862 2013-03-29 02:14:57Z bryanv $
#
#
@@ -764,6 +764,22 @@
#
device glxsb # AMD Geode LX Security Block
+#
+# VirtIO support
+#
+# The virtio entry provides a generic bus for use by the device drivers.
+# It must be combined with an interface that communicates with the host.
+# Multiple such interfaces defined by the VirtIO specification. FreeBSD
+# only has support for PCI. Therefore, virtio_pci must be statically
+# compiled in or loaded as a module for the device drivers to function.
+#
+device virtio # Generic VirtIO bus (required)
+device virtio_pci # VirtIO PCI Interface
+device vtnet # VirtIO Ethernet device
+device virtio_blk # VirtIO Block device
+device virtio_scsi # VirtIO SCSI device
+device virtio_balloon # VirtIO Memory Balloon device
+
#####################################################################
#
@@ -850,10 +866,12 @@
#
# ichwd: Intel ICH watchdog timer
# amdsbwd: AMD SB7xx watchdog timer
+# wbwd: Winbond watchdog timer
#
device ichwd
device amdsbwd
device viawd
+device wbwd
#
# Temperature sensors:
@@ -986,6 +1004,10 @@
options KSTACK_PAGES=3
+# Enable detailed accounting by the PV entry allocator.
+
+options PV_STATS
+
#####################################################################
# More undocumented options for linting.
# diff -uN src_R83p8/sys/i386/conf/GENERIC src/sys/i386/conf/GENERIC
--- src_R83p8/sys/i386/conf/GENERIC 2012-09-09 22:42:00.000000000 +0900
+++ src/sys/i386/conf/GENERIC 2013-06-06 19:10:37.000000000 +0900
@@ -16,7 +16,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: releng/8.3/sys/i386/conf/GENERIC 231688 2012-02-14 15:56:01Z jimharris $
+# $FreeBSD: releng/8.4/sys/i386/conf/GENERIC 247909 2013-03-07 07:28:05Z bryanv $
cpu I486_CPU
cpu I586_CPU
@@ -148,6 +148,7 @@
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
+device hpt27xx # Highpoint RocketRAID 27xx
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
@@ -223,9 +224,12 @@
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
+device cas # Sun Cassini/Cassini+ and NS DP83065 Saturn
device dc # DEC/Intel 21143 and various workalikes
device et # Agere ET1310 10/100/Gigabit Ethernet
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
+device gem # Sun GEM/Sun ERI/Apple GMAC
+device hme # Sun HME (Happy Meal Ethernet)
device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
device lge # Level 1 LXT1001 gigabit Ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
@@ -281,6 +285,8 @@
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
+options PADLOCK_RNG # VIA Padlock RNG
+options RDRAND_RNG # Intel Bull Mountain RNG
device ether # Ethernet support
device vlan # 802.1Q VLAN support
device tun # Packet tunnel.
@@ -330,7 +336,7 @@
device rum # Ralink Technology RT2501USB wireless NICs
device uath # Atheros AR5523 wireless NICs
device ural # Ralink Technology RT2500USB wireless NICs
-device zyd # ZyDAS zb1211/zb1211b wireless NICs
+device zyd # ZyDAS zd1211/zd1211b wireless NICs
# FireWire support
device firewire # FireWire bus code
@@ -339,3 +345,11 @@
device fwip # IP over FireWire (RFC 2734,3146)
device dcons # Dumb console driver
device dcons_crom # Configuration ROM for dcons
+
+# VirtIO support
+device virtio # Generic VirtIO bus (required)
+device virtio_pci # VirtIO PCI device
+device vtnet # VirtIO Ethernet device
+device virtio_blk # VirtIO Block device
+device virtio_scsi # VirtIO SCSI device
+device virtio_balloon # VirtIO Memory Balloon device