summaryrefslogtreecommitdiffstats
path: root/sys/dev/pv/pvbus.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Declare hw_{prod,serial,uuid,vendor,ver} in <sys/systm.h>.visa2020-08-261-2/+1
| | | | OK deraadt@, mpi@
* dev/rndvar.h no longer has statistical interfaces (removed during variousderaadt2020-05-291-3/+1
| | | | | | conversion steps). it only contains kernel prototypes for 4 interfaces, all of which legitimately belong in sys/systm.h, which are already included by all enqueue_randomness() users.
* cleanup unused headers generated by configjsg2020-01-241-3/+1
| | | | ok tedu@ krw@ deraadt@
* vmm: add host side pvclockpd2019-05-131-2/+2
| | | | | | | | | Emulate kvm pvclock in vmm(4). Compatible with pvclock(4) in OpenBSD. Linux does not attach to this (yet). Fixes by reyk@ and tested extensively by reyk@, tb@ and phessler@ ok mlarkin@ phessler@ reyk@
* Fix an off-by-one uncovered by the recent free(9) changemikeb2018-01-181-3/+3
| | | | From canacar@, thanks!
* Add a hypervisor-specific function pointer in pvbus(4) that gets called duringjmatthew2017-06-221-1/+14
| | | | | | | | cpu_hatch() on each cpu, allowing initialization of per-cpu features on each cpu as it starts up. input from reyk@ and mikeb@ ok mikeb@
* Introduce pvbus_reboot() and pvbus_shutdown() to move the repeatedreyk2017-01-101-1/+21
| | | | | | | | tasks from the PV drivers into a central place. While here, we figured out that it is not needed to check for allowpowerdown on the hypervisor-initiated shutdown requests. OK mikeb@
* The kvop is not mandatory to query the type, fixes hostctl -t on vmm(4) VMs.reyk2016-12-061-2/+2
| | | | OK mikeb@
* vmm is also available on i386 now, so don't restrict it to amd64.reyk2016-10-271-5/+1
| | | | OK mikeb@ mlarkin@
* If not set, set hw_vendor to the name of the first pvbus.reyk2016-09-211-1/+16
| | | | | | | This sets hw.vendor to "OpenBSD" if running on vmm(4) because it doesn't provide an SMBIOS. OK mikeb@
* Provide a bus_dma tag as part of the pvbus attach argumentsmikeb2016-06-061-1/+21
| | | | ok reyk (a while ago)
* Add a key-value interface to pvbus(4) that allows to get or set valuesreyk2016-01-271-1/+146
| | | | | | | | | | | | | | 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@
* x2APIC is currently enabled on HV guests only, not on bare metal, toreyk2015-12-121-1/+8
| | | | | | | | | | | speedup interrupt handling on virtual machines. Unfortunately it is broken on Xen 4.2 or older, so use the early pvbus detection to drop the advertised x2APIC CPU feature. Xen has fixed this in late 2013, but the problem still shows up in "the Cloud" (it doesn't seem to affect others as they either use legacy APIC or Xen IPIs). OK mlarkin@ mikeb@ Cvs: ----------------------------------------------------------------------
* Identify hypervisors before configuring other children of the mainbusreyk2015-12-121-35/+64
| | | | | | | | | | (bios, CPU, interrupt handlers, pvbus). This splits the pvbus attach function into two parts: pvbus_identify() to scan the CPUID registers for supported hypervisors and pvbus_attach() to attach the bus, print information, and configure the children. This will be needed for Xen and KVM, as discussed with mikeb@ and sf@ OK mlarkin@
* pvbus_types isnt full on i386 cos the openbsd vmm entry is only setdlg2015-11-161-2/+3
| | | | | | | on amd64. make sure the signature is not null before using it in pvbus_attach. fixes a panic on i386 under vmware.
* vmm is i386 only for nowderaadt2015-11-131-1/+5
|
* vmm(4) kernel codemlarkin2015-11-131-2/+4
| | | | circulated on hackers@, no objections. Disabled by default.
* Determine and print Xen hypervisor version.mikeb2015-07-291-2/+16
| | | | ok reyk, with deraadt@'s permission
* Add callbacks for supported hypervisors in pvbus(4) to print morereyk2015-07-281-28/+53
| | | | | | | | | | information and for some generic CPUID/MSR-level initialization. This changes the attach/match path a bit. Hypervisor informatiom may include a version number, for example: pvbus0 at mainbus0: Hyper-V 6.3.9600 OK mlarkin@
* Add the bhyve id to recognize if we're running under this hypervisor.reyk2015-07-231-1/+2
| | | | OK mlarkin@
* Switch pvbus(4) to fully dynamic autoconf - drivers don't have to bereyk2015-07-211-17/+19
| | | | | | listed in pvbus.c anymore and are defined by the config only. OK mlarkin@ sf@
* Add pvbus(4), a pseudo-bus to attach non-PCI paravirtual devices and buses.reyk2015-07-211-0/+193
vmt(4) is moved from mainbus0 to pvbus0, more devices will follow. OK sf@ deraadt@