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