Bob: Splitting slide 7 and 8 for different cases to make it more clear. Need clarification for sio-backend on the top of SAL.
Ola: From the previously slide, there is sio for para-virtualized interfaces for different devices. Since they are para-virtualized, there has to be something in the host in the hypervisor to handle that. So sio-backend could be something in the QEMU user space to handle this. For instance, it can be virtio-based, virtio vrings in the host for the hypervisor to pick up the packets and send them to the crypto accelerator.
Subha: The vHost-User I think is the one that is doing that. User space virtio interface.
Ola: The vHost-User is one way to implement it.
Subha: Question regarding no sio underneath the SAL@host.
Ola/Keith: sio is expected to be software constract between guest and host for para-virtualized hardware devices.
Subha: OK, we have in figure C, applications in the host, which need to make use of hardware accelerators, in this case, even though the HA accelerator is virtio-based, the virtio-rings are implemented in HW, we call it hio driver, but actually it is a virtio driver. It is just a technical term issue.
Keith: Let me make sure we get this clear. That little orange box "hio", I expect that to be pass-through interface, e.g. SR-IOV, directly to the HW. Is that what you mean?
Subha: Yeah.
Keith: OK, I think we are sync then.
Ola: Yes, that is my understanding as well.
Ola: In this Slide 9, example A here, it says sio in the guest, but with nothing in the host. And there is some kind of HW device. I don't understand.
Keith: That one is for the case via hyper-call, virtio calling directly to the kernel (which is not shown in the digram) and the kernel does the access to the accelerator.
more comments are welcome from the list.