Age | Commit message (Collapse) | Author |
|
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
|
|
|
|
|
|
OK deraadt.
|
|
type of all variables to daddr64_t. this includes the APIs for XXsize()
and XXdump(), all range checks inside bio drivers, internal variables
for disklabel handling, and even uvm's swap offsets. re-read numerous
times by otto, miod, krw, thib to look for errors
|
|
to size. tested on almost all machines, double checked by miod and krw
next comes the type handling surrounding these values
|
|
readdisklabel(), since all readdisklabel()'s do that already.
ok deraadt@
|
|
into using DOS geometry by calling it twice. And don't ignore the
drive state if readdisklabel() returns a non-NULL value.
ok weingart@ grange@
|
|
number (wd.c), and the uses are to find the minimum minor to be
detached.
|
|
ones. No change to wd.o.
ok deraadt@ marco@
|
|
geometry in the disklabel when there is a BIOS geometry to provide.
This removes the option to set a disklabel to 'BIOS' geometry via the
'g b' command in the editor.
Makes reported geometry more consistant and moves MD code to MD land
where it should be.
Doc help from jmc@, Feedback from millert@, marco@, weingart@,
kettenis@.
ok deraadt@
|
|
it. returning an error to the scsi midlayer is all we need to do, which in
turn will do the right thing.
|
|
that leave the security set on by default.
"looks sane" grange@, "looks ok" pascoe@, "put it in" dlg@
|
|
|
|
ok dlg@
|
|
|
|
|
|
definitions of them here. this starts with the SStatus register.
|
|
active commands when an error is encountered.
ok dlg@
|
|
was right. There is another path that ends up avoiding the disk_unbusy
call I inserted.... tested by robert too
|
|
it should not; ok dlg
problem spotted using zaurus soft-drive-led diff which is pending
i think i convinced jsg now that this fix is better than putting it
in wdrestart
|
|
|
|
|
|
are seeing a panic at halt time.
|
|
adjusted the packet and identify commands.
|
|
that shouldn't care about don't care bits does care.
|
|
|
|
This includes a nasty hack to reduce openings and throw away command slots
if the device supports a lower queue depth than the host controller does.
Yes, we're thinking about a better solution.
|
|
don't use xa->flags afterwards.
|
|
Because you cannot have NCQ commands active at the same time as standard
(non-queued) commands, we must introduce a queueing scheme into the driver.
This scheme ensures that a standard command is only issued to the drive when
all currently active NCQ commands have finished, and that NCQ command issue
is delayed when we have a pending standard command.
Additionally, the queueing scheme adds a constraint to ensure that there are
never more than two standard commands issued on a port at once. This should
ensure that commands become active in the order they were submitted (regardless
of their command slot number) both initially and when the port is reactivated
after error recovery.
These points mean that issuing a standard command effectively serialises the
port, which may help us implement meaningful I/O barriers in the future.
|
|
|
|
it a bit easier to read. there are variations on this, but they can be
defined later.
|
|
could pick up a previous ATA_F_POLL from a previous non-data command.
|
|
|
|
Note that the ATA spec says we're should retry after error until we see no
more errors. This is not (yet) implemented.
|
|
isn't sent to the device.
|
|
|
|
something really big. The SCSI layer isn't yet ready for it.
|
|
in the inquiry error paths, as the HBA will have already completed the
ata_xfer with an error.
Reminder and ok dlg@
|
|
etc, just work.
|
|
|
|
|
|
|
|
of the wdcreg.h include in atascsi.
"feel free to remove" pascoe@
|
|
etc), and request that the D2H FIS at the completion of all (DMA) commands
generate an interrupt.
This makes each data transfer generate one interrupt instead of two and
should guarantee that the interrupt that is generated actually arrives
after the command has completed.
|
|
works.
From dlg@
|
|
|
|
simply include a pointer to the command FIS that we will issue to the device.
Include another space where we can copy back an error register set from a
failed command.
This means that we can now build and issue arbitrary commands from atascsi,
and retrieve errors back.
|
|
atascsi will be driving, and add it to the AHCI CCB.
This effectively gives us all the resources we need for a transfer in one
hit, meaning that we don't need to worry about whether we will have a pool
shortage or not enough CCBs. The SCSI mid layer should take care to never
exceed the number of CCBs we have available, based on our sc_link.openings.
|
|
|