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

Reply via email to