Age | Commit message (Collapse) | Author |
|
|
|
no reason to pretend being compatible with the MI vga layer. So stop
using the vga_pci_bar interface and reduce the differences with the
sparc64 driver.
|
|
it since bluhm@ implemented it in 2012.
From Loganaden Velvindron, ok claudio@
|
|
with the old radeondrm code but should work now.
|
|
miod ran into.
ok miod matthew
|
|
non integrated radeon >= r600 parts will now try to enable PCIe 2.0/3.0
speeds when the PCIe root port advertises the relevant speeds.
|
|
|
|
than the real device drivers. ses returns 3 on some dells, which could be
confusing for autoconf if it has to decide between that and a path driver.
|
|
code that picks the next path. we assume roundrobin within a group
of paths now. the asym sym(4) devices work around this by putting
every path in its own group.
|
|
of devices. fixes compilation when theyre enabled.
how embarrassment.
|
|
other things scsi_sem_enter. the things protected by this do as
much work as they can, so they only need to be told to try again
once.
this isnt a semaphore anymore (and probably never was) so there's
a name change coming too.
|
|
in libpthread to be optimized away.
While there, follow DG/UX's example of using more than one register for thread
purposes (after all, the ABI reserves four of them), and also use %r26 to store
a pointer to the current thread's errno.
Since it is not possible to initialize %r26 at thread creation without
intrusive and potentially race-prone changes, have __tfork() reset %r26 to
zero, and libpthread's __cerror lazy initialize it. As soon as %r26 is nonzero,
it will be used instead of calling __errno().
This means that binaries linked against HEAD libpthread need to run on HEAD
kernels, and we are belatedly jumping on the 64-bit time_t bump (since there
are no 64-bit time_t m88k snapshots yet).
Joint work with guenther@; "Your love of asm is sick and wrong, and yet
beautiful." and ok guenther@
|
|
happens on all D$ in MULTIPROCESSOR kernels, for the dirty lines may not all
be on the current cpu. Fixes spurious segmentation faults or ill behaviours
in MULTIPROCESSOR kernels, but there are still some left.
|
|
|
|
|
|
make.1 part From: Christian Schulte
|
|
npppd ok yasuoka@
ok millert@
|
|
if a controller sends sense data back, the path driver can tell
mpath that its indicating failover which kicks off an iteration
over all the groups until one says its active. if no groups claim
to be active, a timeout fires the process off again after a second.
you can start controller handover on rdac (well, an md3200i is all
i had to test with, others might need more work) and everything
keeps going. ill try to get to emc and hds working when i can poke
hardware again.
|
|
|
|
|
|
|
|
handler for the mpath midlayer to call. the status check is completely
event driven.
a group is considered active if the VOLACCESSCTL vpd page has some
bits set.
|
|
|
|
midlayer would be able to call things on paths to explicitely online
or offline them. turns out thats not how the Real World(tm) works,
instead its better to wait for failure and probe for the status of
paths, and pick the active group of paths from that. there's even
evidence that the mechanisms for forcing controllers into active/passive
roles from the scsi initiator are being deprecated. they expect
hosts to be able to cope with arbitrary controller role changes and
failover
accordingly.
this replaces the online and offline function pointers in the path_ops
structure with a status check function pointer. instead of returning a
state, the checker is expected to call mpath_path_status() when its
finished figuring out what the state is.
|
|
version 2 of the PCIe capability.
|
|
on which to listen.
okay dcoppa@, henning@, florian@
manpage okay from jmc@
|
|
ascq 0x01, or skey unit attention + asc 0x8b + ascq 0x02 when i
tell it to change controller ownership of a volume. i wish i knew
what the numbers really meant, but alas, there's no doco cos this
is all magical and unique apparently.
anyway, empirically this can be used in rdac_checksense to return
MPATH_SENSE_FAILOVER.
|
|
(who can tell ive spent time in web servers) to say they decline
interpreting the sense data, or MPATH_SENSE_FAILOVER to say the
sense data is from the controller saying its failed over.
all path drivers currently decline handling sense data.
|
|
|
|
devices and paths. devices are what mpath presents as targets on
its scsibus, and paths are the things attached to hardware controllers
that are available to shove io down to the actual real target. all
paths were considered usable for handling io on behalf of a device.
this adds groups in between devices and paths. only paths on the
first group in the list will now be used to handle io now.
sym devices will only have one group. asym devices will treat each
path as a different group. rdac, emc, and hds will group paths based
on which controller in the array theyre connected to.
in the future we will intercept sense data from passive controllers
and use that to start running checks to pick a new primary group
so we can handle controller failover situations.
the group id in hds(4) is currently busted, everything else should
be correct.
|
|
use as the group id later on.
|
|
OSIOCGIFINFO_IN6 anymore. Remove them together with the structs
in6_drlist, in6_oprlist, in6_prlist, in6_ondireq and the kernel
implementation.
OK mikeb@ henning@
|
|
firstly, move the array of targets that mpath presents into the softc.
secondly, when paths call the mpath api we can simply check if the softc
global is not null rather than walk through autoconf data. mpath will either
have already attached or will never attach in the future.
|
|
enable all the code in the various radeon pcie_gen2_enable() functions.
no functional change
|
|
|
|
- the mpath hooks path drivers call dont have to parse autoconf
structures to tell if mpath may attach in the future. it now either
has already attached or never will, which is simpler to check.
- i can get rid of the global mpath target array by moving it into
the mpath softc because of the above.
- makes reasoning about state transitions (especially around when
to attach) when groups of paths are implemented a lot simpler
the only real caveat is dmesg feng shui may be ruined. i can come
back and look at this after i move mpath itself forward though.
discussed with deraadt@ miod@
ok todd@ matthew@ krw@
|
|
on or off the queues so things calling them can tell if something
is or isnt going to happen.
|
|
other than scsi_base.c can use them.
|
|
|
|
|
|
names in ike_section_p2 applies to phase-1 transforms as well.
|
|
spotted by sthen@
|
|
|
|
The interrupt handler used to always return zero, even if it did some work.
Since interrupts aren't shared we can always return 1.
ok patrick
|
|
ok patrick
|
|
rather than requiring each algorithm to provide their own memory handling.
This matches the interface already provided by cryptosoft for
authentication algorithms and removes the need for zerokey functions.
ok mikeb@
|
|
this was inherited from sparc when adding 16 partition support, but
disklabel(8) does not enforce such alignment, and since UniOS never did
for the `traditional' partitions (a-h), there is no good reason to keep this.
This makes partitions i-p really functional.
|
|
tested before initialization; this would only affect 2e systems.
Found by Maxime Villard; reminded by mlarkin@
|
|
|
|
|