freebsd-dev/sys/dev
Justin T. Gibbs 283d6f7287 Monitor and emit events for XenStore changes to XenBus trees
of the devices we manage.  These changes can be due to writes
we make ourselves or due to changes made by the control domain.
The goal of these changes is to insure that all state transitions
can be detected regardless of their source and to allow common
device policies (e.g. "onlined" backend devices) to be centralized
in the XenBus bus code.

sys/xen/xenbus/xenbusvar.h:
sys/xen/xenbus/xenbus.c:
sys/xen/xenbus/xenbus_if.m:
	Add a new method for XenBus drivers "localend_changed".
	This method is invoked whenever a write is detected to
	a device's XenBus tree.  The default implementation of
	this method is a no-op.

sys/xen/xenbus/xenbus_if.m:
sys/dev/xen/netfront/netfront.c:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkback/blkback.c:
	Change the signature of the "otherend_changed" method.
	This notification cannot fail, so it should return void.

sys/xen/xenbus/xenbusb_back.c:
	Add "online" device handling to the XenBus Back Bus
	support code.  An online backend device remains active
	after a front-end detaches as a reconnect is expected
	to occur in the near future.

sys/xen/interface/io/xenbus.h:
	Add comment block further explaining the meaning and
	driver responsibilities associated with the XenBus
	Closed state.

sys/xen/xenbus/xenbusb.c:
sys/xen/xenbus/xenbusb.h:
sys/xen/xenbus/xenbusb_back.c:
sys/xen/xenbus/xenbusb_front.c:
sys/xen/xenbus/xenbusb_if.m:
	o Register a XenStore watch against the local XenBus tree
	  for all devices.
	o Cache the string length of the path to our local tree.
	o Allow the xenbus front and back drivers to hook/filter both
	  local and otherend watch processing.
	o Update the device ivar version of "state" when we detect
	  a XenStore update of that node.

sys/dev/xen/control/control.c:
sys/xen/xenbus/xenbus.c:
sys/xen/xenbus/xenbusb.c:
sys/xen/xenbus/xenbusb.h:
sys/xen/xenbus/xenbusvar.h:
sys/xen/xenstore/xenstorevar.h:
	Allow clients of the XenStore watch mechanism to attach
	a single uintptr_t worth of client data to the watch.
	This removes the need to carefully place client watch
	data within enclosing objects so that a cast or offsetof
	calculation can be used to convert from watch to enclosing
	object.

Sponsored by:	Spectra Logic Corporation
MFC after:	1 week
2011-06-11 04:59:01 +00:00
..
aac - Fix races on detach handling of AAC_IFFLAGS_* mask 2011-06-10 20:23:56 +00:00
acpi_support Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
acpica Implement BUS_ADJUST_RESOURCE() for the x86 drivers that sit between the 2011-06-10 12:30:16 +00:00
adb
adlink Remove an unnecessary INTR_MPSAFE and a comment suggesting it was 2011-01-06 21:02:14 +00:00
advansys Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ae - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
age - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
agp Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
aha
ahb
ahci Add Marvell 88SE9172 chip PCI ID. 2011-05-26 10:10:10 +00:00
aic
aic7xxx Remove support for the Intel C Compiler from the build infrastructure. 2011-04-19 18:09:21 +00:00
alc Fix typo. 2011-05-19 23:13:08 +00:00
ale Fix typo. 2011-05-19 23:13:08 +00:00
amd
amdsbwd amdsbwd: update to support SB8xx southbridges 2011-06-07 06:18:02 +00:00
amdtemp
amr Fix clang warning on empty statement. 2010-07-28 16:24:11 +00:00
an Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
arcmsr Update arcmsr(4) to vendor version 1.20.00.21. This release primarily 2011-04-06 20:54:26 +00:00
asmc
asr Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ata Intel NM10 chipset's SATA controller has same PCI ID and revision as ICH7's, 2011-06-09 16:30:13 +00:00
ath Since HAL_PHYERR_* is used in the radar code, always include ah_desc.h. 2011-06-07 14:00:47 +00:00
atkbdc Add comments about the validation. 2011-06-11 01:19:19 +00:00
auxio
bce - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
bfe - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
bge Correctly disable jumbo frame support for BCM5719 A0. 2011-05-15 21:44:51 +00:00
bktr Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
bm Remove some hacks to handle strange behavior of LXT 970 PHYs now better 2011-05-12 14:27:28 +00:00
buslogic Remove some always-true comparisons. 2011-01-18 15:23:16 +00:00
bwi Pull ieee80211_ratectl_node_init() calls from drivers into net80211. 2011-01-17 20:15:15 +00:00
bwn Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
bxe - Major reorganization of mbuf handling throughout the driver to 2011-06-08 21:18:14 +00:00
cardbus More properly handle Cardbus cards that that store their CIS in a BAR after 2011-06-06 13:21:11 +00:00
cas Correct spelling in a comment. 2011-04-22 09:44:01 +00:00
ce Revert r213793. 2010-10-13 17:38:23 +00:00
cfe Start using the 'init_static_kenv()' API provided by r198561 to initialize 2010-08-11 02:13:50 +00:00
cfi Merge r221614,221696,221737,221840 from largeSMP project branch: 2011-05-22 20:55:54 +00:00
ciss Cosmetic: make it less confusing when displaying RAID 1 level, that might 2010-10-02 08:18:19 +00:00
cm Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cmx
coretemp Detect and set Atom's Tj(max) to 90 if it's not the 45nm D400/D500/N400 2011-05-05 19:15:15 +00:00
cp Revert r213793. 2010-10-13 17:38:23 +00:00
cpuctl
cpufreq
cs Use bus space functions rather than inw/outw 2011-01-29 00:53:58 +00:00
ct
ctau Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
cx Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cxgb Update T3 firmware to 7.11.0 2011-03-25 20:53:02 +00:00
cxgbe - driver ioctl to get SGE context for any given queue. 2011-06-11 04:50:54 +00:00
cy
dc - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
dcons
de
digi
dpms
dpt
drm Fix display of the drm sysctls. 2011-04-23 23:11:44 +00:00
e1000 Add an initialization to the error variable, without 2011-05-05 17:28:45 +00:00
ed - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
eisa
en Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
ep Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
esp Correct spelling in comments. 2011-04-22 13:56:21 +00:00
et - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
ex Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
exca
fatm Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
fb Use the preload_fetch_addr() and preload_fetch_size() convenience 2011-02-13 19:25:48 +00:00
fdc Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
fdt Change rman_manage_region() to actually honor the rm_start and rm_end 2011-04-29 18:41:21 +00:00
fe Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
firewire Allocate the DMA memory shared between the host and the controller as 2011-03-11 22:19:49 +00:00
flash Modify the spi flash driver to allow smaller read IO sizes, but enforce 2011-02-16 20:07:44 +00:00
fxp - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
gem Remove unnecessary controller reinitialization by checking 2011-05-20 17:01:22 +00:00
glxiic Fix breakage on pc98 by redefining DEBUG(). 2011-05-15 19:04:08 +00:00
glxsb
gpio Add a GPIO driver for the Gateworks Cambria platform. 2010-11-11 20:18:33 +00:00
hatm
hifn No need to zero the softc. It's allocated with M_ZERO. 2010-12-18 14:24:24 +00:00
hme - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
hptiop Report transport type in XPT_PATH_INQ. 2010-06-19 13:41:17 +00:00
hptmv - Merge changes to the base system to support OFED. These include 2011-03-21 09:40:01 +00:00
hptrr Pass a format string to make_dev(). 2010-10-13 14:41:52 +00:00
hwpmc Merge r221279,221280 from largeSMP project: 2011-05-16 23:35:14 +00:00
ic
ichsmb Chipset support for the new Intel Panther Point PCH, thanks 2011-05-11 20:31:27 +00:00
ichwd Chipset support for the new Intel Panther Point PCH, thanks 2011-05-11 20:31:27 +00:00
ida
ie Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ieee488 Implement more of __ibsta: END and SRQI status bits (taken out of the 2010-12-10 22:20:11 +00:00
if_ndis Revert the ndis part of r212122, windrv_stub.c already adds a MODULE_VERSION 2011-01-22 21:33:18 +00:00
iicbus - Improve error handling. 2011-06-08 16:00:30 +00:00
iir
io - Extract the IODEV_PIO interface from ia64 and make it MI. 2010-04-28 15:38:01 +00:00
ipmi Fixed firmware revision decoding: 2011-04-14 07:14:22 +00:00
ips
ipw Add module version to iwi/ipw/wpi and iwn. 2011-05-31 19:08:25 +00:00
iscsi/initiator Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
isp Add support QLE220 card- an 2500 lookalike. 2011-03-10 23:53:01 +00:00
ispfw Update firmware to more recent versions. 2011-01-05 23:15:22 +00:00
iwi Add module version to iwi/ipw/wpi and iwn. 2011-05-31 19:08:25 +00:00
iwn Make sure to drop the IEEE80211_RATE_BASIC flag even for MCS rates. 2011-06-10 17:06:25 +00:00
ixgb Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ixgbe Cut and paste mistake corrected. 2011-06-02 05:31:54 +00:00
jme - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
joy
kbd Explicitly tell the compiler that we don't care about the return value 2010-10-13 11:37:12 +00:00
kbdmux Explicitly tell the compiler that we don't care about the return value 2010-10-13 11:37:12 +00:00
ksyms Promote ksyms_map() and ksyms_unmap() to general facility 2011-03-28 12:48:33 +00:00
le Use convenience functions where possible instead of accessing the PCI 2010-12-18 14:21:28 +00:00
led MFgraid/head r218174: 2011-03-24 08:56:12 +00:00
lge - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
lindev
lmc Merge amd64 and i386 bus.h and move the resulting header to x86. Replace 2010-12-20 16:39:43 +00:00
malo Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
mc146818
mca
mcd
md Move the ZERO_REGION_SIZE to a machine-dependent file, as on many 2011-05-13 19:35:01 +00:00
mem Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
mfi There are a couple of structs in mfireg.h with members named 'class'. 2011-06-02 00:43:16 +00:00
mge Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
mii - There's no need for nibbletab to be static, it's const however. 2011-05-14 20:31:04 +00:00
mk48txx Add support for MK48T37. 2011-05-15 13:17:08 +00:00
mlx
mly MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
mmc Fix read_ivar implementation for MMC and SD. 2011-05-30 06:23:51 +00:00
mn
mps Silence 'out of chain frames' warnings and bump the number of frames. 2011-02-25 17:30:25 +00:00
mpt Correct spelling. 2011-04-22 09:59:16 +00:00
mse
msk Correctly check MAC running status before disabling TX/RX MACs. 2011-05-31 01:30:58 +00:00
mvs According to SATA specification, when Serial ATA Enclosure Management Bridge 2011-05-25 13:55:49 +00:00
mwl Revert r220907 and r220915. 2011-04-22 00:44:27 +00:00
mxge Fix a bug in mxge's LRO which can cause dup acks to 2011-04-07 13:49:44 +00:00
my Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ncv
nfe If driver is not running, disable interrupts and do not try to 2011-05-31 18:45:15 +00:00
nge - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
nmdm
nsp
null Move the ZERO_REGION_SIZE to a machine-dependent file, as on many 2011-05-13 19:35:01 +00:00
nve - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
nvram
nvram2env Import nvram2env, a device driver which imports various NVRAM-style 2011-04-03 11:55:48 +00:00
nxge Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
ofw Return IEEE 1275 compliant error codes. 2010-11-11 13:42:46 +00:00
patm Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
pbio
pccard Make a couple of debug printfs DEVPRINTF. 2011-06-06 16:27:38 +00:00
pccbb sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
pcf
pci Fix some off-by-one errors with the ending address of candidate regions 2011-06-10 13:24:56 +00:00
pcn - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
pdq Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
powermac_nvram Add support for the Sharp/Micron flash chips to powermac_mvram(4). 2010-09-05 20:04:02 +00:00
ppbus bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
ppc - Add support for MosChip 9865 Single 1284 Printer port 2011-02-19 17:38:51 +00:00
pst
pty Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
puc Some style fixes. 2011-06-06 15:33:15 +00:00
quicc Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
ral Don't hardcode assumptions about basic rates, similar to what the rt2661 2011-04-09 14:45:50 +00:00
random Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
rc
re Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
rndtest
rp
safe
sbni Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
scc Recognize the SAB 82532 found in Fujitsu PRIMEPOWER650 and 900. 2011-05-15 13:27:38 +00:00
scd
sdhci Fix read_ivar implementation for MMC and SD. 2011-05-30 06:23:51 +00:00
sec Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
sf - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
sge - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
si
siba Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
siis According to SATA specification, when Serial ATA Enclosure Management Bridge 2011-05-25 13:55:49 +00:00
sio Based on discussions on the svn-src mailing list, rework r218195: 2011-02-08 00:16:36 +00:00
sis - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
sk Allocate the DMA memory shared between the host and the controller as 2011-03-11 22:21:12 +00:00
smbus
smc Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
sn Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
snc Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
snp
sound Make automatic hw.snd.default_unit choice a bit more intelligent. Instead 2011-06-07 17:01:52 +00:00
speaker
spibus bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
ste - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
stg
stge Allocate the DMA memory shared between the host and the controller as 2011-03-11 22:23:46 +00:00
streams After the r219999 is merged to stable/8, rename fallocf(9) to falloc(9) 2011-04-01 13:28:34 +00:00
sym More spelling fixes. 2011-04-22 12:46:39 +00:00
syscons Move VT switching hack for suspend/resume from bus drivers to syscons.c 2011-05-09 18:46:49 +00:00
tdfx Remove references to MAKEDEV(8) 2010-11-15 05:25:51 +00:00
ti - Allocate the DMA memory shared between the host and the controller as 2011-03-11 22:32:17 +00:00
tl - Add IFM_10_2 and IFM_10_5 media via tlphy(4) only in case the respective 2010-10-24 12:51:02 +00:00
tpm Add tpm(4) driver for Trusted Platform Module. 2010-08-12 00:16:18 +00:00
trm MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
tsec Don't use the MAC address in the device tree if it's all zeroes 2011-01-28 23:40:13 +00:00
twa Fix a compile problem introduced with r212008 on 32bit: 2010-09-04 16:27:14 +00:00
twe
tx - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
txp Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
uart Ignore MCR[6] during the probe to fix a false negative. Bit 6 of the 2011-05-26 17:02:56 +00:00
ubsec Cast the bus_size_t to a intmax_t rather than assuming type-punning to 2010-03-29 17:26:24 +00:00
usb Reset clear-stall error counter before setting up the USB control transfers. 2011-06-06 22:03:09 +00:00
utopia
vge Datasheet says vge(4) controllers support DAC but it seems that's 2011-05-20 18:27:13 +00:00
vkbd
vr - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
vte - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
vx Fix typos - remove duplicate "the". 2011-02-21 09:01:34 +00:00
vxge Add in support for multicast. 2011-05-03 15:58:24 +00:00
watchdog - Add the possibility to reuse the already last used timeout when patting 2011-04-27 16:43:03 +00:00
wb - Remove attempts to implement setting of BMCR_LOOP/MIIF_NOLOOP 2011-05-03 19:51:29 +00:00
wds
wi sysctl(8) should use the CTLTYPE to determine the type of data when 2011-01-19 17:04:07 +00:00
wl Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
wpi Add module version to iwi/ipw/wpi and iwn. 2011-05-31 19:08:25 +00:00
xe Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
xen Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
xl Fix build. 2011-05-07 04:40:44 +00:00