| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
this is a step toward deprecating softclock based livelock detection.
|
| |
|
|
|
|
|
| |
tweak adapter_target and adapter_buswidth values to provide desired
semantic of providing only target 0/lun 0 device per vioblk(4) device.
Tested by sf@
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
ESXi doesn't carry the guest info over when a guest gets moved to a
different host, and this appears to be the only hint the guest gets
that this has happened.
ok dlg@
|
| |
|
|
|
|
| |
as (64 * 1024). Reduce confusion by using
MAXPHYS (a.k.a. (64 * 1024)) as other drivers
do.
|
| |
|
|
|
|
|
|
|
| |
Upon a failed task_add, the adjusted reference counter needs
to be decremented.
xen_intr_schedule should follow the same logic as xen_intr.
Tested by Niklas Hallqvist. Ok mpi@
|
| |
|
|
|
|
| |
scsi drivers. i.e. eliminate the struct scsi_adapter member in the
softc and rely on the pointer to a static scsi_adapter in the struct
scsi_link member.
|
| |
|
|
|
|
| |
'minphys()'. Just use & check for NULL instead, since 'minphys()' is
always called on the code path ([cd|sd|st]minphys) that calls
physio().
|
| |
|
|
|
|
|
|
| |
inducing. Rename scsi_adapter member 'scsi_minphys' to 'dev_minphys'
to reflect what it is supposed to do. Use consistent naming convention
(<dev>_minphys) for the actual device functions.
No functional change.
|
| |
|
|
| |
ok tedu@ krw@ deraadt@
|
| |
|
|
|
|
|
|
|
|
|
| |
in drivers. Terse one liners, NULLs instead of 0's, explicitly specify
all members, etc.
Nuke #ifdef notyet blocks related to the scsi_adapter in aic.
No intentional functional change.
ok tedu@
|
| | |
|
| | |
|
| |
|
|
| |
ok kn@
|
| | |
|
| |
|
|
|
|
|
| |
There is an existing allocsize variable tracking size of allocations,
turns out we can pass it to free in the error path.
OK florian@, mpi@
|
| |
|
|
|
|
|
|
|
|
|
| |
Attaches pvclock with lower priority (500) in case of unstable tsc
(PVCLOCK_FLAG_TSC_STABLE) instead of not attaching at all. In this state, we do
make sure to return a monotonically increasing number.
This mostly helps openbsd guests on openbsd vmm(4) where a pvclock with unstable
tsc is still better than i8254.
ok mlarkin@
|
| |
|
|
|
|
|
|
| |
xen_intr_unmask_release was not decrementing the reference counter
on the interrupt source structure when bailing out early which led
to the refcnt overflow.
From niklas, ok mlarkin
|
| | |
|
| |
|
|
|
|
| |
Tested by Andre Stoebe and Remi Locherer.
ok deraadt, tb
|
| |
|
|
|
|
|
|
|
|
|
| |
now unneeded version_to_spc() mapping array, a duplicate #define
and a couple of magic numbers. Toss in some comments for future
generations of spelunkers.
Makes it possible to check for specific SPC versions when new
features or eliminated features require such a check.
No intentional functional change.
|
| |
|
|
|
|
| |
SPC version. Use raw data in version field to check the SPC level
until SCSISPC() is straightened out. Actually a bit clearer to read as
the raw data is what is manipulated in adjacent code.
|
| |
|
|
|
|
| |
to start the rx tick did not work since we use if_rxr_get(). An
easy fix is to start the rx timeout every second unconditionally.
OK dlg@
|
| |
|
|
|
| |
virtio 1.0 for virtio_mmio it not yet implemented, but 0.9 devices
continue to work.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a sc_driver_features field that is automatically used by
virtio_negotiate_features() and during reinit.
Make virtio_negotiate_features() return an error code. Virtio 1.0 has a
special status bit for feature negotiation that means that negotiation
can fail. Make virtio_negotiate_features() return an error code instead
of the features.
Make virtio_reinit_start() automatically call
virtio_negotiate_features().
Add a convenience function virtio_has_feature() to make checking bits
easier.
Add an error check in viomb for virtio_negotiate_features because it has
some feature bits that may cause negotiation to fail. More error
checking in the child drivers is still missing.
ok mlarkin@
|
| |
|
|
|
|
|
|
|
| |
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@
|
| | |
|
| |
|
|
| |
Reported by Gary Zibrat
|
| |
|
|
| |
ok mlarkin@
|
| |
|
|
|
|
|
|
|
|
|
| |
virtio 1.0 supports an arbitrary number of feature bits. However, so far
no more than 64 are used (compared to 32 in virtio 0.9). Adjust data
types to support 64 feature bits.
Later, we may want to use bitmaps and setbit(), ... to support even more
feature bits.
ok mlarkin@
|
| |
|
|
|
|
|
|
|
| |
Make it take an address instead of a PFN.
Pass the virtqueue pointer. In virtio 1.0, more information has to be
configured in the device. Also call virtio_setup_queue() after the
information has been filled in.
ok mlarkin@
|
| | |
|
| |
|
|
|
|
|
|
| |
VIRTIO_F_RING_INDIRECT_DESC is always negotiated by the transport
driver, no need to specify it explicitly.
VIRTIO_BALLOON_F_MUST_TELL_HOST is not offered but is handled in the
code. Offer it during negotiation, too.
|
| |
|
|
| |
It accidentally contained a part of a different diff.
|
| |
|
|
| |
Also add some virtio 1.0 status and feature bits
|
| | |
|
| |
|
|
| |
And fix some comments
|
| | |
|
| |
|
|
|
| |
They are only used if VIRTIO_DEBUG is enabled.
This should make the kernel slightly smaller.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I falsely assumed that the KVM_FEATURE_CLOCKSOURCE_STABLE_BIT
indicates that the actual clock values are stable, but it turned out
that this isn't always the case. To detect if the clock value is
stable, we now read it once in pvclock_attach() and check for the
PVCLOCK_FLAG_TSC_STABLE flag. This needs further investigation.
Reported and fix tested by johnw.mail at gmail.com
OK chris@ phessler@
|
| |
|
|
|
| |
tested by brynet@
OK reyk@
|
| |
|
|
|
|
|
|
|
|
| |
This improves timekeeping on KVM guests as it runs much better than
the virtualized acpihpet or acpitimer timecounters and the invtsc is
not always available.
Many thanks to Janne Johansson, landry@, and benno@ for testing amd64/i386.
OK mlarkin@ phessler@
|
| |
|
|
|
|
|
|
|
|
| |
An example of such code path is vlan_destroy() where we don't want to
grab the lock because this driver is already NET_LOCK()-free.
The real solution to this problem is to stop holding the NET_LOCK() around
driver *_ioctl() routines.
Problem reported & fix tested by Élie Bouttier, ok visa@, bluhm@
|
| |
|
|
| |
OK deraadt@
|
| |
|
|
| |
Tested by Daniel Wade, <Daniel2 ! Wade at ge ! com>, thanks!
|
| |
|
|
|
|
|
|
|
| |
this gets rid of the source annotation which doesn't really add
anything other than adding complexitiy. randomess is generally
good enough that the few extra bits that the source type would
add are not worth it.
ok mikeb@ deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
According to https://reviews.freebsd.org/D12429, UDP transmit checksum
offloading doesn't work in Azure when sizeof(IP hdr + UDP hdr + payload)
is greater than 1420 and don't fragment bit isn't set in the IP header.
Instead of peeking into the packet and attempting to fix the fallout, we
restrict UDP checksum offloading to NDIS versions newer than the one used
in Azure (6.30) in an attempt to keep the feature enabled. Unfortunately,
there's no way to tell Azure apart from a standalone Hyper-V to make this
check more precise.
|
| |
|
|
|
|
|
| |
clone running guests and take disk-only snapshots, most of the time ending
up with a clean filesystem.
ok dlg@ deraadt@
|
| |
|
|
| |
Prevents a deadlock reported by aalm@
|
| |
|
|
|
|
|
| |
The account flag `ASU' will no longer be set but that makes suser()
mpsafe since it no longer mess with a per-process field.
No objection from millert@, ok tedu@, bluhm@
|