[maemo-developers] ARM MMU questions
From: Simon Pickering S.G.Pickering at bath.ac.ukDate: Wed Oct 24 14:38:21 EEST 2007
- Previous message: scratchbox problem after new installation
- Next message: ARM MMU questions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello all, I'm looking to share the framebuffer between the ARM CPU and DSP and therefore would like to ask a few questions about the ARM MMU and in particular TLBs. When I try mapping the framebuffer the following messages appear in dmesg: [10790.375152] omapdsp: 3 frame buffers found. we use first one. [10790.375213] MMU: mapping in ARM MMU, v=0xe0300000, p=0x87e00000, sz=0x10000 [10790.375305] MMU: mapping in ARM MMU, v=0xe0310000, p=0x87e10000, sz=0x10000 [10790.375396] MMU: mapping in ARM MMU, v=0xe0320000, p=0x87e20000, sz=0x10000 [10790.375457] MMU: mapping in ARM MMU, v=0xe0330000, p=0x87e30000, sz=0x10000 [10790.375518] MMU: mapping in ARM MMU, v=0xe0340000, p=0x87e40000, sz=0x10000 [10790.375610] MMU: mapping in ARM MMU, v=0xe0350000, p=0x87e50000, sz=0x10000 [10790.375671] MMU: TLB is full. [10790.375701] MMU: unmapping in ARM MMU, v=0xe0350000, sz=0x10000 [10790.375793] MMU: unmapping in ARM MMU, v=0xe0300000, sz=0x10000 [10790.375854] MMU: unmapping in ARM MMU, v=0xe0310000, sz=0x10000 [10790.375946] MMU: unmapping in ARM MMU, v=0xe0320000, sz=0x10000 [10790.376007] MMU: unmapping in ARM MMU, v=0xe0330000, sz=0x10000 [10790.376068] MMU: unmapping in ARM MMU, v=0xe0340000, sz=0x10000 [10790.376098] omapdsp: exmap failure. So it appears that I'm running out of TLBs in the ARM MMU. The ARM MMU is handling 65,536 (0x10000) bytes of memory per TLB, while I need something like 768,000 bytes (800 x 480 x 2) for my framebuffer, which would require just under 12 TLBs. My understanding is that the ARM CPUs have 32 TLBs in total, and it appears that we have 6 free at the moment. If it possible to map larger page sizes in the ARM MMU (i.e. so I need fewer TLBs?) Is this the right way to look at this problem? I don't know much about TLBs and MMUs, just what I've learned browsing the kernel code to try and work out what's causing this problem. It's interesting that the 770 has a mapped framebuffer. I wonder how it gets away with doing this while the N800 can't (if it's not by using a larger page size)? Thanks, Simon
- Previous message: scratchbox problem after new installation
- Next message: ARM MMU questions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]