Arm stack from supersection region

Hi,


I am trying to experiment with freebsd-arm on a board which is ARM-v6. Whatever, working code is available with me assigns stack pointer (kernel as well as IRQ stack) to last address of a 4K size memory which is page based. With this page based memory assignment it is working fine.

With a thought of having less TLB misses, I tried to initialize IRQ stack pointer(r13) to the last address of a 4K size memory which is carved out of a supersection. But it just doesn't work. I verified I have mapped supersection correctly and if I use this supersection for other memory operations all goes fine. But when I use some area of it for stack pointer initialization it just doesn't work.

I would like to know is there any limitation on the memory area (page, section or supersection) or memory attribute (Write or Read allocate)from where stack pointer (r13) can be initialized from in ARM-v6.

I did go through ARM reference manual but couldn't find any such limitation.

Any help in this regard will be highly appreciated.

Thanks and Regards,
Anshul
 
Back
Top