summaryrefslogtreecommitdiff
path: root/sys/dev
AgeCommit message (Collapse)Author
2016-02-06Add support for the 9 series PCH.Mark Kettenis
From Dmitri Alenichev.
2016-02-06Enable the code that reads the BIOS from the ACPI VFCT table on platformsMark Kettenis
with ACPI. ok jsg@
2016-02-05Fix iwn(4) CCMP replay detection so it does not drop out-of-order A-MPDUStefan Sperling
subframes. Helps 11n mode with WPA. tested by me, tb@, and krw@
2016-02-05In iwn(4), set max A-MPDU length to 64k instead of 4k and tell the firmwareStefan Sperling
about A-MPDU spacing. Makes BlockAck happy. tested by me, tb@, krw@, sthen@, and Henrik Friedrichsen
2016-02-05In iwm(4), set max A-MPDU length to 64k instead of 4k and tell the firmwareStefan Sperling
about A-MPDU spacing. Makes BlockAck happy. tested by myself and abieber@
2016-02-05Implement acpi_get_table_with_size(). Will soon be used to read VFCTMark Kettenis
tables in radeondrm(4).
2016-02-05Simple moderation of Tx completion notificationsMike Belopuhov
Follow FreeBSD and schedule the next Tx completion event to fire when about half of the packet segments scheduled for transmission are consumed.
2016-02-05Silence warnings from static analyzers; found by jsg@Mike Belopuhov
2016-02-05Improve Linux PCI compatibility code.Mark Kettenis
2016-02-05Fix a pci vendor/device conversion missed in rev 1.6.Mark Kettenis
2016-02-05Implement FreeBSD-compatible IOCTL to access BMC in ipmi(4)Masao Uebayashi
Initial help & testing by jmatthew@ Code review & input by mpi@ Final review & OK by jsg@
2016-02-04Make iwn(4) pass 802.11 control frames in monitor mode.Stefan Sperling
Now we can see rts/cts, ack, blockack etc. in tcpdump(8). ok kettenis@
2016-02-04In iwn(4), don't forget about restoring the CCMP key to firmware afterStefan Sperling
HT protection setting updates. Unbreaks WPA in 11n mode. ok sthen@
2016-02-04Bail early if there's no token; found by jsg@Mike Belopuhov
2016-02-04If the ROM size is 0, we won't be able to read the video BIOS from it.Mark Kettenis
Bail out early to prevent a panic from calling bus_space_map(9) with size 0.
2016-02-03Increase the RPC buffer once more to 4096 bytes. The guestinfo.ovfEnvReyk Floeter
mechanism is used to configure VMs in the VMware vSphere world: instead of using individual key-value guestinfo.* properties, it uses the guestinfo.ovfEnv value to pass an enterprise-compliant XML file that includes key-value properties. This file can be rather large, especially with comments, but 4k ought to be enough for anybody. Also change a stack buffer to malloc'ed memory in the ioctl path. OK mikeb@
2016-02-03Prevent efifb(4) from attaching if we're the console.Mark Kettenis
Unfortunately, making this decision in radeondrm_attachhook() is too late because at that point efifb(4) would have already been attached. This means that if we decide to bail in radeondrm_attachhook() we may end up without a glass console. That may happen for example if the firmware package has not been installed. I'm still looking for a solution for that problem. ok jsg@
2016-02-02A few reliability improvements in the power management interfaceMike Belopuhov
Nathanael Rensen <nathanael at list ! polymorpheus ! com> came up with a few improvements to the event watcher and power management interface, namely: o Make sure to put our watcher on a list before issuing an XS_WATCH command since Xen will raise the event right after it's been set up. o The first time xen_control is called the "control/shutdown" node may not exist, so skip printing the error message in this case. o Acknowledge requests by writing back an empty string. o log(9) reboot and halt requests like vmt(4) does. Huge thanks!
2016-01-31remove old link to documentation, it's in ihidev.cJoshua Stein
2016-01-30regenJonathan Gray
2016-01-30correct the string for 82801HBM RAIDJonathan Gray
2016-01-29Add support for "control/shutdown" power management facilityMike Belopuhov
At the moment only "poweroff" and "reboot" actions are supported. Suspend/resume requires additional changes.
2016-01-29Add support for XS_WATCH: XenStore notification facilityMike Belopuhov
After configuring a watch for the node, XenStore will asynchronously notify the system when the value of the specified node changes with an event message.
2016-01-29Cleanup XenStore APIMike Belopuhov
Turns out that we want to let devices choose whether they're issuing XenStore requests to the backend or frontend. This also unifies the the API somewhat as providing the xen softcore structure is now mandatory.
2016-01-29use hid_desc fields since we have them, instead of manual offsetsJoshua Stein
into hid_desc_buf tested by jsg
2016-01-29Move the AUDIO_GETDEV ioctl in its own routine.Alexandre Ratchov
2016-01-28Older Xen dom0's don't implement setting version of Grant Table entriesMike Belopuhov
Remove leftover code that was used to set v2 of Grant Table entries. From Nathanael Rensen <nathanael at list ! polymorpheus ! com>, thanks!
2016-01-27Tighten up next reference calculation, printing fixesMike Belopuhov
2016-01-27Reimplement Grant Table metadata linking and enable dynamic allocationMike Belopuhov
Instead of pre-allocating maximum number of Grant Table frames allotted by the hypervisor we switch over to allocating them dynamically when the need arises. At the same time we no longer link metadata entries representing individual Grant Table frames as a list and use a table instead to speed up reference lookups when establishing and removing mappings.
2016-01-27xen_bus_dma_init turned out to be unnecessaryMike Belopuhov
2016-01-27shorten a few long linesMike Belopuhov
2016-01-27Add a key-value interface to pvbus(4) that allows to get or set valuesReyk Floeter
in the underlying information store of the host from the OpenBSD-VM's userspace. OpenBSD did not provide access to these stores before, mostly because we did not want to add a custom tool and interface for each hypervisor. The pvbus(4) interface provides backends for xen(4)'s XenStore and vmt(4)'s VMware Tools "guestinfo". These information stores are fairly different, XenStore is a "filesystem" while vmt is a RPC, and the key-value abstraction limits them a bit but provides the most wanted functionality. Discussed with many OK mikeb@
2016-01-26Convert membar_* operations to bus_dmamap_sync callsMike Belopuhov
2016-01-26Rewrite tx path to use flat transmit ring without fragment chainsMike Belopuhov
Xen doesn't provide transmit fragment chains so initially they were emulated but amount of grant table entries wasted in the process was astronomical (9 times more than after this change). So while code readability was sacrificed a bit, the change comes with a very nice transmit performance improvement and taxes grant table references much less than before.
2016-01-26Rename _{req,rsp}_evt descriptor structure members to _{prod,cons}_eventMike Belopuhov
Setting rxr_ and/or txr_cons_event value allows domU to delay completion notification for receive and/or transmit ring to specified values of consumer index. rxr_ and txr_prod_event values are updated by dom0 and don't seem to hold any significance for us.
2016-01-26No need to take a grant table entry mutex in xen_grant_table_{enter,remove}Mike Belopuhov
Grant table API is constructed in a way that once allocated grant table entries are marked as used and cannot be given away again to some other user. At the same time xen_grant_table_enter and _remove do not operate on the same grant reference at the same time, so there's no need for a lock here. Guard flag operations with memory fences to ensure correct store/load order. This provides some decent performance improvement as well.
2016-01-26Add a grant table reference invalidation spin out checkMike Belopuhov
This debugging check has been helpful in identifying and fixing a few issues already. Subject to removal in the future however.
2016-01-26Implement a rather conservative bus_dmamap_sync APIMike Belopuhov
2016-01-26Make sure to use locked atomic operations even on the SP kernelMike Belopuhov
When executed under the hypervisor we need to make sure that CAS and other atomic operations are executed while locking the bus. Problem reported by Imre Oolberg <imre at auul ! pri ! ee>, thanks!
2016-01-26Improve the previous fix: call vmxnet3_load_mbuf, bpf_mtap, and flipReyk Floeter
the generation bit to pass the tx descriptor and mbuf to the "hardware". This way bpf is not called if vmxnet3_load_mbuf dropped the mbuf. Tested by me OK mikeb@
2016-01-26prettify a NULL test in vr_start.David Gwynne
from richard proctor on bugs@
2016-01-26dont leak mbufs on encap failure.David Gwynne
diff from richard proctor on bugs@
2016-01-25Don't count the total number of Xen upcallsMike Belopuhov
2016-01-25Keep track of HT protection settings in beacons and have 11n-capableStefan Sperling
drivers update hardware configuration accordingly. tested by myself, tb@, deraadt@, abieber@ ok mpi@
2016-01-25Revert the minimum number of Rx ring slots back to 32Mike Belopuhov
Figured out the hard way by Jonathon Sisson <openbsd at j3z ! org>, thanks!
2016-01-25In vmxnet3_start(), do not send the mbuf to bpf after passing it toReyk Floeter
the hardware. This could have resulted in a page fault when the mbuf has already been freed by the TX interrupt handler on another CPU. This has the slight drawback that bpf can be called before the packet is eventually dropped by vmxnet3_load_mbuf() - but I'm getting this simple and verified fix in before doing further optimizations on the start handler. As discussed with mikeb@ jsg@ dlg@
2016-01-25Replace magic numbers.Masao Uebayashi
2016-01-23Fix some uses of sizeof where the size of a struct was intended, notJonathan Gray
the size of the pointer to a struct. ok mikeb@
2016-01-22Zero the local structs holding crs information before parsing _CRS.Jonathan Gray
This avoids reading uninitialised memory when expected value types are not present, as is currently the case with gpio signalled interrupts, and could also be the case with buggy aml. Without this change under certain conditions on the ideapad 100s (such as a ramdisk kernel or generic kernel compiled with -O0) ihidev would incorrectly attach to a bogus ioapic interrupt. ok kettenis@
2016-01-22Setup interface features based on capabilities provided by the backendMike Belopuhov
Instead of just setting bits that we think we need, do a better job of figuring out what's supported by the backend and what's not and what do we really need. The following improvements were implemented: o fallback for when scatter gather I/O is not supported by Dom0; o tcp/udp checksum offloading; o larger mtu up to 9000: an experimental feature; o stop requesting multicast control feature that we don't support.