patch-1.3.81 linux/arch/alpha/kernel/bios32.c

Next file: linux/arch/alpha/mm/init.c
Previous file: linux/arch/alpha/kernel/apecs.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.80/linux/arch/alpha/kernel/bios32.c linux/arch/alpha/kernel/bios32.c
@@ -82,7 +82,20 @@
 #if PCI_MODIFY
 
 static unsigned int	io_base	 = 64*KB;	/* <64KB are (E)ISA ports */
+
+#if defined(CONFIG_ALPHA_XL)
+/*
+   an AVANTI *might* be an XL, and an XL has only 27 bits of ISA address
+   that get passed through the PCI<->ISA bridge chip. Because this causes
+   us to set the PCI->Mem window bases lower than normal, we've gotta allocate
+   PCI bus devices' memory addresses *above* the PCI<->memory mapping windows,
+   so that CPU memory DMA addresses issued by a bus device don't conflict
+   with bus memory addresses, like frame buffer memory for graphics cards.
+*/
+static unsigned int	mem_base = 1024*MB;
+#else /* CONFIG_ALPHA_XL */
 static unsigned int	mem_base = 16*MB;	/* <16MB is ISA memory */
+#endif /* CONFIG_ALPHA_XL */
 
 /*
  * Disable PCI device DEV so that it does not respond to I/O or memory
@@ -418,7 +431,7 @@
  * or 0x398/0x399.  Unfortunately, autodetecting which base address is
  * in use works only once (right after a reset).  The Super I/O chip
  * has the additional quirk that configuration register data must be
- * written twice (I believe this is a saftey feature to prevent
+ * written twice (I believe this is a safety feature to prevent
  * accidental modification---fun, isn't it?).
  */
 static inline void enable_ide(long ide_base)

FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen, [email protected] with Sam's (original) version
of this