Commit 85b09bd8 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://are.twiddle.net/axp-2.5

into home.transmeta.com:/home/torvalds/v2.5/linux
parents 8bde3aa9 70f72acb
......@@ -7,9 +7,8 @@ config ALPHA
default y
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory, now
Compaq. Alpha Linux dates from 1995-1996 and was the first non-x86
port. The Alpha Linux project has a home page at
marketed by the Digital Equipment Corporation of blessed memory,
now Hewlett-Packard. The Alpha Linux project has a home page at
<http://www.alphalinux.org/>.
config MMU
......@@ -42,9 +41,6 @@ menu "System setup"
choice
prompt "Alpha system type"
default ALPHA_GENERIC
config ALPHA_GENERIC
bool "Generic"
---help---
This is the system type of your hardware. A "generic" kernel will
run on any supported Alpha system. However, if you configure a
......@@ -84,6 +80,11 @@ config ALPHA_GENERIC
If you don't know what to do, choose "generic".
config ALPHA_GENERIC
bool "Generic"
help
A generic kernel will run on all supported Alpha hardware.
config ALPHA_ALCOR
bool "Alcor/Alpha-XLT"
help
......
......@@ -10,13 +10,17 @@
NM := $(NM) -B
LDFLAGS_vmlinux = -static -N #-relax
CFLAGS := $(CFLAGS) -pipe -mno-fp-regs -ffixed-8
LDFLAGS_vmlinux := -static -N #-relax
LDFLAGS_BLOB := --format binary --oformat elf64-alpha
cflags-y := -pipe -mno-fp-regs -ffixed-8
# Determine if we can use the BWX instructions with GAS.
old_gas := $(shell if $(AS) --version 2>&1 | grep 'version 2.7' > /dev/null; then echo y; else echo n; fi)
ifeq ($(old_gas),y)
$(error The assembler '$(AS)' does not support the BWX instruction)
endif
# Determine if GCC understands the -mcpu= option.
have_mcpu := $(shell if $(CC) -mcpu=ev5 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi)
......@@ -27,68 +31,64 @@ have_mcpu_ev6 := $(shell if $(CC) -mcpu=ev6 -S -o /dev/null -xc /dev/null > /dev
have_mcpu_ev67 := $(shell if $(CC) -mcpu=ev67 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi)
have_msmall_data := $(shell if $(CC) -msmall-data -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi)
ifeq ($(have_msmall_data),y)
CFLAGS := $(CFLAGS) -msmall-data
endif
cflags-$(have_msmall_data) += -msmall-data
# Turn on the proper cpu optimizations.
ifeq ($(have_mcpu),y)
mcpu_done := n
# If GENERIC, make sure to turn off any instruction set extensions that
# the host compiler might have on by default. Given that EV4 and EV5
# have the same instruction set, prefer EV5 because an EV5 schedule is
# more likely to keep an EV4 processor busy than vice-versa.
mcpu_done := n
ifeq ($(CONFIG_ALPHA_GENERIC),y)
CFLAGS := $(CFLAGS) -mcpu=ev5
mcpu := ev5
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_SX164)$(have_mcpu_pca56),nyy)
CFLAGS := $(CFLAGS) -mcpu=pca56
mcpu := pca56
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_POLARIS)$(have_mcpu_pca56),nyy)
CFLAGS := $(CFLAGS) -mcpu=pca56
mcpu := pca56
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV4),ny)
CFLAGS := $(CFLAGS) -mcpu=ev4
mcpu := ev4
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV56),ny)
CFLAGS := $(CFLAGS) -mcpu=ev56
mcpu := ev56
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV5),ny)
CFLAGS := $(CFLAGS) -mcpu=ev5
mcpu := ev5
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV67)$(have_mcpu_ev67),nyy)
CFLAGS := $(CFLAGS) -mcpu=ev67
mcpu := ev67
mcpu_done := y
endif
ifeq ($(mcpu_done)$(CONFIG_ALPHA_EV6),ny)
ifeq ($(have_mcpu_ev6),y)
CFLAGS := $(CFLAGS) -mcpu=ev6
mcpu := ev6
else
ifeq ($(have_mcpu_pca56),y)
CFLAGS := $(CFLAGS) -mcpu=pca56
mcpu := pca56
else
CFLAGS := $(CFLAGS) -mcpu=ev56
mcpu=ev56
endif
endif
mcpu_done := y
endif
cflags-$(mcpu_done) += -mcpu=$(mcpu)
endif
# For TSUNAMI, we must have the assembler not emulate our instructions.
# The same is true for IRONGATE, POLARIS, PYXIS.
# BWX is most important, but we don't really want any emulation ever.
ifeq ($(old_gas),y)
# How do we do #error in make?
CFLAGS := --error-please-upgrade-your-assembler
endif
CFLAGS := $(CFLAGS) -Wa,-mev6
CFLAGS += $(cflags-y) -Wa,-mev6
HEAD := arch/alpha/kernel/head.o
......@@ -96,37 +96,16 @@ core-y += arch/alpha/kernel/ arch/alpha/mm/
core-$(CONFIG_MATHEMU) += arch/alpha/math-emu/
libs-y += arch/alpha/lib/
export libs-y
MAKEBOOT = $(MAKE) -C arch/alpha/boot
boot := arch/alpha/boot
rawboot: vmlinux
@$(MAKEBOOT) rawboot
#Default target when executing make with no arguments
all boot: $(boot)/vmlinux.gz
boot: vmlinux
@$(MAKEBOOT)
$(boot)/vmlinux.gz: vmlinux
$(Q)$(MAKE) -f scripts/Makefile.build obj=$(boot) $@
#
# My boot writes directly to a specific disk partition, I doubt most
# people will want to do that without changes..
#
msb my-special-boot: vmlinux
@$(MAKEBOOT) msb
bootimage: vmlinux
@$(MAKEBOOT) bootimage
srmboot: vmlinux
@$(MAKEBOOT) srmboot
archclean:
@$(MAKEBOOT) clean
archmrproper:
rm -f include/asm-alpha/asm_offsets.h
bootpfile: vmlinux
@$(MAKEBOOT) bootpfile
bootimage bootpfile: vmlinux
$(Q)$(MAKE) -f scripts/Makefile.build obj=$(boot) $(boot)/$@
prepare: include/asm-$(ARCH)/asm_offsets.h
......@@ -134,12 +113,19 @@ prepare: include/asm-$(ARCH)/asm_offsets.h
arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \
include/config/MARKER
include/asm-$(ARCH)/asm_offsets.h.tmp: arch/$(ARCH)/kernel/asm-offsets.s
@$(generate-asm-offsets.h) < $< > $@
include/asm-$(ARCH)/asm_offsets.h: include/asm-$(ARCH)/asm_offsets.h.tmp
include/asm-$(ARCH)/asm_offsets.h: arch/$(ARCH)/kernel/asm-offsets.s
@echo -n ' Generating $@'
@$(generate-asm-offsets.h) < $< > $@.tmp
@$(update-if-changed)
archclean:
$(Q)$(MAKE) -f scripts/Makefile.clean obj=$(boot)
CLEAN_FILES += include/asm-$(ARCH)/offset.h.tmp \
include/asm-$(ARCH)/offset.h
define archhelp
echo '* boot - Compressed kernel image (arch/alpha/boot/vmlinux.gz)'
echo ' bootimage - SRM bootable image (arch/alpha/boot/bootimage)'
echo ' bootpfile - BOOTP bootable image (arch/alpha/boot/bootpfile)'
endef
......@@ -8,58 +8,35 @@
# Copyright (C) 1994 by Linus Torvalds
#
LINKFLAGS = -static -T bootloader.lds -uvsprintf #-N -relax
CFLAGS := $(CFLAGS) -I$(TOPDIR)/include
.S.s:
$(CPP) $(AFLAGS) -traditional -o $*.o $<
.S.o:
$(CC) $(AFLAGS) -traditional -c -o $*.o $<
OBJECTS = head.o main.o
BPOBJECTS = head.o bootp.o
TARGETS = vmlinux.gz tools/objstrip # also needed by aboot & milo
VMLINUX = $(TOPDIR)/vmlinux
OBJSTRIP = tools/objstrip
LIBS := $(addprefix $(TOPDIR)/,$(libs-y))
all: $(TARGETS)
@echo Ready to install kernel in $(shell pwd)/vmlinux.gz
# normally no need to build these:
rawboot: vmlinux.nh tools/lxboot tools/bootlx
msb: tools/lxboot tools/bootlx vmlinux.nh
( cat tools/lxboot tools/bootlx vmlinux.nh ) > /dev/rz0a
disklabel -rw rz0 'linux' tools/lxboot tools/bootlx
bootimage: tools/mkbb tools/lxboot tools/bootlx vmlinux.nh
( cat tools/lxboot tools/bootlx vmlinux.nh ) > bootimage
tools/mkbb bootimage tools/lxboot
bootpfile: tools/bootph vmlinux.nh
cat tools/bootph vmlinux.nh > bootpfile
host-progs := tools/mkbb tools/objstrip
EXTRA_TARGETS := vmlinux.gz vmlinux \
vmlinux.nh tools/lxboot tools/bootlx tools/bootph \
bootloader bootpheader
OBJSTRIP := $(obj)/tools/objstrip
# SRM bootable image. Copy to offset 512 of a partition.
$(obj)/bootimage: $(addprefix $(obj)/tools/,mkbb lxboot bootlx) $(obj)/vmlinux.nh
( cat $(obj)/tools/lxboot $(obj)/tools/bootlx $(obj)/vmlinux.nh ) > $@
$(obj)/tools/mkbb $@ $(obj)/tools/lxboot
@echo ' Bootimage $@ is ready'
# BOOTP bootable image. Define INITRD during make to append initrd image.
$(obj)/bootpfile: $(obj)/tools/bootph $(obj)/vmlinux.nh
cat $(obj)/tools/bootph $(obj)/vmlinux.nh > $@
ifdef INITRD
cat $(INITRD) >> bootpfile
cat $(INITRD) >> $@
endif
srmboot: bootdevice bootimage
dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1
tools/mkbb $(BOOTDEV) tools/lxboot
bootdevice:
@test "$(BOOTDEV)" != "" || (echo You must specify BOOTDEV ; exit -1)
# Compressed kernel image
$(obj)/vmlinux.gz: $(obj)/vmlinux FORCE
$(call if_changed,gzip)
@echo ' Kernel $@ is ready'
vmlinux.gz: vmlinux
gzip -fv9 vmlinux
$(obj)/main.o: $(obj)/ksize.h
$(obj)/bootp.o: $(obj)/ksize.h
main.o: ksize.h
bootp.o: ksize.h
ksize.h: vmlinux.nh FORCE
echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T
$(obj)/ksize.h: $(obj)/vmlinux.nh FORCE
echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
ifdef INITRD
[ -f $(INITRD) ] || exit 1
echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
......@@ -67,36 +44,36 @@ endif
cmp -s $@T $@ || mv -f $@T $@
rm -f $@T
vmlinux.nh: $(VMLINUX) $(OBJSTRIP)
$(OBJSTRIP) -v $(VMLINUX) vmlinux.nh
vmlinux: $(TOPDIR)/vmlinux
$(STRIP) -o vmlinux $(VMLINUX)
quiet_cmd_strip = STRIP $@
cmd_strip = $(STRIP) -o $@ $<
$(obj)/vmlinux: vmlinux FORCE
$(call if_changed,strip)
tools/lxboot: $(OBJSTRIP) bootloader
$(OBJSTRIP) -p bootloader tools/lxboot
quiet_cmd_objstrip = OBJSTRIP $@
cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@
tools/bootlx: bootloader $(OBJSTRIP)
$(OBJSTRIP) -vb bootloader tools/bootlx
OSFLAGS_vmlinux.nh := -v
OSFLAGS_lxboot := -p
OSFLAGS_bootlx := -vb
OSFLAGS_bootph := -vb
tools/bootph: bootpheader $(OBJSTRIP)
$(OBJSTRIP) -vb bootpheader tools/bootph
$(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE
$(call if_changed,objstrip)
$(OBJSTRIP): $(OBJSTRIP).c
$(HOSTCC) $(HOSTCFLAGS) $< -o $@
$(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE
$(call if_changed,objstrip)
tools/mkbb: tools/mkbb.c
$(HOSTCC) tools/mkbb.c -o tools/mkbb
$(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE
$(call if_changed,objstrip)
bootloader: $(OBJECTS)
$(LD) $(LINKFLAGS) $(OBJECTS) $(LIBS) -o bootloader
$(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE
$(call if_changed,objstrip)
bootpheader: $(BPOBJECTS)
$(LD) $(LINKFLAGS) $(BPOBJECTS) $(LIBS) -o bootpheader
LDFLAGS_bootloader := -static -uvsprintf -T #-N -relax
LDFLAGS_bootpheader := -static -uvsprintf -T #-N -relax
clean:
rm -f $(TARGETS) bootloader bootimage bootpfile bootpheader
rm -f tools/mkbb tools/bootlx tools/lxboot tools/bootph
rm -f vmlinux.nh ksize.h
$(obj)/bootloader: $(obj)/bootloader.lds $(obj)/head.o $(obj)/main.o FORCE
$(call if_changed,ld)
FORCE:
$(obj)/bootpheader: $(obj)/bootloader.lds $(obj)/head.o $(obj)/bootp.o FORCE
$(call if_changed,ld)
......@@ -12,83 +12,77 @@ obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \
irq_alpha.o signal.o setup.o ptrace.o time.o semaphore.o \
alpha_ksyms.o systbls.o err_common.o
#
# FIXME!
# These should be made conditional on the stuff that needs them!
#
obj-y += irq_i8259.o irq_srm.o \
es1888.o smc37c669.o smc37c93x.o ns87312.o
ifdef CONFIG_VGA_HOSE
obj-y += console.o
endif
obj-$(CONFIG_VGA_HOSE) += console.o
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_PCI) += pci.o pci_iommu.o
obj-$(CONFIG_SRM_ENV) += srm_env.o
ifdef CONFIG_ALPHA_GENERIC
obj-y += core_apecs.o core_cia.o core_irongate.o core_lca.o core_mcpcia.o \
core_polaris.o core_t2.o core_tsunami.o core_titan.o \
sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o \
obj-y += core_apecs.o core_cia.o core_irongate.o core_lca.o \
core_mcpcia.o core_polaris.o core_t2.o core_tsunami.o \
core_titan.o core_wildfire.o
obj-y += sys_alcor.o sys_cabriolet.o sys_dp264.o sys_eb64p.o sys_eiger.o \
sys_jensen.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 core_wildfire.o irq_pyxis.o
sys_wildfire.o
obj-y += irq_pyxis.o irq_i8259.o irq_srm.o
obj-y += es1888.o smc37c669.o smc37c93x.o ns87312.o
else
# Core logic support
obj-$(CONFIG_ALPHA_APECS) += core_apecs.o
obj-$(CONFIG_ALPHA_CIA) += core_cia.o
obj-$(CONFIG_ALPHA_IRONGATE) += core_irongate.o
obj-$(CONFIG_ALPHA_LCA) += core_lca.o
obj-$(CONFIG_ALPHA_MCPCIA) += core_mcpcia.o
obj-$(CONFIG_ALPHA_POLARIS) += core_polaris.o
obj-$(CONFIG_ALPHA_T2) += core_t2.o
obj-$(CONFIG_ALPHA_TSUNAMI) += core_tsunami.o
obj-$(CONFIG_ALPHA_TITAN) += core_titan.o
obj-$(CONFIG_ALPHA_POLARIS) += core_polaris.o
obj-$(CONFIG_ALPHA_WILDFIRE) += core_wildfire.o
# Board support
ifneq ($(CONFIG_ALPHA_ALCOR)$(CONFIG_ALPHA_XLT),)
obj-y += sys_alcor.o
endif
ifneq ($(CONFIG_ALPHA_CABRIOLET)$(CONFIG_ALPHA_EB164)$(CONFIG_ALPHA_EB66P)$(CONFIG_ALPHA_LX164)$(CONFIG_ALPHA_PC164),)
obj-y += sys_cabriolet.o
endif
obj-$(CONFIG_ALPHA_DP264) += sys_dp264.o
obj-$(CONFIG_ALPHA_SHARK) += sys_dp264.o
obj-$(CONFIG_ALPHA_TITAN) += sys_titan.o
ifneq ($(CONFIG_ALPHA_EB64P)$(CONFIG_ALPHA_EB66),)
obj-y += sys_eb64p.o
endif
obj-$(CONFIG_ALPHA_EIGER) += sys_eiger.o
obj-$(CONFIG_ALPHA_JENSEN) += sys_jensen.o pci-noop.o
obj-$(CONFIG_ALPHA_MIATA) += sys_miata.o
obj-$(CONFIG_ALPHA_MIKASA) += sys_mikasa.o
obj-$(CONFIG_ALPHA_NAUTILUS) += sys_nautilus.o
obj-$(CONFIG_ALPHA_NORITAKE) += sys_noritake.o
obj-$(CONFIG_ALPHA_RAWHIDE) += sys_rawhide.o
obj-$(CONFIG_ALPHA_RUFFIAN) += sys_ruffian.o
obj-$(CONFIG_ALPHA_RX164) += sys_rx164.o
obj-$(CONFIG_ALPHA_ALCOR) += sys_alcor.o irq_i8259.o irq_srm.o
obj-$(CONFIG_ALPHA_CABRIOLET) += sys_cabriolet.o irq_i8259.o irq_srm.o \
ns87312.o
obj-$(CONFIG_ALPHA_EB164) += sys_cabriolet.o irq_i8259.o irq_srm.o \
ns87312.o
obj-$(CONFIG_ALPHA_EB66P) += sys_cabriolet.o irq_i8259.o irq_srm.o \
ns87312.o
obj-$(CONFIG_ALPHA_LX164) += sys_cabriolet.o irq_i8259.o irq_srm.o \
smc37c93x.o
obj-$(CONFIG_ALPHA_PC164) += sys_cabriolet.o irq_i8259.o irq_srm.o \
smc37c93x.o
obj-$(CONFIG_ALPHA_DP264) += sys_dp264.o irq_i8259.o es1888.o smc37c669.o
obj-$(CONFIG_ALPHA_SHARK) += sys_dp264.o irq_i8259.o es1888.o smc37c669.o
obj-$(CONFIG_ALPHA_TITAN) += sys_titan.o irq_i8259.o smc37c669.o
obj-$(CONFIG_ALPHA_EB64P) += sys_eb64p.o irq_i8259.o
obj-$(CONFIG_ALPHA_EB66) += sys_eb64p.o irq_i8259.o
obj-$(CONFIG_ALPHA_EIGER) += sys_eiger.o irq_i8259.o
obj-$(CONFIG_ALPHA_JENSEN) += sys_jensen.o pci-noop.o irq_i8259.o
obj-$(CONFIG_ALPHA_MIATA) += sys_miata.o irq_pyxis.o irq_i8259.o \
es1888.o smc37c669.o
obj-$(CONFIG_ALPHA_MIKASA) += sys_mikasa.o irq_i8259.o irq_srm.o
obj-$(CONFIG_ALPHA_NAUTILUS) += sys_nautilus.o irq_i8259.o irq_srm.o
obj-$(CONFIG_ALPHA_NORITAKE) += sys_noritake.o irq_i8259.o
obj-$(CONFIG_ALPHA_RAWHIDE) += sys_rawhide.o irq_i8259.o
obj-$(CONFIG_ALPHA_RUFFIAN) += sys_ruffian.o irq_pyxis.o irq_i8259.o
obj-$(CONFIG_ALPHA_RX164) += sys_rx164.o irq_i8259.o
obj-$(CONFIG_ALPHA_SABLE) += sys_sable.o
ifneq ($(CONFIG_ALPHA_BOOK1)$(CONFIG_ALPHA_AVANTI)$(CONFIG_ALPHA_NONAME)$(CONFIG_ALPHA_P2K)$(CONFIG_ALPHA_XL),)
obj-y += sys_sio.o
endif
obj-$(CONFIG_ALPHA_SX164) += sys_sx164.o
obj-$(CONFIG_ALPHA_TAKARA) += sys_takara.o
obj-$(CONFIG_ALPHA_WILDFIRE) += sys_wildfire.o
ifneq ($(CONFIG_ALPHA_MIATA)$(CONFIG_ALPHA_RUFFIAN)$(CONFIG_ALPHA_SX164),)
obj-y += irq_pyxis.o
endif
obj-$(CONFIG_ALPHA_BOOK1) += sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_AVANTI) += sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_NONAME) += sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_P2K) += sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_XL) += sys_sio.o irq_i8259.o irq_srm.o ns87312.o
obj-$(CONFIG_ALPHA_SX164) += sys_sx164.o irq_pyxis.o irq_i8259.o \
irq_srm.o smc37c669.o
obj-$(CONFIG_ALPHA_TAKARA) += sys_takara.o irq_i8259.o ns87312.o
obj-$(CONFIG_ALPHA_WILDFIRE) += sys_wildfire.o irq_i8259.o
endif # GENERIC
......@@ -33,6 +33,7 @@
#include <asm/semaphore.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>
#include <asm/vga.h>
#define __KERNEL_SYSCALLS__
#include <asm/unistd.h>
......@@ -90,6 +91,7 @@ EXPORT_SYMBOL(___raw_writeq);
EXPORT_SYMBOL(_memcpy_fromio);
EXPORT_SYMBOL(_memcpy_toio);
EXPORT_SYMBOL(_memset_c_io);
EXPORT_SYMBOL(scr_memcpyw);
EXPORT_SYMBOL(insb);
EXPORT_SYMBOL(insw);
EXPORT_SYMBOL(insl);
......
......@@ -130,11 +130,11 @@ init_i8259a_irqs(void)
# define IACK_SC TITAN_IACK_SC
#elif defined(CONFIG_ALPHA_TSUNAMI)
# define IACK_SC TSUNAMI_IACK_SC
#elif defined(CONFIG_ALPHA_POLARIS)
# define IACK_SC POLARIS_IACK_SC
#elif defined(CONFIG_ALPHA_IRONGATE)
# define IACK_SC IRONGATE_IACK_SC
#endif
/* Note that CONFIG_ALPHA_POLARIS is intentionally left out here, since
sys_rx164 wants to use isa_no_iack_sc_device_interrupt for some reason. */
#if defined(IACK_SC)
void
......
......@@ -245,7 +245,6 @@ alcor_kill_arch(int mode)
* The System Vectors
*/
#if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_ALCOR)
struct alpha_machine_vector alcor_mv __initmv = {
.vector_name = "Alcor",
DO_EV5_MMU,
......@@ -273,9 +272,7 @@ struct alpha_machine_vector alcor_mv __initmv = {
}}
};
ALIAS_MV(alcor)
#endif
#if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_XLT)
struct alpha_machine_vector xlt_mv __initmv = {
.vector_name = "XLT",
DO_EV5_MMU,
......@@ -302,5 +299,6 @@ struct alpha_machine_vector xlt_mv __initmv = {
.gru_int_req_bits = XLT_GRU_INT_REQ_BITS
}}
};
ALIAS_MV(xlt)
#endif
/* No alpha_mv alias for XLT, since we compile it in unconditionally
with ALCOR; setup_arch knows how to cope. */
......@@ -7,58 +7,53 @@ L_TARGET := lib.a
# Many of these routines have implementations tuned for ev6.
# Choose them iff we're targeting ev6 specifically.
ev6 :=
ifeq ($(CONFIG_ALPHA_EV6),y)
ev6 := ev6-
endif
ev6-$(CONFIG_ALPHA_EV6) := ev6-
# Several make use of the cttz instruction introduced in ev67.
ev67 :=
ifeq ($(CONFIG_ALPHA_EV67),y)
ev67 := ev67-
endif
ev67-$(CONFIG_ALPHA_EV67) := ev67-
obj-y = __divqu.o __remqu.o __divlu.o __remlu.o \
udelay.o \
$(ev6)memset.o \
$(ev6)memcpy.o \
$(ev6-y)memset.o \
$(ev6-y)memcpy.o \
memmove.o \
io.o \
checksum.o \
csum_partial_copy.o \
$(ev67)strlen.o \
$(ev67)strcat.o \
$(ev67-y)strlen.o \
$(ev67-y)strcat.o \
strcpy.o \
$(ev67)strncat.o \
$(ev67-y)strncat.o \
strncpy.o \
$(ev6)stxcpy.o \
$(ev6)stxncpy.o \
$(ev67)strchr.o \
$(ev67)strrchr.o \
$(ev6)memchr.o \
$(ev6)copy_user.o \
$(ev6)clear_user.o \
$(ev6)strncpy_from_user.o \
$(ev67)strlen_user.o \
$(ev6)csum_ipv6_magic.o \
$(ev6)clear_page.o \
$(ev6)copy_page.o \
$(ev6-y)stxcpy.o \
$(ev6-y)stxncpy.o \
$(ev67-y)strchr.o \
$(ev67-y)strrchr.o \
$(ev6-y)memchr.o \
$(ev6-y)copy_user.o \
$(ev6-y)clear_user.o \
$(ev6-y)strncpy_from_user.o \
$(ev67-y)strlen_user.o \
$(ev6-y)csum_ipv6_magic.o \
$(ev6-y)clear_page.o \
$(ev6-y)copy_page.o \
strcasecmp.o \
fpreg.o \
callback_srm.o srm_puts.o srm_printk.o
obj-$(CONFIG_SMP) += dec_and_lock.o
$(obj)/__divqu.o: $(obj)/$(ev6)divide.S
$(CC) $(AFLAGS) -DDIV -c -o $(obj)/__divqu.o $(obj)/$(ev6)divide.S
$(obj)/__remqu.o: $(obj)/$(ev6)divide.S
$(CC) $(AFLAGS) -DREM -c -o $(obj)/__remqu.o $(obj)/$(ev6)divide.S
$(obj)/__divlu.o: $(obj)/$(ev6)divide.S
$(CC) $(AFLAGS) -DDIV -DINTSIZE \
-c -o $(obj)/__divlu.o $(obj)/$(ev6)divide.S
$(obj)/__remlu.o: $(obj)/$(ev6)divide.S
$(CC) $(AFLAGS) -DREM -DINTSIZE \
-c -o $(obj)/__remlu.o $(obj)/$(ev6)divide.S
# The division routines are built from single source, with different defines.
AFLAGS___divqu.o = -DDIV
AFLAGS___remqu.o = -DREM
AFLAGS___divlu.o = -DDIV -DINTSIZE
AFLAGS___remlu.o = -DREM -DINTSIZE
$(obj)/__divqu.o: $(obj)/$(ev6-y)divide.S
$(cmd_as_o_S)
$(obj)/__remqu.o: $(obj)/$(ev6-y)divide.S
$(cmd_as_o_S)
$(obj)/__divlu.o: $(obj)/$(ev6-y)divide.S
$(cmd_as_o_S)
$(obj)/__remlu.o: $(obj)/$(ev6-y)divide.S
$(cmd_as_o_S)
......@@ -2,6 +2,6 @@
# Makefile for the FPU instruction emulation.
#
CFLAGS += -I. -I$(TOPDIR)/include/math-emu -w
CFLAGS += -Iinclude/math-emu -w
obj-$(CONFIG_MATHEMU) += math.o qrnnd.o
......@@ -31,7 +31,6 @@
# define NR_IRQS 32
#elif defined(CONFIG_ALPHA_ALCOR) || \
defined(CONFIG_ALPHA_XLT) || \
defined(CONFIG_ALPHA_MIATA) || \
defined(CONFIG_ALPHA_RUFFIAN) || \
defined(CONFIG_ALPHA_RX164) || \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment