On Tue, Sep 15, 2020 at 8:56 PM Kent Mcleod
On Tue, Sep 15, 2020 at 10:55 PM Sachin More
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<
> 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 Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
Thank you very much for the explanation. Sachin