Hello Community,
I would like to understand how to use a capability of Code Zero. So I tried to
compile the uart_demo. But when I want to emulate my new image in qemu, I have
error about sharing of capabilities.
code0: start kernel...
code0: Init kernel mappings...
code0: Virtual memory enabled.
code0: Kernel area 0xf0008000 - 0xf0039000 remapped as 49 pages
code0: Kernel built on Jul 22 2011, 13:33:46
code0: Mapping 0x8000 bytes as RX from 0x100000 physical to 0xa0000000 virtual
for uart_test_moi
code0: Mapping 0x89000 bytes as RW from 0x108000 physical to 0xa0008000 virtual
for uart_test_moi
Capability id: 0
Capability resource id: -1
Capability owner id: 1
Capability type: Quantitative
Capability resource type: Map Pool (PMDS)
l4_capability_control() sharing of capabilities failed.
Could not complete CAP_CONTROL_SHARE request. err=-22
BUG in file: main.c function: cap_share_all_with_space line: 43
So I do a little research and find that err = -22 which is about When a
capability struct is passed in buf but with invalid fields.
I thinks the error come from function call :
l4_capability_control(CAP_CONTROL_SHARE,
CAP_SHARE_ALL_SPACE, 0)
I tried to create a capability struct for the parameter buf but it didn't work.
I have read CodeZero Embedded Hypervisor Documentation and I looked for
another example using l4_capability_control but I didn't find anything useful.
Could you please help me to solve my problem ?
Thanks a lot.
Regards,
TRUONG
_______________________________________________
codezero-devel mailing list
[email protected]
http://lists.l4dev.org/mailman/listinfo/codezero-devel_lists.l4dev.org