Sometime ago I wanted to enable L2 cache on an ARM1136-JFS based processor. The problem with this ARM core is that you cant enable L2 cache without enabling MMU and enabling MMU means to have a physical to virtual address mapping. But I didnt need any virtual memory and only wanted to enable L2 cache. The only way that I could think of was to create a one-to-one physical-to-virtual address mapping so that I could use L2 cache. The code that I wrote, after reading uboots source code, is given below.