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 codezero-devel@lists.l4dev.org http://lists.l4dev.org/mailman/listinfo/codezero-devel_lists.l4dev.org