public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.5.24-dj2: oops in finalize_mtrr_state with bochs
@ 2002-06-25 19:30 Manfred Spraul
  0 siblings, 0 replies; only message in thread
From: Manfred Spraul @ 2002-06-25 19:30 UTC (permalink / raw)
  To: davej, mochel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 357 bytes --]

The bochs cpu emulator (tries to emulate Pentium cpus) oopses in 
finalize_mtrr_state():

mtrr_if is NULL, and thus use_intel() crashes.

Patch attached. I've modified is_cpu() as well, without checking if this 
macro could be used if mtrr_if is not initialized.

Partially tested - bochs now hangs at the first access to the ide 
interface :-(
--
	Manfred

[-- Attachment #2: patch-mtrr-dj2 --]
[-- Type: text/plain, Size: 603 bytes --]

diff -u 2.5/arch/i386/kernel/cpu/mtrr/mtrr.h build-2.5/arch/i386/kernel/cpu/mtrr/mtrr.h
--- 2.5/arch/i386/kernel/cpu/mtrr/mtrr.h	Tue Jun 25 20:27:47 2002
+++ build-2.5/arch/i386/kernel/cpu/mtrr/mtrr.h	Tue Jun 25 21:22:15 2002
@@ -88,8 +88,8 @@
 extern u32 size_or_mask, size_and_mask;
 extern struct mtrr_ops * mtrr_if;
 
-#define is_cpu(vnd)	(mtrr_if->vendor == X86_VENDOR_##vnd)
-#define use_intel()	(mtrr_if->use_intel_if == 1)
+#define is_cpu(vnd)	(mtrr_if && mtrr_if->vendor == X86_VENDOR_##vnd)
+#define use_intel()	(mtrr_if && mtrr_if->use_intel_if == 1)
 
 extern unsigned int num_var_ranges;
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-06-25 19:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-25 19:30 2.5.24-dj2: oops in finalize_mtrr_state with bochs Manfred Spraul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox