mirror of https://gitee.com/openkylin/linux.git
sparc: prepare kernel/ for unification
o sparc32 files with identical names to sparc64 renamed to <name>_32.S o introduced a few Kconfig helpers to simplify Makefile logic o refactored Makefile to prepare for unification - use obj-$(CONFIG_SPARC32) for sparc32 specific files - use <name>_$(BITS) for files where sparc64 has a _64 variant - sparc64 directly include a few files where sparc32 builds them, refer to these files directly (no BITS) - sneaked in -Werror as used by sparc64 o modified sparc/Makefile to use the new names for head/init_task Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
478b8fecda
commit
d670bd4f80
|
@ -198,6 +198,17 @@ config EMULATED_CMPXCHG
|
||||||
Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
|
Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
|
||||||
is emulated, and therefore it is not completely atomic.
|
is emulated, and therefore it is not completely atomic.
|
||||||
|
|
||||||
|
# Makefile helpers
|
||||||
|
config SPARC32_SMP
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
depends on SPARC32 && SMP
|
||||||
|
|
||||||
|
config SPARC64_SMP
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
depends on SPARC64 && SMP
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Kernel page size" if SPARC64
|
prompt "Kernel page size" if SPARC64
|
||||||
default SPARC64_PAGE_SIZE_8KB
|
default SPARC64_PAGE_SIZE_8KB
|
||||||
|
@ -505,6 +516,16 @@ config SUN_OPENPROMFS
|
||||||
Only choose N if you know in advance that you will not need to modify
|
Only choose N if you know in advance that you will not need to modify
|
||||||
OpenPROM settings on the running system.
|
OpenPROM settings on the running system.
|
||||||
|
|
||||||
|
# Makefile helpers
|
||||||
|
config SPARC32_PCI
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
depends on SPARC32 && PCI
|
||||||
|
|
||||||
|
config SPARC64_PCI
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
depends on SPARC64 && PCI
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|
|
@ -67,8 +67,8 @@ endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
head-$(CONFIG_SPARC32) := arch/sparc/kernel/head.o
|
head-$(CONFIG_SPARC32) := arch/sparc/kernel/head_$(BITS).o
|
||||||
head-$(CONFIG_SPARC32) += arch/sparc/kernel/init_task.o
|
head-$(CONFIG_SPARC32) += arch/sparc/kernel/init_task_$(BITS).o
|
||||||
head-$(CONFIG_SPARC64) := arch/sparc64/kernel/head.o
|
head-$(CONFIG_SPARC64) := arch/sparc64/kernel/head.o
|
||||||
head-$(CONFIG_SPARC64) += arch/sparc64/kernel/init_task.o
|
head-$(CONFIG_SPARC64) += arch/sparc64/kernel/init_task.o
|
||||||
|
|
||||||
|
|
|
@ -2,25 +2,57 @@
|
||||||
# Makefile for the linux kernel.
|
# Makefile for the linux kernel.
|
||||||
#
|
#
|
||||||
|
|
||||||
extra-y := head.o init_task.o vmlinux.lds
|
asflags-y := -ansi
|
||||||
|
ccflags-y := -Werror
|
||||||
|
|
||||||
EXTRA_AFLAGS := -ansi
|
extra-y := head_$(BITS).o
|
||||||
|
extra-y += init_task_$(BITS).o
|
||||||
|
extra-y += vmlinux.lds
|
||||||
|
|
||||||
IRQ_OBJS := irq.o sun4m_irq.o sun4c_irq.o sun4d_irq.o
|
obj-$(CONFIG_SPARC32) += entry.o wof.o wuf.o
|
||||||
obj-y := entry.o wof.o wuf.o etrap.o rtrap.o traps.o $(IRQ_OBJS) \
|
obj-$(CONFIG_SPARC32) += etrap_32.o
|
||||||
process.o signal.o ioport.o setup.o idprom.o \
|
obj-$(CONFIG_SPARC32) += rtrap_32.o
|
||||||
sys_sparc.o systbls.o \
|
obj-y += traps_$(BITS).o
|
||||||
time.o windows.o cpu.o devices.o \
|
|
||||||
tadpole.o tick14.o ptrace.o \
|
|
||||||
unaligned.o una_asm.o muldiv.o \
|
|
||||||
prom.o of_device.o devres.o dma.o
|
|
||||||
|
|
||||||
devres-y = ../../../kernel/irq/devres.o
|
# IRQ
|
||||||
|
obj-y += irq_$(BITS).o
|
||||||
|
obj-$(CONFIG_SPARC32) += sun4m_irq.o sun4c_irq.o sun4d_irq.o
|
||||||
|
|
||||||
obj-$(CONFIG_PCI) += pcic.o
|
obj-y += process_$(BITS).o
|
||||||
obj-$(CONFIG_SMP) += trampoline.o smp.o sun4m_smp.o sun4d_smp.o
|
obj-y += signal_$(BITS).o
|
||||||
obj-$(CONFIG_SUN_AUXIO) += auxio.o
|
obj-$(CONFIG_SPARC32) += ioport.o
|
||||||
obj-$(CONFIG_SUN_PM) += apc.o pmc.o
|
obj-y += setup_$(BITS).o
|
||||||
obj-$(CONFIG_MODULES) += module.o sparc_ksyms.o
|
obj-y += idprom_$(BITS).o
|
||||||
obj-$(CONFIG_SPARC_LED) += led.o
|
obj-y += sys_sparc_$(BITS).o
|
||||||
obj-$(CONFIG_KGDB) += kgdb.o
|
obj-$(CONFIG_SPARC32) += systbls_32.o
|
||||||
|
obj-y += time_$(BITS).o
|
||||||
|
obj-$(CONFIG_SPARC32) += windows.o
|
||||||
|
obj-y += cpu_$(BITS).o
|
||||||
|
obj-$(CONFIG_SPARC32) += devices.o
|
||||||
|
obj-$(CONFIG_SPARC32) += tadpole.o
|
||||||
|
obj-$(CONFIG_SPARC32) += tick14.o
|
||||||
|
obj-y += ptrace_$(BITS).o
|
||||||
|
obj-y += unaligned_$(BITS).o
|
||||||
|
obj-y += una_asm_$(BITS).o
|
||||||
|
obj-$(CONFIG_SPARC32) += muldiv.o
|
||||||
|
obj-y += prom_$(BITS).o
|
||||||
|
obj-y += of_device_$(BITS).o
|
||||||
|
|
||||||
|
# sparc32 do not use GENERIC_HARDIRQS but uses the generic devres implementation
|
||||||
|
obj-$(CONFIG_SPARC32) += devres.o
|
||||||
|
devres-y := ../../../kernel/irq/devres.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_SPARC32) += dma.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_SPARC32_PCI) += pcic.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_SMP) += trampoline_$(BITS).o smp_$(BITS).o
|
||||||
|
obj-$(CONFIG_SPARC32_SMP) += sun4m_smp.o sun4d_smp.o
|
||||||
|
|
||||||
|
obj-y += auxio_$(BITS).o
|
||||||
|
obj-$(CONFIG_SUN_PM) += apc.o pmc.o
|
||||||
|
|
||||||
|
obj-$(CONFIG_MODULES) += module_$(BITS).o
|
||||||
|
obj-$(CONFIG_MODULES) += sparc_ksyms_$(BITS).o
|
||||||
|
obj-$(CONFIG_SPARC_LED) += led.o
|
||||||
|
obj-$(CONFIG_KGDB) += kgdb_$(BITS).o
|
||||||
|
|
Loading…
Reference in New Issue