| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
CID 1501713
ok jmatthew@
|
|
|
|
|
|
| |
here 10 years ago, xdr isn't scary at all.
ok dlg@
|
|
|
|
|
|
|
| |
allocated as part of the softc, though it's always been the same buffer
so far.
ok dlg@
|
|
|
|
| |
ok dlg@
|
|
|
|
|
|
| |
OK dlg@, bluhm@
No Opinion mpi@
Not against it claudio@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In hvn_alloc_cmd() we may spin waiting for a free rndis_cmd. We check
the list once per tick and block with msleep(9) if there aren't any
free objects.
In practice though we don't need to poll for a free rndis_cmd because
our sleep is protected by a mutex, so we can't miss a wakeup(9). That
is, it's safe to use msleep_nsec(9) here and not set a timeout (INFSLP).
Tested by Andre Stoebe <as@nul.space> (Hyper-V on Windows 10).
"LGTM" mikeb@, ok mpi@
|
|
|
|
|
|
|
|
|
|
| |
Replace all tsleep(..., 1) calls in these drivers with tsleep_nsec(9)
calls. In every case we can use the nearby delay(9) intervals as the
timeout.
Tested by Andre Stoebe <as@nul.space> (Hyper-V on Windows 10).
"LGTM" mikeb@, ok mpi@
|
| |
|
|
|
|
|
| |
to scsi_copy_internal_data(). Thus getting xs->resid properly set and adding the
usual uio/size sanity checks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
member of 'struct scsi_xfer' has always been pointed at the 'struct scsi_generic
cmdstore' member of the same instance. So nuke 'cmdstore' and remove the '*'
from cmd. Take the address of cmd as required by the various casts.
No intentional functional change.
luna88k test by aoyama@, sparc64 test by jmatthew@
Identification of 2009's last *cmd use and ok jmatthew@
|
|
|
|
|
|
|
|
| |
to replace various uses of '5' when calculating the amount of data in the
INQUIRY response. Matches up more naturally with SID_SCSI2_ALEN.
Also use to fix SCSIDEBUG display of INQUIRY responses to show correct count of
bytes received/available.
|
|
|
|
|
| |
responses. This is what the SCSI specifications say is the correct value and
already used in several cases.
|
|
|
|
| |
OK millert@, florian@
|
| |
|
|
|
|
| |
initialize the 'version' field. Not numbers.
|
|
|
|
| |
initialize the 'version' field. Not numbers.
|
|
|
|
|
|
| |
struct scsi_rw_10.
ok gnezdo@ jmatthew@ (who also did sparc64 compile test)
|
|
|
|
|
|
|
| |
intr_barrier() now uses the argument so directly call sched_barrier(NULL)
which is what intr_barrier() used to do until recently.
problem reported by and fix tested by Andre Stoebe
|
|
|
|
| |
OK deraadt@, mpi@
|
|
|
|
| |
driver successfully compiles on one or more of amd64, i386, hppa.
|
|
|
|
|
|
|
| |
fields to struct scsibus_attach_args. Nuke the struct scsi_link *
(saa_sc_link) in scaibus_attach_args.
Explicitly initialize each field in scsibus_attach_args variables.
|
|
|
|
|
|
|
| |
adapter_buswidth, adapter_softc) from struct scsi_link to struct
scsibus_attach_args.
Additional compile tests by jmatthew@ (sparc64) and aoyam@ (luna88k).
|
|
|
|
|
|
|
|
| |
In sparc64 autoconf access 'luns' via sb_luns and 'adapter_buswidth'
via sb_adapter_buswidth.
Removes last post-config uses of the copies of bus related
information in scsi_link.
|
| |
|
|
|
|
| |
statement. All to make upcoming diff(s) smaller and easier to read.
|
|
|
|
|
|
|
| |
openings outside of the one used at config_found() time. Adapters
should take care of their own data.
ok dlg@ for a sligthly different vioblk.c version.
|
|
|
|
| |
ok dlg@ tobhe@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.
If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.
The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.
Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.
This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).
Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!
OK from at least kettenis@, cheloha@, naddy@, sthen@
|
|
|
|
|
|
|
|
| |
intr_barrier() now uses the argument so directly call sched_barrier(NULL)
which is what intr_barrier(NULL) used to do until recently.
From Todd Carson on bugs@
ok dlg@
|
| |
|
|
|
|
| |
immediately before initializing the only field in the struct.
|
|
|
|
|
|
| |
As a result remove unneeded variable
OK kn@, millert@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
time_second(9) and time_uptime(9) are widely used in the kernel to
quickly get the system UTC or system uptime as a time_t. However,
time_t is 64-bit everywhere, so it is not generally safe to use them
on 32-bit platforms: you have a split-read problem if your hardware
cannot perform atomic 64-bit reads.
This patch replaces time_second(9) with gettime(9), a safer successor
interface, throughout the kernel. Similarly, time_uptime(9) is replaced
with getuptime(9).
There is a performance cost on 32-bit platforms in exchange for
eliminating the split-read problem: instead of two register reads you
now have a lockless read loop to pull the values from the timehands.
This is really not *too* bad in the grand scheme of things, but
compared to what we were doing before it is several times slower.
There is no performance cost on 64-bit (__LP64__) platforms.
With input from visa@, dlg@, and tedu@.
Several bugs squashed by visa@.
ok kettenis@
|
|
|
|
|
|
|
| |
aassigned to adapter_buswidth to indicate the adapter is not a target
on the bus.
ok dlg@ as part of a larger diff.
|
|
|
|
|
|
| |
indicate the adapter is not a target on the bus.
ok dlg@ as part of a larger diff.
|
|
|
|
|
|
|
| |
set/trust the scsiconf.c probing limits. Same as was done to
vioblk(4).
ok dlg@
|
|
|
|
| |
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@
|
| |
|
| |
|