Hello everyone,
I have trouble running the baremetal UART driver example (from
source). My problem happens when I try to map the UART's base to a
virtual page.
After looking a bit further, I saw that the range checking on on the
pager's physical memory mapping capability fails: the default
capability allows the pager to map physical pages from 0x1000000 to
0xe000000, while the UART's base is at 0x101f2000 for the pb926
platform. When I change the capability to allow to map up to
0x20000000, qemu fails with the following error message: qemu: fatal:
Trying to execute code outside RAM or ROM at 0x20000000.
For me, capabilities are nothing more than permissions, so why can't I
extend the pager's capability to map physical pages to 0x20000000?
What does that induce which causes this error?
I saw in the changelogs that a lot of flags previously provided for
the cap_control syscall where removed, such as the
CAP_SHARE_ALL_SPACES used in the baremetal example. Why have they been
removed and is the fact that they are missing somehow related with my
problem?
I would greatly appreciate any feedback on this as I obviously must be
missing something.
Best regards,
François Goichon
_______________________________________________
codezero-devel mailing list
[email protected]
http://lists.l4dev.org/mailman/listinfo/codezero-devel_lists.l4dev.org