Hello,
I’m trying to use vdispl interface from PV OS, it doesn’t work.
Configuration details:
Xen 4.12.1
Dom0: Linux 4.20.17-gentoo #13 SMP Sat Dec 28 11:12:24 MSK 2019 x86_64 Intel(R) Celeron(R) CPU N3050 @ 1.60GHz GenuineIntel GNU/Linux
DomU: x86 Plan9, PV
displ_be as a backend for vdispl and vkb
when VM starts, displ_be reports about an error:
gnttab: error: ioctl DMABUF_EXP_FROM_REFS failed: Invalid argument (displ_be.log:221)
related Dom0 output is:
[ 191.579278] Cannot provide dma-buf: use_ptemode 1 (dmesg.create.log:123)
According to the linux kernel sources use_ptemod is:
gntdev.c:1213: use_ptemod = !xen_feature(XENFEAT_auto_translated_physmap);
But xen-features.pl script doesn't show this feature is set for Dom0:
Xen features: 000028f0
enabled: pae_pgdir_above_4gb
enabled: mmu_pt_update_preserve_ad
enabled: dom0
enabled: memory_op_vnode_supported
According to the Xen sources, auto_translated_physmap is set up in a case of :
xen/common/kernel.c:467: if ( paging_mode_translate(d) )
xen/common/kernel.c-468- fi.submap |=
xen/common/kernel.c-469- (1U << XENFEAT_writable_page_tables) |
xen/common/kernel.c-470- (1U << XENFEAT_auto_translated_physmap);
where
xen/include/asm-x86/paging.h:73:#define paging_mode_translate(_d) (!!((_d)->arch.paging.mode & PG_translate))
But PG_translate is applied only for HVM, at least I have not fount any other points:
xen/arch/x86/hvm/hvm.c:606: rc = paging_enable(d, PG_refcounts|PG_translate|PG_external);
What should I do to make Xen set the feature up to continue using of vdispl?
And should I make any special support for the feature in PV OS?
All logs and configs are attached.
Thanks in advance.
Best regards,
Alexander Sychev
I’m trying to use vdispl interface from PV OS, it doesn’t work.
Configuration details:
Xen 4.12.1
Dom0: Linux 4.20.17-gentoo #13 SMP Sat Dec 28 11:12:24 MSK 2019 x86_64 Intel(R) Celeron(R) CPU N3050 @ 1.60GHz GenuineIntel GNU/Linux
DomU: x86 Plan9, PV
displ_be as a backend for vdispl and vkb
when VM starts, displ_be reports about an error:
gnttab: error: ioctl DMABUF_EXP_FROM_REFS failed: Invalid argument (displ_be.log:221)
related Dom0 output is:
[ 191.579278] Cannot provide dma-buf: use_ptemode 1 (dmesg.create.log:123)
According to the linux kernel sources use_ptemod is:
gntdev.c:1213: use_ptemod = !xen_feature(XENFEAT_auto_translated_physmap);
But xen-features.pl script doesn't show this feature is set for Dom0:
Xen features: 000028f0
enabled: pae_pgdir_above_4gb
enabled: mmu_pt_update_preserve_ad
enabled: dom0
enabled: memory_op_vnode_supported
According to the Xen sources, auto_translated_physmap is set up in a case of :
xen/common/kernel.c:467: if ( paging_mode_translate(d) )
xen/common/kernel.c-468- fi.submap |=
xen/common/kernel.c-469- (1U << XENFEAT_writable_page_tables) |
xen/common/kernel.c-470- (1U << XENFEAT_auto_translated_physmap);
where
xen/include/asm-x86/paging.h:73:#define paging_mode_translate(_d) (!!((_d)->arch.paging.mode & PG_translate))
But PG_translate is applied only for HVM, at least I have not fount any other points:
xen/arch/x86/hvm/hvm.c:606: rc = paging_enable(d, PG_refcounts|PG_translate|PG_external);
What should I do to make Xen set the feature up to continue using of vdispl?
And should I make any special support for the feature in PV OS?
All logs and configs are attached.
Thanks in advance.
Best regards,
Alexander Sychev