forked from Minki/linux
metag: Build infrastructure
Add metag build infrastructure. Signed-off-by: James Hogan <james.hogan@imgtec.com>
This commit is contained in:
parent
79f83c0294
commit
5633004cc2
277
arch/metag/Kconfig
Normal file
277
arch/metag/Kconfig
Normal file
@ -0,0 +1,277 @@
|
||||
config SYMBOL_PREFIX
|
||||
string
|
||||
default "_"
|
||||
|
||||
config METAG
|
||||
def_bool y
|
||||
select EMBEDDED
|
||||
select GENERIC_ATOMIC64
|
||||
select GENERIC_CLOCKEVENTS
|
||||
select GENERIC_IRQ_SHOW
|
||||
select GENERIC_SIGALTSTACK
|
||||
select GENERIC_SMP_IDLE_THREAD
|
||||
select HAVE_64BIT_ALIGNED_ACCESS
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_DEBUG_KMEMLEAK
|
||||
select HAVE_GENERIC_HARDIRQS
|
||||
select HAVE_IRQ_WORK
|
||||
select HAVE_KERNEL_BZIP2
|
||||
select HAVE_KERNEL_GZIP
|
||||
select HAVE_KERNEL_LZO
|
||||
select HAVE_KERNEL_XZ
|
||||
select HAVE_MEMBLOCK
|
||||
select HAVE_MEMBLOCK_NODE_MAP
|
||||
select HAVE_MOD_ARCH_SPECIFIC
|
||||
select HAVE_SYSCALL_TRACEPOINTS
|
||||
select IRQ_DOMAIN
|
||||
select MODULES_USE_ELF_RELA
|
||||
select OF
|
||||
select OF_EARLY_FLATTREE
|
||||
select SPARSE_IRQ
|
||||
|
||||
config ARCH_NO_VIRT_TO_BUS
|
||||
def_bool y
|
||||
|
||||
config STACKTRACE_SUPPORT
|
||||
def_bool y
|
||||
|
||||
config LOCKDEP_SUPPORT
|
||||
def_bool y
|
||||
|
||||
config HAVE_LATENCYTOP_SUPPORT
|
||||
def_bool y
|
||||
|
||||
config RWSEM_GENERIC_SPINLOCK
|
||||
def_bool y
|
||||
|
||||
config RWSEM_XCHGADD_ALGORITHM
|
||||
bool
|
||||
|
||||
config GENERIC_HWEIGHT
|
||||
def_bool y
|
||||
|
||||
config GENERIC_CALIBRATE_DELAY
|
||||
def_bool y
|
||||
|
||||
config GENERIC_GPIO
|
||||
def_bool n
|
||||
|
||||
config NO_IOPORT
|
||||
def_bool y
|
||||
|
||||
source "init/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.freezer"
|
||||
|
||||
menu "Processor type and features"
|
||||
|
||||
config MMU
|
||||
def_bool y
|
||||
|
||||
config STACK_GROWSUP
|
||||
def_bool y
|
||||
|
||||
config HOTPLUG_CPU
|
||||
bool "Enable CPU hotplug support"
|
||||
depends on SMP
|
||||
help
|
||||
Say Y here to allow turning CPUs off and on. CPUs can be
|
||||
controlled through /sys/devices/system/cpu.
|
||||
|
||||
Say N if you want to disable CPU hotplug.
|
||||
|
||||
config HIGHMEM
|
||||
bool "High Memory Support"
|
||||
help
|
||||
The address space of Meta processors is only 4 Gigabytes large
|
||||
and it has to accommodate user address space, kernel address
|
||||
space as well as some memory mapped IO. That means that, if you
|
||||
have a large amount of physical memory and/or IO, not all of the
|
||||
memory can be "permanently mapped" by the kernel. The physical
|
||||
memory that is not permanently mapped is called "high memory".
|
||||
|
||||
Depending on the selected kernel/user memory split, minimum
|
||||
vmalloc space and actual amount of RAM, you may not need this
|
||||
option which should result in a slightly faster kernel.
|
||||
|
||||
If unsure, say n.
|
||||
|
||||
source "arch/metag/mm/Kconfig"
|
||||
|
||||
source "arch/metag/Kconfig.soc"
|
||||
|
||||
config METAG_META12
|
||||
bool
|
||||
help
|
||||
Select this from the SoC config symbol to indicate that it contains a
|
||||
Meta 1.2 core.
|
||||
|
||||
config METAG_META21
|
||||
bool
|
||||
help
|
||||
Select this from the SoC config symbol to indicate that it contains a
|
||||
Meta 2.1 core.
|
||||
|
||||
config SMP
|
||||
bool "Symmetric multi-processing support"
|
||||
depends on METAG_META21 && METAG_META21_MMU
|
||||
select USE_GENERIC_SMP_HELPERS
|
||||
help
|
||||
This enables support for systems with more than one thread running
|
||||
Linux. If you have a system with only one thread running Linux,
|
||||
say N. Otherwise, say Y.
|
||||
|
||||
config NR_CPUS
|
||||
int "Maximum number of CPUs (2-4)" if SMP
|
||||
range 2 4 if SMP
|
||||
default "1" if !SMP
|
||||
default "4" if SMP
|
||||
|
||||
config METAG_SMP_WRITE_REORDERING
|
||||
bool
|
||||
help
|
||||
This attempts to prevent cache-memory incoherence due to external
|
||||
reordering of writes from different hardware threads when SMP is
|
||||
enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an
|
||||
attempt to catch some of the cases, and also before writes to shared
|
||||
memory in LOCK1 protected atomics and spinlocks.
|
||||
This will not completely prevent cache incoherency on affected cores.
|
||||
|
||||
config METAG_LNKGET_AROUND_CACHE
|
||||
bool
|
||||
depends on METAG_META21
|
||||
help
|
||||
This indicates that the LNKGET/LNKSET instructions go around the
|
||||
cache, which requires some extra cache flushes when the memory needs
|
||||
to be accessed by normal GET/SET instructions too.
|
||||
|
||||
choice
|
||||
prompt "Atomicity primitive"
|
||||
default METAG_ATOMICITY_LNKGET
|
||||
help
|
||||
This option selects the mechanism for performing atomic operations.
|
||||
|
||||
config METAG_ATOMICITY_IRQSOFF
|
||||
depends on !SMP
|
||||
bool "irqsoff"
|
||||
help
|
||||
This option disables interrupts to achieve atomicity. This mechanism
|
||||
is not SMP-safe.
|
||||
|
||||
config METAG_ATOMICITY_LNKGET
|
||||
depends on METAG_META21
|
||||
bool "lnkget/lnkset"
|
||||
help
|
||||
This option uses the LNKGET and LNKSET instructions to achieve
|
||||
atomicity. LNKGET/LNKSET are load-link/store-conditional instructions.
|
||||
Choose this option if your system requires low latency.
|
||||
|
||||
config METAG_ATOMICITY_LOCK1
|
||||
depends on SMP
|
||||
bool "lock1"
|
||||
help
|
||||
This option uses the LOCK1 instruction for atomicity. This is mainly
|
||||
provided as a debugging aid if the lnkget/lnkset atomicity primitive
|
||||
isn't working properly.
|
||||
|
||||
endchoice
|
||||
|
||||
config METAG_FPU
|
||||
bool "FPU Support"
|
||||
depends on METAG_META21
|
||||
default y
|
||||
help
|
||||
This option allows processes to use FPU hardware available with this
|
||||
CPU. If this option is not enabled FPU registers will not be saved
|
||||
and restored on context-switch.
|
||||
|
||||
If you plan on running programs which are compiled to use hard floats
|
||||
say Y here.
|
||||
|
||||
config METAG_DSP
|
||||
bool "DSP Support"
|
||||
help
|
||||
This option allows processes to use DSP hardware available
|
||||
with this CPU. If this option is not enabled DSP registers
|
||||
will not be saved and restored on context-switch.
|
||||
|
||||
If you plan on running DSP programs say Y here.
|
||||
|
||||
config METAG_PERFCOUNTER_IRQS
|
||||
bool "PerfCounters interrupt support"
|
||||
depends on METAG_META21
|
||||
help
|
||||
This option enables using interrupts to collect information from
|
||||
Performance Counters. This option is supported in new META21
|
||||
(starting from HTP265).
|
||||
|
||||
When disabled, Performance Counters information will be collected
|
||||
based on Timer Interrupt.
|
||||
|
||||
menu "Boot options"
|
||||
|
||||
config METAG_BUILTIN_DTB
|
||||
bool "Embed DTB in kernel image"
|
||||
default y
|
||||
help
|
||||
Embeds a device tree binary in the kernel image.
|
||||
|
||||
config METAG_BUILTIN_DTB_NAME
|
||||
string "Built in DTB"
|
||||
depends on METAG_BUILTIN_DTB
|
||||
help
|
||||
Set the name of the DTB to embed (leave blank to pick one
|
||||
automatically based on kernel configuration).
|
||||
|
||||
config CMDLINE_BOOL
|
||||
bool "Default bootloader kernel arguments"
|
||||
|
||||
config CMDLINE
|
||||
string "Kernel command line"
|
||||
depends on CMDLINE_BOOL
|
||||
help
|
||||
On some architectures there is currently no way for the boot loader
|
||||
to pass arguments to the kernel. For these architectures, you should
|
||||
supply some command-line options at build time by entering them
|
||||
here.
|
||||
|
||||
config CMDLINE_FORCE
|
||||
bool "Force default kernel command string"
|
||||
depends on CMDLINE_BOOL
|
||||
help
|
||||
Set this to have arguments from the default kernel command string
|
||||
override those passed by the boot loader.
|
||||
|
||||
endmenu
|
||||
|
||||
source "kernel/Kconfig.preempt"
|
||||
|
||||
source kernel/Kconfig.hz
|
||||
|
||||
endmenu
|
||||
|
||||
menu "Power management options"
|
||||
|
||||
source kernel/power/Kconfig
|
||||
|
||||
endmenu
|
||||
|
||||
menu "Executable file formats"
|
||||
|
||||
source "fs/Kconfig.binfmt"
|
||||
|
||||
endmenu
|
||||
|
||||
source "net/Kconfig"
|
||||
|
||||
source "drivers/Kconfig"
|
||||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "arch/metag/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
||||
source "crypto/Kconfig"
|
||||
|
||||
source "lib/Kconfig"
|
40
arch/metag/Kconfig.debug
Normal file
40
arch/metag/Kconfig.debug
Normal file
@ -0,0 +1,40 @@
|
||||
menu "Kernel hacking"
|
||||
|
||||
config TRACE_IRQFLAGS_SUPPORT
|
||||
bool
|
||||
default y
|
||||
|
||||
source "lib/Kconfig.debug"
|
||||
|
||||
config DEBUG_STACKOVERFLOW
|
||||
bool "Check for stack overflows"
|
||||
depends on DEBUG_KERNEL
|
||||
help
|
||||
This option will cause messages to be printed if free stack space
|
||||
drops below a certain limit.
|
||||
|
||||
config 4KSTACKS
|
||||
bool "Use 4Kb for kernel stacks instead of 8Kb"
|
||||
depends on DEBUG_KERNEL
|
||||
help
|
||||
If you say Y here the kernel will use a 4Kb stacksize for the
|
||||
kernel stack attached to each process/thread. This facilitates
|
||||
running more threads on a system and also reduces the pressure
|
||||
on the VM subsystem for higher order allocations. This option
|
||||
will also use IRQ stacks to compensate for the reduced stackspace.
|
||||
|
||||
config METAG_FUNCTION_TRACE
|
||||
bool "Output Meta real-time trace data for function entry/exit"
|
||||
help
|
||||
If you say Y here the kernel will use the Meta hardware trace
|
||||
unit to output information about function entry and exit that
|
||||
can be used by a debugger for profiling and call-graphs.
|
||||
|
||||
config METAG_POISON_CATCH_BUFFERS
|
||||
bool "Poison catch buffer contents on kernel entry"
|
||||
help
|
||||
If you say Y here the kernel will write poison data to the
|
||||
catch buffer registers on kernel entry. This will make any
|
||||
problem with catch buffer handling much more apparent.
|
||||
|
||||
endmenu
|
55
arch/metag/Kconfig.soc
Normal file
55
arch/metag/Kconfig.soc
Normal file
@ -0,0 +1,55 @@
|
||||
choice
|
||||
prompt "SoC Type"
|
||||
default META21_FPGA
|
||||
|
||||
config META12_FPGA
|
||||
bool "Meta 1.2 FPGA"
|
||||
select METAG_META12
|
||||
help
|
||||
This is a Meta 1.2 FPGA bitstream, just a bare CPU.
|
||||
|
||||
config META21_FPGA
|
||||
bool "Meta 2.1 FPGA"
|
||||
select METAG_META21
|
||||
help
|
||||
This is a Meta 2.1 FPGA bitstream, just a bare CPU.
|
||||
|
||||
endchoice
|
||||
|
||||
menu "SoC configuration"
|
||||
|
||||
if METAG_META21
|
||||
|
||||
# Meta 2.x specific options
|
||||
|
||||
config METAG_META21_MMU
|
||||
bool "Meta 2.x MMU mode"
|
||||
default y
|
||||
help
|
||||
Use the Meta 2.x MMU in extended mode.
|
||||
|
||||
config METAG_UNALIGNED
|
||||
bool "Meta 2.x unaligned access checking"
|
||||
default y
|
||||
help
|
||||
All memory accesses will be checked for alignment and an exception
|
||||
raised on unaligned accesses. This feature does cost performance
|
||||
but without it there will be no notification of this type of error.
|
||||
|
||||
config METAG_USER_TCM
|
||||
bool "Meta on-chip memory support for userland"
|
||||
select GENERIC_ALLOCATOR
|
||||
default y
|
||||
help
|
||||
Allow the on-chip memories of Meta SoCs to be used by user
|
||||
applications.
|
||||
|
||||
endif
|
||||
|
||||
config METAG_HALT_ON_PANIC
|
||||
bool "Halt the core on panic"
|
||||
help
|
||||
Halt the core when a panic occurs. This is useful when running
|
||||
pre-production silicon or in an FPGA environment.
|
||||
|
||||
endmenu
|
87
arch/metag/Makefile
Normal file
87
arch/metag/Makefile
Normal file
@ -0,0 +1,87 @@
|
||||
#
|
||||
# metag/Makefile
|
||||
#
|
||||
# This file is included by the global makefile so that you can add your own
|
||||
# architecture-specific flags and dependencies. Remember to do have actions
|
||||
# for "archclean" cleaning up for this architecture.
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU General Public
|
||||
# License. See the file "COPYING" in the main directory of this archive
|
||||
# for more details.
|
||||
#
|
||||
# Copyright (C) 1994 by Linus Torvalds
|
||||
# 2007,2008,2012 by Imagination Technologies Ltd.
|
||||
#
|
||||
|
||||
LDFLAGS :=
|
||||
OBJCOPYFLAGS := -O binary -R .note -R .comment -S
|
||||
|
||||
checkflags-$(CONFIG_METAG_META12) += -DMETAC_1_2
|
||||
checkflags-$(CONFIG_METAG_META21) += -DMETAC_2_1
|
||||
CHECKFLAGS += -D__metag__ $(checkflags-y)
|
||||
|
||||
KBUILD_DEFCONFIG := meta2_defconfig
|
||||
|
||||
sflags-$(CONFIG_METAG_META12) += -mmetac=1.2
|
||||
ifeq ($(CONFIG_METAG_META12),y)
|
||||
# Only use TBI API 1.4 if DSP is enabled for META12 cores
|
||||
sflags-$(CONFIG_METAG_DSP) += -DTBI_1_4
|
||||
endif
|
||||
sflags-$(CONFIG_METAG_META21) += -mmetac=2.1 -DTBI_1_4
|
||||
|
||||
cflags-$(CONFIG_METAG_FUNCTION_TRACE) += -mhwtrace-leaf -mhwtrace-retpc
|
||||
cflags-$(CONFIG_METAG_META21) += -mextensions=bex
|
||||
|
||||
KBUILD_CFLAGS += -pipe
|
||||
KBUILD_CFLAGS += -ffunction-sections
|
||||
|
||||
KBUILD_CFLAGS += $(sflags-y) $(cflags-y)
|
||||
KBUILD_AFLAGS += $(sflags-y)
|
||||
|
||||
LDFLAGS_vmlinux := $(ldflags-y)
|
||||
|
||||
head-y := arch/metag/kernel/head.o
|
||||
|
||||
core-y += arch/metag/boot/dts/
|
||||
core-y += arch/metag/kernel/
|
||||
core-y += arch/metag/mm/
|
||||
|
||||
libs-y += arch/metag/lib/
|
||||
libs-y += arch/metag/tbx/
|
||||
|
||||
boot := arch/metag/boot
|
||||
|
||||
boot_targets += uImage
|
||||
boot_targets += uImage.gz
|
||||
boot_targets += uImage.bz2
|
||||
boot_targets += uImage.xz
|
||||
boot_targets += uImage.lzo
|
||||
boot_targets += uImage.bin
|
||||
boot_targets += vmlinux.bin
|
||||
|
||||
PHONY += $(boot_targets)
|
||||
|
||||
all: vmlinux.bin
|
||||
|
||||
$(boot_targets): vmlinux
|
||||
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
||||
|
||||
%.dtb %.dtb.S %.dtb.o: scripts
|
||||
$(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
|
||||
|
||||
dtbs: scripts
|
||||
$(Q)$(MAKE) $(build)=$(boot)/dts dtbs
|
||||
|
||||
archclean:
|
||||
$(Q)$(MAKE) $(clean)=$(boot)
|
||||
|
||||
define archhelp
|
||||
echo '* vmlinux.bin - Binary kernel image (arch/$(ARCH)/boot/vmlinux.bin)'
|
||||
@echo ' uImage - Alias to bootable U-Boot image'
|
||||
@echo ' uImage.bin - Kernel-only image for U-Boot (bin)'
|
||||
@echo ' uImage.gz - Kernel-only image for U-Boot (gzip)'
|
||||
@echo ' uImage.bz2 - Kernel-only image for U-Boot (bzip2)'
|
||||
@echo ' uImage.xz - Kernel-only image for U-Boot (xz)'
|
||||
@echo ' uImage.lzo - Kernel-only image for U-Boot (lzo)'
|
||||
@echo ' dtbs - Build device tree blobs for enabled boards'
|
||||
endef
|
68
arch/metag/boot/Makefile
Normal file
68
arch/metag/boot/Makefile
Normal file
@ -0,0 +1,68 @@
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU General Public
|
||||
# License. See the file "COPYING" in the main directory of this archive
|
||||
# for more details.
|
||||
#
|
||||
# Copyright (C) 2007,2012 Imagination Technologies Ltd.
|
||||
#
|
||||
|
||||
suffix-y := bin
|
||||
suffix-$(CONFIG_KERNEL_GZIP) := gz
|
||||
suffix-$(CONFIG_KERNEL_BZIP2) := bz2
|
||||
suffix-$(CONFIG_KERNEL_XZ) := xz
|
||||
suffix-$(CONFIG_KERNEL_LZO) := lzo
|
||||
|
||||
targets += vmlinux.bin
|
||||
targets += uImage
|
||||
targets += uImage.gz
|
||||
targets += uImage.bz2
|
||||
targets += uImage.xz
|
||||
targets += uImage.lzo
|
||||
targets += uImage.bin
|
||||
|
||||
extra-y += vmlinux.bin
|
||||
extra-y += vmlinux.bin.gz
|
||||
extra-y += vmlinux.bin.bz2
|
||||
extra-y += vmlinux.bin.xz
|
||||
extra-y += vmlinux.bin.lzo
|
||||
|
||||
UIMAGE_LOADADDR = $(CONFIG_PAGE_OFFSET)
|
||||
|
||||
ifeq ($(CONFIG_FUNCTION_TRACER),y)
|
||||
orig_cflags := $(KBUILD_CFLAGS)
|
||||
KBUILD_CFLAGS = $(subst -pg, , $(orig_cflags))
|
||||
endif
|
||||
|
||||
$(obj)/vmlinux.bin: vmlinux FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
|
||||
$(call if_changed,gzip)
|
||||
|
||||
$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
|
||||
$(call if_changed,bzip2)
|
||||
|
||||
$(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE
|
||||
$(call if_changed,xzkern)
|
||||
|
||||
$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
|
||||
$(call if_changed,lzo)
|
||||
|
||||
$(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
|
||||
$(call if_changed,uimage,gzip)
|
||||
|
||||
$(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORCE
|
||||
$(call if_changed,uimage,bzip2)
|
||||
|
||||
$(obj)/uImage.xz: $(obj)/vmlinux.bin.xz FORCE
|
||||
$(call if_changed,uimage,xz)
|
||||
|
||||
$(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORCE
|
||||
$(call if_changed,uimage,lzo)
|
||||
|
||||
$(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE
|
||||
$(call if_changed,uimage,none)
|
||||
|
||||
$(obj)/uImage: $(obj)/uImage.$(suffix-y)
|
||||
@ln -sf $(notdir $<) $@
|
||||
@echo ' Image $@ is ready'
|
38
arch/metag/configs/meta1_defconfig
Normal file
38
arch/metag/configs/meta1_defconfig
Normal file
@ -0,0 +1,38 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_LOG_BUF_SHIFT=13
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_ELF_CORE is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_MSDOS_PARTITION is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
CONFIG_META12_FPGA=y
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=1
|
||||
CONFIG_BLK_DEV_RAM_SIZE=16384
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_DEBUG_INFO=y
|
39
arch/metag/configs/meta2_defconfig
Normal file
39
arch/metag/configs/meta2_defconfig
Normal file
@ -0,0 +1,39 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=13
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_ELF_CORE is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_MSDOS_PARTITION is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_METAG_L2C=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
CONFIG_METAG_HALT_ON_PANIC=y
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=1
|
||||
CONFIG_BLK_DEV_RAM_SIZE=16384
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_DEBUG_INFO=y
|
40
arch/metag/configs/meta2_smp_defconfig
Normal file
40
arch/metag/configs/meta2_smp_defconfig
Normal file
@ -0,0 +1,40 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=13
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_SYSFS_DEPRECATED_V2=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_ELF_CORE is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_MSDOS_PARTITION is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_METAG_L2C=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
CONFIG_METAG_HALT_ON_PANIC=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=1
|
||||
CONFIG_BLK_DEV_RAM_SIZE=16384
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_DEBUG_INFO=y
|
55
arch/metag/include/asm/Kbuild
Normal file
55
arch/metag/include/asm/Kbuild
Normal file
@ -0,0 +1,55 @@
|
||||
generic-y += auxvec.h
|
||||
generic-y += bitsperlong.h
|
||||
generic-y += bugs.h
|
||||
generic-y += clkdev.h
|
||||
generic-y += cputime.h
|
||||
generic-y += current.h
|
||||
generic-y += device.h
|
||||
generic-y += dma.h
|
||||
generic-y += emergency-restart.h
|
||||
generic-y += errno.h
|
||||
generic-y += exec.h
|
||||
generic-y += fb.h
|
||||
generic-y += fcntl.h
|
||||
generic-y += ftrace.h
|
||||
generic-y += futex.h
|
||||
generic-y += hardirq.h
|
||||
generic-y += hw_irq.h
|
||||
generic-y += ioctl.h
|
||||
generic-y += ioctls.h
|
||||
generic-y += ipcbuf.h
|
||||
generic-y += irq_regs.h
|
||||
generic-y += kdebug.h
|
||||
generic-y += kmap_types.h
|
||||
generic-y += kvm_para.h
|
||||
generic-y += local.h
|
||||
generic-y += local64.h
|
||||
generic-y += msgbuf.h
|
||||
generic-y += mutex.h
|
||||
generic-y += param.h
|
||||
generic-y += pci.h
|
||||
generic-y += percpu.h
|
||||
generic-y += poll.h
|
||||
generic-y += posix_types.h
|
||||
generic-y += scatterlist.h
|
||||
generic-y += sections.h
|
||||
generic-y += sembuf.h
|
||||
generic-y += serial.h
|
||||
generic-y += shmbuf.h
|
||||
generic-y += shmparam.h
|
||||
generic-y += signal.h
|
||||
generic-y += socket.h
|
||||
generic-y += sockios.h
|
||||
generic-y += stat.h
|
||||
generic-y += statfs.h
|
||||
generic-y += switch_to.h
|
||||
generic-y += termbits.h
|
||||
generic-y += termios.h
|
||||
generic-y += timex.h
|
||||
generic-y += trace_clock.h
|
||||
generic-y += types.h
|
||||
generic-y += ucontext.h
|
||||
generic-y += unaligned.h
|
||||
generic-y += user.h
|
||||
generic-y += vga.h
|
||||
generic-y += xor.h
|
13
arch/metag/include/uapi/asm/Kbuild
Normal file
13
arch/metag/include/uapi/asm/Kbuild
Normal file
@ -0,0 +1,13 @@
|
||||
# UAPI Header export list
|
||||
include include/uapi/asm-generic/Kbuild.asm
|
||||
|
||||
header-y += byteorder.h
|
||||
header-y += ptrace.h
|
||||
header-y += resource.h
|
||||
header-y += sigcontext.h
|
||||
header-y += siginfo.h
|
||||
header-y += swab.h
|
||||
header-y += unistd.h
|
||||
|
||||
generic-y += mman.h
|
||||
generic-y += setup.h
|
1
arch/metag/kernel/.gitignore
vendored
Normal file
1
arch/metag/kernel/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
vmlinux.lds
|
36
arch/metag/kernel/Makefile
Normal file
36
arch/metag/kernel/Makefile
Normal file
@ -0,0 +1,36 @@
|
||||
#
|
||||
# Makefile for the Linux/Meta kernel.
|
||||
#
|
||||
|
||||
extra-y += head.o
|
||||
extra-y += vmlinux.lds
|
||||
|
||||
obj-y += cachepart.o
|
||||
obj-y += clock.o
|
||||
obj-y += core_reg.o
|
||||
obj-y += devtree.o
|
||||
obj-y += dma.o
|
||||
obj-y += irq.o
|
||||
obj-y += kick.o
|
||||
obj-y += machines.o
|
||||
obj-y += process.o
|
||||
obj-y += ptrace.o
|
||||
obj-y += setup.o
|
||||
obj-y += signal.o
|
||||
obj-y += stacktrace.o
|
||||
obj-y += sys_metag.o
|
||||
obj-y += tbiunexp.o
|
||||
obj-y += time.o
|
||||
obj-y += topology.o
|
||||
obj-y += traps.o
|
||||
obj-y += user_gateway.o
|
||||
|
||||
obj-$(CONFIG_METAG_COREMEM) += coremem.o
|
||||
obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
|
||||
obj-$(CONFIG_FUNCTION_TRACER) += ftrace_stub.o
|
||||
obj-$(CONFIG_MODULES) += metag_ksyms.o
|
||||
obj-$(CONFIG_MODULES) += module.o
|
||||
obj-$(CONFIG_PERF_EVENTS) += perf_callchain.o
|
||||
obj-$(CONFIG_SMP) += smp.o
|
||||
obj-$(CONFIG_METAG_SUSPEND_MEM) += suspend.o
|
||||
obj-$(CONFIG_METAG_USER_TCM) += tcm.o
|
14
arch/metag/kernel/asm-offsets.c
Normal file
14
arch/metag/kernel/asm-offsets.c
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* This program is used to generate definitions needed by
|
||||
* assembly language modules.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/kbuild.h>
|
||||
#include <linux/thread_info.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
DEFINE(THREAD_INFO_SIZE, sizeof(struct thread_info));
|
||||
return 0;
|
||||
}
|
75
arch/metag/kernel/metag_ksyms.c
Normal file
75
arch/metag/kernel/metag_ksyms.c
Normal file
@ -0,0 +1,75 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/user.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/hardirq.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
#include <asm/checksum.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/tbx.h>
|
||||
|
||||
/* uaccess symbols */
|
||||
EXPORT_SYMBOL(__copy_user_zeroing);
|
||||
EXPORT_SYMBOL(__copy_user);
|
||||
EXPORT_SYMBOL(__get_user_asm_b);
|
||||
EXPORT_SYMBOL(__get_user_asm_w);
|
||||
EXPORT_SYMBOL(__get_user_asm_d);
|
||||
EXPORT_SYMBOL(__put_user_asm_b);
|
||||
EXPORT_SYMBOL(__put_user_asm_w);
|
||||
EXPORT_SYMBOL(__put_user_asm_d);
|
||||
EXPORT_SYMBOL(__put_user_asm_l);
|
||||
EXPORT_SYMBOL(__strncpy_from_user);
|
||||
EXPORT_SYMBOL(strnlen_user);
|
||||
EXPORT_SYMBOL(__do_clear_user);
|
||||
|
||||
EXPORT_SYMBOL(pTBI_get);
|
||||
EXPORT_SYMBOL(meta_memoffset);
|
||||
EXPORT_SYMBOL(kick_register_func);
|
||||
EXPORT_SYMBOL(kick_unregister_func);
|
||||
#ifdef CONFIG_SMP
|
||||
EXPORT_SYMBOL(get_trigger_mask);
|
||||
#else
|
||||
EXPORT_SYMBOL(global_trigger_mask);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
||||
EXPORT_SYMBOL(pfn_base);
|
||||
#ifdef CONFIG_FLATMEM
|
||||
/* needed for the pfn_valid macro */
|
||||
EXPORT_SYMBOL(max_pfn);
|
||||
EXPORT_SYMBOL(min_low_pfn);
|
||||
#endif
|
||||
|
||||
/* TBI symbols */
|
||||
EXPORT_SYMBOL(__TBI);
|
||||
EXPORT_SYMBOL(__TBIFindSeg);
|
||||
EXPORT_SYMBOL(__TBIPoll);
|
||||
EXPORT_SYMBOL(__TBITimeStamp);
|
||||
|
||||
#define DECLARE_EXPORT(name) extern void name(void); EXPORT_SYMBOL(name)
|
||||
|
||||
/* libgcc functions */
|
||||
DECLARE_EXPORT(__ashldi3);
|
||||
DECLARE_EXPORT(__ashrdi3);
|
||||
DECLARE_EXPORT(__lshrdi3);
|
||||
DECLARE_EXPORT(__udivsi3);
|
||||
DECLARE_EXPORT(__divsi3);
|
||||
DECLARE_EXPORT(__umodsi3);
|
||||
DECLARE_EXPORT(__modsi3);
|
||||
DECLARE_EXPORT(__muldi3);
|
||||
DECLARE_EXPORT(__cmpdi2);
|
||||
DECLARE_EXPORT(__ucmpdi2);
|
||||
|
||||
/* Maths functions */
|
||||
EXPORT_SYMBOL(div_u64);
|
||||
EXPORT_SYMBOL(div_s64);
|
||||
|
||||
/* String functions */
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(memmove);
|
71
arch/metag/kernel/vmlinux.lds.S
Normal file
71
arch/metag/kernel/vmlinux.lds.S
Normal file
@ -0,0 +1,71 @@
|
||||
/* ld script to make Meta Linux kernel */
|
||||
|
||||
#include <asm/thread_info.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
#include <asm-generic/vmlinux.lds.h>
|
||||
|
||||
OUTPUT_FORMAT("elf32-metag", "elf32-metag", "elf32-metag")
|
||||
OUTPUT_ARCH(metag)
|
||||
ENTRY(__start)
|
||||
|
||||
_jiffies = _jiffies_64;
|
||||
SECTIONS
|
||||
{
|
||||
. = CONFIG_PAGE_OFFSET;
|
||||
_text = .;
|
||||
__text = .;
|
||||
__stext = .;
|
||||
HEAD_TEXT_SECTION
|
||||
.text : {
|
||||
TEXT_TEXT
|
||||
SCHED_TEXT
|
||||
LOCK_TEXT
|
||||
KPROBES_TEXT
|
||||
IRQENTRY_TEXT
|
||||
*(.text.*)
|
||||
*(.gnu.warning)
|
||||
}
|
||||
|
||||
__etext = .; /* End of text section */
|
||||
|
||||
__sdata = .;
|
||||
RO_DATA_SECTION(PAGE_SIZE)
|
||||
RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
|
||||
__edata = .; /* End of data section */
|
||||
|
||||
EXCEPTION_TABLE(16)
|
||||
NOTES
|
||||
|
||||
. = ALIGN(PAGE_SIZE); /* Init code and data */
|
||||
___init_begin = .;
|
||||
INIT_TEXT_SECTION(PAGE_SIZE)
|
||||
INIT_DATA_SECTION(16)
|
||||
|
||||
.init.arch.info : {
|
||||
___arch_info_begin = .;
|
||||
*(.arch.info.init)
|
||||
___arch_info_end = .;
|
||||
}
|
||||
|
||||
PERCPU_SECTION(L1_CACHE_BYTES)
|
||||
|
||||
___init_end = .;
|
||||
|
||||
BSS_SECTION(0, PAGE_SIZE, 0)
|
||||
|
||||
__end = .;
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__heap_start = .;
|
||||
|
||||
DWARF_DEBUG
|
||||
|
||||
/* When something in the kernel is NOT compiled as a module, the
|
||||
* module cleanup code and data are put into these segments. Both
|
||||
* can then be thrown away, as cleanup code is never called unless
|
||||
* it's a module.
|
||||
*/
|
||||
DISCARDS
|
||||
}
|
22
arch/metag/lib/Makefile
Normal file
22
arch/metag/lib/Makefile
Normal file
@ -0,0 +1,22 @@
|
||||
#
|
||||
# Makefile for Meta-specific library files.
|
||||
#
|
||||
|
||||
lib-y += usercopy.o
|
||||
lib-y += copy_page.o
|
||||
lib-y += clear_page.o
|
||||
lib-y += memcpy.o
|
||||
lib-y += memmove.o
|
||||
lib-y += memset.o
|
||||
lib-y += delay.o
|
||||
lib-y += div64.o
|
||||
lib-y += muldi3.o
|
||||
lib-y += ashrdi3.o
|
||||
lib-y += ashldi3.o
|
||||
lib-y += lshrdi3.o
|
||||
lib-y += divsi3.o
|
||||
lib-y += modsi3.o
|
||||
lib-y += cmpdi2.o
|
||||
lib-y += ucmpdi2.o
|
||||
lib-y += ip_fast_csum.o
|
||||
lib-y += checksum.o
|
153
arch/metag/mm/Kconfig
Normal file
153
arch/metag/mm/Kconfig
Normal file
@ -0,0 +1,153 @@
|
||||
menu "Memory management options"
|
||||
|
||||
config PAGE_OFFSET
|
||||
hex "Kernel page offset address"
|
||||
default "0x40000000"
|
||||
help
|
||||
This option allows you to set the virtual address at which the
|
||||
kernel will be mapped to.
|
||||
endmenu
|
||||
|
||||
config KERNEL_4M_PAGES
|
||||
bool "Map kernel with 4MB pages"
|
||||
depends on METAG_META21_MMU
|
||||
default y
|
||||
help
|
||||
Map the kernel with large pages to reduce TLB pressure.
|
||||
|
||||
choice
|
||||
prompt "User page size"
|
||||
default PAGE_SIZE_4K
|
||||
|
||||
config PAGE_SIZE_4K
|
||||
bool "4kB"
|
||||
help
|
||||
This is the default page size used by all Meta cores.
|
||||
|
||||
config PAGE_SIZE_8K
|
||||
bool "8kB"
|
||||
depends on METAG_META21_MMU
|
||||
help
|
||||
This enables 8kB pages as supported by Meta 2.x and later MMUs.
|
||||
|
||||
config PAGE_SIZE_16K
|
||||
bool "16kB"
|
||||
depends on METAG_META21_MMU
|
||||
help
|
||||
This enables 16kB pages as supported by Meta 2.x and later MMUs.
|
||||
|
||||
endchoice
|
||||
|
||||
config NUMA
|
||||
bool "Non Uniform Memory Access (NUMA) Support"
|
||||
help
|
||||
Some Meta systems have MMU-mappable on-chip memories with
|
||||
lower latencies than main memory. This enables support for
|
||||
these blocks by binding them to nodes and allowing
|
||||
memory policies to be used for prioritizing and controlling
|
||||
allocation behaviour.
|
||||
|
||||
config FORCE_MAX_ZONEORDER
|
||||
int "Maximum zone order"
|
||||
range 10 32
|
||||
default "10"
|
||||
help
|
||||
The kernel memory allocator divides physically contiguous memory
|
||||
blocks into "zones", where each zone is a power of two number of
|
||||
pages. This option selects the largest power of two that the kernel
|
||||
keeps in the memory allocator. If you need to allocate very large
|
||||
blocks of physically contiguous memory, then you may need to
|
||||
increase this value.
|
||||
|
||||
This config option is actually maximum order plus one. For example,
|
||||
a value of 11 means that the largest free memory block is 2^10 pages.
|
||||
|
||||
The page size is not necessarily 4KB. Keep this in mind
|
||||
when choosing a value for this option.
|
||||
|
||||
config METAG_L2C
|
||||
bool "Level 2 Cache Support"
|
||||
depends on METAG_META21
|
||||
help
|
||||
Press y here to enable support for the Meta Level 2 (L2) cache. This
|
||||
will enable the cache at start up if it hasn't already been enabled
|
||||
by the bootloader.
|
||||
|
||||
If the bootloader enables the L2 you must press y here to ensure the
|
||||
kernel takes the appropriate actions to keep the cache coherent.
|
||||
|
||||
config NODES_SHIFT
|
||||
int
|
||||
default "1"
|
||||
depends on NEED_MULTIPLE_NODES
|
||||
|
||||
config ARCH_FLATMEM_ENABLE
|
||||
def_bool y
|
||||
depends on !NUMA
|
||||
|
||||
config ARCH_SPARSEMEM_ENABLE
|
||||
def_bool y
|
||||
select SPARSEMEM_STATIC
|
||||
|
||||
config ARCH_SPARSEMEM_DEFAULT
|
||||
def_bool y
|
||||
|
||||
config MAX_ACTIVE_REGIONS
|
||||
int
|
||||
default "2" if SPARSEMEM
|
||||
default "1"
|
||||
|
||||
config ARCH_POPULATES_NODE_MAP
|
||||
def_bool y
|
||||
|
||||
config ARCH_SELECT_MEMORY_MODEL
|
||||
def_bool y
|
||||
|
||||
config SYS_SUPPORTS_HUGETLBFS
|
||||
def_bool y
|
||||
depends on METAG_META21_MMU
|
||||
|
||||
choice
|
||||
prompt "HugeTLB page size"
|
||||
depends on METAG_META21_MMU && HUGETLB_PAGE
|
||||
default HUGETLB_PAGE_SIZE_1M
|
||||
|
||||
config HUGETLB_PAGE_SIZE_8K
|
||||
bool "8kB"
|
||||
depends on PAGE_SIZE_4K
|
||||
|
||||
config HUGETLB_PAGE_SIZE_16K
|
||||
bool "16kB"
|
||||
depends on PAGE_SIZE_4K || PAGE_SIZE_8K
|
||||
|
||||
config HUGETLB_PAGE_SIZE_32K
|
||||
bool "32kB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_64K
|
||||
bool "64kB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_128K
|
||||
bool "128kB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_256K
|
||||
bool "256kB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_512K
|
||||
bool "512kB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_1M
|
||||
bool "1MB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_2M
|
||||
bool "2MB"
|
||||
|
||||
config HUGETLB_PAGE_SIZE_4M
|
||||
bool "4MB"
|
||||
|
||||
endchoice
|
||||
|
||||
config METAG_COREMEM
|
||||
bool
|
||||
default y if SUSPEND
|
||||
|
||||
source "mm/Kconfig"
|
19
arch/metag/mm/Makefile
Normal file
19
arch/metag/mm/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
#
|
||||
# Makefile for the linux Meta-specific parts of the memory manager.
|
||||
#
|
||||
|
||||
obj-y += cache.o
|
||||
obj-y += extable.o
|
||||
obj-y += fault.o
|
||||
obj-y += init.o
|
||||
obj-y += ioremap.o
|
||||
obj-y += maccess.o
|
||||
|
||||
mmu-y := mmu-meta1.o
|
||||
mmu-$(CONFIG_METAG_META21_MMU) := mmu-meta2.o
|
||||
obj-y += $(mmu-y)
|
||||
|
||||
obj-$(CONFIG_HIGHMEM) += highmem.o
|
||||
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
|
||||
obj-$(CONFIG_METAG_L2C) += l2cache.o
|
||||
obj-$(CONFIG_NUMA) += numa.o
|
21
arch/metag/tbx/Makefile
Normal file
21
arch/metag/tbx/Makefile
Normal file
@ -0,0 +1,21 @@
|
||||
#
|
||||
# Makefile for TBX library files..
|
||||
#
|
||||
|
||||
asflags-y += -mmetac=2.1 -Wa,-mfpu=metac21 -mdsp
|
||||
asflags-$(CONFIG_SMP) += -DTBX_PERCPU_SP_SAVE
|
||||
|
||||
ccflags-y += -mmetac=2.1
|
||||
|
||||
lib-y += tbicore.o
|
||||
lib-y += tbictx.o
|
||||
lib-y += tbidefr.o
|
||||
lib-y += tbilogf.o
|
||||
lib-y += tbipcx.o
|
||||
lib-y += tbiroot.o
|
||||
lib-y += tbisoft.o
|
||||
lib-y += tbistring.o
|
||||
lib-y += tbitimer.o
|
||||
|
||||
lib-$(CONFIG_METAG_DSP) += tbidspram.o
|
||||
lib-$(CONFIG_METAG_FPU) += tbictxfpu.o
|
Loading…
Reference in New Issue
Block a user