From 12a11c1b6b89af79765ad40842272448ed837ecd Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 4 Aug 2003 21:04:12 -0700 Subject: [PATCH] [ALPHA] Disable Wildfire, Titan, Marvel if !LEGACY_START_ADDRESS. From Jay Estabrook . --- arch/alpha/Kconfig | 11 ++++++++++- arch/alpha/kernel/Makefile | 18 +++++++++++------- include/asm-alpha/irq.h | 15 ++++++++++++++- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index ac87aae3c46fe..e63b35d5c019f 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig @@ -693,9 +693,13 @@ menu "Kernel hacking" config ALPHA_LEGACY_START_ADDRESS bool "Legacy kernel start address" + depends on ALPHA_GENERIC + default n ---help--- The 2.4 kernel changed the kernel start address from 0x310000 to 0x810000 to make room for the Wildfire's larger SRM console. + Recent consoles on Titan and Marvel machines also require the + extra room. If you're using aboot 0.7 or later, the bootloader will examine the ELF headers to determine where to transfer control. Unfortunately, @@ -704,7 +708,12 @@ config ALPHA_LEGACY_START_ADDRESS hard lockup. Say Y if you have a broken bootloader. Say N if you do not, or if - you wish to run on Wildfire. + you wish to run on Wildfire, Titan, or Marvel. + +config ALPHA_LEGACY_START_ADDRESS + bool + depends on !ALPHA_GENERIC && !ALPHA_TITAN && !ALPHA_MARVEL && !ALPHA_WILDFIRE + default y config DEBUG_KERNEL bool "Kernel debugging" diff --git a/arch/alpha/kernel/Makefile b/arch/alpha/kernel/Makefile index 270ed4c708b42..3b0fd6150673a 100644 --- a/arch/alpha/kernel/Makefile +++ b/arch/alpha/kernel/Makefile @@ -19,17 +19,21 @@ obj-$(CONFIG_MODULES) += module.o ifdef CONFIG_ALPHA_GENERIC obj-y += core_apecs.o core_cia.o core_irongate.o core_lca.o \ - core_marvel.o core_mcpcia.o core_polaris.o core_t2.o \ - core_tsunami.o core_titan.o core_wildfire.o + core_mcpcia.o core_polaris.o core_t2.o \ + core_tsunami.o obj-y += sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o \ - sys_jensen.o sys_marvel.o sys_miata.o sys_mikasa.o sys_nautilus.o \ - sys_titan.o sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \ - sys_sable.o sys_sio.o sys_sx164.o sys_takara.o sys_wildfire.o + sys_jensen.o sys_miata.o sys_mikasa.o sys_nautilus.o \ + sys_noritake.o sys_rawhide.o sys_ruffian.o sys_rx164.o \ + sys_sable.o sys_sio.o sys_sx164.o sys_takara.o -obj-y += irq_pyxis.o irq_i8259.o irq_srm.o +ifndef CONFIG_ALPHA_LEGACY_START_ADDRESS +obj-y += core_marvel.o core_titan.o core_wildfire.o +obj-y += sys_marvel.o sys_titan.o sys_wildfire.o +obj-y += err_ev7.o err_titan.o err_marvel.o +endif -obj-y += err_titan.o err_marvel.o +obj-y += irq_pyxis.o irq_i8259.o irq_srm.o obj-y += es1888.o smc37c669.o smc37c93x.o ns87312.o gct.o diff --git a/include/asm-alpha/irq.h b/include/asm-alpha/irq.h index 4b6bb44f41c84..551c7308c6427 100644 --- a/include/asm-alpha/irq.h +++ b/include/asm-alpha/irq.h @@ -16,7 +16,20 @@ many places throughout the kernel to size static arrays. That's ok, we'll use alpha_mv.nr_irqs when we want the real thing. */ -# define NR_IRQS (32768 + 16) /* marvel - 32 pids*/ +/* When LEGACY_START_ADDRESS is selected, we leave out: + TITAN + WILDFIRE + MARVEL + + This helps keep the kernel object size reasonable for the majority + of machines. +*/ + +# if defined(CONFIG_ALPHA_LEGACY_START_ADDRESS) +# define NR_IRQS (128) /* max is RAWHIDE/TAKARA */ +# else +# define NR_IRQS (32768 + 16) /* marvel - 32 pids */ +# endif #elif defined(CONFIG_ALPHA_CABRIOLET) || \ defined(CONFIG_ALPHA_EB66P) || \ -- 2.53.0