> > Perhaps I have to turn off MMU while copying pagedir_nosave, and turn > > on later? > > That sounds right. I tried turning off MMU when copying pagedir_nosave, but OSK target board hanged up just after MMU was turned off. What I did was: * invalidate cache * invalidate write buffer * invalidate TLB * disable cache * disable MMU I have to investigate more on how to turn off MMU on ARM... Below are actual insn: mcr p15, 0, r0, c7, c7, 0 @ invalidate cache mcr p15, 0, r0, c7, c10, 4 @ drain write buffer mcr p15, 0, r0, c8, c7, 0 @ invalidate TLB mrc p15, 0, r0, c1, c0, 0 @ get control register bic r1, r0, #0x0000100d @ disable cache and MMU mcr p15, 0, r1, c1, c0, 0 @ set control register nop <--- place where hanged up Besides that, I must convert mem from virt to phys if I go with MMU off. In kernel area, VIRT_TO_PHYS could be like this: #define VIRT_TO_PHYS(x) \ sub x, x, # PAGE_OFFSET + PHYS_OFFSET but could this also be used against hibernated image? # sorry for late reply. Regards, HK. --