linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/10] Cr4 is valid on some 486s
@ 2005-11-10  0:32 Zachary Amsden
  2005-11-11 10:36 ` Pavel Machek
  0 siblings, 1 reply; 154+ messages in thread
From: Zachary Amsden @ 2005-11-10  0:32 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds, Linux Kernel Mailing List,
	H. Peter Anvin, Zwane Mwaikambo, Pratap Subrahmanyam,
	Christopher Li, Eric W. Biederman, Ingo Molnar, Zachary Amsden

So some 486 processors do have CR4 register.  Allow them to present it in
register dumps by using the old fault technique rather than testing processor
family.

Thanks to Maciej for noticing this.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14/arch/i386/kernel/process.c
===================================================================
--- linux-2.6.14.orig/arch/i386/kernel/process.c	2005-11-08 03:25:24.000000000 -0800
+++ linux-2.6.14/arch/i386/kernel/process.c	2005-11-08 03:26:03.000000000 -0800
@@ -314,9 +314,7 @@
 	cr0 = read_cr0();
 	cr2 = read_cr2();
 	cr3 = read_cr3();
-	if (current_cpu_data.x86 > 4) {
-		cr4 = read_cr4();
-	}
+	cr4 = read_cr4_safe();
 	printk("CR0: %08lx CR2: %08lx CR3: %08lx CR4: %08lx\n", cr0, cr2, cr3, cr4);
 	show_trace(NULL, &regs->esp);
 }
Index: linux-2.6.14/include/asm-i386/system.h
===================================================================
--- linux-2.6.14.orig/include/asm-i386/system.h	2005-11-08 03:25:29.000000000 -0800
+++ linux-2.6.14/include/asm-i386/system.h	2005-11-08 03:26:03.000000000 -0800
@@ -140,6 +140,19 @@
 		:"=r" (__dummy)); \
 	__dummy; \
 })
+
+#define read_cr4_safe() ({			      \
+	unsigned int __dummy;			      \
+	/* This could fault if %cr4 does not exist */ \
+	__asm__("1: movl %%cr4, %0		\n"   \
+		"2:				\n"   \
+		".section __ex_table,\"a\"	\n"   \
+		".long 1b,2b			\n"   \
+		".previous			\n"   \
+		: "=r" (__dummy): "0" (0));	      \
+	__dummy;				      \
+})
+
 #define write_cr4(x) \
 	__asm__ __volatile__("movl %0,%%cr4": :"r" (x));
 #define stts() write_cr0(8 | read_cr0())

^ permalink raw reply	[flat|nested] 154+ messages in thread

end of thread, other threads:[~2005-11-29 14:46 UTC | newest]

Thread overview: 154+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-10  0:32 [PATCH 1/10] Cr4 is valid on some 486s Zachary Amsden
2005-11-11 10:36 ` Pavel Machek
2005-11-11 17:49   ` H. Peter Anvin
2005-11-11 18:00     ` Maciej W. Rozycki
2005-11-11 19:36   ` Zachary Amsden
2005-11-11 19:58     ` Linus Torvalds
2005-11-11 20:14       ` Zachary Amsden
2005-11-11 20:22         ` Linus Torvalds
2005-11-13  7:42           ` Dave Jones
2005-11-13 10:59             ` Andi Kleen
2005-11-13 17:26               ` Alan Cox
2005-11-13 17:09                 ` Eric W. Biederman
2005-11-13 19:00                 ` Andi Kleen
2005-11-13 19:07                   ` Eric W. Biederman
2005-11-13 19:41                   ` Alan Cox
2005-11-13 19:36                     ` Linus Torvalds
2005-11-13 21:32                       ` Alan Cox
2005-11-14  7:46                         ` Arjan van de Ven
2005-11-13 19:56                 ` H. Peter Anvin
2005-11-13 19:24             ` Linus Torvalds
2005-11-13 20:29               ` Linus Torvalds
2005-11-14 15:06                 ` Gerd Knorr
2005-11-14 19:25                   ` Linus Torvalds
2005-11-14 19:46                     ` Zachary Amsden
2005-11-14 19:52                       ` Arjan van de Ven
2005-11-14 20:34                         ` Zachary Amsden
2005-11-14 20:52                           ` Arjan van de Ven
2005-11-15 14:12                     ` Gerd Knorr
2005-11-15 16:01                       ` Gerd Knorr
2005-11-15 16:04                         ` Zachary Amsden
2005-11-15 16:06                           ` Arjan van de Ven
2005-11-15 16:10                             ` Dave Jones
2005-11-15 16:14                               ` H. Peter Anvin
2005-11-15 16:19                                 ` Dave Jones
2005-11-15 16:25                                   ` Arjan van de Ven
2005-11-15 16:34                                     ` Zachary Amsden
2005-11-15 16:28                                   ` H. Peter Anvin
2005-11-15 16:24                             ` Zachary Amsden
2005-11-15 16:52                               ` Linus Torvalds
2005-11-15 16:16                           ` Gerd Knorr
2005-11-15 16:08                         ` Roland Dreier
2005-11-16  9:58                           ` Gerd Knorr
2005-11-15 16:12                         ` Linus Torvalds
2005-11-15 16:16                           ` Dave Jones
2005-11-15 16:27                             ` Gerd Knorr
2005-11-16 16:12                         ` [RFC] SMP alternatives Gerd Knorr
2005-11-22 17:48                           ` [patch] " Gerd Knorr
2005-11-22 18:01                             ` Pavel Machek
2005-11-23 15:12                             ` Vincent Hanquez
2005-11-23 19:17                             ` Andi Kleen
2005-11-23 15:29                               ` Gerd Knorr
2005-11-23 16:42                               ` Alan Cox
2005-11-23 16:39                                 ` Andi Kleen
2005-11-23 17:21                                   ` Alan Cox
2005-11-23 16:59                                     ` Andi Kleen
2005-11-23 22:00                                       ` Alan Cox
2005-11-24 13:13                                         ` Andi Kleen
2005-11-24 13:30                                           ` Eric W. Biederman
2005-11-24 13:39                                             ` Andi Kleen
2005-11-24 13:58                                               ` Eric W. Biederman
2005-11-24 19:16                                                 ` thockin
2005-11-24 19:26                                                   ` Andi Kleen
2005-11-24 14:34                                               ` Alan Cox
2005-11-24 14:22                                                 ` Andi Kleen
2005-11-24 15:15                                                   ` Alan Cox
2005-11-24 14:55                                                     ` Andi Kleen
2005-11-24 15:09                                                       ` Eric W. Biederman
2005-11-24 15:36                                                         ` Andi Kleen
2005-11-24 16:49                                                           ` Eric W. Biederman
2005-11-24 19:12                                                           ` thockin
2005-11-24 19:14                                                             ` Andi Kleen
2005-11-24 19:24                                                               ` thockin
2005-11-24 19:29                                                                 ` Andi Kleen
2005-11-24 19:44                                                                   ` thockin
2005-11-24 21:20                                                                     ` Andi Kleen
2005-11-24 21:40                                                                       ` thockin
2005-11-24 23:33                                                                       ` Eric W. Biederman
2005-11-24 23:12                                                               ` Alan Cox
2005-11-24 22:48                                                                 ` thockin
2005-11-24 23:35                                                                   ` Andi Kleen
2005-11-25  0:13                                                                     ` Alan Cox
2005-11-25  1:33                                                                     ` H. Peter Anvin
2005-11-28 19:15                                                                     ` Bill Davidsen
2005-11-24 16:02                                                         ` Alan Cox
2005-11-24 19:09                                                     ` thockin
2005-11-24 14:30                                           ` Alan Cox
2005-11-23 17:02                                     ` Linus Torvalds
2005-11-23 18:02                                       ` H. Peter Anvin
2005-11-23 18:42                                         ` Linus Torvalds
2005-11-23 17:26                                           ` Jeff V. Merkey
2005-11-23 19:03                                             ` Linus Torvalds
2005-11-23 19:31                                               ` jmerkey
2005-11-23 18:46                                           ` Andi Kleen
2005-11-23 19:12                                           ` H. Peter Anvin
2005-11-23 19:30                                             ` jmerkey
2005-11-23 21:44                                           ` Alan Cox
2005-11-23 21:13                                             ` Andi Kleen
2005-11-23 21:46                                               ` Jeff Garzik
2005-11-23 22:23                                                 ` Andi Kleen
2005-11-23 22:30                                                 ` Pavel Machek
2005-11-23 22:05                                               ` Alan Cox
2005-11-23 21:36                                                 ` Arjan van de Ven
2005-11-23 21:36                                                 ` Andi Kleen
2005-11-23 22:13                                                 ` Linus Torvalds
2005-11-23 21:36                                             ` Linus Torvalds
2005-11-23 21:43                                               ` Andi Kleen
2005-11-23 22:15                                                 ` Linus Torvalds
2005-11-23 22:22                                                   ` Andi Kleen
2005-11-23 22:25                                                     ` H. Peter Anvin
2005-11-23 22:32                                                       ` Andi Kleen
2005-11-23 22:36                                                         ` H. Peter Anvin
2005-11-23 22:40                                                           ` Andi Kleen
2005-11-23 22:52                                                             ` H. Peter Anvin
2005-11-23 23:10                                                     ` Linus Torvalds
2005-11-24  0:55                                                 ` Jeff Garzik
2005-11-23 21:48                                               ` Daniel Jacobowitz
2005-11-23 21:53                                                 ` H. Peter Anvin
2005-11-23 22:03                                                   ` Daniel Jacobowitz
2005-11-23 22:09                                                     ` H. Peter Anvin
2005-11-23 22:21                                                       ` Linus Torvalds
2005-11-23 23:29                                                         ` Eric W. Biederman
2005-11-23 23:40                                                           ` Linus Torvalds
2005-11-23 22:19                                                 ` Linus Torvalds
2005-11-23 22:20                                                   ` Daniel Jacobowitz
2005-11-23 23:08                                                     ` Linus Torvalds
2005-11-23 23:02                                                       ` Jeff V. Merkey
2005-11-23 23:42                                                       ` Daniel Jacobowitz
2005-11-23 23:59                                                         ` Linus Torvalds
2005-11-24  2:06                                                           ` Daniel Jacobowitz
2005-11-24 22:32                                                         ` Ulrich Drepper
2005-11-28 19:58                                                         ` Bill Davidsen
2005-11-24  1:02                                                       ` Jeff Garzik
2005-11-24 13:01                                                       ` Pádraig Brady
2005-11-24 13:12                                                         ` Arjan van de Ven
2005-11-28 19:52                                                       ` Bill Davidsen
2005-11-28 20:05                                                         ` Zachary Amsden
2005-11-28 22:19                                                         ` Jeff V. Merkey
2005-11-28 23:00                                                           ` Zachary Amsden
2005-11-28 23:07                                                             ` H. Peter Anvin
2005-11-28 23:30                                                               ` Zachary Amsden
2005-11-28 23:32                                                                 ` H. Peter Anvin
2005-11-28 23:12                                                             ` Andi Kleen
2005-11-23 22:50                                               ` Alan Cox
2005-11-23 22:22                                                 ` H. Peter Anvin
2005-11-25  7:38                                               ` Chris Wedgwood
2005-11-25 17:33                                                 ` Linus Torvalds
2005-11-28 20:25                                                   ` Bill Davidsen
2005-11-25 20:13                                                 ` H. Peter Anvin
2005-11-24  3:23                                             ` Mikulas Patocka
2005-11-24  3:31                                           ` Mikulas Patocka
2005-11-24  3:55                                             ` H. Peter Anvin
2005-11-24 22:30                                           ` Ulrich Drepper
2005-11-23 16:43                                 ` Gerd Knorr
2005-11-23 16:51                                   ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).