From bb6fb6dfcc17cddac11ac295861f7608194447a7 Mon Sep 17 00:00:00 2001 From: James Hogan Date: Tue, 24 Oct 2017 13:07:54 +0100 Subject: metag: Remove arch/metag/ The earliest Meta architecture port of Linux I have a record of was an import of a Meta port of Linux v2.4.1 in February 2004, which was worked on significantly over the next few years by Graham Whaley, Will Newton, Matt Fleming, myself and others. Eventually the port was merged into mainline in v3.9 in March 2013, not long after Imagination Technologies bought MIPS Technologies and shifted its CPU focus over to the MIPS architecture. As a result, though the port was maintained for a while, kept on life support for a while longer, and useful for testing a few specific drivers for which I don't have ready access to the equivalent MIPS hardware, it is now essentially dead with no users. It is also stuck using an out-of-tree toolchain based on GCC 4.2.4 which is no longer maintained, now struggles to build modern kernels due to toolchain bugs, and doesn't itself build with a modern GCC. The latest buildroot port is still using an old uClibc snapshot which is no longer served, and the latest uClibc doesn't build with GCC 4.2.4. So lets call it a day and drop the Meta architecture port from the kernel. RIP Meta. Signed-off-by: James Hogan Link: https://lkml.kernel.org/r/95906b76-6ce1-3f84-eaba-c29b4ae952eb@roeck-us.net Reviewed-by: Guenter Roeck Acked-by: Peter Zijlstra (Intel) Acked-by: Graham Whaley Cc: linux-metag@vger.kernel.org --- arch/metag/Kconfig | 287 ------ arch/metag/Kconfig.debug | 34 - arch/metag/Kconfig.soc | 69 -- arch/metag/Makefile | 89 -- arch/metag/boot/.gitignore | 3 - arch/metag/boot/Makefile | 68 -- arch/metag/boot/dts/Makefile | 16 - arch/metag/boot/dts/skeleton.dts | 10 - arch/metag/boot/dts/skeleton.dtsi | 15 - arch/metag/boot/dts/tz1090.dtsi | 108 --- arch/metag/boot/dts/tz1090_generic.dts | 10 - arch/metag/configs/meta1_defconfig | 39 - arch/metag/configs/meta2_defconfig | 40 - arch/metag/configs/meta2_smp_defconfig | 41 - arch/metag/configs/tz1090_defconfig | 42 - arch/metag/include/asm/Kbuild | 33 - arch/metag/include/asm/atomic.h | 49 -- arch/metag/include/asm/atomic_lnkget.h | 204 ----- arch/metag/include/asm/atomic_lock1.h | 157 ---- arch/metag/include/asm/barrier.h | 85 -- arch/metag/include/asm/bitops.h | 127 --- arch/metag/include/asm/bug.h | 13 - arch/metag/include/asm/cache.h | 24 - arch/metag/include/asm/cacheflush.h | 251 ------ arch/metag/include/asm/cachepart.h | 43 - arch/metag/include/asm/checksum.h | 93 -- arch/metag/include/asm/clock.h | 59 -- arch/metag/include/asm/cmpxchg.h | 64 -- arch/metag/include/asm/cmpxchg_irq.h | 43 - arch/metag/include/asm/cmpxchg_lnkget.h | 87 -- arch/metag/include/asm/cmpxchg_lock1.h | 49 -- arch/metag/include/asm/core_reg.h | 36 - arch/metag/include/asm/cpu.h | 15 - arch/metag/include/asm/da.h | 44 - arch/metag/include/asm/delay.h | 30 - arch/metag/include/asm/div64.h | 13 - arch/metag/include/asm/dma-mapping.h | 12 - arch/metag/include/asm/elf.h | 126 --- arch/metag/include/asm/fixmap.h | 69 -- arch/metag/include/asm/ftrace.h | 24 - arch/metag/include/asm/global_lock.h | 101 --- arch/metag/include/asm/highmem.h | 62 -- arch/metag/include/asm/hugetlb.h | 75 -- arch/metag/include/asm/hwthread.h | 41 - arch/metag/include/asm/io.h | 170 ---- arch/metag/include/asm/irq.h | 38 - arch/metag/include/asm/irqflags.h | 94 -- arch/metag/include/asm/l2cache.h | 259 ------ arch/metag/include/asm/linkage.h | 8 - arch/metag/include/asm/mach/arch.h | 86 -- arch/metag/include/asm/metag_isa.h | 81 -- arch/metag/include/asm/metag_mem.h | 1109 ----------------------- arch/metag/include/asm/metag_regs.h | 1184 ------------------------- arch/metag/include/asm/mman.h | 12 - arch/metag/include/asm/mmu.h | 78 -- arch/metag/include/asm/mmu_context.h | 115 --- arch/metag/include/asm/mmzone.h | 43 - arch/metag/include/asm/module.h | 38 - arch/metag/include/asm/page.h | 129 --- arch/metag/include/asm/perf_event.h | 4 - arch/metag/include/asm/pgalloc.h | 83 -- arch/metag/include/asm/pgtable-bits.h | 105 --- arch/metag/include/asm/pgtable.h | 270 ------ arch/metag/include/asm/processor.h | 201 ----- arch/metag/include/asm/ptrace.h | 61 -- arch/metag/include/asm/setup.h | 10 - arch/metag/include/asm/smp.h | 28 - arch/metag/include/asm/sparsemem.h | 14 - arch/metag/include/asm/spinlock.h | 19 - arch/metag/include/asm/spinlock_lnkget.h | 213 ----- arch/metag/include/asm/spinlock_lock1.h | 165 ---- arch/metag/include/asm/spinlock_types.h | 21 - arch/metag/include/asm/stacktrace.h | 21 - arch/metag/include/asm/string.h | 14 - arch/metag/include/asm/switch.h | 21 - arch/metag/include/asm/syscall.h | 104 --- arch/metag/include/asm/syscalls.h | 40 - arch/metag/include/asm/tbx.h | 1420 ------------------------------ arch/metag/include/asm/tcm.h | 31 - arch/metag/include/asm/thread_info.h | 141 --- arch/metag/include/asm/tlb.h | 37 - arch/metag/include/asm/tlbflush.h | 78 -- arch/metag/include/asm/topology.h | 28 - arch/metag/include/asm/traps.h | 48 - arch/metag/include/asm/uaccess.h | 213 ----- arch/metag/include/asm/unistd.h | 12 - arch/metag/include/asm/user_gateway.h | 45 - arch/metag/include/uapi/asm/Kbuild | 31 - arch/metag/include/uapi/asm/byteorder.h | 2 - arch/metag/include/uapi/asm/ech.h | 16 - arch/metag/include/uapi/asm/ptrace.h | 114 --- arch/metag/include/uapi/asm/sigcontext.h | 32 - arch/metag/include/uapi/asm/siginfo.h | 16 - arch/metag/include/uapi/asm/swab.h | 27 - arch/metag/include/uapi/asm/unistd.h | 24 - arch/metag/kernel/.gitignore | 1 - arch/metag/kernel/Makefile | 40 - arch/metag/kernel/asm-offsets.c | 15 - arch/metag/kernel/cachepart.c | 132 --- arch/metag/kernel/clock.c | 110 --- arch/metag/kernel/core_reg.c | 118 --- arch/metag/kernel/da.c | 25 - arch/metag/kernel/devtree.c | 57 -- arch/metag/kernel/dma.c | 588 ------------- arch/metag/kernel/ftrace.c | 121 --- arch/metag/kernel/ftrace_stub.S | 62 -- arch/metag/kernel/head.S | 66 -- arch/metag/kernel/irq.c | 293 ------ arch/metag/kernel/kick.c | 110 --- arch/metag/kernel/machines.c | 21 - arch/metag/kernel/metag_ksyms.c | 55 -- arch/metag/kernel/module.c | 284 ------ arch/metag/kernel/perf/Makefile | 3 - arch/metag/kernel/perf/perf_event.c | 879 ------------------ arch/metag/kernel/perf/perf_event.h | 106 --- arch/metag/kernel/perf_callchain.c | 97 -- arch/metag/kernel/process.c | 448 ---------- arch/metag/kernel/ptrace.c | 427 --------- arch/metag/kernel/setup.c | 622 ------------- arch/metag/kernel/signal.c | 336 ------- arch/metag/kernel/smp.c | 668 -------------- arch/metag/kernel/stacktrace.c | 187 ---- arch/metag/kernel/sys_metag.c | 181 ---- arch/metag/kernel/tbiunexp.S | 23 - arch/metag/kernel/tcm.c | 152 ---- arch/metag/kernel/time.c | 26 - arch/metag/kernel/topology.c | 78 -- arch/metag/kernel/traps.c | 992 --------------------- arch/metag/kernel/user_gateway.S | 98 --- arch/metag/kernel/vmlinux.lds.S | 74 -- arch/metag/lib/Makefile | 23 - arch/metag/lib/ashldi3.S | 34 - arch/metag/lib/ashrdi3.S | 34 - arch/metag/lib/checksum.c | 167 ---- arch/metag/lib/clear_page.S | 18 - arch/metag/lib/cmpdi2.S | 33 - arch/metag/lib/copy_page.S | 21 - arch/metag/lib/delay.c | 57 -- arch/metag/lib/div64.S | 109 --- arch/metag/lib/divsi3.S | 101 --- arch/metag/lib/ip_fast_csum.S | 33 - arch/metag/lib/lshrdi3.S | 34 - arch/metag/lib/memcpy.S | 186 ---- arch/metag/lib/memmove.S | 346 -------- arch/metag/lib/memset.S | 87 -- arch/metag/lib/modsi3.S | 39 - arch/metag/lib/muldi3.S | 45 - arch/metag/lib/ucmpdi2.S | 28 - arch/metag/lib/usercopy.c | 1257 -------------------------- arch/metag/mm/Kconfig | 147 ---- arch/metag/mm/Makefile | 20 - arch/metag/mm/cache.c | 521 ----------- arch/metag/mm/extable.c | 15 - arch/metag/mm/fault.c | 247 ------ arch/metag/mm/highmem.c | 122 --- arch/metag/mm/hugetlbpage.c | 251 ------ arch/metag/mm/init.c | 408 --------- arch/metag/mm/ioremap.c | 90 -- arch/metag/mm/l2cache.c | 193 ---- arch/metag/mm/maccess.c | 69 -- arch/metag/mm/mmu-meta1.c | 157 ---- arch/metag/mm/mmu-meta2.c | 208 ----- arch/metag/mm/numa.c | 82 -- arch/metag/oprofile/Makefile | 18 - arch/metag/oprofile/backtrace.c | 63 -- arch/metag/oprofile/backtrace.h | 7 - arch/metag/oprofile/common.c | 66 -- arch/metag/tbx/Makefile | 22 - arch/metag/tbx/tbicore.S | 136 --- arch/metag/tbx/tbictx.S | 366 -------- arch/metag/tbx/tbictxfpu.S | 190 ---- arch/metag/tbx/tbidefr.S | 175 ---- arch/metag/tbx/tbidspram.S | 161 ---- arch/metag/tbx/tbilogf.S | 48 - arch/metag/tbx/tbipcx.S | 451 ---------- arch/metag/tbx/tbiroot.S | 87 -- arch/metag/tbx/tbisoft.S | 237 ----- arch/metag/tbx/tbistring.c | 114 --- arch/metag/tbx/tbitimer.S | 207 ----- 179 files changed, 25078 deletions(-) delete mode 100644 arch/metag/Kconfig delete mode 100644 arch/metag/Kconfig.debug delete mode 100644 arch/metag/Kconfig.soc delete mode 100644 arch/metag/Makefile delete mode 100644 arch/metag/boot/.gitignore delete mode 100644 arch/metag/boot/Makefile delete mode 100644 arch/metag/boot/dts/Makefile delete mode 100644 arch/metag/boot/dts/skeleton.dts delete mode 100644 arch/metag/boot/dts/skeleton.dtsi delete mode 100644 arch/metag/boot/dts/tz1090.dtsi delete mode 100644 arch/metag/boot/dts/tz1090_generic.dts delete mode 100644 arch/metag/configs/meta1_defconfig delete mode 100644 arch/metag/configs/meta2_defconfig delete mode 100644 arch/metag/configs/meta2_smp_defconfig delete mode 100644 arch/metag/configs/tz1090_defconfig delete mode 100644 arch/metag/include/asm/Kbuild delete mode 100644 arch/metag/include/asm/atomic.h delete mode 100644 arch/metag/include/asm/atomic_lnkget.h delete mode 100644 arch/metag/include/asm/atomic_lock1.h delete mode 100644 arch/metag/include/asm/barrier.h delete mode 100644 arch/metag/include/asm/bitops.h delete mode 100644 arch/metag/include/asm/bug.h delete mode 100644 arch/metag/include/asm/cache.h delete mode 100644 arch/metag/include/asm/cacheflush.h delete mode 100644 arch/metag/include/asm/cachepart.h delete mode 100644 arch/metag/include/asm/checksum.h delete mode 100644 arch/metag/include/asm/clock.h delete mode 100644 arch/metag/include/asm/cmpxchg.h delete mode 100644 arch/metag/include/asm/cmpxchg_irq.h delete mode 100644 arch/metag/include/asm/cmpxchg_lnkget.h delete mode 100644 arch/metag/include/asm/cmpxchg_lock1.h delete mode 100644 arch/metag/include/asm/core_reg.h delete mode 100644 arch/metag/include/asm/cpu.h delete mode 100644 arch/metag/include/asm/da.h delete mode 100644 arch/metag/include/asm/delay.h delete mode 100644 arch/metag/include/asm/div64.h delete mode 100644 arch/metag/include/asm/dma-mapping.h delete mode 100644 arch/metag/include/asm/elf.h delete mode 100644 arch/metag/include/asm/fixmap.h delete mode 100644 arch/metag/include/asm/ftrace.h delete mode 100644 arch/metag/include/asm/global_lock.h delete mode 100644 arch/metag/include/asm/highmem.h delete mode 100644 arch/metag/include/asm/hugetlb.h delete mode 100644 arch/metag/include/asm/hwthread.h delete mode 100644 arch/metag/include/asm/io.h delete mode 100644 arch/metag/include/asm/irq.h delete mode 100644 arch/metag/include/asm/irqflags.h delete mode 100644 arch/metag/include/asm/l2cache.h delete mode 100644 arch/metag/include/asm/linkage.h delete mode 100644 arch/metag/include/asm/mach/arch.h delete mode 100644 arch/metag/include/asm/metag_isa.h delete mode 100644 arch/metag/include/asm/metag_mem.h delete mode 100644 arch/metag/include/asm/metag_regs.h delete mode 100644 arch/metag/include/asm/mman.h delete mode 100644 arch/metag/include/asm/mmu.h delete mode 100644 arch/metag/include/asm/mmu_context.h delete mode 100644 arch/metag/include/asm/mmzone.h delete mode 100644 arch/metag/include/asm/module.h delete mode 100644 arch/metag/include/asm/page.h delete mode 100644 arch/metag/include/asm/perf_event.h delete mode 100644 arch/metag/include/asm/pgalloc.h delete mode 100644 arch/metag/include/asm/pgtable-bits.h delete mode 100644 arch/metag/include/asm/pgtable.h delete mode 100644 arch/metag/include/asm/processor.h delete mode 100644 arch/metag/include/asm/ptrace.h delete mode 100644 arch/metag/include/asm/setup.h delete mode 100644 arch/metag/include/asm/smp.h delete mode 100644 arch/metag/include/asm/sparsemem.h delete mode 100644 arch/metag/include/asm/spinlock.h delete mode 100644 arch/metag/include/asm/spinlock_lnkget.h delete mode 100644 arch/metag/include/asm/spinlock_lock1.h delete mode 100644 arch/metag/include/asm/spinlock_types.h delete mode 100644 arch/metag/include/asm/stacktrace.h delete mode 100644 arch/metag/include/asm/string.h delete mode 100644 arch/metag/include/asm/switch.h delete mode 100644 arch/metag/include/asm/syscall.h delete mode 100644 arch/metag/include/asm/syscalls.h delete mode 100644 arch/metag/include/asm/tbx.h delete mode 100644 arch/metag/include/asm/tcm.h delete mode 100644 arch/metag/include/asm/thread_info.h delete mode 100644 arch/metag/include/asm/tlb.h delete mode 100644 arch/metag/include/asm/tlbflush.h delete mode 100644 arch/metag/include/asm/topology.h delete mode 100644 arch/metag/include/asm/traps.h delete mode 100644 arch/metag/include/asm/uaccess.h delete mode 100644 arch/metag/include/asm/unistd.h delete mode 100644 arch/metag/include/asm/user_gateway.h delete mode 100644 arch/metag/include/uapi/asm/Kbuild delete mode 100644 arch/metag/include/uapi/asm/byteorder.h delete mode 100644 arch/metag/include/uapi/asm/ech.h delete mode 100644 arch/metag/include/uapi/asm/ptrace.h delete mode 100644 arch/metag/include/uapi/asm/sigcontext.h delete mode 100644 arch/metag/include/uapi/asm/siginfo.h delete mode 100644 arch/metag/include/uapi/asm/swab.h delete mode 100644 arch/metag/include/uapi/asm/unistd.h delete mode 100644 arch/metag/kernel/.gitignore delete mode 100644 arch/metag/kernel/Makefile delete mode 100644 arch/metag/kernel/asm-offsets.c delete mode 100644 arch/metag/kernel/cachepart.c delete mode 100644 arch/metag/kernel/clock.c delete mode 100644 arch/metag/kernel/core_reg.c delete mode 100644 arch/metag/kernel/da.c delete mode 100644 arch/metag/kernel/devtree.c delete mode 100644 arch/metag/kernel/dma.c delete mode 100644 arch/metag/kernel/ftrace.c delete mode 100644 arch/metag/kernel/ftrace_stub.S delete mode 100644 arch/metag/kernel/head.S delete mode 100644 arch/metag/kernel/irq.c delete mode 100644 arch/metag/kernel/kick.c delete mode 100644 arch/metag/kernel/machines.c delete mode 100644 arch/metag/kernel/metag_ksyms.c delete mode 100644 arch/metag/kernel/module.c delete mode 100644 arch/metag/kernel/perf/Makefile delete mode 100644 arch/metag/kernel/perf/perf_event.c delete mode 100644 arch/metag/kernel/perf/perf_event.h delete mode 100644 arch/metag/kernel/perf_callchain.c delete mode 100644 arch/metag/kernel/process.c delete mode 100644 arch/metag/kernel/ptrace.c delete mode 100644 arch/metag/kernel/setup.c delete mode 100644 arch/metag/kernel/signal.c delete mode 100644 arch/metag/kernel/smp.c delete mode 100644 arch/metag/kernel/stacktrace.c delete mode 100644 arch/metag/kernel/sys_metag.c delete mode 100644 arch/metag/kernel/tbiunexp.S delete mode 100644 arch/metag/kernel/tcm.c delete mode 100644 arch/metag/kernel/time.c delete mode 100644 arch/metag/kernel/topology.c delete mode 100644 arch/metag/kernel/traps.c delete mode 100644 arch/metag/kernel/user_gateway.S delete mode 100644 arch/metag/kernel/vmlinux.lds.S delete mode 100644 arch/metag/lib/Makefile delete mode 100644 arch/metag/lib/ashldi3.S delete mode 100644 arch/metag/lib/ashrdi3.S delete mode 100644 arch/metag/lib/checksum.c delete mode 100644 arch/metag/lib/clear_page.S delete mode 100644 arch/metag/lib/cmpdi2.S delete mode 100644 arch/metag/lib/copy_page.S delete mode 100644 arch/metag/lib/delay.c delete mode 100644 arch/metag/lib/div64.S delete mode 100644 arch/metag/lib/divsi3.S delete mode 100644 arch/metag/lib/ip_fast_csum.S delete mode 100644 arch/metag/lib/lshrdi3.S delete mode 100644 arch/metag/lib/memcpy.S delete mode 100644 arch/metag/lib/memmove.S delete mode 100644 arch/metag/lib/memset.S delete mode 100644 arch/metag/lib/modsi3.S delete mode 100644 arch/metag/lib/muldi3.S delete mode 100644 arch/metag/lib/ucmpdi2.S delete mode 100644 arch/metag/lib/usercopy.c delete mode 100644 arch/metag/mm/Kconfig delete mode 100644 arch/metag/mm/Makefile delete mode 100644 arch/metag/mm/cache.c delete mode 100644 arch/metag/mm/extable.c delete mode 100644 arch/metag/mm/fault.c delete mode 100644 arch/metag/mm/highmem.c delete mode 100644 arch/metag/mm/hugetlbpage.c delete mode 100644 arch/metag/mm/init.c delete mode 100644 arch/metag/mm/ioremap.c delete mode 100644 arch/metag/mm/l2cache.c delete mode 100644 arch/metag/mm/maccess.c delete mode 100644 arch/metag/mm/mmu-meta1.c delete mode 100644 arch/metag/mm/mmu-meta2.c delete mode 100644 arch/metag/mm/numa.c delete mode 100644 arch/metag/oprofile/Makefile delete mode 100644 arch/metag/oprofile/backtrace.c delete mode 100644 arch/metag/oprofile/backtrace.h delete mode 100644 arch/metag/oprofile/common.c delete mode 100644 arch/metag/tbx/Makefile delete mode 100644 arch/metag/tbx/tbicore.S delete mode 100644 arch/metag/tbx/tbictx.S delete mode 100644 arch/metag/tbx/tbictxfpu.S delete mode 100644 arch/metag/tbx/tbidefr.S delete mode 100644 arch/metag/tbx/tbidspram.S delete mode 100644 arch/metag/tbx/tbilogf.S delete mode 100644 arch/metag/tbx/tbipcx.S delete mode 100644 arch/metag/tbx/tbiroot.S delete mode 100644 arch/metag/tbx/tbisoft.S delete mode 100644 arch/metag/tbx/tbistring.c delete mode 100644 arch/metag/tbx/tbitimer.S diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig deleted file mode 100644 index c7b62a339539..000000000000 --- a/arch/metag/Kconfig +++ /dev/null @@ -1,287 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -config METAG - def_bool y - select EMBEDDED - select GENERIC_ATOMIC64 - select GENERIC_CLOCKEVENTS - select GENERIC_IRQ_SHOW - select GENERIC_SMP_IDLE_THREAD - select HAVE_64BIT_ALIGNED_ACCESS - select HAVE_ARCH_TRACEHOOK - select HAVE_C_RECORDMCOUNT - select HAVE_DEBUG_KMEMLEAK - select HAVE_DEBUG_STACKOVERFLOW - select HAVE_DYNAMIC_FTRACE - select HAVE_EXIT_THREAD - select HAVE_FTRACE_MCOUNT_RECORD - select HAVE_FUNCTION_TRACER - 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_OPROFILE - select HAVE_PERF_EVENTS - select HAVE_SYSCALL_TRACEPOINTS - select HAVE_UNDERSCORE_SYMBOL_PREFIX - select IRQ_DOMAIN - select GENERIC_IRQ_EFFECTIVE_AFF_MASK - select MODULES_USE_ELF_RELA - select OF - select OF_EARLY_FLATTREE - select SPARSE_IRQ - select CPU_NO_EFFICIENT_FFS - -config STACKTRACE_SUPPORT - def_bool y - -config LOCKDEP_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 NO_IOPORT_MAP - 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 - 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. - -config HW_PERF_EVENTS - def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS - -config METAG_DA - bool "DA support" - help - Say Y if you plan to use a DA debug adapter with Linux. The presence - of the DA will be detected automatically at boot, so it is safe to say - Y to this option even when booting without a DA. - - This enables support for services provided by DA JTAG debug adapters, - such as: - - communication over DA channels (such as the console driver). - - use of the DA filesystem. - -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" diff --git a/arch/metag/Kconfig.debug b/arch/metag/Kconfig.debug deleted file mode 100644 index ac4516c605db..000000000000 --- a/arch/metag/Kconfig.debug +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -menu "Kernel hacking" - -config TRACE_IRQFLAGS_SUPPORT - bool - default y - -source "lib/Kconfig.debug" - -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 diff --git a/arch/metag/Kconfig.soc b/arch/metag/Kconfig.soc deleted file mode 100644 index c521f0e00d8e..000000000000 --- a/arch/metag/Kconfig.soc +++ /dev/null @@ -1,69 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -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. - -config SOC_TZ1090 - bool "Toumaz Xenif TZ1090 SoC (Comet)" - select IMGPDC_IRQ - select METAG_LNKGET_AROUND_CACHE - select METAG_META21 - select METAG_SMP_WRITE_REORDERING - select PINCTRL - select PINCTRL_TZ1090 - select PINCTRL_TZ1090_PDC - help - This is a Toumaz Technology Xenif TZ1090 (A.K.A. Comet) SoC containing - a 2-threaded HTP. - -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 diff --git a/arch/metag/Makefile b/arch/metag/Makefile deleted file mode 100644 index 033a58214119..000000000000 --- a/arch/metag/Makefile +++ /dev/null @@ -1,89 +0,0 @@ -# -# 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 := tz1090_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/ - -drivers-$(CONFIG_OPROFILE) += arch/metag/oprofile/ - -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 - -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 diff --git a/arch/metag/boot/.gitignore b/arch/metag/boot/.gitignore deleted file mode 100644 index 6c662ddb909a..000000000000 --- a/arch/metag/boot/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vmlinux* -uImage* -ramdisk.* diff --git a/arch/metag/boot/Makefile b/arch/metag/boot/Makefile deleted file mode 100644 index 5a1f88cf91e3..000000000000 --- a/arch/metag/boot/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -# -# 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' diff --git a/arch/metag/boot/dts/Makefile b/arch/metag/boot/dts/Makefile deleted file mode 100644 index f0a180f62766..000000000000 --- a/arch/metag/boot/dts/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -dtb-y += skeleton.dtb -dtb-y += tz1090_generic.dtb - -# Built-in dtb -builtindtb-y := skeleton -builtindtb-$(CONFIG_SOC_TZ1090) := tz1090_generic - -ifneq ($(CONFIG_METAG_BUILTIN_DTB_NAME),"") - builtindtb-y := $(patsubst "%",%,$(CONFIG_METAG_BUILTIN_DTB_NAME)) -endif - -dtb-$(CONFIG_METAG_BUILTIN_DTB) += $(builtindtb-y).dtb -obj-$(CONFIG_METAG_BUILTIN_DTB) += $(builtindtb-y).dtb.o - -.SECONDARY: $(obj)/$(builtindtb-y).dtb.S diff --git a/arch/metag/boot/dts/skeleton.dts b/arch/metag/boot/dts/skeleton.dts deleted file mode 100644 index 7a49aeb365d0..000000000000 --- a/arch/metag/boot/dts/skeleton.dts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (C) 2012 Imagination Technologies Ltd. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -/dts-v1/; - -#include "skeleton.dtsi" diff --git a/arch/metag/boot/dts/skeleton.dtsi b/arch/metag/boot/dts/skeleton.dtsi deleted file mode 100644 index 43e2ffe73c27..000000000000 --- a/arch/metag/boot/dts/skeleton.dtsi +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Skeleton device tree; the bare minimum needed to boot; just include and - * add a compatible value. The bootloader will typically populate the memory - * node. - */ - -/ { - compatible = "img,meta"; - #address-cells = <1>; - #size-cells = <1>; - chosen { }; - aliases { }; - memory { device_type = "memory"; reg = <0 0>; }; -}; diff --git a/arch/metag/boot/dts/tz1090.dtsi b/arch/metag/boot/dts/tz1090.dtsi deleted file mode 100644 index 24ea7d2e9138..000000000000 --- a/arch/metag/boot/dts/tz1090.dtsi +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2012 Imagination Technologies Ltd. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include "skeleton.dtsi" - -#include - -/ { - compatible = "toumaz,tz1090", "img,meta"; - - interrupt-parent = <&intc>; - - intc: interrupt-controller { - compatible = "img,meta-intc"; - interrupt-controller; - #interrupt-cells = <2>; - num-banks = <2>; - }; - - soc { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - pdc: pdc@0x02006000 { - interrupt-controller; - #interrupt-cells = <2>; - - reg = <0x02006000 0x1000>; - compatible = "img,pdc-intc"; - - num-perips = <3>; - num-syswakes = <3>; - - interrupts = <18 IRQ_TYPE_LEVEL_HIGH>, /* Syswakes */ - <30 IRQ_TYPE_LEVEL_HIGH>, /* Perip 0 (RTC) */ - <29 IRQ_TYPE_LEVEL_HIGH>, /* Perip 1 (IR) */ - <31 IRQ_TYPE_LEVEL_HIGH>; /* Perip 2 (WDT) */ - }; - - pinctrl: pinctrl@02005800 { - #gpio-range-cells = <3>; - compatible = "img,tz1090-pinctrl"; - reg = <0x02005800 0xe4>; - }; - - pdc_pinctrl: pinctrl@02006500 { - #gpio-range-cells = <3>; - compatible = "img,tz1090-pdc-pinctrl"; - reg = <0x02006500 0x100>; - }; - - gpios: gpios@02005800 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "img,tz1090-gpio"; - reg = <0x02005800 0x90>; - - gpios0: bank@0 { - gpio-controller; - interrupt-controller; - #gpio-cells = <2>; - #interrupt-cells = <2>; - reg = <0>; - interrupts = <13 IRQ_TYPE_LEVEL_HIGH>; - gpio-ranges = <&pinctrl 0 0 30>; - }; - gpios1: bank@1 { - gpio-controller; - interrupt-controller; - #gpio-cells = <2>; - #interrupt-cells = <2>; - reg = <1>; - interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; - gpio-ranges = <&pinctrl 0 30 30>; - }; - gpios2: bank@2 { - gpio-controller; - interrupt-controller; - #gpio-cells = <2>; - #interrupt-cells = <2>; - reg = <2>; - interrupts = <15 IRQ_TYPE_LEVEL_HIGH>; - gpio-ranges = <&pinctrl 0 60 30>; - }; - }; - - pdc_gpios: gpios@02006500 { - gpio-controller; - #gpio-cells = <2>; - - compatible = "img,tz1090-pdc-gpio"; - reg = <0x02006500 0x100>; - - interrupt-parent = <&pdc>; - interrupts = <8 IRQ_TYPE_NONE>, - <9 IRQ_TYPE_NONE>, - <10 IRQ_TYPE_NONE>; - gpio-ranges = <&pdc_pinctrl 0 0 7>; - }; - }; -}; diff --git a/arch/metag/boot/dts/tz1090_generic.dts b/arch/metag/boot/dts/tz1090_generic.dts deleted file mode 100644 index f96090955964..000000000000 --- a/arch/metag/boot/dts/tz1090_generic.dts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (C) 2012 Imagination Technologies Ltd. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -/dts-v1/; - -#include "tz1090.dtsi" diff --git a/arch/metag/configs/meta1_defconfig b/arch/metag/configs/meta1_defconfig deleted file mode 100644 index 01cd67e4403d..000000000000 --- a/arch/metag/configs/meta1_defconfig +++ /dev/null @@ -1,39 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -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_METAG_DA=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_DA_TTY=y -CONFIG_DA_CONSOLE=y -# 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 diff --git a/arch/metag/configs/meta2_defconfig b/arch/metag/configs/meta2_defconfig deleted file mode 100644 index 643392ba7ed5..000000000000 --- a/arch/metag/configs/meta2_defconfig +++ /dev/null @@ -1,40 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -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_METAG_DA=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_DA_TTY=y -CONFIG_DA_CONSOLE=y -# 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 diff --git a/arch/metag/configs/meta2_smp_defconfig b/arch/metag/configs/meta2_smp_defconfig deleted file mode 100644 index f3306737da20..000000000000 --- a/arch/metag/configs/meta2_smp_defconfig +++ /dev/null @@ -1,41 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -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_METAG_DA=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_DA_TTY=y -CONFIG_DA_CONSOLE=y -# 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 diff --git a/arch/metag/configs/tz1090_defconfig b/arch/metag/configs/tz1090_defconfig deleted file mode 100644 index 9f9316a6df27..000000000000 --- a/arch/metag/configs/tz1090_defconfig +++ /dev/null @@ -1,42 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -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_SOC_TZ1090=y -CONFIG_METAG_HALT_ON_PANIC=y -# CONFIG_METAG_FPU is not set -CONFIG_METAG_DA=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_DA_TTY=y -CONFIG_DA_CONSOLE=y -# CONFIG_DEVKMEM is not set -# CONFIG_HW_RANDOM is not set -CONFIG_GPIOLIB=y -# 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 diff --git a/arch/metag/include/asm/Kbuild b/arch/metag/include/asm/Kbuild deleted file mode 100644 index 913c779979df..000000000000 --- a/arch/metag/include/asm/Kbuild +++ /dev/null @@ -1,33 +0,0 @@ -generic-y += bugs.h -generic-y += current.h -generic-y += device.h -generic-y += dma.h -generic-y += emergency-restart.h -generic-y += exec.h -generic-y += extable.h -generic-y += fb.h -generic-y += futex.h -generic-y += hardirq.h -generic-y += hw_irq.h -generic-y += irq_regs.h -generic-y += irq_work.h -generic-y += kdebug.h -generic-y += kmap_types.h -generic-y += kprobes.h -generic-y += local.h -generic-y += local64.h -generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h -generic-y += pci.h -generic-y += percpu.h -generic-y += preempt.h -generic-y += sections.h -generic-y += serial.h -generic-y += switch_to.h -generic-y += timex.h -generic-y += trace_clock.h -generic-y += unaligned.h -generic-y += user.h -generic-y += vga.h -generic-y += word-at-a-time.h -generic-y += xor.h diff --git a/arch/metag/include/asm/atomic.h b/arch/metag/include/asm/atomic.h deleted file mode 100644 index 97ae189c2dd8..000000000000 --- a/arch/metag/include/asm/atomic.h +++ /dev/null @@ -1,49 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_METAG_ATOMIC_H -#define __ASM_METAG_ATOMIC_H - -#include -#include -#include -#include - -#if defined(CONFIG_METAG_ATOMICITY_IRQSOFF) -/* The simple UP case. */ -#include -#else - -#if defined(CONFIG_METAG_ATOMICITY_LOCK1) -#include -#else -#include -#endif - -#define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0) - -#define atomic_dec_return(v) atomic_sub_return(1, (v)) -#define atomic_inc_return(v) atomic_add_return(1, (v)) - -/* - * atomic_inc_and_test - increment and test - * @v: pointer of type atomic_t - * - * Atomically increments @v by 1 - * and returns true if the result is zero, or false for all - * other cases. - */ -#define atomic_inc_and_test(v) (atomic_inc_return(v) == 0) - -#define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0) -#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0) - -#define atomic_inc(v) atomic_add(1, (v)) -#define atomic_dec(v) atomic_sub(1, (v)) - -#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) -#define atomic_dec_if_positive(v) atomic_sub_if_positive(1, v) - -#endif - -#include - -#endif /* __ASM_METAG_ATOMIC_H */ diff --git a/arch/metag/include/asm/atomic_lnkget.h b/arch/metag/include/asm/atomic_lnkget.h deleted file mode 100644 index 17e8c61c946d..000000000000 --- a/arch/metag/include/asm/atomic_lnkget.h +++ /dev/null @@ -1,204 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_METAG_ATOMIC_LNKGET_H -#define __ASM_METAG_ATOMIC_LNKGET_H - -#define ATOMIC_INIT(i) { (i) } - -#define atomic_set(v, i) WRITE_ONCE((v)->counter, (i)) - -#include - -#include - -/* - * None of these asm statements clobber memory as LNKSET writes around - * the cache so the memory it modifies cannot safely be read by any means - * other than these accessors. - */ - -static inline int atomic_read(const atomic_t *v) -{ - int temp; - - asm volatile ( - "LNKGETD %0, [%1]\n" - : "=da" (temp) - : "da" (&v->counter)); - - return temp; -} - -#define ATOMIC_OP(op) \ -static inline void atomic_##op(int i, atomic_t *v) \ -{ \ - int temp; \ - \ - asm volatile ( \ - "1: LNKGETD %0, [%1]\n" \ - " " #op " %0, %0, %2\n" \ - " LNKSETD [%1], %0\n" \ - " DEFR %0, TXSTAT\n" \ - " ANDT %0, %0, #HI(0x3f000000)\n" \ - " CMPT %0, #HI(0x02000000)\n" \ - " BNZ 1b\n" \ - : "=&d" (temp) \ - : "da" (&v->counter), "bd" (i) \ - : "cc"); \ -} \ - -#define ATOMIC_OP_RETURN(op) \ -static inline int atomic_##op##_return(int i, atomic_t *v) \ -{ \ - int result, temp; \ - \ - smp_mb(); \ - \ - asm volatile ( \ - "1: LNKGETD %1, [%2]\n" \ - " " #op " %1, %1, %3\n" \ - " LNKSETD [%2], %1\n" \ - " DEFR %0, TXSTAT\n" \ - " ANDT %0, %0, #HI(0x3f000000)\n" \ - " CMPT %0, #HI(0x02000000)\n" \ - " BNZ 1b\n" \ - : "=&d" (temp), "=&da" (result) \ - : "da" (&v->counter), "br" (i) \ - : "cc"); \ - \ - smp_mb(); \ - \ - return result; \ -} - -#define ATOMIC_FETCH_OP(op) \ -static inline int atomic_fetch_##op(int i, atomic_t *v) \ -{ \ - int result, temp; \ - \ - smp_mb(); \ - \ - asm volatile ( \ - "1: LNKGETD %1, [%2]\n" \ - " " #op " %0, %1, %3\n" \ - " LNKSETD [%2], %0\n" \ - " DEFR %0, TXSTAT\n" \ - " ANDT %0, %0, #HI(0x3f000000)\n" \ - " CMPT %0, #HI(0x02000000)\n" \ - " BNZ 1b\n" \ - : "=&d" (temp), "=&d" (result) \ - : "da" (&v->counter), "bd" (i) \ - : "cc"); \ - \ - smp_mb(); \ - \ - return result; \ -} - -#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_OP_RETURN(op) ATOMIC_FETCH_OP(op) - -ATOMIC_OPS(add) -ATOMIC_OPS(sub) - -#undef ATOMIC_OPS -#define ATOMIC_OPS(op) ATOMIC_OP(op) ATOMIC_FETCH_OP(op) - -ATOMIC_OPS(and) -ATOMIC_OPS(or) -ATOMIC_OPS(xor) - -#undef ATOMIC_OPS -#undef ATOMIC_FETCH_OP -#undef ATOMIC_OP_RETURN -#undef ATOMIC_OP - -static inline int atomic_cmpxchg(atomic_t *v, int old, int new) -{ - int result, temp; - - smp_mb(); - - asm volatile ( - "1: LNKGETD %1, [%2]\n" - " CMP %1, %3\n" - " LNKSETDEQ [%2], %4\n" - " BNE 2f\n" - " DEFR %0, TXSTAT\n" - " ANDT %0, %0, #HI(0x3f000000)\n" - " CMPT %0, #HI(0x02000000)\n" - " BNZ 1b\n" - "2:\n" - : "=&d" (temp), "=&d" (result) - : "da" (&v->counter), "bd" (old), "da" (new) - : "cc"); - - smp_mb(); - - return result; -} - -static inline int atomic_xchg(atomic_t *v, int new) -{ - int temp, old; - - asm volatile ( - "1: LNKGETD %1, [%2]\n" - " LNKSETD [%2], %3\n" - " DEFR %0, TXSTAT\n" - " ANDT %0, %0, #HI(0x3f000000)\n" - " CMPT %0, #HI(0x02000000)\n" - " BNZ 1b\n" - : "=&d" (temp), "=&d" (old) - : "da" (&v->counter), "da" (new) - : "cc"); - - return old; -} - -static inline int __atomic_add_unless(atomic_t *v, int a, int u) -{ - int result, temp; - - smp_mb(); - - asm volatile ( - "1: LNKGETD %1, [%2]\n" - " CMP %1, %3\n" - " ADD %0, %1, %4\n" - " LNKSETDNE [%2], %0\n" - " BEQ 2f\n" - " DEFR %0, TXSTAT\n" - " ANDT %0, %0, #HI(0x3f000000)\n" - " CMPT %0, #HI(0x02000000)\n" - " BNZ 1b\n" - "2:\n" - : "=&d" (temp), "=&d" (result) - : "da" (&v->counter), "bd" (u), "bd" (a) - : "cc"); - - smp_mb(); - - return result; -} - -static inline int atomic_sub_if_positive(int i, atomic_t *v) -{ - int result, temp; - - asm volatile ( - "1: LNKGETD %1, [%2]\n" - " SUBS %1, %1, %3\n" - " LNKSETDGE [%2], %1\n" - " BLT 2f\n" - " DEFR %0, TXSTAT\n" - " ANDT %0, %0, #HI(0x3f000000)\n" - " CMPT %0, #HI(0x02000000)\n" - " BNZ 1b\n" - "2:\n" - : "=&d" (temp), "=&da" (result) - : "da" (&v->counter), "bd" (i) - : "cc"); - - return result; -} - -#endif /* __ASM_METAG_ATOMIC_LNKGET_H */ diff --git a/arch/metag/include/asm/atomic_lock1.h b/arch/metag/include/asm/atomic_lock1.h deleted file mode 100644 index 2ce8fa3a79c2..000000000000 --- a/arch/metag/include/asm/atomic_lock1.h +++ /dev/null @@ -1,157 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_METAG_ATOMIC_LOCK1_H -#define __ASM_METAG_ATOMIC_LOCK1_H - -#define ATOMIC_INIT(i) { (i) } - -#include - -#include -#include - -static inline int atomic_read(const atomic_t *v) -{ - return READ_ONCE((v)->counter); -} - -/* - * atomic_set needs to be take the lock to protect atomic_add_unless from a - * possible race, as it reads the counter twice: - * - * CPU0 CPU1 - * atomic_add_unless(1, 0) - * ret = v->counter (non-zero) - * if (ret != u) v->counter = 0 - * v->counter += 1 (counter set to 1) - * - * Making atomic_set take the lock ensures that ordering and logical - * consistency is preserved. - */ -static inline int atomic_set(atomic_t *v, int i) -{ - unsigned long flags; - - __global_lock1(flags); - fence(); - v->counter = i; - __global_unlock1(flags); - return i; -} - -#define atomic_set_release(v, i) atomic_set((v), (i)) - -#define ATOMIC_OP(op, c_op) \ -static inline void atomic_##op(int i, atomic_t *v) \ -{ \ - unsigned long flags; \ - \ - __global_lock1(flags); \ - fence(); \ - v->counter c_op i; \ - __global_unlock1(flags); \ -} \ - -#define ATOMIC_OP_RETURN(op, c_op) \ -static inline int atomic_##op##_return(int i, atomic_t *v) \ -{ \ - unsigned long result; \ - unsigned long flags; \ - \ - __global_lock1(flags); \ - result = v->counter; \ - result c_op i; \ - fence(); \ - v->counter = result; \ - __global_unlock1(flags); \ - \ - return result; \ -} - -#define ATOMIC_FETCH_OP(op, c_op) \ -static inline int atomic_fetch_##op(int i, atomic_t *v) \ -{ \ - unsigned long result; \ - unsigned long flags; \ - \ - __global_lock1(flags); \ - result = v->counter; \ - fence(); \ - v->counter c_op i; \ - __global_unlock1(flags); \ - \ - return result; \ -} - -#define ATOMIC_OPS(op, c_op) \ - ATOMIC_OP(op, c_op) \ - ATOMIC_OP_RETURN(op, c_op) \ - ATOMIC_FETCH_OP(op, c_op) - -ATOMIC_OPS(add, +=) -ATOMIC_OPS(sub, -=) - -#undef ATOMIC_OPS -#define ATOMIC_OPS(op, c_op) \ - ATOMIC_OP(op, c_op) \ - ATOMIC_FETCH_OP(op, c_op) - -ATOMIC_OPS(and, &=) -ATOMIC_OPS(or, |=) -ATOMIC_OPS(xor, ^=) - -#undef ATOMIC_OPS -#undef ATOMIC_FETCH_OP -#undef ATOMIC_OP_RETURN -#undef ATOMIC_OP - -static inline int atomic_cmpxchg(atomic_t *v, int old, int new) -{ - int ret; - unsigned long flags; - - __global_lock1(flags); - ret = v->counter; - if (ret == old) { - fence(); - v->counter = new; - } - __global_unlock1(flags); - - return ret; -} - -#define atomic_xchg(v, new) (xchg(&((v)->counter), new)) - -static inline int __atomic_add_unless(atomic_t *v, int a, int u) -{ - int ret; - unsigned long flags; - - __global_lock1(flags); - ret = v->counter; - if (ret != u) { - fence(); - v->counter += a; - } - __global_unlock1(flags); - - return ret; -} - -static inline int atomic_sub_if_positive(int i, atomic_t *v) -{ - int ret; - unsigned long flags; - - __global_lock1(flags); - ret = v->counter - 1; - if (ret >= 0) { - fence(); - v->counter = ret; - } - __global_unlock1(flags); - - return ret; -} - -#endif /* __ASM_METAG_ATOMIC_LOCK1_H */ diff --git a/arch/metag/include/asm/barrier.h b/arch/metag/include/asm/barrier.h deleted file mode 100644 index 2661fec5696a..000000000000 --- a/arch/metag/include/asm/barrier.h +++ /dev/null @@ -1,85 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _ASM_METAG_BARRIER_H -#define _ASM_METAG_BARRIER_H - -#include - -#define nop() asm volatile ("NOP") - -#ifdef CONFIG_METAG_META21 - -/* HTP and above have a system event to fence writes */ -static inline void wr_fence(void) -{ - volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_FENCE; - barrier(); - *flushptr = 0; - barrier(); -} - -#else /* CONFIG_METAG_META21 */ - -/* - * ATP doesn't have system event to fence writes, so it is necessary to flush - * the processor write queues as well as possibly the write combiner (depending - * on the page being written). - * To ensure the write queues are flushed we do 4 writes to a system event - * register (in this case write combiner flush) which will also flush the write - * combiner. - */ -static inline void wr_fence(void) -{ - volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_COMBINE_FLUSH; - barrier(); - *flushptr = 0; - *flushptr = 0; - *flushptr = 0; - *flushptr = 0; - barrier(); -} - -#endif /* !CONFIG_METAG_META21 */ - -/* flush writes through the write combiner */ -#define mb() wr_fence() -#define rmb() barrier() -#define wmb() mb() - -#ifdef CONFIG_METAG_SMP_WRITE_REORDERING -/* - * Write to the atomic memory unlock system event register (command 0). This is - * needed before a write to shared memory in a critical section, to prevent - * external reordering of writes before the fence on other threads with writes - * after the fence on this thread (and to prevent the ensuing cache-memory - * incoherence). It is therefore ineffective if used after and on the same - * thread as a write. - */ -static inline void metag_fence(void) -{ - volatile int *flushptr = (volatile int *) LINSYSEVENT_WR_ATOMIC_UNLOCK; - barrier(); - *flushptr = 0; - barrier(); -} -#define __smp_mb() metag_fence() -#define __smp_rmb() metag_fence() -#define __smp_wmb() barrier() -#else -#define metag_fence() do { } while (0) -#define __smp_mb() barrier() -#define __smp_rmb() barrier() -#define __smp_wmb() barrier() -#endif - -#ifdef CONFIG_SMP -#define fence() metag_fence() -#else -#define fence() do { } while (0) -#endif - -#define __smp_mb__before_atomic() barrier() -#define __smp_mb__after_atomic() barrier() - -#include - -#endif /* _ASM_METAG_BARRIER_H */ diff --git a/arch/metag/include/asm/bitops.h b/arch/metag/include/asm/bitops.h deleted file mode 100644 index 766ad43010ad..000000000000 --- a/arch/metag/include/asm/bitops.h +++ /dev/null @@ -1,127 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_METAG_BITOPS_H -#define __ASM_METAG_BITOPS_H - -#include -#include -#include - -#ifdef CONFIG_SMP -/* - * These functions are the basis of our bit ops. - */ -static inline void set_bit(unsigned int bit, volatile unsigned long *p) -{ - unsigned long flags; - unsigned long mask = 1UL << (bit & 31); - - p += bit >> 5; - - __global_lock1(flags); - fence(); - *p |= mask; - __global_unlock1(flags); -} - -static inline void clear_bit(unsigned int bit, volatile unsigned long *p) -{ - unsigned long flags; - unsigned long mask = 1UL << (bit & 31); - - p += bit >> 5; - - __global_lock1(flags); - fence(); - *p &= ~mask; - __global_unlock1(flags); -} - -static inline void change_bit(unsigned int bit, volatile unsigned long *p) -{ - unsigned long flags; - unsigned long mask = 1UL << (bit & 31); - - p += bit >> 5; - - __global_lock1(flags); - fence(); - *p ^= mask; - __global_unlock1(flags); -} - -static inline int test_and_set_bit(unsigned int bit, volatile unsigned long *p) -{ - unsigned long flags; - unsigned long old; - unsigned long mask = 1UL << (bit & 31); - - p += bit >> 5; - - __global_lock1(flags); - old = *p; - if (!(old & mask)) { - fence(); - *p = old | mask; - } - __global_unlock1(flags); - - return (old & mask) != 0; -} - -static inline int test_and_clear_bit(unsigned int bit, - volatile unsigned long *p) -{ - unsigned long flags; - unsigned long old; - unsigned long mask = 1UL << (bit & 31); - - p += bit >> 5; - - __global_lock1(flags); - old = *p; - if (old & mask) { - fence(); - *p = old & ~mask; - } - __global_unlock1(flags); - - return (old & mask) != 0; -} - -static inline int test_and_change_bit(unsigned int bit, - volatile unsigned long *p) -{ - unsigned long flags; - unsigned long old; - unsigned long mask = 1UL << (bit & 31); - - p += bit >> 5; - - __global_lock1(flags); - fence(); - old = *p; - *p = old ^ mask; - __global_unlock1(flags); - - return (old & mask) != 0; -} - -#else -#include -#endif /* CONFIG_SMP */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif /* __ASM_METAG_BITOPS_H */ diff --git a/arch/metag/include/asm/bug.h b/arch/metag/include/asm/bug.h deleted file mode 100644 index ee07a943f931..000000000000 --- a/arch/metag/include/asm/bug.h +++ /dev/null @@ -1,13 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _ASM_METAG_BUG_H -#define _ASM_METAG_BUG_H - -#include - -struct pt_regs; - -extern const char *trap_name(int trapno); -extern void __noreturn die(const char *str, struct pt_regs *regs, long err, - unsigned long addr); - -#endif diff --git a/arch/metag/include/asm/cache.h b/arch/metag/include/asm/cache.h deleted file mode 100644 index b5df02239c8d..000000000000 --- a/arch/metag/include/asm/cache.h +++ /dev/null @@ -1,24 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __ASM_METAG_CACHE_H -#define __ASM_METAG_CACHE_H - -/* L1 cache line size (64 bytes) */ -#define L1_CACHE_SHIFT 6 -#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) - -/* Meta requires large data items to be 8 byte aligned. */ -#define ARCH_SLAB_MINALIGN 8 - -/* - * With an L2 cache, we may invalidate dirty lines, so we need to ensure DMA - * buffers have cache line alignment. - */ -#ifdef CONFIG_METAG_L2C -#define ARCH_DMA_MINALIGN L1_CACHE_BYTES -#else -#define ARCH_DMA_MINALIGN 8 -#endif - -#define __read_mostly __attribute__((__section__(".data..read_mostly"))) - -#endif diff --git a/arch/metag/include/asm/cacheflush.h b/arch/metag/include/asm/cacheflush.h deleted file mode 100644 index 2584a51eca1a..000000000000 --- a/arch/metag/include/asm/cacheflush.h +++ /dev/null @@ -1,251 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _METAG_CACHEFLUSH_H -#define _METAG_CACHEFLUSH_H - -#include -#include -#include - -#include -#include -#include - -void metag_cache_probe(void); - -void metag_data_cache_flush_all(const void *start); -void metag_code_cache_flush_all(const void *start); - -/* - * Routines to flush physical cache lines that may be used to cache data or code - * normally accessed via the linear address range supplied. The region flushed - * must either lie in local or global address space determined by the top bit of - * the pStart address. If Bytes is >= 4K then the whole of the related cache - * state will be flushed rather than a limited range. - */ -void metag_data_cache_flush(const void *start, int bytes); -void metag_code_cache_flush(const void *start, int bytes); - -#ifdef CONFIG_METAG_META12 - -/* Write through, virtually tagged, split I/D cache. */ - -static inline void __flush_cache_all(void) -{ - met