I have been working on HIGHMEM fixation for 2.4.20 linux MVL kernel for MIPS architecture.
I am getting DATA BUS ERROR(ADDR:
0xffffd000) exception when loading (copying the data received from ethernet to the kernel space in FIXADDR SPACE) “/sbin/init” from TARGET ROOT DIR (through NFS). I figured
out that this is because there is no corresponding page table entry for the
I checked that the virtual address is generated by making a
call to kmap_atomic(). Which internally calls set_pte() and then local_flush_tlb_all(). Virtual Address is generated by
making a call to
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
1> Where is the page table entries updated?
2> When are they updated with the processor?