Hi I want to map the arm global timer which is located at memory location 0xF8F00200 . However, when I am trying to get the physical frame using : error = simple_get_frame_cap(&simple, (void*)global_timer_paddr, 12, &ep_cap_path); if (error) { ZF_LOGE("Failed to find frame at paddr %p\n", global_timer_paddr); return error; } I get the Error Statement on stduout as "main@main.c:209 Failed to find frame at paddr 0xf8f00200" If i print the bootinfo during bootup, I can see that I have access to this region 0xf8000000 | 00000012 | [520 <--> 521 ] Can someone help me as why this issue may be caused? I know that this global timer is said to be mapped in the private region. But I do not what exactly that means and if we cannot do it. Regards Mark
Hi Mark, 0xf8000000 | 00000012 | [520 <--> 521 ] This should cover memory in the range 0xf8000000-0xf8001fff Your timer @ 0xF8F00200 is not in this range. The global/private timers provided by Cortex-A9 CPU's are reserved for the kernel scheduler. Which platform are you using? Are there any other timers that you could use on this platform? - Alex On Sat, 2016-11-12 at 12:59 -0500, Mark Reus wrote:
Hi
I want to map the arm global timer which is located at memory location 0xF8F00200 .
However, when I am trying to get the physical frame using :
error = simple_get_frame_cap(&simple, (void*)global_timer_paddr, 12, &ep_cap_path); if (error) { ZF_LOGE("Failed to find frame at paddr %p\n", global_timer_paddr); return error; }
I get the Error Statement on stduout as "main@main.c:209 Failed to find frame at paddr 0xf8f00200"
If i print the bootinfo during bootup, I can see that I have access to this region
0xf8000000 | 00000012 | [520 <--> 521 ]
Can someone help me as why this issue may be caused? I know that this global timer is said to be mapped in the private region. But I do not what exactly that means and if we cannot do it.
Regards Mark _______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
participants (2)
-
Alexander.Kroh@data61.csiro.au
-
Mark Reus