[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Interface for SCSI transactions ?
From: |
Samuel Thibault |
Subject: |
Re: Interface for SCSI transactions ? |
Date: |
Tue, 6 Sep 2011 00:33:00 +0200 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Hello,
Thomas Schmitt, le Sat 27 Aug 2011 17:47:25 +0200, a écrit :
> The plan sketched a few months ago was to extend device_get_status()
> for this, because it already provides two-way transmission of an
> integer array. One would have to create a new dev_flavor_t value,
> which indicates that dev_status_t status actually contains a serialized
> struct sdata for parameter buffer of
> int scsi_ioctl_send_command(Scsi_Device *dev, void *buffer)
>
> I still have to find out where the RPC from device_get_status()
> arrives
AIUI it's device_get_status() in linux/dev/glue/block.c for the linux
IDE & SCSI devices.
> and how to perform scsi_ioctl_send_command() on that side
> of the gap.
Simply unpack, call, and repack.
However, I realize that the status parameter of the device_get_status
RPC is out only, not inout, so device_get_status alone can not provide
complete support. One way would be to use a set/get pair. Another way
would be to define a new device_command RPC, and extend the
device_emulation_ops structure with it.
> Even if i had a detailed plan of what to code where, i still lack of
> an idea how the development cycle for a kernel change would look like.
Simply rebuild gnumach and reboot with it.
Samuel
Re: Interface for SCSI transactions ?, olafBuddenhagen, 2011/09/06