2008-08-20 08:44:57

by Uros Bizjak

[permalink] [raw]
Subject: [PATCH] x86: Use X86_CR4_PGE in x86/power/hibernate_asm_32.S

Signed-off-by: Uros Bizjak <[email protected]>
---
diff --git a/arch/x86/power/hibernate_asm_32.S
b/arch/x86/power/hibernate_asm_32.S
index 4fc7e87..6fa219e 100644
--- a/arch/x86/power/hibernate_asm_32.S
+++ b/arch/x86/power/hibernate_asm_32.S
@@ -1,5 +1,3 @@
-.text
-
/*
* This may not use any stack, nor any variable that is not "NoSave":
*
@@ -8,21 +6,21 @@
* your own stack under you is bad idea.
*/

+ .text
#include <linux/linkage.h>
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/asm-offsets.h>
-
- .text
+#include <asm/processor-flags.h>

ENTRY(swsusp_arch_suspend)
-
movl %esp, saved_context_esp
movl %ebx, saved_context_ebx
movl %ebp, saved_context_ebp
movl %esi, saved_context_esi
movl %edi, saved_context_edi
- pushfl ; popl saved_context_eflags
+ pushfl
+ popl saved_context_eflags

call swsusp_save
ret
@@ -59,7 +57,7 @@ done:
movl mmu_cr4_features, %ecx
jecxz 1f # cr4 Pentium and higher, skip if zero
movl %ecx, %edx
- andl $~(1<<7), %edx; # PGE
+ andl $~(X86_CR4_PGE), %edx
movl %edx, %cr4; # turn off PGE
1:
movl %cr3, %eax; # flush TLB
@@ -74,7 +72,8 @@ done:
movl saved_context_esi, %esi
movl saved_context_edi, %edi

- pushl saved_context_eflags ; popfl
+ pushl saved_context_eflags
+ popfl

xorl %eax, %eax


2008-08-20 09:54:20

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86: Use X86_CR4_PGE in x86/power/hibernate_asm_32.S


* Uros Bizjak <[email protected]> wrote:

> Signed-off-by: Uros Bizjak <[email protected]>

applied the commit below to tip/x86/cleanups - thanks Uros.

i did a small change: i moved the .text to after the include files.
While include files are not supposed to change section attributes, it
looks logically more consistent to have the .text right before the code.

Ingo

----------------->
>From c171f465b7281f2d3b03e9145ec763d6a8bab176 Mon Sep 17 00:00:00 2001
From: Uros Bizjak <[email protected]>
Date: Wed, 20 Aug 2008 10:44:47 +0200
Subject: [PATCH] x86, cleanup: use X86_CR4_PGE in x86/power/hibernate_asm_32.S

Signed-off-by: Uros Bizjak <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/power/hibernate_asm_32.S | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/x86/power/hibernate_asm_32.S b/arch/x86/power/hibernate_asm_32.S
index 4fc7e87..d1e9b53 100644
--- a/arch/x86/power/hibernate_asm_32.S
+++ b/arch/x86/power/hibernate_asm_32.S
@@ -1,5 +1,3 @@
-.text
-
/*
* This may not use any stack, nor any variable that is not "NoSave":
*
@@ -12,17 +10,18 @@
#include <asm/segment.h>
#include <asm/page.h>
#include <asm/asm-offsets.h>
+#include <asm/processor-flags.h>

- .text
+.text

ENTRY(swsusp_arch_suspend)
-
movl %esp, saved_context_esp
movl %ebx, saved_context_ebx
movl %ebp, saved_context_ebp
movl %esi, saved_context_esi
movl %edi, saved_context_edi
- pushfl ; popl saved_context_eflags
+ pushfl
+ popl saved_context_eflags

call swsusp_save
ret
@@ -59,7 +58,7 @@ done:
movl mmu_cr4_features, %ecx
jecxz 1f # cr4 Pentium and higher, skip if zero
movl %ecx, %edx
- andl $~(1<<7), %edx; # PGE
+ andl $~(X86_CR4_PGE), %edx
movl %edx, %cr4; # turn off PGE
1:
movl %cr3, %eax; # flush TLB
@@ -74,7 +73,8 @@ done:
movl saved_context_esi, %esi
movl saved_context_edi, %edi

- pushl saved_context_eflags ; popfl
+ pushl saved_context_eflags
+ popfl

xorl %eax, %eax

2008-08-20 12:58:19

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] x86: Use X86_CR4_PGE in x86/power/hibernate_asm_32.S

On Wednesday, 20 of August 2008, Ingo Molnar wrote:
>
> * Uros Bizjak <[email protected]> wrote:
>
> > Signed-off-by: Uros Bizjak <[email protected]>
>
> applied the commit below to tip/x86/cleanups - thanks Uros.
>
> i did a small change: i moved the .text to after the include files.
> While include files are not supposed to change section attributes, it
> looks logically more consistent to have the .text right before the code.
>
> Ingo
>
> ----------------->
> From c171f465b7281f2d3b03e9145ec763d6a8bab176 Mon Sep 17 00:00:00 2001
> From: Uros Bizjak <[email protected]>
> Date: Wed, 20 Aug 2008 10:44:47 +0200
> Subject: [PATCH] x86, cleanup: use X86_CR4_PGE in x86/power/hibernate_asm_32.S
>
> Signed-off-by: Uros Bizjak <[email protected]>
> Signed-off-by: Ingo Molnar <[email protected]>

Acked-by: Rafael J. Wysocki <[email protected]>

> ---
> arch/x86/power/hibernate_asm_32.S | 14 +++++++-------
> 1 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/x86/power/hibernate_asm_32.S b/arch/x86/power/hibernate_asm_32.S
> index 4fc7e87..d1e9b53 100644
> --- a/arch/x86/power/hibernate_asm_32.S
> +++ b/arch/x86/power/hibernate_asm_32.S
> @@ -1,5 +1,3 @@
> -.text
> -
> /*
> * This may not use any stack, nor any variable that is not "NoSave":
> *
> @@ -12,17 +10,18 @@
> #include <asm/segment.h>
> #include <asm/page.h>
> #include <asm/asm-offsets.h>
> +#include <asm/processor-flags.h>
>
> - .text
> +.text
>
> ENTRY(swsusp_arch_suspend)
> -
> movl %esp, saved_context_esp
> movl %ebx, saved_context_ebx
> movl %ebp, saved_context_ebp
> movl %esi, saved_context_esi
> movl %edi, saved_context_edi
> - pushfl ; popl saved_context_eflags
> + pushfl
> + popl saved_context_eflags
>
> call swsusp_save
> ret
> @@ -59,7 +58,7 @@ done:
> movl mmu_cr4_features, %ecx
> jecxz 1f # cr4 Pentium and higher, skip if zero
> movl %ecx, %edx
> - andl $~(1<<7), %edx; # PGE
> + andl $~(X86_CR4_PGE), %edx
> movl %edx, %cr4; # turn off PGE
> 1:
> movl %cr3, %eax; # flush TLB
> @@ -74,7 +73,8 @@ done:
> movl saved_context_esi, %esi
> movl saved_context_edi, %edi
>
> - pushl saved_context_eflags ; popfl
> + pushl saved_context_eflags
> + popfl
>
> xorl %eax, %eax
>
>
>

2008-08-20 19:24:39

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH] x86: Use X86_CR4_PGE in x86/power/hibernate_asm_32.S

On Wed 2008-08-20 11:53:53, Ingo Molnar wrote:
>
> * Uros Bizjak <[email protected]> wrote:
>
> > Signed-off-by: Uros Bizjak <[email protected]>
>
> applied the commit below to tip/x86/cleanups - thanks Uros.
>
> i did a small change: i moved the .text to after the include files.
> While include files are not supposed to change section attributes, it
> looks logically more consistent to have the .text right before the code.
>
> Ingo
>
> ----------------->
> >From c171f465b7281f2d3b03e9145ec763d6a8bab176 Mon Sep 17 00:00:00 2001
> From: Uros Bizjak <[email protected]>
> Date: Wed, 20 Aug 2008 10:44:47 +0200
> Subject: [PATCH] x86, cleanup: use X86_CR4_PGE in x86/power/hibernate_asm_32.S
>
> Signed-off-by: Uros Bizjak <[email protected]>
> Signed-off-by: Ingo Molnar <[email protected]>

ACK.

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html