Hi,
I recently move my wrok to a new seL4 version (I checkout default.xml in project camkes-arm-vm on 2020.02.25), I have below error print:
“create_object@main.c:659 [Cond failed: err != seL4_NoError]
Failed to find device frame/untyped at paddr = 0x90006000”
1、 I debug code, /**/ is my environment run parameter
BOOT_CODE bool_t create_device_untypeds(cap_t root_cnode_cap, seL4_SlotPos slot_pos_before)
{
paddr_t start = 0;
/*---------------------add region, start = 0x1800000, end = 0x2080000
*---------------------add region, start = 0x20ff000, end = 0x2100000
*---------------------add region, start = 0x80000000, end = 0x90001000
*---------------------add region, start = 0x90003000, end = 0x90004000
*/
for (word_t i = 0; i < ndks_boot.resv_count; i++) {
if (start < ndks_boot.reserved[i].start) {
region_t reg = paddr_to_pptr_reg((p_region_t) {
start, ndks_boot.reserved[i].start
});
if (!create_untypeds_for_region(root_cnode_cap, true, reg, slot_pos_before)) {
return false;
}
}
start = ndks_boot.reserved[i].end;
}
/*---------------------add region, start = 0x90005000, CONFIG_PADDR_USER_DEVICE_TOP = 0xff, PPTR_TOP = 0xffffc0000000*/
if (start < CONFIG_PADDR_USER_DEVICE_TOP) {
region_t reg = paddr_to_pptr_reg((p_region_t) {
start, CONFIG_PADDR_USER_DEVICE_TOP
});
/*
* The auto-generated bitfield code will get upset if the
* end pptr is larger than the maximum pointer size for this architecture.
*/
if (reg.end > PPTR_TOP) {
reg.end = PPTR_TOP;
}
if (!create_untypeds_for_region(root_cnode_cap, true, reg, slot_pos_before)) {
return false;
}
}
return true;
}
2、 CONFIG_PADDR_USER_DEVICE_TOP = 0xff, I found print the value must use 0x%x, can’t use 0x%lx, it is wrong
3、My platform is cortexA53
kernel/src/plat/j2/config.cmake:28: set(KernelArmCortexA53 ON)
4、and I change follow KernelArmCortexA53:
a) ‘math(EXPR KernelPaddrUserTop "(1 << 40) - 1")’
to ‘set(KernelPaddrUserTop "1099511627775")’
----------the print is “Failed to find device frame” disappear
5、my pc tools install,follow the seL4 wiki, cmakes version is 3.12.2 (> 3.7.2)
6、I did not find error or warning when I ../init-build.sh -DAARCH64=TRUE ……
---------------is it need to install new tools? Or other problem
Thank you very much.