On Tue, Sep 15, 2020 at 10:55 PM Sachin More <[email protected]> wrote:
>
> Hi:
>
> Between version 9.0.1 and 10.0.0, the capability name seL4_CapIOPort
> changed to seL4_CapIOPortControl in the file
> seL4/libsel4/include/sel4/bootinfo_types.h.
> I have some legacy code written for 9.0.1 that I want to port to 10.0.0.
> When I changed the occurrences of seL4_CapIOPort to seL4_CapIOPortControl,
> I am getting the following:
>
> Warning: copy: seL4_CNode_Copy (0x7) returned 3
>
> followed some time later by:
>
> Warn<<seL4(CPU 0) [decodeInvocation/530 T0xffffff80002de400 "child of:
> 'child of: 'rootserver''" @20f27a4]: Attempted to invoke a null cap #7.>>
>
> What am I doing wrong?

The seL4_CapIOPort cap still exists but no caps of this type are
provided in the bootinfo anymore.  A new cap type,
seL4_CapIOPortControl, was added and changed the way IOPort delegation
worked.  seL4_CapIOPort provides access to a range of IOPorts (defined
by a start port and an endport).  Previously the roottask would get
given an seL4_CapIOPort with the full range of addressable ports and
could delegate access to other components by minting new
seL4_CapIOPort caps with reduced ranges. This design was hard to
verify (The exact details escape me) and so the design was changed to
have an explicit seL4_CapIOPortControl cap that controlled all
addresses and can be used to create seL4_CapIOPorts with any range.
See https://docs.sel4.systems/releases/sel4/10.0.0.html for some
additional notes on the change and
https://docs.sel4.systems/projects/sel4/api-doc.html#sel4_x86_ioportcontrol
for the API of the control cap.

> thanks in advance,
> Sachin
> _______________________________________________
> Devel mailing list
> [email protected]
> https://sel4.systems/lists/listinfo/devel

_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to