> On Jan 19, 2016, at 8:25 AM, Kenneth D. Merry <ken_at_FreeBSD.ORG> wrote: > > >>> In the ada(4) case, we need to add the register to struct ccb_ataio and >>> add support in one or more of the underlying SATA drivers, e.g. ahci(4). >> >> I believe that changes the size of the CCB, so I tried to avoid >> that since I didn???t want to force a recompile of camcontrol(8). >> Adding it to the atacmd structure wasn???t so bad, and the CCB size >> didn???t completely change. The problem was that the atacmd changed >> size and pushed all the other fields. > > Yes. In order to do it, we'll need to add it to struct atacmd, and add > compatibility shims. I don't see another way to do it unfortunately. > No, I object to changing the structure sizes and contents. It should be a new CCB, XPT_ATA_IO_EXT, ccb_ataio_ext. If you want to add more future-looking fields than just the AUX register, maybe a way to define un-typed command and response register objects, that’s fine and probably a good idea. The periph drivers can probe for the proper command to send based on whether the SIM returning CAM_FUNC_NOTAVAIL or via a PIM flag, or even better, via a KVP capability CCB. However I’m firmly against changing the existing data structures; compat shims have been a pain and are a poor solution. Warner and I are pounding out a proposal for this, will share a diff shortly. ScottReceived on Tue Jan 19 2016 - 16:20:02 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC