Messages in this thread | | | Subject | Re: [PATCH v2 0/4] rpmb subsystem, uapi and virtio-rpmb driver | From | Bean Huo <> | Date | Wed, 06 Apr 2022 20:12:07 +0200 |
| |
On Wed, 2022-04-06 at 10:32 -0700, Bart Van Assche wrote: > > It's the SCSI BSG driver, in fact, we don't have a dedicated UFS > > RPMB > > driver in the kernel. RPMB is a well known LU, we are using > > userspace > > tools to issue SCSI commands directly to the UFS RPMB LU via > > ioctl() > > from the BSG device node in the /dev/sg/ folder. > > > > Here is the BSG part of the code in the userspace tools: > > > > io_hdr_v4.guard = 'Q'; > > io_hdr_v4.protocol = BSG_PROTOCOL_SCSI; > > io_hdr_v4.subprotocol = BSG_SUB_PROTOCOL_SCSI_CMD; > > io_hdr_v4.response = (__u64)sense_buffer; > > io_hdr_v4.max_response_len = SENSE_BUFF_LEN; > > io_hdr_v4.request_len = cmd_len; > > io_hdr_v4.request = (__u64)cdb; > > > > > > > > > > ioctl(fd, SG_IO, &io_hdr_v4)) > > Hi Bean, > > I'm not sure where the above comes from? The Android RPMB client uses > slightly different code. Additionally, the retry loop around the > submission of SG/IO commands is very important. See also the > check_sg_io_hdr() call in send_ufs_rpmb_req(). See also > https://cs.android.com/android/platform/superproject/+/master:system/core/trusty/storage/proxy/rpmb.c > > Bart,
It is from the ufs-utils.
So, do you vote to add the UFS RPMB driver based on this new framework to resolve this conflict?
Kind regards, Bean
> Thanks, >
> Bart.
| |