2.3.33 broken on Alpha (EV4), with fix

Martin Lucina (mato@kotelna.sk)
Thu, 16 Dec 1999 01:04:24 +1300


Linux 2.3.33 will not compile out of the box on alpha, due to what seems to
me (I don't understand the code) to be a typo in asm/pgtable.h, see the
diff below.

Even after fixing that, the Makefile logic to determine optimisation is
broken, which results in compiling an EV6 kernel for EV4, which gives an
alignment fault on boot. (See attached patch.)

Come on guys, not all of us have DS20s and XP9000s...

Having got this far, the system craps up with the NCR 53C7,8XX driver
declaring that it can't find a known I/O or memory mapping. Any ideas about
what may be going on here?

I am suspicious of the FIXME: around line 878 of drivers/scsi/53c7,8xx.c.

System is an EV4 Avanti, booting via SRM/MILO.

-- 
Martin Lucina http://www.kotelna.sk/mato/ Wellington, New Zealand
I've always been mad I know I've been mad like the most of us are 
Pretty hard to explain why you're a madman even if you're not mad

diff -ur linux-2.3.33/arch/alpha/Makefile linux/arch/alpha/Makefile --- linux-2.3.33/arch/alpha/Makefile Wed Dec 15 21:32:51 1999 +++ linux/arch/alpha/Makefile Wed Dec 15 22:52:57 1999 @@ -34,11 +34,11 @@ CFLAGS := $(CFLAGS) -mcpu=ev5 mcpu_done := y endif - ifeq ($(mcpu_done)$(CONFIG_ALPHA_PYXIS),y) + ifeq ($(CONFIG_ALPHA_PYXIS),y) CFLAGS := $(CFLAGS) -mcpu=ev56 mcpu_done := y endif - ifeq ($(mcpu_done)$(CONFIG_ALPHA_POLARIS),y) + ifeq ($(CONFIG_ALPHA_POLARIS),y) ifeq ($(have_mcpu_pca56),y) CFLAGS := $(CFLAGS) -mcpu=pca56 else @@ -46,15 +46,15 @@ endif mcpu_done := y endif - ifeq ($(mcpu_done)$(CONFIG_ALPHA_NAUTILUS)$(have_mcpu_ev67),yy) + ifeq ($(CONFIG_ALPHA_NAUTILUS)$(have_mcpu_ev67),yy) CFLAGS := $(CFLAGS) -mcpu=ev67 mcpu_done := y endif - ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV4),y) + ifeq ($(CONFIG_ALPHA_EV4),y) CFLAGS := $(CFLAGS) -mcpu=ev4 mcpu_done := y endif - ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV6),y) + ifeq ($(CONFIG_ALPHA_EV6),y) ifeq ($(have_mcpu_ev6),y) CFLAGS := $(CFLAGS) -mcpu=ev6 else @@ -76,7 +76,7 @@ # How do we do #error in make? CFLAGS := --error-please-upgrade-your-assembler endif -CFLAGS := $(CFLAGS) -Wa,-mev6 +CFLAGS := $(CFLAGS) HEAD := arch/alpha/kernel/head.o diff -ur linux-2.3.33/include/asm-alpha/pgtable.h linux/include/asm-alpha/pgtable.h --- linux-2.3.33/include/asm-alpha/pgtable.h Wed Dec 15 21:32:57 1999 +++ linux/include/asm-alpha/pgtable.h Wed Dec 15 22:19:20 1999 @@ -296,7 +296,7 @@ #define kern_addr_valid(addr) (1) #define io_remap_page_range(start, busaddr, size, prot) \ - remap_page_range(start, virt_to_phys(__ioremap(busaddr, 0)), size, prot) + remap_page_range(start, virt_to_phys(ioremap(busaddr, 0)), size, prot) #define pte_ERROR(e) \ printk("%s:%d: bad pte %016lx.\n", __FILE__, __LINE__, pte_val(e))

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/