2.5.24-dj2: oops in finalize_mtrr_state with bochs
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
arch/i386/kernel/cpu/mtrr/mtrr.h +2 -2
@@ -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;