|
@@ -23,6 +23,7 @@
|
|
#include <video/uvesafb.h>
|
|
#include <video/uvesafb.h>
|
|
#ifdef CONFIG_X86
|
|
#ifdef CONFIG_X86
|
|
#include <video/vga.h>
|
|
#include <video/vga.h>
|
|
|
|
+#include <linux/pci.h>
|
|
#endif
|
|
#endif
|
|
#ifdef CONFIG_MTRR
|
|
#ifdef CONFIG_MTRR
|
|
#include <asm/mtrr.h>
|
|
#include <asm/mtrr.h>
|
|
@@ -815,8 +816,15 @@ static int __devinit uvesafb_vbe_init(struct fb_info *info)
|
|
par->pmi_setpal = pmi_setpal;
|
|
par->pmi_setpal = pmi_setpal;
|
|
par->ypan = ypan;
|
|
par->ypan = ypan;
|
|
|
|
|
|
- if (par->pmi_setpal || par->ypan)
|
|
|
|
- uvesafb_vbe_getpmi(task, par);
|
|
|
|
|
|
+ if (par->pmi_setpal || par->ypan) {
|
|
|
|
+ if (pcibios_enabled) {
|
|
|
|
+ uvesafb_vbe_getpmi(task, par);
|
|
|
|
+ } else {
|
|
|
|
+ par->pmi_setpal = par->ypan = 0;
|
|
|
|
+ printk(KERN_WARNING "uvesafb: PCI BIOS area is NX."
|
|
|
|
+ "Can't use protected mode interface\n");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
#else
|
|
#else
|
|
/* The protected mode interface is not available on non-x86. */
|
|
/* The protected mode interface is not available on non-x86. */
|
|
par->pmi_setpal = par->ypan = 0;
|
|
par->pmi_setpal = par->ypan = 0;
|