patch-2.3.99-pre3 linux/include/asm-alpha/pci.h

Next file: linux/include/asm-alpha/pgtable.h
Previous file: linux/include/asm-alpha/fpu.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre2/linux/include/asm-alpha/pci.h linux/include/asm-alpha/pci.h
@@ -1,6 +1,8 @@
 #ifndef __ALPHA_PCI_H
 #define __ALPHA_PCI_H
 
+#ifdef __KERNEL__
+
 #include <linux/spinlock.h>
 #include <asm/scatterlist.h>
 #include <asm/machvec.h>
@@ -22,7 +24,17 @@
 	struct resource *io_space;
 	struct resource *mem_space;
 
-	unsigned long config_space;
+	/* The following are for reporting to userland.  The invariant is
+	   that if we report a BWX-capable dense memory, we do not report
+	   a sparse memory at all, even if it exists.  */
+	unsigned long sparse_mem_base;
+	unsigned long dense_mem_base;
+	unsigned long sparse_io_base;
+	unsigned long dense_io_base;
+
+	/* This one's for the kernel only.  It's in KSEG somewhere.  */
+	unsigned long config_space_base;
+
 	unsigned int index;
 	unsigned int first_busno;
 	unsigned int last_busno;
@@ -131,5 +143,14 @@
    you would pass 0x00ffffff as the mask to this function.  */
 
 extern int pci_dma_supported(struct pci_dev *hwdev, dma_addr_t mask);
+
+#endif /* __KERNEL__ */
+
+/* Values for the `which' argument to sys_pciconfig_iobase.  */
+#define IOBASE_HOSE		0
+#define IOBASE_SPARSE_MEM	1
+#define IOBASE_DENSE_MEM	2
+#define IOBASE_SPARSE_IO	3
+#define IOBASE_DENSE_IO		4
 
 #endif /* __ALPHA_PCI_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)