aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/power/cpu_32.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-09-05 17:53:05 +0200
committerIngo Molnar <mingo@elte.hu>2008-09-05 17:53:05 +0200
commit28c3cfd5fb998bd3683bebeebbba38baa2101cad (patch)
tree3d325023e6dc56baa6c69fc59dd55bf37ef7967e /arch/x86/power/cpu_32.c
parent04197c83b3e05546d1003cfa3ff43f1639c0057f (diff)
parentb380b0d4f7dffcc235c0facefa537d4655619101 (diff)
Merge branch 'linus' into x86/tracehook
Diffstat (limited to 'arch/x86/power/cpu_32.c')
-rw-r--r--arch/x86/power/cpu_32.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/power/cpu_32.c b/arch/x86/power/cpu_32.c
index 7dc5d5cf50a..d3e083dea72 100644
--- a/arch/x86/power/cpu_32.c
+++ b/arch/x86/power/cpu_32.c
@@ -45,7 +45,7 @@ static void __save_processor_state(struct saved_context *ctxt)
ctxt->cr0 = read_cr0();
ctxt->cr2 = read_cr2();
ctxt->cr3 = read_cr3();
- ctxt->cr4 = read_cr4();
+ ctxt->cr4 = read_cr4_safe();
}
/* Needed by apm.c */
@@ -98,7 +98,9 @@ static void __restore_processor_state(struct saved_context *ctxt)
/*
* control registers
*/
- write_cr4(ctxt->cr4);
+ /* cr4 was introduced in the Pentium CPU */
+ if (ctxt->cr4)
+ write_cr4(ctxt->cr4);
write_cr3(ctxt->cr3);
write_cr2(ctxt->cr2);
write_cr0(ctxt->cr0);