[linux-pm] [PATCH][RFC] swsusp for OSK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > 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.
--

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux