ppc64 build failure.
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Oct 19 11:03:29 EST 2004
On Tue, 2004-10-19 at 09:33, Benjamin Herrenschmidt wrote:
> On Tue, 2004-10-19 at 09:05, Dave Jones wrote:
> > Ignore previous mail, this should fix it.
> >
> > .../...
>
> What about this one instead ? io_page_mask is set to 0 by default,
> so iSeries would automatically get _IO_IS_VALID(*) == 0 if it doesn't
> initialize it...
OK, since nobody seem to really know what IO cycles are on iSeries,
let's allow them rather than mask them, thus falling back to the former
behaviour...
===== include/asm-ppc64/eeh.h 1.20 vs edited =====
--- 1.20/include/asm-ppc64/eeh.h 2004-10-06 16:05:23 +10:00
+++ edited/include/asm-ppc64/eeh.h 2004-10-19 09:31:54 +10:00
@@ -256,10 +256,6 @@
#undef EEH_CHECK_ALIGN
-#define MAX_ISA_PORT 0x10000
-extern unsigned long io_page_mask;
-#define _IO_IS_VALID(port) ((port) >= MAX_ISA_PORT || (1 << (port>>PAGE_SHIFT)) & io_page_mask)
-
static inline u8 eeh_inb(unsigned long port) {
u8 val;
if (!_IO_IS_VALID(port))
===== include/asm-ppc64/io.h 1.22 vs edited =====
--- 1.22/include/asm-ppc64/io.h 2004-09-21 19:14:10 +10:00
+++ edited/include/asm-ppc64/io.h 2004-10-19 09:32:20 +10:00
@@ -33,6 +33,12 @@
extern unsigned long isa_io_base;
extern unsigned long pci_io_base;
+extern unsigned long io_page_mask;
+
+#define MAX_ISA_PORT 0x10000
+
+#define _IO_IS_VALID(port) ((port) >= MAX_ISA_PORT || (1 << (port>>PAGE_SHIFT)) \
+ & io_page_mask)
#ifdef CONFIG_PPC_ISERIES
/* __raw_* accessors aren't supported on iSeries */
===== arch/ppc64/kernel/iSeries_pci.c 1.24 vs edited =====
--- 1.24/arch/ppc64/kernel/iSeries_pci.c 2004-09-11 15:50:12 +10:00
+++ edited/arch/ppc64/kernel/iSeries_pci.c 2004-10-19 11:02:20 +10:00
@@ -55,6 +55,7 @@
extern unsigned long iSeries_Base_Io_Memory;
extern struct iommu_table *tceTables[256];
+extern unsigned long io_page_mask;
extern void iSeries_MmIoTest(void);
@@ -196,6 +197,7 @@
PPCDBG(PPCDBG_BUSWALK, "iSeries_pcibios_init Entry.\n");
iSeries_IoMmTable_Initialize();
find_and_init_phbs();
+ io_page_mask = -1;
/* pci_assign_all_busses = 0; SFRXXX*/
PPCDBG(PPCDBG_BUSWALK, "iSeries_pcibios_init Exit.\n");
}
More information about the Linuxppc64-dev
mailing list