freebsd-skq/sys
jhb 2750ce9b17 Various fixes for PCI _OSC handling so HotPlug works again.
- Rename the default implementation of 'pcib_request_feature' and add
  a pcib_request_feature() wrapper function (as is often done for
  new-bus APIs implemented via kobj) that accepts a single function.
  Previously the call to pcib_request_feature() ended up invoking the
  method on the great-great-grandparent of the bridge device instead
  of the grandparent.  For a bridge that was a direct child of pci0 on
  x86 this resulted in the method skipping over the Host-PCI bridge
  driver and being invoked against nexus0
- When invoking _OSC from a Host-PCI bridge driver, invoke
  device_get_softc() against the Host-PCI bridge device instead of the
  child bridge that is requesting HotPlug.  Using the wrong softc data
  resulted in garbage being passed for the ACPI handle causing the
  _OSC call to fail.
- While here, perform some other cleanups to _OSC handling in the ACPI
  Host-PCI bridge driver:
  - Don't invoke _OSC when requesting a control that has already been
    granted by the firmware.
  - Don't set the first word of the capability array before invoking
    _OSC.  This word is always set explicitly by acpi_EvaluateOSC()
    since it is UUID-independent.
  - Don't modify the set of granted controls unless _OSC doesn't exist
    (which is treated as always successful), or the _OSC method
    doesn't fail.
  - Don't require an _OSC status of 0 for success.  _OSC always
    returns the updated control mask even if it returns a non-zero
    status in the first word.
  - Whine if _OSC ever tries to revoke a previously-granted control.
    (It is not supposed to do that.)
- While here, add constants for the _OSC status word in acpivar.h
  (though currently unused).

Reported by:	adrian
Reviewed by:	imp
MFC after:	1 week
Tested on:	Lenovo x220
Differential Revision:	https://reviews.freebsd.org/D10520
2017-04-27 16:32:42 +00:00
..
amd64 Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
arm In arm_gicv2m_alloc_msi(), if we found a suitable irq range, leave the loop 2017-04-25 23:46:53 +00:00
arm64 Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB the 2017-04-24 11:06:10 +00:00
boot Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
bsm Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT: 2017-03-26 21:14:49 +00:00
cam Change ctl_free_lun() locking. 2017-04-24 12:52:42 +00:00
cddl MFV 316895 2017-04-27 15:10:45 +00:00
compat Prefer to use real virtual address over direct map address in the 2017-04-27 14:29:21 +00:00
conf Revert r317446 and bring back cy(4). 2017-04-27 16:14:32 +00:00
contrib Restore prototype accidently removed by r316811. Also remove $NetBSD$ 2017-04-19 13:24:32 +00:00
crypto Fix counter increment in Salsa and ChaCha. 2017-04-22 01:06:23 +00:00
ddb Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
dev Various fixes for PCI _OSC handling so HotPlug works again. 2017-04-27 16:32:42 +00:00
fs Fix handling of a NFSv4.1 callback reply from the session cache. 2017-04-26 21:54:53 +00:00
gdb
geom Dump md_iterations as signed, which it really is. 2017-04-21 07:43:44 +00:00
gnu Update our device tree files to a Linux 4.10 2017-03-07 13:56:49 +00:00
i386 Use kmem_malloc() instead of malloc(9) for the native amd64 filter. 2017-04-17 22:02:09 +00:00
isa Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
kern Remove unnecessary check for NULL mbuf in soreceive_generic(). 2017-04-25 19:54:34 +00:00
kgssapi
libkern Replace the RC4 algorithm for generating in-kernel secure random 2017-04-16 09:11:02 +00:00
mips Add support for dumping bcma/siba EROM tables to the console via a new 2017-04-24 18:35:25 +00:00
modules Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
net Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
net80211 [net80211] add methods to fetch the global and per-VAP WME parameters. 2017-04-22 02:12:07 +00:00
netgraph Make cached Bluetooth LE host advertise information visible from userland. 2017-04-27 15:03:24 +00:00
netinet Fix an issue with MTU calculation if an ICMP messaeg is received 2017-04-26 20:21:05 +00:00
netinet6 Fix an issue with MTU calculation if an ICMP messaeg is received 2017-04-26 20:21:05 +00:00
netipsec Fix SP refcount leak. 2017-04-26 00:34:05 +00:00
netpfil Fix VNET leakages in PF by V_irtualizing pfr_ktables and friends. 2017-04-25 08:34:39 +00:00
netsmb
nfs Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
nlm
ofed All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
opencrypto Don't leak a session and lock if a GMAC key has an invalid length. 2017-04-05 01:46:41 +00:00
powerpc - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
riscv Follow r317061 "Remove struct vmmeter from struct pcpu" 2017-04-19 17:06:32 +00:00
rpc Fix a crash during unmount of an NFSv4.1 mount. 2017-04-10 22:47:18 +00:00
security Break audit_bsm_klib.c into two files: one (audit_bsm_klib.c) 2017-04-03 10:15:58 +00:00
sparc64 - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
sys Remove the NATM framework including the en(4), fatm(4), hatm(4), and 2017-04-24 21:21:49 +00:00
teken Oops, my fix for bright colors broke bright black some more (in cases 2017-03-27 10:48:28 +00:00
tests
tools [fdt] Make DTBs generated by make_dtb.sh overlay-ready 2017-03-10 22:45:07 +00:00
ufs All these files need sys/vmmeter.h, but now they got it implicitly 2017-04-17 17:07:00 +00:00
vm - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
x86 Remove the LSOL26CALLS_SEL constant. 2017-04-25 23:19:27 +00:00
xdr
xen xenstore: fix suspension when using the xenstore device 2017-03-07 09:17:48 +00:00
Makefile Remove pc98 support completely. 2017-01-28 02:22:15 +00:00