Hi all, Recently I am working on porting jailhouse hypervisor onto arm64 platforms. I've brought up the root-cell and also linux non-root cell.
Now I want to make virtio-console work, I started to write my virtio B/E framework by reference the demo code[1]. I'm pretty sure that the ivshmem region is working as virtio_ivshmem.c finishes its .probe() callback, and virtio_console.c has registered a hvc0 node. My virtio B/E can R/W the ivshmem region properly. However, I noticed that when virtio_ivshmem.c calls vring_create_virtqueue() to allocate virtqueue structure, it uses inmate private memory to allocate it, which is inaccessible for root-cell. For example, the inmate memory is starting from 0x1d0c00000 and virtqueue structure is starting from 0x1d29be000. The virtqueue structure is allocated inside the inmate memory, not shared memory. This means that virtio B/E fails to retrieve the vring infomations. Is it possible for root-cell to access inmate memory? or create virtqueue in the ivshemem region that is accessible for root-cell? Does jailhouse have any MMU translation mechanism? Please give me some suggestion. Thanks for watching this. [1] https://git.kiszka.org/?p=linux.git;a=commit;h=b6a3ec1cee44b986b556b60ed2368d0da1faca51 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/c54d2322-fd4a-4568-bc01-8d96e83845f0n%40googlegroups.com.
