> > I don't want to mix v1 and v2.
>
> Why?  What is the difference?
> Why do you even need/want 2 different drivers here

In old emulators we implemented the device differently, so we need a
different driver.

>  for something that really should be done with the virtio
> interface instead?

We are already looking into virtio. But we did not find a userspace
API that virtio provides to
replace our pipe. The closest we found is virtqueue, but it is a
kernel thing. So we will
need goldfish_pipe_v3.

> > I don't see how userspace could be affected, unless we refer to
> > __FILE__ inside the driver for some important things. I believe we
> > don't.
>
> How does your userspace know what module to automatically load?  That's
> what usually breaks if you do not have proper platform binding happening
> automatically.

I am not sure if I understand your question.

Userspace opens the device by its name. The device name is hardcoded:

#define DEVICE_NAME "goldfish_pipe"

https://android.googlesource.com/kernel/goldfish/+/android-goldfish-4.14-dev/drivers/platform/goldfish/goldfish_pipe.h#19

I still don't understand how kernel filenames are involved (and
whether should they) into userpspace.

Reply via email to