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.

Reply via email to