summaryrefslogtreecommitdiff
path: root/target/linux/ubicom32/files/arch/ubicom32/include
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ubicom32/files/arch/ubicom32/include')
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/.gitignore1
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/Kbuild1
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/a.out.h47
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/atomic.h353
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/audio.h40
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/audionode.h152
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/auxvec.h32
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/bitops.h172
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/bitsperlong.h1
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/board.h34
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/bootargs.h34
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/bootinfo.h34
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/bug.h95
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/bugs.h44
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/byteorder.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/cache.h40
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/cachectl.h39
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/cacheflush.h111
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/checksum.h149
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/cpu.h45
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/cputime.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/current.h44
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/delay.h75
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/device.h35
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/devtree.h52
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/div64.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/dma-mapping.h328
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/dma.h34
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/elf.h173
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/emergency-restart.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/entry.h34
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/errno.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/fb.h39
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/fcntl.h38
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/flat.h73
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/fpu.h37
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ftrace.h1
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/futex.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/gpio.h453
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/hardirq.h55
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/hw_irq.h31
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/io.h313
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctl.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctls.h111
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000-asm.h156
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000.h845
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ipcbuf.h55
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/irq.h45
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/irq_regs.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/irqflags.h96
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/kdebug.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/kmap_types.h48
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ldsr.h186
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/linkage.h34
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/local.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/machdep.h43
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/mc146818rtc.h36
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/memory_map.h66
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/mman.h44
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu.h41
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu_context.h60
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/module.h48
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/msgbuf.h58
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/mutex.h41
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/namei.h38
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm-alloc.h36
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_size.h3
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_text.lds.inc175
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/page.h116
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/page_offset.h35
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/param.h49
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/pci.h210
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/pcm_tio.h84
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/percpu.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/pgalloc.h36
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/pgtable.h128
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/plio.h313
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/poll.h36
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/posix_types.h93
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/processor.h163
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/profilesample.h44
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ptrace.h177
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect-asm.h91
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect.h62
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/resource.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ring_tio.h42
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/scatterlist.h49
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/sd_tio.h36
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/sections.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/segment.h78
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore-helper.h109
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore.h140
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/sembuf.h52
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/setup.h35
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/shmbuf.h69
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/shmparam.h35
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/sigcontext.h37
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/siginfo.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/signal.h185
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/smp.h87
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/socket.h90
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/sockios.h40
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock.h296
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock_types.h43
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/stacktrace.h72
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/stat.h104
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/statfs.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/string.h40
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/swab.h45
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/switch-dev.h51
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/system.h101
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/termbits.h227
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/termios.h119
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/thread-asm.h51
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/thread.h320
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/thread_info.h134
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/timex.h56
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/tlb.h47
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/tlbflush.h79
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/topology.h33
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/traps.h55
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/types.h75
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/uaccess.h347
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/uart_tio.h126
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-cs4384.h52
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-pcm.h54
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common-asm.h49
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common.h128
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-spi-gpio.h62
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-tio.h42
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32bl.h84
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32fb.h56
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32hid.h133
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input.h76
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input_i2c.h71
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcd.h38
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcdpower.h39
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32ring.h103
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32sd.h45
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32suart.h36
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/ucontext.h39
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/unaligned.h44
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/unistd.h400
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/user.h82
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/vdc_tio.h129
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/vga.h71
-rw-r--r--target/linux/ubicom32/files/arch/ubicom32/include/asm/xor.h33
147 files changed, 0 insertions, 13007 deletions
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/.gitignore b/target/linux/ubicom32/files/arch/ubicom32/include/asm/.gitignore
deleted file mode 100644
index c6b1010..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/ocm_size.h
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/Kbuild b/target/linux/ubicom32/files/arch/ubicom32/include/asm/Kbuild
deleted file mode 100644
index c68e168..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/Kbuild
+++ /dev/null
@@ -1 +0,0 @@
-include include/asm-generic/Kbuild.asm
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/a.out.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/a.out.h
deleted file mode 100644
index 8eb0ade..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/a.out.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * arch/ubicom32/include/asm/a.out.h
- * Definitions for Ubicom32 a.out executable format.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_A_OUT_H
-#define _ASM_UBICOM32_A_OUT_H
-
-struct exec
-{
- unsigned long a_info; /* Use macros N_MAGIC, etc for access */
- unsigned a_text; /* length of text, in bytes */
- unsigned a_data; /* length of data, in bytes */
- unsigned a_bss; /* length of uninitialized data area for file, in bytes */
- unsigned a_syms; /* length of symbol table data in file, in bytes */
- unsigned a_entry; /* start address */
- unsigned a_trsize; /* length of relocation info for text, in bytes */
- unsigned a_drsize; /* length of relocation info for data, in bytes */
-};
-
-#define N_TRSIZE(a) ((a).a_trsize)
-#define N_DRSIZE(a) ((a).a_drsize)
-#define N_SYMSIZE(a) ((a).a_syms)
-
-#endif /* _ASM_UBICOM32_A_OUT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/atomic.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/atomic.h
deleted file mode 100644
index aaf7726..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/atomic.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * arch/ubicom32/include/asm/atomic.h
- * Atomic operations definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_ATOMIC_H
-#define _ASM_UBICOM32_ATOMIC_H
-
-#include <asm/system.h>
-#include <asm/ubicom32-common.h>
-#include <asm/types.h>
-
-/*
- * Most instructions on the Ubicom32 processor are atomic in that they
- * execute in one clock cycle. However, Linux has several operations
- * (e.g. compare and swap) which will require more than a single instruction
- * to perform. To achieve this, the Ubicom32 processor uses a single
- * global bit in a scratchpad register as a critical section lock. All
- * atomic operations acquire this lock.
- *
- * NOTE: To AVOID DEADLOCK(s), the atomic lock must only be used for atomic
- * operations or by the ldsr to avoid disabling a thread performing an atomic
- * operation.
- *
- * Do not attempt to disable interrupts while holding the atomic operations
- * lock or you will DEADLOCK the system.
- */
-
-#define ATOMIC_INIT(i) { (i) }
-
-/*
- * __atomic_add()
- * Add i to v and return the result.
- */
-static inline void __atomic_add(int i, atomic_t *v)
-{
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- vt->counter += i;
- __atomic_lock_release();
-}
-
-/*
- * __atomic_sub()
- * Subtract i from v and return the result.
- */
-static inline void __atomic_sub(int i, atomic_t *v)
-{
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- vt->counter -= i;
- __atomic_lock_release();
-}
-
-/*
- * __atomic_add_return()
- * Add i to v and return the result.
- *
- * The implementation here looks rather odd because we appear to be doing
- * the addition twice. In fact that's exactly what we're doing but with
- * the ubicom32 instruction set we can do the inner load and add with two
- * instructions whereas generating both the atomic result and the "ret"
- * result requires three instructions. The second add is generally only as
- * costly as a move instruction and in cases where we compare the result
- * with a constant the compiler can fold two constant values and do a
- * single instruction, thus saving an instruction overall!
- *
- * At the worst we save one instruction inside the atomic lock.
- */
-static inline int __atomic_add_return(int i, atomic_t *v)
-{
- int ret;
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- ret = vt->counter;
- vt->counter = ret + i;
- __atomic_lock_release();
-
- return ret + i;
-}
-
-/*
- * __atomic_sub_return()
- * Subtract i from v and return the result.
- *
- * The implementation here looks rather odd because we appear to be doing
- * the subtraction twice. In fact that's exactly what we're doing but with
- * the ubicom32 instruction set we can do the inner load and sub with two
- * instructions whereas generating both the atomic result and the "ret"
- * result requires three instructions. The second sub is generally only as
- * costly as a move instruction and in cases where we compare the result
- * with a constant the compiler can fold two constant values and do a
- * single instruction, thus saving an instruction overall!
- *
- * At the worst we save one instruction inside the atomic lock.
- */
-static inline int __atomic_sub_return(int i, atomic_t *v)
-{
- int ret;
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- ret = vt->counter;
- vt->counter = ret - i;
- __atomic_lock_release();
-
- return ret - i;
-}
-
-/*
- * PUBLIC API FOR ATOMIC!
- */
-#define atomic_add(i,v) (__atomic_add( ((int)i),(v)))
-#define atomic_sub(i,v) (__atomic_sub( ((int)i),(v)))
-#define atomic_inc(v) (__atomic_add( 1,(v)))
-#define atomic_dec(v) (__atomic_sub( 1,(v)))
-#define atomic_add_return(i,v) (__atomic_add_return( ((int)i),(v)))
-#define atomic_sub_return(i,v) (__atomic_sub_return( ((int)i),(v)))
-#define atomic_inc_return(v) (__atomic_add_return( 1,(v)))
-#define atomic_dec_return(v) (__atomic_sub_return( 1,(v)))
-#define atomic_inc_and_test(v) (atomic_inc_return(v) == 0)
-#define atomic_dec_and_test(v) (atomic_dec_return(v) == 0)
-#define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0)
-#define atomic_sub_and_test(i,v) (atomic_sub_return((i),(v)) == 0)
-
-/*
- * atomic_read()
- * Acquire the atomic lock and read the variable.
- */
-static inline int atomic_read(const atomic_t *v)
-{
- int ret;
- const atomic_t *vt = v;
-
- __atomic_lock_acquire();
- ret = vt->counter;
- __atomic_lock_release();
-
- return ret;
-}
-
-/*
- * atomic_set()
- * Acquire the atomic lock and set the variable.
- */
-static inline void atomic_set(atomic_t *v, int i)
-{
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- vt->counter = i;
- __atomic_lock_release();
-}
-
-/*
- * atomic_cmpxchg
- * Acquire the atomic lock and exchange if current == old.
- */
-static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
-{
- int prev;
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- prev = vt->counter;
- if (prev == old) {
- vt->counter = new;
- }
- __atomic_lock_release();
-
- return prev;
-}
-
-/*
- * atomic_xchg()
- * Acquire the atomic lock and exchange values.
- */
-static inline int atomic_xchg(atomic_t *v, int new)
-{
- int prev;
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- prev = vt->counter;
- vt->counter = new;
- __atomic_lock_release();
-
- return prev;
-}
-
-/*
- * atomic_add_unless()
- * Acquire the atomic lock and add a unless the value is u.
- */
-static inline int atomic_add_unless(atomic_t *v, int a, int u)
-{
- int prev;
- atomic_t *vt = v;
-
- __atomic_lock_acquire();
- prev = vt->counter;
- if (prev != u) {
- vt->counter += a;
- __atomic_lock_release();
- return 1;
- }
-
- __atomic_lock_release();
- return 0;
-}
-
-#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
-
-#include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
-#include <asm-generic/atomic-long.h>
-#else
-#include <asm-generic/atomic.h>
-#endif
-
-/*
- * The following is not a real function. The compiler should remove the function
- * call as long as the user does not pass in a size that __xchg and __cmpxchg
- * are not prepared for. If the user does pass in an unknown size, the user
- * will get a link time error.
- *
- * The no return is to prevent a compiler error that can occur when dealing with
- * uninitialized variables. Given that the function doesn't exist there is no
- * net effect (and if it did it would not return).
- */
-extern void __xchg_called_with_bad_pointer(void) __attribute__((noreturn));
-
-/*
- * __xchg()
- * Xchange *ptr for x atomically.
- *
- * Must be both locally atomic and atomic on SMP. Ubicom32 does not have an
- * atomic exchange instruction so we use the global atomic_lock.
- */
-static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size)
-{
- unsigned long ret;
-
- __atomic_lock_acquire();
-
- switch (size) {
- case 1:
- ret = *(volatile unsigned char *)ptr;
- *(volatile unsigned char *)ptr = x;
- break;
-
- case 2:
- ret = *(volatile unsigned short *)ptr;
- *(volatile unsigned short *)ptr = x;
- break;
-
- case 4:
- ret = *(volatile unsigned int *)ptr;
- *(volatile unsigned int *)ptr = x;
- break;
-
- default:
- __xchg_called_with_bad_pointer();
- break;
- }
- __atomic_lock_release();
- return ret;
-}
-
-#define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
-
-/*
- * __cmpxchg()
- * Compare and Xchange *ptr for x atomically.
- *
- * Must be both locally atomic and atomic on SMP. Ubicom32 does not have an
- * atomic exchange instruction so we use the global atomic_lock.
- */
-static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, unsigned long next, int size)
-{
- unsigned long prev;
-
- __atomic_lock_acquire();
- switch (size) {
- case 1:
- prev = *(u8 *)ptr;
- if (prev == old) {
- *(u8 *)ptr = (u8)next;
- }
- break;
-
- case 2:
- prev = *(u16 *)ptr;
- if (prev == old) {
- *(u16 *)ptr = (u16)next;
- }
- break;
-
- case 4:
- prev = *(u32 *)ptr;
- if (prev == old) {
- *(u32 *)ptr = (u32)next;
- }
- break;
-
- default:
- __xchg_called_with_bad_pointer();
- break;
- }
- __atomic_lock_release();
- return prev;
-}
-
-/*
- * cmpxchg_local and cmpxchg64_local are atomic wrt current CPU. Always make
- * them available.
- */
-#define cmpxchg_local(ptr, o, n) \
- ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), (unsigned long)(n), sizeof(*(ptr))))
-
-#define cmpxchg(ptr, o, n) __cmpxchg((ptr), (o), (n), sizeof(*(ptr)))
-
-#define smp_mb__before_atomic_inc() asm volatile ("" : : : "memory")
-#define smp_mb__after_atomic_inc() asm volatile ("" : : : "memory")
-#define smp_mb__before_atomic_dec() asm volatile ("" : : : "memory")
-#define smp_mb__after_atomic_dec() asm volatile ("" : : : "memory")
-
-#endif /* _ASM_UBICOM32_ATOMIC_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/audio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/audio.h
deleted file mode 100644
index 974d0cd..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/audio.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * arch/ubicom32/include/asm/audio.h
- * Audio include file
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef _AUDIO_H
-#define _AUDIO_H
-
-#include <asm/devtree.h>
-#include <asm/audionode.h>
-
-/*
- * Resource indices used to access IRQs via platform_get_resource
- */
-#define AUDIO_MEM_RESOURCE 0
-#define AUDIO_TX_IRQ_RESOURCE 0
-#define AUDIO_RX_IRQ_RESOURCE 1
-
-extern struct platform_device * __init audio_device_alloc(const char *driver_name, const char *node_name, const char *inst_name, int priv_size);
-
-#define audio_device_priv(pdev) (((struct ubi32pcm_platform_data *)(((struct platform_device *)(pdev))->dev.platform_data))->priv_data)
-#endif
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/audionode.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/audionode.h
deleted file mode 100644
index f18a0e8..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/audionode.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * audionode.h
- * audionode and DMA descriptors
- *
- * Copyright © 2009 Ubicom Inc. <www.ubicom.com>. All rights reserved.
- *
- * This file contains confidential information of Ubicom, Inc. and your use of
- * this file is subject to the Ubicom Software License Agreement distributed with
- * this file. If you are uncertain whether you are an authorized user or to report
- * any unauthorized use, please contact Ubicom, Inc. at +1-408-789-2200.
- * Unauthorized reproduction or distribution of this file is subject to civil and
- * criminal penalties.
- *
- */
-#ifndef _AUDIONODE_H_
-#define _AUDIONODE_H_
-
-#define AUDIO_INT_FLAG_MORE_SAMPLES 0x00000001
-#define AUDIO_INT_FLAG_COMMAND 0x00000002
-
-/*
- * Commands the Primary OS sends to the audio device
- */
-enum audio_command {
- AUDIO_CMD_NONE,
- AUDIO_CMD_START,
- AUDIO_CMD_STOP,
- AUDIO_CMD_PAUSE,
- AUDIO_CMD_RESUME,
- AUDIO_CMD_MUTE,
- AUDIO_CMD_UNMUTE,
- AUDIO_CMD_SETUP,
- AUDIO_CMD_ENABLE,
- AUDIO_CMD_DISABLE,
-};
-
-/*
- * Flag bits passed in the registers
- */
-#define CMD_START_FLAG_LE (1 << 0) /* Use Little Endian Mode */
-
-/*
- * Status bits that audio device can set to indicate reason
- * for interrupting the Primary OS
- */
-#define AUDIO_STATUS_PLAY_DMA0_REQUEST (1 << 0) /* Audio device needs samples in DMA0 for playback */
-#define AUDIO_STATUS_PLAY_DMA1_REQUEST (1 << 1) /* Audio device needs samples in DMA1 for playback */
-
-struct audio_dma {
- /*
- * NOTE: The active flag shall only be SET by the producer and CLEARED
- * by the consumer, NEVER the other way around. For playback, the
- * Primary OS sets this flag and ipAudio clears it.
- *
- * The producer shall not modify the ptr or ctr fields when the transfer
- * is marked as active, as these are used by the consumer to do the
- * transfer.
- */
- volatile u32_t active; /* Nonzero if data in ptr/ctr ready to be transferred */
- volatile void *ptr; /* Pointer to data to be transferred */
- volatile u32_t ctr; /* Counter: number of data units to transfer */
-};
-
-#define AUDIONODE_CAP_BE (1 << 0)
-#define AUDIONODE_CAP_LE (1 << 1)
-
-#define AUDIONODE_VERSION 7
-struct audio_node {
- struct devtree_node dn;
-
- /*
- * Version of this node
- */
- u32_t version;
-
- /*
- * Pointer to the registers
- */
- struct audio_regs *regs;
-};
-
-/*
- * [OCM] Audio registers
- * Registers exposed as part of our MMIO area
- */
-#define AUDIO_REGS_VERSION 7
-struct audio_regs {
- /*
- * Version of this register set
- */
- u32_t version;
-
- /*
- * Interrupt status
- */
- volatile u32_t int_status;
-
- /*
- * Interrupt request
- */
- volatile u32_t int_req;
-
- /*
- * Current IRQ being serviced
- */
- u32_t cur_irq;
-
- /*
- * Maximum number of devices supported
- */
- u32_t max_devs;
-
- /*
- * [DDR] Device registers for each of the devices
- */
- struct audio_dev_regs *adr;
-};
-
-#define AUDIO_DEV_REGS_VERSION 2
-struct audio_dev_regs {
- u32_t version; /* Version of this register set */
-
- u8_t name[32]; /* Name of this driver */
- u32_t caps; /* Capabilities of this driver */
- const u32_t *sample_rates; /* Sample Rates supported by this driver */
- u32_t n_sample_rates; /* Number of sample rates supported by this driver */
- u32_t channel_mask; /* A bit set in a particular position means we support this channel configuration */
- volatile u32_t int_flags; /* Reason for interrupting audio device */
- volatile enum audio_command command; /* Command from Primary OS */
- volatile u32_t flags; /* Flag bits for this command */
- volatile u32_t channels; /* Number of channels */
- volatile u32_t sample_rate; /* Sample rate */
- volatile u32_t status; /* Status bits sent from ipAudio to Primary OS */
- void *primary_os_buffer_ptr; /*
- * Playback: Pointer to next sample to be removed from
- * Primary OS sample buffer
- * Capture: Pointer to where next sample will be inserted
- * into Primary OS sample buffer
- */
-
- /*
- * These are the transfer requests. They are used in alternating
- * order so that when ipAudio is processing one request, the
- * Primary OS can fill in the other one.
- *
- * NOTE: The active bit shall always be SET by the producer and
- * CLEARED by the consumer, NEVER the other way around.
- */
- struct audio_dma dma_xfer_requests[2];
-};
-
-#endif
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/auxvec.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/auxvec.h
deleted file mode 100644
index b2275c8..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/auxvec.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * arch/ubicom32/include/asm/auxvec.h
- * Symbolic values for the entries in the auxiliary table
- * put on the initial stack.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_AUXVEC_H
-#define _ASM_UBICOM32_AUXVEC_H
-
-#endif /* _ASM_UBICOM32_AUXVEC_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bitops.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/bitops.h
deleted file mode 100644
index c63837b..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bitops.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * arch/ubicom32/include/asm/bitops.h
- * Bit manipulation definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_BITOPS_H
-#define _ASM_UBICOM32_BITOPS_H
-
-/*
- * Copyright 1992, Linus Torvalds.
- */
-
-#include <linux/compiler.h>
-#include <asm/byteorder.h> /* swab32 */
-
-#ifdef __KERNEL__
-
-#ifndef _LINUX_BITOPS_H
-#error only <linux/bitops.h> can be included directly
-#endif
-
-#include <asm-generic/bitops/ffs.h>
-#include <asm-generic/bitops/__ffs.h>
-
-#include <asm-generic/bitops/sched.h>
-#include <asm-generic/bitops/ffz.h>
-
-#include <asm/ubicom32-common.h>
-
-static inline void set_bit(int bit, volatile unsigned long *p)
-{
- unsigned long mask = 1UL << (bit & 31);
-
- p += bit >> 5;
-
- __atomic_lock_acquire();
- *p |= mask;
- __atomic_lock_release();
-}
-
-static inline void clear_bit(int bit, volatile unsigned long *p)
-{
- unsigned long mask = 1UL << (bit & 31);
-
- p += bit >> 5;
-
- __atomic_lock_acquire();
- *p &= ~mask;
- __atomic_lock_release();
-}
-
-/*
- * clear_bit() doesn't provide any barrier for the compiler.
- */
-#define smp_mb__before_clear_bit() barrier()
-#define smp_mb__after_clear_bit() barrier()
-
-static inline void change_bit(int bit, volatile unsigned long *p)
-{
- unsigned long mask = 1UL << (bit & 31);
-
- p += bit >> 5;
-
- __atomic_lock_acquire();
- *p ^= mask;
- __atomic_lock_release();
-}
-
-static inline int test_and_set_bit(int bit, volatile unsigned long *p)
-{
- unsigned int res;
- unsigned long mask = 1UL << (bit & 31);
-
- p += bit >> 5;
-
- __atomic_lock_acquire();
- res = *p;
- *p = res | mask;
- __atomic_lock_release();
-
- return res & mask;
-}
-
-static inline int test_and_clear_bit(int bit, volatile unsigned long *p)
-{
- unsigned int res;
- unsigned long mask = 1UL << (bit & 31);
-
- p += bit >> 5;
-
- __atomic_lock_acquire();
- res = *p;
- *p = res & ~mask;
- __atomic_lock_release();
-
- return res & mask;
-}
-
-static inline int test_and_change_bit(int bit, volatile unsigned long *p)
-{
- unsigned int res;
- unsigned long mask = 1UL << (bit & 31);
-
- p += bit >> 5;
-
- __atomic_lock_acquire();
- res = *p;
- *p = res ^ mask;
- __atomic_lock_release();
-
- return res & mask;
-}
-
-#include <asm-generic/bitops/non-atomic.h>
-
-/*
- * This routine doesn't need to be atomic.
- */
-static inline int __constant_test_bit(int nr, const volatile unsigned long *addr)
-{
- return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0;
-}
-
-static inline int __test_bit(int nr, const volatile unsigned long *addr)
-{
- int * a = (int *) addr;
- int mask;
-
- a += nr >> 5;
- mask = 1 << (nr & 0x1f);
- return ((mask & *a) != 0);
-}
-
-#define test_bit(nr,addr) (__builtin_constant_p(nr) ? __constant_test_bit((nr),(addr)) : __test_bit((nr),(addr)))
-
-#include <asm-generic/bitops/find.h>
-#include <asm-generic/bitops/hweight.h>
-#include <asm-generic/bitops/lock.h>
-
-#include <asm-generic/bitops/ext2-non-atomic.h>
-#include <asm-generic/bitops/ext2-atomic.h>
-#include <asm-generic/bitops/minix.h>
-
-#endif /* __KERNEL__ */
-
-#include <asm-generic/bitops/fls.h>
-#include <asm-generic/bitops/__fls.h>
-#include <asm-generic/bitops/fls64.h>
-
-#endif /* _ASM_UBICOM32_BITOPS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bitsperlong.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/bitsperlong.h
deleted file mode 100644
index 6dc0bb0..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bitsperlong.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/bitsperlong.h>
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/board.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/board.h
deleted file mode 100644
index 9df4c0f..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/board.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * arch/ubicom32/include/asm/board.h
- * Board init and revision definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_BOARD_H
-#define _ASM_UBICOM32_BOARD_H
-
-extern const char *board_get_revision(void);
-extern void __init board_init(void);
-
-#endif /* _ASM_UBICOM32_BOARD_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bootargs.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/bootargs.h
deleted file mode 100644
index 95ec393..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bootargs.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * arch/ubicom32/include/asm/bootargs.h
- * Kernel command line via the devtree API.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_BOOTARGS_H
-#define _ASM_UBICOM32_BOOTARGS_H
-
-extern const char *bootargs_get_cmdline(void);
-extern void __init bootargs_init(void);
-
-#endif /* _ASM_UBICOM32_BOOTARGS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bootinfo.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/bootinfo.h
deleted file mode 100644
index 7965391..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bootinfo.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * arch/ubicom32/include/asm/bootinfo.h
- * Definitions of firmware boot parameters passed to the kernel.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_BOOTINFO_H
-#define _ASM_UBICOM32_BOOTINFO_H
-
-/* Nothing for ubicom32 */
-
-#endif /* _ASM_UBICOM32_BOOTINFO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bug.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/bug.h
deleted file mode 100644
index b6a000d..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bug.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * arch/ubicom32/include/asm/bug.h
- * Generic bug.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_BUG_H
-#define _ASM_UBICOM32_BUG_H
-
-#include <linux/kernel.h>
-#include <asm/thread.h>
-
-#if defined(CONFIG_BUG) && defined(CONFIG_STOP_ON_BUG)
-
-/*
- * BUG()
- * Ubicom specific version of the BUG() macro.
- *
- * This implementation performs a THREAD_STALL stopping all threads before
- * calling panic. This enables a developer to see the "real" state of the
- * machine (since panic alters the system state). We do the printf first
- * because while it is slow, it does not alter system state (like
- * interrupts).
- *
- * TODO: Implement the trap sequence used by other architectures.
- */
-#define BUG() do { \
- printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
- THREAD_STALL; \
- panic("BUG!"); \
-} while (0)
-
-
-/*
- * __WARN()
- * WARN() using printk() for now.
- *
- * TODO: Implement the trap sequence used by other architectures.
- */
-#define __WARN() \
- do { \
- printk("WARN: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
- } while(0)
-
-/*
- * WARN_ON()
- * Ubicom specific version of the WARN_ON macro.
- *
- * This implementation performs a printk for the WARN_ON() instead
- * of faulting into the kernel and using report_bug().
- *
- * TODO: Implement the trap sequence used by other architectures.
- */
-#define WARN_ON(x) ({ \
- int __ret_warn_on = !!(x); \
- if (__builtin_constant_p(__ret_warn_on)) { \
- if (__ret_warn_on) \
- __WARN(); \
- } else { \
- if (unlikely(__ret_warn_on)) \
- __WARN(); \
- } \
- unlikely(__ret_warn_on); \
-})
-
-
-#define HAVE_ARCH_BUG
-#define HAVE_ARCH_WARN_ON
-
-#endif
-
-#include <asm-generic/bug.h>
-
-#endif /* _ASM_UBICOM32_BUG_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bugs.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/bugs.h
deleted file mode 100644
index 66adfe7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/bugs.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * arch/ubicom32/include/asm/bugs.h
- * Definition of check_bugs() for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 1994 Linus Torvalds
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-/*
- * This is included by init/main.c to check for architecture-dependent bugs.
- *
- * Needs:
- * void check_bugs(void);
- */
-
-#ifndef _ASM_UBICOM32_BUGS_H
-#define _ASM_UBICOM32_BUGS_H
-
-static void check_bugs(void)
-{
-}
-
-#endif /* _ASM_UBICOM32_BUGS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/byteorder.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/byteorder.h
deleted file mode 100644
index e4cd7c9..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/byteorder.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/byteorder.h
- * Byte order swapping utility routines.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_BYTEORDER_H
-#define _ASM_UBICOM32_BYTEORDER_H
-
-#include <linux/byteorder/big_endian.h>
-
-#endif /* _ASM_UBICOM32_BYTEORDER_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cache.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/cache.h
deleted file mode 100644
index 5fcd36d..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cache.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * arch/ubicom32/include/asm/cache.h
- * Cache line definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CACHE_H
-#define _ASM_UBICOM32_CACHE_H
-
-/*
- * bytes per L1 cache line
- */
-#define L1_CACHE_SHIFT 5
-#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
-
-#define __cacheline_aligned
-#define ____cacheline_aligned
-
-#endif /* _ASM_UBICOM32_CACHE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cachectl.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/cachectl.h
deleted file mode 100644
index 12a9159..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cachectl.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * arch/ubicom32/include/asm/cachectl.h
- * Ubicom32 cache control definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CACHECTL_H
-#define _ASM_UBICOM32_CACHECTL_H
-
-#include <asm/ip5000.h>
-
-/*
- * mem_cache_control()
- * Special cache control operation
- */
-extern void mem_cache_control(unsigned long cc, unsigned long begin_addr, unsigned long end_addr, unsigned long op);
-
-#endif /* _ASM_UBICOM32_CACHECTL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cacheflush.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/cacheflush.h
deleted file mode 100644
index 10a8141..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cacheflush.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * arch/ubicom32/include/asm/cacheflush.h
- * Cache flushing definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CACHEFLUSH_H
-#define _ASM_UBICOM32_CACHEFLUSH_H
-
-/*
- * (C) Copyright 2000-2004, Greg Ungerer <gerg@snapgear.com>
- */
-#include <linux/mm.h>
-#include <asm/cachectl.h>
-#include <asm/ip5000.h>
-
-#define flush_cache_all() __flush_cache_all()
-#define flush_cache_mm(mm) do { } while (0)
-#define flush_cache_dup_mm(mm) do { } while (0)
-#define flush_cache_range(vma, start, end) __flush_cache_all()
-#define flush_cache_page(vma, vmaddr) do { } while (0)
-#define flush_dcache_page(page) do { } while (0)
-#define flush_dcache_mmap_lock(mapping) do { } while (0)
-#define flush_dcache_mmap_unlock(mapping) do { } while (0)
-
-#define flush_dcache_range(start, end) \
-do { \
- /* Flush the data cache and invalidate the I cache. */ \
- mem_cache_control(DCCR_BASE, start, end, CCR_CTRL_FLUSH_ADDR); \
- mem_cache_control(ICCR_BASE, start, end, CCR_CTRL_INV_ADDR); \
-} while (0)
-
-#define flush_icache_range(start, end) \
-do { \
- /* Flush the data cache and invalidate the I cache. */ \
- mem_cache_control(DCCR_BASE, start, end, CCR_CTRL_FLUSH_ADDR); \
- mem_cache_control(ICCR_BASE, start, end, CCR_CTRL_INV_ADDR); \
-} while (0)
-
-#define flush_icache_page(vma,pg) do { } while (0)
-#define flush_icache_user_range(vma,pg,adr,len) do { } while (0)
-#define flush_cache_vmap(start, end) do { } while (0)
-#define flush_cache_vunmap(start, end) do { } while (0)
-
-#define copy_to_user_page(vma, page, vaddr, dst, src, len) \
- memcpy(dst, src, len)
-#define copy_from_user_page(vma, page, vaddr, dst, src, len) \
- memcpy(dst, src, len)
-
-/*
- * Cache handling for IP5000
- */
-extern inline void mem_cache_invalidate_all(unsigned long cc)
-{
- if (cc == DCCR_BASE)
- UBICOM32_LOCK(DCCR_LOCK_BIT);
- else
- UBICOM32_LOCK(ICCR_LOCK_BIT);
-
- asm volatile (
- " bset "D(CCR_CTRL)"(%0), "D(CCR_CTRL)"(%0), #"D(CCR_CTRL_RESET)" \n\t"
- " nop \n\t"
- " bclr "D(CCR_CTRL)"(%0), "D(CCR_CTRL)"(%0), #"D(CCR_CTRL_RESET)" \n\t"
- " pipe_flush 0 \n\t"
- :
- : "a"(cc)
- : "cc"
- );
-
- if (cc == DCCR_BASE)
- UBICOM32_UNLOCK(DCCR_LOCK_BIT);
- else
- UBICOM32_UNLOCK(ICCR_LOCK_BIT);
-
-}
-
-static inline void __flush_cache_all(void)
-{
- /*
- * Flush Icache
- */
- mem_cache_invalidate_all(ICCR_BASE);
-
- /*
- * Flush Dcache
- */
- mem_cache_invalidate_all(DCCR_BASE);
-}
-
-#endif /* _ASM_UBICOM32_CACHEFLUSH_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/checksum.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/checksum.h
deleted file mode 100644
index 25f8ca6..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/checksum.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * arch/ubicom32/include/asm/checksum.h
- * Checksum utilities for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CHECKSUM_H
-#define _ASM_UBICOM32_CHECKSUM_H
-
-#include <linux/in6.h>
-
-/*
- * computes the checksum of a memory block at buff, length len,
- * and adds in "sum" (32-bit)
- *
- * returns a 32-bit number suitable for feeding into itself
- * or csum_tcpudp_magic
- *
- * this function must be called with even lengths, except
- * for the last fragment, which may be odd
- *
- * it's best to have buff aligned on a 32-bit boundary
- */
-__wsum csum_partial(const void *buff, int len, __wsum sum);
-
-/*
- * the same as csum_partial, but copies from src while it
- * checksums
- *
- * here even more important to align src and dst on a 32-bit (or even
- * better 64-bit) boundary
- */
-
-__wsum csum_partial_copy_nocheck(const void *src, void *dst,
- int len, __wsum sum);
-
-
-/*
- * the same as csum_partial_copy, but copies from user space.
- *
- * here even more important to align src and dst on a 32-bit (or even
- * better 64-bit) boundary
- */
-
-extern __wsum csum_partial_copy_from_user(const void __user *src,
- void *dst, int len, __wsum sum, int *csum_err);
-
-__sum16 ip_fast_csum(const void *iph, unsigned int ihl);
-
-/*
- * Fold a partial checksum
- */
-
-static inline __sum16 csum_fold(__wsum sum)
-{
- asm volatile (
- " lsr.4 d15, %0, #16 \n\t"
- " bfextu %0, %0, #16 \n\t"
- " add.4 %0, d15, %0 \n\t"
- " lsr.4 d15, %0, #16 \n\t"
- " bfextu %0, %0, #16 \n\t"
- " add.4 %0, d15, %0 \n\t"
- : "=&d" (sum)
- : "0"(sum)
- : "d15"
- );
- return (__force __sum16)~sum;
-}
-
-
-/*
- * computes the checksum of the TCP/UDP pseudo-header
- * returns a 16-bit checksum, already complemented
- */
-
-static inline __wsum
-csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
- unsigned short proto, __wsum sum)
-{
- asm volatile (
- " add.4 %0, %2, %0 \n\t"
- " addc %0, %3, %0 \n\t"
- " addc %0, %4, %0 \n\t"
- " addc %0, %5, %0 \n\t"
- " addc %0, #0, %0 \n\t"
- : "=&d" (sum)
- : "0"(sum), "r" (saddr), "r" (daddr), "r" (len), "r"(proto)
- );
- return sum;
-}
-
-static inline __sum16
-csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len,
- unsigned short proto, __wsum sum)
-{
- return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
-}
-
-/*
- * this routine is used for miscellaneous IP-like checksums, mainly
- * in icmp.c
- */
-extern __sum16 ip_compute_csum(const void *buff, int len);
-
-#define _HAVE_ARCH_IPV6_CSUM
-
-static __inline__ __sum16
-csum_ipv6_magic(const struct in6_addr *saddr, const struct in6_addr *daddr,
- __u32 len, unsigned short proto, __wsum sum)
-{
- asm volatile (
- " add.4 %0, 0(%2), %0 \n\t"
- " addc %0, 4(%2), %0 \n\t"
- " addc %0, 8(%2), %0 \n\t"
- " addc %0, 12(%2), %0 \n\t"
- " addc %0, 0(%3), %0 \n\t"
- " addc %0, 4(%3), %0 \n\t"
- " addc %0, 8(%3), %0 \n\t"
- " addc %0, 12(%3), %0 \n\t"
- " addc %0, %4, %0 \n\t"
- " addc %0, #0, %0 \n\t"
- : "=&d" (sum)
- : "0" (sum), "a" (saddr), "a" (daddr), "d" (len + proto)
- );
- return csum_fold(sum);
-}
-
-#endif /* _ASM_UBICOM32_CHECKSUM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cpu.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/cpu.h
deleted file mode 100644
index c713b62..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cpu.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * arch/ubicom32/include/asm/cpu.h
- * CPU definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2004-2005 ARM Ltd.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CPU_H
-#define _ASM_UBICOM32_CPU_H
-
-#include <linux/percpu.h>
-
-struct cpuinfo_ubicom32 {
- unsigned long tid; /* Hardware thread number */
-
-#ifdef CONFIG_SMP
- volatile unsigned long ipi_pending; /* Bit map of operations to execute */
- unsigned long ipi_count; /* Number of IPI(s) taken on this cpu */
-#endif
-};
-
-DECLARE_PER_CPU(struct cpuinfo_ubicom32, cpu_data);
-
-#endif /* _ASM_UBICOM32_CPU_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cputime.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/cputime.h
deleted file mode 100644
index c794443..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/cputime.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/cputime.h
- * Generic cputime.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CPUTIME_H
-#define _ASM_UBICOM32_CPUTIME_H
-
-#include <asm-generic/cputime.h>
-
-#endif /* _ASM_UBICOM32_CPUTIME_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/current.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/current.h
deleted file mode 100644
index 2d549bb..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/current.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * arch/ubicom32/include/asm/current.h
- * Definition of get_current() for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * (C) Copyright 2000, Lineo, David McCullough <davidm@uclinux.org>
- * (C) Copyright 2002, Greg Ungerer (gerg@snapgear.com)
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_CURRENT_H
-#define _ASM_UBICOM32_CURRENT_H
-
-#include <linux/thread_info.h>
-
-struct task_struct;
-
-static inline struct task_struct *get_current(void)
-{
- return(current_thread_info()->task);
-}
-
-#define current get_current()
-
-#endif /* _ASM_UBICOM32_CURRENT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/delay.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/delay.h
deleted file mode 100644
index 0e5025c..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/delay.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * arch/ubicom32/include/asm/delay.h
- * Definition of delay routines for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_DELAY_H
-#define _ASM_UBICOM32_DELAY_H
-
-#include <asm/param.h>
-#include <asm/ip5000.h>
-
-static inline void __delay(unsigned long loops)
-{
- if (loops == 0) {
- return;
- }
-
- asm volatile (
- "1: add.4 %0, #-1, %0 \n\t"
- " jmpne.t 1b \n\t"
- : "+d" (loops)
- );
-}
-
-/*
- * Ubicom32 processor uses fixed 12MHz external OSC.
- * So we use that as reference to count 12 cycles/us
- */
-
-extern unsigned long loops_per_jiffy;
-
-static inline void _udelay(unsigned long usecs)
-{
-#if defined(CONFIG_UBICOM32_V4) || defined(CONFIG_UBICOM32_V3)
- asm volatile (
- " add.4 d15, 0(%0), %1 \n\t"
- " sub.4 #0, 0(%0), d15 \n\t"
- " jmpmi.w.f .-4 \n\t"
- :
- : "a"(TIMER_BASE + TIMER_MPTVAL), "d"(usecs * (12000000/1000000))
- : "d15"
- );
-#else
- BUG();
-#endif
-}
-
-/*
- * Moved the udelay() function into library code, no longer inlined.
- */
-extern void udelay(unsigned long usecs);
-
-#endif /* _ASM_UBICOM32_DELAY_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/device.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/device.h
deleted file mode 100644
index 53de082..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/device.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * arch/ubicom32/include/asm/device.h
- * Generic device.h for Ubicom32 architecture.
- *
- * Used for arch specific extensions to struct device
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_DEVICE_H
-#define _ASM_UBICOM32_DEVICE_H
-
-#include <asm-generic/device.h>
-
-#endif /* _ASM_UBICOM32_DEVICE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/devtree.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/devtree.h
deleted file mode 100644
index 3380c2b..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/devtree.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * arch/ubicom32/include/asm/devtree.h
- * Device Tree Header File (Shared between ultra and the Host OS)
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_DEVTREE_H
-#define _ASM_UBICOM32_DEVTREE_H
-
-#define DEVTREE_MAX_NAME 32
-#define DEVTREE_IRQ_NONE 0xff
-#define DEVTREE_IRQ_DONTCARE 0xff
-#define DEVTREE_NODE_MAGIC 0x10203040
-
-struct devtree_node {
- struct devtree_node *next;
- unsigned char sendirq;
- unsigned char recvirq;
- char name[DEVTREE_MAX_NAME];
- unsigned int magic;
-};
-
-extern struct devtree_node *devtree;
-extern struct devtree_node *devtree_find_by_irq(uint8_t sendirq, uint8_t recvirq);
-extern struct devtree_node *devtree_find_node(const char *str);
-extern struct devtree_node *devtree_find_next(struct devtree_node **cur);
-extern int devtree_irq(struct devtree_node *dn, unsigned char *sendirq, unsigned char *recvirq);
-extern void devtree_print(void);
-
-#endif /* _ASM_UBICOM32_DEVTREE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/div64.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/div64.h
deleted file mode 100644
index 9770261..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/div64.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/div64.h
- * Generic div64.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_DIV64_H
-#define _ASM_UBICOM32_DIV64_H
-
-#include <asm-generic/div64.h>
-
-#endif /* _ASM_UBICOM32_DIV64_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/dma-mapping.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/dma-mapping.h
deleted file mode 100644
index 87639a4..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/dma-mapping.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * arch/ubicom32/include/asm/dma-mapping.h
- * Generic dma-mapping.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_DMA_MAPPING_H
-#define _ASM_UBICOM32_DMA_MAPPING_H
-
-#include <linux/scatterlist.h>
-#ifdef CONFIG_PCI
-
-/* we implement the API below in terms of the existing PCI one,
- * so include it */
-#include <linux/pci.h>
-/* need struct page definitions */
-#include <linux/mm.h>
-
-static inline int
-dma_supported(struct device *dev, u64 mask)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- return pci_dma_supported(to_pci_dev(dev), mask);
-}
-
-static inline int
-dma_set_mask(struct device *dev, u64 dma_mask)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- return pci_set_dma_mask(to_pci_dev(dev), dma_mask);
-}
-
-static inline void *
-dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
- gfp_t flag)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- return pci_alloc_consistent(to_pci_dev(dev), size, dma_handle);
-}
-
-static inline void
-dma_free_coherent(struct device *dev, size_t size, void *cpu_addr,
- dma_addr_t dma_handle)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_free_consistent(to_pci_dev(dev), size, cpu_addr, dma_handle);
-}
-
-static inline dma_addr_t
-dma_map_single(struct device *dev, void *cpu_addr, size_t size,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- return pci_map_single(to_pci_dev(dev), cpu_addr, size, (int)direction);
-}
-
-static inline void
-dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_unmap_single(to_pci_dev(dev), dma_addr, size, (int)direction);
-}
-
-static inline dma_addr_t
-dma_map_page(struct device *dev, struct page *page,
- unsigned long offset, size_t size,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- return pci_map_page(to_pci_dev(dev), page, offset, size, (int)direction);
-}
-
-static inline void
-dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_unmap_page(to_pci_dev(dev), dma_address, size, (int)direction);
-}
-
-static inline int
-dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- return pci_map_sg(to_pci_dev(dev), sg, nents, (int)direction);
-}
-
-static inline void
-dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_unmap_sg(to_pci_dev(dev), sg, nhwentries, (int)direction);
-}
-
-static inline void
-dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_dma_sync_single_for_cpu(to_pci_dev(dev), dma_handle,
- size, (int)direction);
-}
-
-static inline void
-dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_dma_sync_single_for_device(to_pci_dev(dev), dma_handle,
- size, (int)direction);
-}
-
-static inline void
-dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_dma_sync_sg_for_cpu(to_pci_dev(dev), sg, nelems, (int)direction);
-}
-
-static inline void
-dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems,
- enum dma_data_direction direction)
-{
- BUG_ON(dev->bus != &pci_bus_type);
-
- pci_dma_sync_sg_for_device(to_pci_dev(dev), sg, nelems, (int)direction);
-}
-
-static inline int
-dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
-{
- return pci_dma_mapping_error(to_pci_dev(dev), dma_addr);
-}
-
-
-#else
-
-static inline int
-dma_supported(struct device *dev, u64 mask)
-{
- return 0;
-}
-
-static inline int
-dma_set_mask(struct device *dev, u64 dma_mask)
-{
- BUG();
- return 0;
-}
-
-static inline void *
-dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
- gfp_t flag)
-{
- BUG();
- return NULL;
-}
-
-static inline void
-dma_free_coherent(struct device *dev, size_t size, void *cpu_addr,
- dma_addr_t dma_handle)
-{
- BUG();
-}
-
-static inline dma_addr_t
-dma_map_single(struct device *dev, void *cpu_addr, size_t size,
- enum dma_data_direction direction)
-{
- BUG();
- return 0;
-}
-
-static inline void
-dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline dma_addr_t
-dma_map_page(struct device *dev, struct page *page,
- unsigned long offset, size_t size,
- enum dma_data_direction direction)
-{
- BUG();
- return 0;
-}
-
-static inline void
-dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline int
-dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
- enum dma_data_direction direction)
-{
- BUG();
- return 0;
-}
-
-static inline void
-dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline void
-dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline void
-dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline void
-dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline void
-dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems,
- enum dma_data_direction direction)
-{
- BUG();
-}
-
-static inline int
-dma_mapping_error(struct device *dev, dma_addr_t dma_addr)
-{
- return 0;
-}
-
-#endif
-
-/* Now for the API extensions over the pci_ one */
-
-#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
-#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
-#define dma_is_consistent(d, h) (1)
-
-static inline int
-dma_get_cache_alignment(void)
-{
- /* no easy way to get cache size on all processors, so return
- * the maximum possible, to be safe */
- return (1 << INTERNODE_CACHE_SHIFT);
-}
-
-static inline void
-dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle,
- unsigned long offset, size_t size,
- enum dma_data_direction direction)
-{
- /* just sync everything, that's all the pci API can do */
- dma_sync_single_for_cpu(dev, dma_handle, offset+size, direction);
-}
-
-static inline void
-dma_sync_single_range_for_device(struct device *dev, dma_addr_t dma_handle,
- unsigned long offset, size_t size,
- enum dma_data_direction direction)
-{
- /* just sync everything, that's all the pci API can do */
- dma_sync_single_for_device(dev, dma_handle, offset+size, direction);
-}
-
-static inline void
-dma_cache_sync(struct device *dev, void *vaddr, size_t size,
- enum dma_data_direction direction)
-{
- /* could define this in terms of the dma_cache ... operations,
- * but if you get this on a platform, you should convert the platform
- * to using the generic device DMA API */
- BUG();
-}
-
-#endif /* _ASM_UBICOM32_DMA_MAPPING_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/dma.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/dma.h
deleted file mode 100644
index c3a10ac..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/dma.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * arch/ubicom32/include/asm/dma.h
- * DMA definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_DMA_H
-#define _ASM_UBICOM32_DMA_H
-
-/* Nothing so far */
-#define MAX_DMA_ADDRESS 0x00 /* This is quite suspicious */
-
-#endif /* _ASM_UBICOM32_DMA_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/elf.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/elf.h
deleted file mode 100644
index 3abc202..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/elf.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * arch/ubicom32/include/asm/elf.h
- * Definitions for elf executable format for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_ELF_H
-#define _ASM_UBICOM32_ELF_H
-
-/*
- * ELF register definitions..
- */
-
-#include <asm/ptrace.h>
-#include <asm/user.h>
-
-/*
- * Processor specific flags for the ELF header e_flags field.
- */
-#define EF_UBICOM32_V3 0x00000001 /* -fmarch=ubicom32v3 */
-#define EF_UBICOM32_V4 0x00000002 /* -fmarch=ubicom32v4 */
-#define EF_UBICOM32_PIC 0x80000000 /* -fpic */
-#define EF_UBICOM32_FDPIC 0x40000000 /* -mfdpic */
-
-/*
- * Ubicom32 ELF relocation types
- */
-#define R_UBICOM32_NONE 0
-#define R_UBICOM32_16 1
-#define R_UBICOM32_32 2
-#define R_UBICOM32_LO16 3
-#define R_UBICOM32_HI16 4
-#define R_UBICOM32_21_PCREL 5
-#define R_UBICOM32_24_PCREL 6
-#define R_UBICOM32_HI24 7
-#define R_UBICOM32_LO7_S 8
-#define R_UBICOM32_LO7_2_S 9
-#define R_UBICOM32_LO7_4_S 10
-#define R_UBICOM32_LO7_D 11
-#define R_UBICOM32_LO7_2_D 12
-#define R_UBICOM32_LO7_4_D 13
-#define R_UBICOM32_32_HARVARD 14
-#define R_UBICOM32_LO7_CALLI 15
-#define R_UBICOM32_LO16_CALLI 16
-#define R_UBICOM32_GOT_HI24 17
-#define R_UBICOM32_GOT_LO7_S 18
-#define R_UBICOM32_GOT_LO7_2_S 19
-#define R_UBICOM32_GOT_LO7_4_S 20
-#define R_UBICOM32_GOT_LO7_D 21
-#define R_UBICOM32_GOT_LO7_2_D 22
-#define R_UBICOM32_GOT_LO7_4_D 23
-#define R_UBICOM32_FUNCDESC_GOT_HI24 24
-#define R_UBICOM32_FUNCDESC_GOT_LO7_S 25
-#define R_UBICOM32_FUNCDESC_GOT_LO7_2_S 26
-#define R_UBICOM32_FUNCDESC_GOT_LO7_4_S 27
-#define R_UBICOM32_FUNCDESC_GOT_LO7_D 28
-#define R_UBICOM32_FUNCDESC_GOT_LO7_2_D 29
-#define R_UBICOM32_FUNCDESC_GOT_LO7_4_D 30
-#define R_UBICOM32_GOT_LO7_CALLI 31
-#define R_UBICOM32_FUNCDESC_GOT_LO7_CALLI 32
-#define R_UBICOM32_FUNCDESC_VALUE 33
-#define R_UBICOM32_FUNCDESC 34
-#define R_UBICOM32_GOTOFFSET_LO 35
-#define R_UBICOM32_GOTOFFSET_HI 36
-#define R_UBICOM32_FUNCDESC_GOTOFFSET_LO 37
-#define R_UBICOM32_FUNCDESC_GOTOFFSET_HI 38
-#define R_UBICOM32_GNU_VTINHERIT 200
-#define R_UBICOM32_GNU_VTENTRY 201
-
-typedef unsigned long elf_greg_t;
-
-#define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t))
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-typedef struct user_ubicom32fp_struct elf_fpregset_t;
-
-/*
- * This is used to ensure we don't load something for the wrong architecture.
- */
-#define elf_check_arch(x) ((x)->e_machine == EM_UBICOM32)
-
-#define elf_check_fdpic(x) ((x)->e_flags & EF_UBICOM32_FDPIC)
-
-#define elf_check_const_displacement(x) ((x)->e_flags & EF_UBICOM32_PIC)
-
-/*
- * These are used to set parameters in the core dumps.
- */
-#define ELF_CLASS ELFCLASS32
-#define ELF_DATA ELFDATA2MSB
-#define ELF_ARCH EM_UBICOM32
-
-/* For SVR4/m68k the function pointer to be registered with `atexit' is
- passed in %a1. Although my copy of the ABI has no such statement, it
- is actually used on ASV. */
-#define ELF_PLAT_INIT(_r, load_addr) _r->a1 = 0
-
-#define ELF_FDPIC_PLAT_INIT(_regs, _exec_map_addr, _interp_map_addr, \
- _dynamic_addr) \
- do { \
- _regs->dn[1] = _exec_map_addr; \
- _regs->dn[2] = _interp_map_addr; \
- _regs->dn[3] = _dynamic_addr; \
- _regs->an[1] = 0; /* dl_fini will be set by ldso */ \
- } while (0)
-
-#define USE_ELF_CORE_DUMP
-#define ELF_EXEC_PAGESIZE 4096
-
-#ifdef __KERNEL__
-#ifdef CONFIG_UBICOM32_V4
-#define ELF_FDPIC_CORE_EFLAGS (EF_UBICOM32_FDPIC | EF_UBICOM32_V4)
-#elif defined CONFIG_UBICOM32_V3
-#define ELF_FDPIC_CORE_EFLAGS (EF_UBICOM32_FDPIC | EF_UBICOM32_V3)
-#else
-#error Unknown/Unsupported ubicom32 architecture.
-#endif
-#endif
-
-/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
- use of this is to invoke "./ld.so someprog" to test out a new version of
- the loader. We need to make sure that it is out of the way of the program
- that it will "exec", and that there is sufficient room for the brk. */
-
-#define ELF_ET_DYN_BASE 0xD0000000UL
-
-/*
- * For Ubicom32, the elf_gregset_t and struct pt_regs are the same size
- * data structure so a copy is performed instead of providing the
- * ELF_CORE_COPY_REGS macro.
- */
-
-/*
- * ELF_CORE_COPY_TASK_REGS is needed to dump register state from multi threaded user projects.
- */
-extern int dump_task_regs(struct task_struct *, elf_gregset_t *);
-#define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk, elf_regs)
-
-/* This yields a mask that user programs can use to figure out what
- instruction set this cpu supports. */
-
-#define ELF_HWCAP (0)
-
-/* This yields a string that ld.so will use to load implementation
- specific libraries for optimization. This is more specific in
- intent than poking at uname or /proc/cpuinfo. */
-
-#define ELF_PLATFORM (NULL)
-
-#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
-
-#endif /* _ASM_UBICOM32_ELF_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/emergency-restart.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/emergency-restart.h
deleted file mode 100644
index ea39e58..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/emergency-restart.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/emergency-restart.h
- * Generic emergency-restart.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_EMERGENCY_RESTART_H
-#define _ASM_UBICOM32_EMERGENCY_RESTART_H
-
-#include <asm-generic/emergency-restart.h>
-
-#endif /* _ASM_UBICOM32_EMERGENCY_RESTART_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/entry.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/entry.h
deleted file mode 100644
index 5ef46e6..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/entry.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * arch/ubicom32/include/asm/entry.h
- * Entry register/stack definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_ENTRY_H
-#define _ASM_UBICOM32_ENTRY_H
-
-#include <asm/setup.h>
-#include <asm/page.h>
-
-#endif /* _ASM_UBICOM32_ENTRY_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/errno.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/errno.h
deleted file mode 100644
index bf995b1..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/errno.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/errno.h
- * Generic errno.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_ERRNO_H
-#define _ASM_UBICOM32_ERRNO_H
-
-#include <asm-generic/errno.h>
-
-#endif /* _ASM_UBICOM32_ERRNO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/fb.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/fb.h
deleted file mode 100644
index 9e9cc6b..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/fb.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * arch/ubicom32/include/asm/fb.h
- * Definition of fb_is_primary_device() for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_FB_H
-#define _ASM_UBICOM32_FB_H
-#include <linux/fb.h>
-
-#define fb_pgprotect(...) do {} while (0)
-
-static inline int fb_is_primary_device(struct fb_info *info)
-{
- return 0;
-}
-
-#endif /* _ASM_UBICOM32_FB_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/fcntl.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/fcntl.h
deleted file mode 100644
index 810638c..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/fcntl.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * arch/ubicom32/include/asm/fcntl.h
- * File control bit definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_FCNTL_H
-#define _ASM_UBICOM32_FCNTL_H
-
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0400000
-
-#include <asm-generic/fcntl.h>
-
-#endif /* _ASM_UBICOM32_FCNTL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/flat.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/flat.h
deleted file mode 100644
index 84edd47..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/flat.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * arch/ubicom32/include/asm/flat.h
- * Definitions to support flat-format executables.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_FLAT_H
-#define _ASM_UBICOM32_FLAT_H
-
-#define ARCH_FLAT_ALIGN 0x80
-#define ARCH_FLAT_ALIGN_TEXT 1
-
-#define R_UBICOM32_32 2
-#define R_UBICOM32_HI24 7
-#define R_UBICOM32_LO7_S 8
-#define R_UBICOM32_LO7_2_S 9
-#define R_UBICOM32_LO7_4_S 10
-#define R_UBICOM32_LO7_D 11
-#define R_UBICOM32_LO7_2_D 12
-#define R_UBICOM32_LO7_4_D 13
-#define R_UBICOM32_LO7_CALLI 15
-#define R_UBICOM32_LO16_CALLI 16
-
-extern void ubicom32_flat_put_addr_at_rp(unsigned long *rp, u32_t val, u32_t rval, unsigned long *p);
-extern unsigned long ubicom32_flat_get_addr_from_rp(unsigned long *rp, u32_t relval, u32_t flags, unsigned long *p);
-
-#define flat_stack_align(sp) /* nothing needed */
-#define flat_argvp_envp_on_stack() 1
-#define flat_old_ram_flag(flags) (flags)
-#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
-#define flat_get_addr_from_rp(rp, relval, flags, p) (ubicom32_flat_get_addr_from_rp(rp, relval,flags, p))
-#define flat_put_addr_at_rp(rp, val, relval) do {ubicom32_flat_put_addr_at_rp(rp, val, relval, &persistent);} while(0)
-#define flat_get_relocate_addr(rel) ((persistent) ? (persistent & 0x07ffffff) : (rel & 0x07ffffff))
-
-static inline int flat_set_persistent(unsigned int relval, unsigned long *p)
-{
- if (*p) {
- return 0;
- } else {
- if ((relval >> 27) != R_UBICOM32_32) {
- /*
- * Something other than UBICOM32_32. The next entry has the relocation.
- */
- *p = relval;
- return 1;
- }
- }
- return 0;
-}
-
-#endif /* _ASM_UBICOM32_FLAT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/fpu.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/fpu.h
deleted file mode 100644
index 496b7dd..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/fpu.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * arch/ubicom32/include/asm/fpu.h
- * Floating point state definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_FPU_H
-#define _ASM_UBICOM32_FPU_H
-
-/*
- * MAX floating point unit state size (FSAVE/FRESTORE)
- */
-/* No FP unit present then... */
-#define FPSTATESIZE (2) /* dummy size */
-
-#endif /* _ASM_UBICOM32_FPU_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ftrace.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ftrace.h
deleted file mode 100644
index 40a8c17..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ftrace.h
+++ /dev/null
@@ -1 +0,0 @@
-/* empty */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/futex.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/futex.h
deleted file mode 100644
index 8c84b31..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/futex.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/futex.h
- * Generic futex.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_FUTEX_H
-#define _ASM_UBICOM32_FUTEX_H
-
-#include <asm-generic/futex.h>
-
-#endif /* _ASM_UBICOM32_FUTEX_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/gpio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/gpio.h
deleted file mode 100644
index 1f834f3..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/gpio.h
+++ /dev/null
@@ -1,453 +0,0 @@
-/*
- * arch/ubicom32/include/asm/gpio.h
- * Definitions for GPIO operations on Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_GPIO_H
-#define _ASM_UBICOM32_GPIO_H
-
-#include <linux/compiler.h>
-#include <asm/irq.h>
-
-#include <asm/ip5000.h>
-
-#define ARCH_NR_GPIOS 512
-#define MAX_UBICOM_ONCHIP_GPIO (9 * 32)
-
-/*
- * Macros for manipulating GPIO numbers
- */
-#define gpio_bit(gn) (1 << (gn & 0x1f))
-#define gpio_bank(gn) (gn >> 5)
-
-#define gpio_pin_index(gn) (gn & 0x1f)
-#define gpio_port_index(gn) (gn >> 5)
-
-#define GPIO_RA_0 ((32 * 0) + 0)
-#define GPIO_RA_1 ((32 * 0) + 1)
-#define GPIO_RA_2 ((32 * 0) + 2)
-#define GPIO_RA_3 ((32 * 0) + 3)
-#define GPIO_RA_4 ((32 * 0) + 4)
-#define GPIO_RA_5 ((32 * 0) + 5)
-#define GPIO_RA_6 ((32 * 0) + 6)
-#define GPIO_RA_7 ((32 * 0) + 7)
-
-#define GPIO_RB_0 ((32 * 1) + 0)
-#define GPIO_RB_1 ((32 * 1) + 1)
-#define GPIO_RB_2 ((32 * 1) + 2)
-#define GPIO_RB_3 ((32 * 1) + 3)
-#define GPIO_RB_4 ((32 * 1) + 4)
-#define GPIO_RB_5 ((32 * 1) + 5)
-#define GPIO_RB_6 ((32 * 1) + 6)
-#define GPIO_RB_7 ((32 * 1) + 7)
-#define GPIO_RB_8 ((32 * 1) + 8)
-#define GPIO_RB_9 ((32 * 1) + 9)
-#define GPIO_RB_10 ((32 * 1) + 10)
-#define GPIO_RB_11 ((32 * 1) + 11)
-#define GPIO_RB_12 ((32 * 1) + 12)
-#define GPIO_RB_13 ((32 * 1) + 13)
-#define GPIO_RB_14 ((32 * 1) + 14)
-#define GPIO_RB_15 ((32 * 1) + 15)
-#define GPIO_RB_16 ((32 * 1) + 16)
-#define GPIO_RB_17 ((32 * 1) + 17)
-#define GPIO_RB_18 ((32 * 1) + 18)
-#define GPIO_RB_19 ((32 * 1) + 19)
-
-#define GPIO_RC_0 ((32 * 2) + 0)
-#define GPIO_RC_1 ((32 * 2) + 1)
-#define GPIO_RC_2 ((32 * 2) + 2)
-#define GPIO_RC_3 ((32 * 2) + 3)
-#define GPIO_RC_4 ((32 * 2) + 4)
-#define GPIO_RC_5 ((32 * 2) + 5)
-#define GPIO_RC_6 ((32 * 2) + 6)
-#define GPIO_RC_7 ((32 * 2) + 7)
-#define GPIO_RC_8 ((32 * 2) + 8)
-#define GPIO_RC_9 ((32 * 2) + 9)
-#define GPIO_RC_10 ((32 * 2) + 10)
-#define GPIO_RC_11 ((32 * 2) + 11)
-#define GPIO_RC_12 ((32 * 2) + 12)
-#define GPIO_RC_13 ((32 * 2) + 13)
-#define GPIO_RC_14 ((32 * 2) + 14)
-#define GPIO_RC_15 ((32 * 2) + 15)
-#define GPIO_RC_16 ((32 * 2) + 16)
-#define GPIO_RC_17 ((32 * 2) + 17)
-#define GPIO_RC_18 ((32 * 2) + 18)
-#define GPIO_RC_19 ((32 * 2) + 19)
-#define GPIO_RC_20 ((32 * 2) + 20)
-#define GPIO_RC_21 ((32 * 2) + 21)
-#define GPIO_RC_22 ((32 * 2) + 22)
-#define GPIO_RC_23 ((32 * 2) + 23)
-#define GPIO_RC_24 ((32 * 2) + 24)
-#define GPIO_RC_25 ((32 * 2) + 25)
-#define GPIO_RC_26 ((32 * 2) + 26)
-#define GPIO_RC_27 ((32 * 2) + 27)
-#define GPIO_RC_28 ((32 * 2) + 28)
-#define GPIO_RC_29 ((32 * 2) + 29)
-#define GPIO_RC_30 ((32 * 2) + 30)
-#define GPIO_RC_31 ((32 * 2) + 31)
-
-#define GPIO_RD_0 ((32 * 3) + 0)
-#define GPIO_RD_1 ((32 * 3) + 1)
-#define GPIO_RD_2 ((32 * 3) + 2)
-#define GPIO_RD_3 ((32 * 3) + 3)
-#define GPIO_RD_4 ((32 * 3) + 4)
-#define GPIO_RD_5 ((32 * 3) + 5)
-#define GPIO_RD_6 ((32 * 3) + 6)
-#define GPIO_RD_7 ((32 * 3) + 7)
-#define GPIO_RD_8 ((32 * 3) + 8)
-#define GPIO_RD_9 ((32 * 3) + 9)
-#define GPIO_RD_10 ((32 * 3) + 10)
-#define GPIO_RD_11 ((32 * 3) + 11)
-
-#define GPIO_RE_0 ((32 * 4) + 0)
-#define GPIO_RE_1 ((32 * 4) + 1)
-#define GPIO_RE_2 ((32 * 4) + 2)
-#define GPIO_RE_3 ((32 * 4) + 3)
-#define GPIO_RE_4 ((32 * 4) + 4)
-#define GPIO_RE_5 ((32 * 4) + 5)
-#define GPIO_RE_6 ((32 * 4) + 6)
-#define GPIO_RE_7 ((32 * 4) + 7)
-
-#define GPIO_RF_0 ((32 * 5) + 0)
-#define GPIO_RF_1 ((32 * 5) + 1)
-#define GPIO_RF_2 ((32 * 5) + 2)
-#define GPIO_RF_3 ((32 * 5) + 3)
-#define GPIO_RF_4 ((32 * 5) + 4)
-#define GPIO_RF_5 ((32 * 5) + 5)
-#define GPIO_RF_6 ((32 * 5) + 6)
-#define GPIO_RF_7 ((32 * 5) + 7)
-#define GPIO_RF_8 ((32 * 5) + 8)
-#define GPIO_RF_9 ((32 * 5) + 9)
-#define GPIO_RF_10 ((32 * 5) + 10)
-#define GPIO_RF_11 ((32 * 5) + 11)
-#define GPIO_RF_12 ((32 * 5) + 12)
-#define GPIO_RF_13 ((32 * 5) + 13)
-#define GPIO_RF_14 ((32 * 5) + 14)
-#define GPIO_RF_15 ((32 * 5) + 15)
-
-#define GPIO_RG_0 ((32 * 6) + 0)
-#define GPIO_RG_1 ((32 * 6) + 1)
-#define GPIO_RG_2 ((32 * 6) + 2)
-#define GPIO_RG_3 ((32 * 6) + 3)
-#define GPIO_RG_4 ((32 * 6) + 4)
-#define GPIO_RG_5 ((32 * 6) + 5)
-#define GPIO_RG_6 ((32 * 6) + 6)
-#define GPIO_RG_7 ((32 * 6) + 7)
-#define GPIO_RG_8 ((32 * 6) + 8)
-#define GPIO_RG_9 ((32 * 6) + 9)
-#define GPIO_RG_10 ((32 * 6) + 10)
-#define GPIO_RG_11 ((32 * 6) + 11)
-#define GPIO_RG_12 ((32 * 6) + 12)
-#define GPIO_RG_13 ((32 * 6) + 13)
-#define GPIO_RG_14 ((32 * 6) + 14)
-#define GPIO_RG_15 ((32 * 6) + 15)
-#define GPIO_RG_16 ((32 * 6) + 16)
-#define GPIO_RG_17 ((32 * 6) + 17)
-#define GPIO_RG_18 ((32 * 6) + 18)
-#define GPIO_RG_19 ((32 * 6) + 19)
-#define GPIO_RG_20 ((32 * 6) + 20)
-#define GPIO_RG_21 ((32 * 6) + 21)
-#define GPIO_RG_22 ((32 * 6) + 22)
-#define GPIO_RG_23 ((32 * 6) + 23)
-#define GPIO_RG_24 ((32 * 6) + 24)
-#define GPIO_RG_25 ((32 * 6) + 25)
-#define GPIO_RG_26 ((32 * 6) + 26)
-#define GPIO_RG_27 ((32 * 6) + 27)
-#define GPIO_RG_28 ((32 * 6) + 28)
-#define GPIO_RG_29 ((32 * 6) + 29)
-#define GPIO_RG_30 ((32 * 6) + 30)
-#define GPIO_RG_31 ((32 * 6) + 31)
-
-#define GPIO_RH_0 ((32 * 7) + 0)
-#define GPIO_RH_1 ((32 * 7) + 1)
-#define GPIO_RH_2 ((32 * 7) + 2)
-#define GPIO_RH_3 ((32 * 7) + 3)
-#define GPIO_RH_4 ((32 * 7) + 4)
-#define GPIO_RH_5 ((32 * 7) + 5)
-#define GPIO_RH_6 ((32 * 7) + 6)
-#define GPIO_RH_7 ((32 * 7) + 7)
-#define GPIO_RH_8 ((32 * 7) + 8)
-#define GPIO_RH_9 ((32 * 7) + 9)
-
-#define GPIO_RI_0 ((32 * 8) + 0)
-#define GPIO_RI_1 ((32 * 8) + 1)
-#define GPIO_RI_2 ((32 * 8) + 2)
-#define GPIO_RI_3 ((32 * 8) + 3)
-#define GPIO_RI_4 ((32 * 8) + 4)
-#define GPIO_RI_5 ((32 * 8) + 5)
-#define GPIO_RI_6 ((32 * 8) + 6)
-#define GPIO_RI_7 ((32 * 8) + 7)
-#define GPIO_RI_8 ((32 * 8) + 8)
-#define GPIO_RI_9 ((32 * 8) + 9)
-#define GPIO_RI_10 ((32 * 8) + 10)
-#define GPIO_RI_11 ((32 * 8) + 11)
-#define GPIO_RI_12 ((32 * 8) + 12)
-#define GPIO_RI_13 ((32 * 8) + 13)
-#define GPIO_RI_14 ((32 * 8) + 14)
-#define GPIO_RI_15 ((32 * 8) + 15)
-
-/*
- * The following section defines extra GPIO available to some boards.
- * These GPIO are generally external to the processor (i.e. SPI/I2C
- * expander chips).
- *
- * Note that these defines show all possible GPIO available, however,
- * depending on the actual board configuration, some GPIO are not
- * available for use.
- */
-#ifdef CONFIG_IP7500MEDIA
-/*
- * U15
- */
-#define IP7500MEDIA_U15_BASE (32 * 10)
-#define IP7500MEDIA_IO0 (IP7500MEDIA_U15_BASE + 0)
-#define IP7500MEDIA_IO1 (IP7500MEDIA_U15_BASE + 1)
-#define IP7500MEDIA_IO2 (IP7500MEDIA_U15_BASE + 2)
-#define IP7500MEDIA_IO3 (IP7500MEDIA_U15_BASE + 3)
-#define IP7500MEDIA_IO4 (IP7500MEDIA_U15_BASE + 4)
-#define IP7500MEDIA_IO5 (IP7500MEDIA_U15_BASE + 5)
-#define IP7500MEDIA_IO6 (IP7500MEDIA_U15_BASE + 6)
-#define IP7500MEDIA_IO7 (IP7500MEDIA_U15_BASE + 7)
-
-/*
- * U16
- */
-#define IP7500MEDIA_U16_BASE (32 * 11)
-#define IP7500MEDIA_IO8 (IP7500MEDIA_U16_BASE + 0)
-#define IP7500MEDIA_IO9 (IP7500MEDIA_U16_BASE + 1)
-#define IP7500MEDIA_IO10 (IP7500MEDIA_U16_BASE + 2)
-#define IP7500MEDIA_IO11 (IP7500MEDIA_U16_BASE + 3)
-#define IP7500MEDIA_IO12 (IP7500MEDIA_U16_BASE + 4)
-#define IP7500MEDIA_IO13 (IP7500MEDIA_U16_BASE + 5)
-#define IP7500MEDIA_IO14 (IP7500MEDIA_U16_BASE + 6)
-#define IP7500MEDIA_IO15 (IP7500MEDIA_U16_BASE + 7)
-
-/*
- * U17
- */
-#define IP7500MEDIA_U17_BASE (32 * 12)
-#define IP7500MEDIA_IO16 (IP7500MEDIA_U17_BASE + 0)
-#define IP7500MEDIA_IO17 (IP7500MEDIA_U17_BASE + 1)
-#define IP7500MEDIA_IO18 (IP7500MEDIA_U17_BASE + 2)
-#define IP7500MEDIA_IO19 (IP7500MEDIA_U17_BASE + 3)
-#define IP7500MEDIA_IO20 (IP7500MEDIA_U17_BASE + 4)
-#define IP7500MEDIA_IO21 (IP7500MEDIA_U17_BASE + 5)
-#define IP7500MEDIA_IO22 (IP7500MEDIA_U17_BASE + 6)
-#define IP7500MEDIA_IO23 (IP7500MEDIA_U17_BASE + 7)
-
-/*
- * U18
- */
-#define IP7500MEDIA_U18_BASE (32 * 13)
-#define IP7500MEDIA_IO24 (IP7500MEDIA_U18_BASE + 0)
-#define IP7500MEDIA_IO25 (IP7500MEDIA_U18_BASE + 1)
-#define IP7500MEDIA_IO26 (IP7500MEDIA_U18_BASE + 2)
-#define IP7500MEDIA_IO27 (IP7500MEDIA_U18_BASE + 3)
-#define IP7500MEDIA_IO28 (IP7500MEDIA_U18_BASE + 4)
-#define IP7500MEDIA_IO29 (IP7500MEDIA_U18_BASE + 5)
-#define IP7500MEDIA_IO30 (IP7500MEDIA_U18_BASE + 6)
-#define IP7500MEDIA_IO31 (IP7500MEDIA_U18_BASE + 7)
-#endif
-
-#ifdef CONFIG_IP7145DPF
-/*
- * U48
- */
-#define IP7145DPF_U48_BASE (32 * 10)
-#define IP7145DPF_IO0 (IP7145DPF_U48_BASE + 0)
-#define IP7145DPF_IO1 (IP7145DPF_U48_BASE + 1)
-#define IP7145DPF_IO2 (IP7145DPF_U48_BASE + 2)
-#define IP7145DPF_IO3 (IP7145DPF_U48_BASE + 3)
-#define IP7145DPF_IO4 (IP7145DPF_U48_BASE + 4)
-#define IP7145DPF_IO5 (IP7145DPF_U48_BASE + 5)
-#define IP7145DPF_IO6 (IP7145DPF_U48_BASE + 6)
-#define IP7145DPF_IO7 (IP7145DPF_U48_BASE + 7)
-
-/*
- * U72
- */
-#define IP7145DPF_U72_BASE (32 * 11)
-#define IP7145DPF_IOB0 (IP7145DPF_U72_BASE + 0)
-#define IP7145DPF_IOB1 (IP7145DPF_U72_BASE + 1)
-#define IP7145DPF_IOB2 (IP7145DPF_U72_BASE + 2)
-#define IP7145DPF_IOB3 (IP7145DPF_U72_BASE + 3)
-#define IP7145DPF_IOB4 (IP7145DPF_U72_BASE + 4)
-#define IP7145DPF_IOB5 (IP7145DPF_U72_BASE + 5)
-#define IP7145DPF_IOB6 (IP7145DPF_U72_BASE + 6)
-#define IP7145DPF_IOB7 (IP7145DPF_U72_BASE + 7)
-#endif
-
-#include <asm-generic/gpio.h>
-
-/*
- * The following macros bypass gpiolib to generate direct references
- * to the port registers. These assume, minimally, that either
- * gpio_direction_input() or gpio_direction_output() have already been
- * called to setup the pin direction and to enable the pin function to
- * be gpio. These macros generate the hardware port address based on
- * the assumption that all ports are 32 bits wide (even though we know
- * they are not). This is so we can efficiently turn pin numbers into
- * port addresses without a lookup.
- *
- * These operations must be done in one instruction to prevent clobbering
- * other thread's accesses to the same port.
- */
-#define UBICOM32_GPIO_ENABLE(pin) \
- do { \
- asm volatile ("or.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_mask), \
- [mask] "d" (gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_DISABLE(pin) \
- do { \
- asm volatile ("and.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_mask), \
- [mask] "d" (~gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_SET_PIN_INPUT(pin) \
- do { \
- asm volatile ("and.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_ctl), \
- [mask] "d" (~gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_SET_PIN_OUTPUT(pin) \
- do { \
- asm volatile ("or.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_ctl), \
- [mask] "d" (gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_SET_PIN_TOGGLE(pin) \
- do { \
- asm volatile ("xor.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_out), \
- [mask] "d" (gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_SET_PIN_HIGH(pin) \
- do { \
- asm volatile ("or.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_out), \
- [mask] "d" (gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_SET_PIN_LOW(pin) \
- do { \
- asm volatile ("and.4 (%[port]), (%[port]), %[mask]\n\t" \
- : \
- : [port] "a" (&UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_out), \
- [mask] "d" (~gpio_bit(pin)) \
- : "cc", "memory" \
- ); \
- } while (0);
-
-#define UBICOM32_GPIO_SET_PIN(pin, val) \
- if ( val ) { \
- UBICOM32_GPIO_SET_PIN_HIGH(pin); \
- } else { \
- UBICOM32_GPIO_SET_PIN_LOW(pin); \
- }
-
-#define UBICOM32_GPIO_GET_PIN(pin) \
- (0 != (UBICOM32_IO_PORT(IO_BASE + (gpio_bank(pin) << 12))->gpio_in \
- & gpio_bit(pin)))
-
-
-static inline int gpio_get_value(unsigned gpio)
-{
- if (gpio <= MAX_UBICOM_ONCHIP_GPIO)
- return UBICOM32_GPIO_GET_PIN(gpio);
- else
- return __gpio_get_value(gpio);
-}
-
-static inline void gpio_set_value(unsigned gpio, int value)
-{
- if (gpio <= MAX_UBICOM_ONCHIP_GPIO)
- {
- UBICOM32_GPIO_SET_PIN(gpio, value);
- }
- else
- {
- __gpio_set_value(gpio, value);
- }
-}
-
-static inline int gpio_cansleep(unsigned gpio)
-{
- return __gpio_cansleep(gpio);
-}
-
-static inline int gpio_to_irq(unsigned gpio)
-{
-#if defined(IP5000) || defined(IP5000_REV2)
- if ((gpio >= GPIO_RA_4) && (gpio <= GPIO_RA_6))
- return 25;
- else
- return -ENXIO;
-
-#elif defined(IP7000) || defined(IP7000_REV2)
- if ((gpio >= GPIO_RA_4) && (gpio <= GPIO_RA_6))
- return 44 + (gpio - GPIO_RA_4);
- else
- return -ENXIO;
-
-#else
- return -ENXIO;
-
-#endif
-}
-
-static inline int irq_to_gpio(unsigned gpio)
-{
- return -ENXIO;
-}
-
-extern struct ubicom32_io_port *ubi_gpio_get_port(unsigned gpio);
-
-extern int __init ubi_gpio_init(void);
-
-#endif /* _ASM_UBICOM32_GPIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/hardirq.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/hardirq.h
deleted file mode 100644
index e230481..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/hardirq.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * arch/ubicom32/include/asm/hardirq.h
- * Definition of ack_bad_irq() for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 1997, 98, 99, 2000, 01, 05 Ralf Baechle (ralf@linux-mips.org)
- * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
- * Copyright (C) 2001 MIPS Technologies, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_HARDIRQ_H
-#define _ASM_UBICOM32_HARDIRQ_H
-
-#include <linux/threads.h>
-#include <linux/irq.h>
-
-/*
- * The hardirq mask has to be large enough to have space
- * for potentially all IRQ sources in the system nesting
- * on a single CPU. For Ubicom32, we have 64 IRQ sources.
- */
-#define HARDIRQ_BITS 6
-#if (1 << HARDIRQ_BITS) < NR_IRQS
-# error HARDIRQ_BITS is too low!
-#endif
-
-typedef struct {
- unsigned int __softirq_pending;
-} ____cacheline_aligned irq_cpustat_t;
-
-#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
-
-extern void ack_bad_irq(unsigned int irq);
-
-#endif /* _ASM_UBICOM32_HARDIRQ_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/hw_irq.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/hw_irq.h
deleted file mode 100644
index 9dece31..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/hw_irq.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * arch/ubicom32/include/asm/hw_irq.h
- * Ubicom32 architecture APIC support.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_HW_IRQ_H
-#define _ASM_UBICOM32_HW_IRQ_H
-
-#endif /* _ASM_UBICOM32_HW_IRQ_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/io.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/io.h
deleted file mode 100644
index ad526a3..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/io.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * arch/ubicom32/include/asm/io.h
- * I/O memory accessor functions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IO_H
-#define _ASM_UBICOM32_IO_H
-
-#ifdef __KERNEL__
-#include <linux/string.h>
-#include <linux/compiler.h>
-
-static inline unsigned short _swapw(volatile unsigned short v)
-{
- return ((v << 8) | (v >> 8));
-}
-
-static inline unsigned int _swapl(volatile unsigned long v)
-{
- return ((v << 24) | ((v & 0xff00) << 8) | ((v & 0xff0000) >> 8) | (v >> 24));
-}
-
-#ifndef CONFIG_PCI
-#define readb(addr) \
- ({ unsigned char __v = (*(volatile unsigned char *) (addr)); __v; })
-#define readw(addr) \
- ({ unsigned short __v = (*(volatile unsigned short *) (addr)); __v; })
-#define readl(addr) \
- ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; })
-
-#define writeb(b,addr) (void)((*(volatile unsigned char *) (addr)) = (b))
-#define writew(b,addr) (void)((*(volatile unsigned short *) (addr)) = (b))
-#define writel(b,addr) (void)((*(volatile unsigned int *) (addr)) = (b))
-#else /*CONFIG_PCI */
-
-#define PCI_CPU_REG_BASE (0x00000000UL) /* taking lower 2GB space */
-#define PCI_DEV_REG_BASE (0x80000000UL)
-
-#if PCI_CPU_REG_BASE > PCI_DEV_REG_BASE
-#define IS_PCI_ADDRESS(x) (((unsigned int)(x)&(PCI_CPU_REG_BASE)) == 0)
-#else
-#define IS_PCI_ADDRESS(x) ((unsigned int)(x)&(PCI_DEV_REG_BASE))
-#endif
-
-extern unsigned int ubi32_pci_read_u32(const volatile void __iomem *addr);
-extern unsigned short ubi32_pci_read_u16(const volatile void __iomem *addr);
-extern unsigned char ubi32_pci_read_u8(const volatile void __iomem *addr);
-extern void ubi32_pci_write_u32(unsigned int val, const volatile void __iomem *addr);
-extern void ubi32_pci_write_u16(unsigned short val, const volatile void __iomem *addr);
-extern void ubi32_pci_write_u8(unsigned char val, const volatile void __iomem *addr);
-
-static inline unsigned char readb(const volatile void __iomem *addr)
-{
- if (IS_PCI_ADDRESS(addr))
- return ubi32_pci_read_u8(addr);
- else
- return (unsigned char)(*(volatile unsigned char *)addr);
-}
-static inline unsigned short readw(const volatile void __iomem *addr)
-{
- if (IS_PCI_ADDRESS(addr))
- return ubi32_pci_read_u16(addr);
- else
- return (unsigned short)(*(volatile unsigned short *)addr);
-}
-
-static inline unsigned int readl(const volatile void __iomem *addr)
-{
- if (IS_PCI_ADDRESS(addr))
- return ubi32_pci_read_u32(addr);
- else
- return (unsigned int)(*(volatile unsigned int *)addr);
-}
-
-static inline void writel(unsigned int val, volatile void __iomem *addr)
-{
- if (IS_PCI_ADDRESS(addr))
- ubi32_pci_write_u32(val, addr);
- else
- *(volatile unsigned int *)addr = val;
-}
-
-static inline void writew(unsigned short val, volatile void __iomem *addr)
-{
- if (IS_PCI_ADDRESS(addr))
- ubi32_pci_write_u16(val, addr);
- else
- *(volatile unsigned short *)addr = val;
-}
-
-static inline void writeb(unsigned char val, volatile void __iomem *addr)
-{
- if (IS_PCI_ADDRESS(addr))
- ubi32_pci_write_u8(val, addr);
- else
- *(volatile unsigned char *)addr = val;
-}
-#endif
-
-#define readb_relaxed(addr) readb(addr)
-#define readw_relaxed(addr) readw(addr)
-#define readl_relaxed(addr) readl(addr)
-
-
-#define __raw_readb readb
-#define __raw_readw readw
-#define __raw_readl readl
-#define __raw_writeb writeb
-#define __raw_writew writew
-#define __raw_writel writel
-
-static inline void io_outsb(unsigned int addr, const void *buf, int len)
-{
- volatile unsigned char *ap = (volatile unsigned char *) addr;
- unsigned char *bp = (unsigned char *) buf;
- while (len--)
- *ap = *bp++;
-}
-
-static inline void io_outsw(unsigned int addr, const void *buf, int len)
-{
- volatile unsigned short *ap = (volatile unsigned short *) addr;
- unsigned short *bp = (unsigned short *) buf;
- while (len--)
- *ap = _swapw(*bp++);
-}
-
-static inline void io_outsl(unsigned int addr, const void *buf, int len)
-{
- volatile unsigned int *ap = (volatile unsigned int *) addr;
- unsigned int *bp = (unsigned int *) buf;
- while (len--)
- *ap = _swapl(*bp++);
-}
-
-static inline void io_insb(unsigned int addr, void *buf, int len)
-{
- volatile unsigned char *ap = (volatile unsigned char *) addr;
- unsigned char *bp = (unsigned char *) buf;
- while (len--)
- *bp++ = *ap;
-}
-
-static inline void io_insw(unsigned int addr, void *buf, int len)
-{
- volatile unsigned short *ap = (volatile unsigned short *) addr;
- unsigned short *bp = (unsigned short *) buf;
- while (len--)
- *bp++ = _swapw(*ap);
-}
-
-static inline void io_insl(unsigned int addr, void *buf, int len)
-{
- volatile unsigned int *ap = (volatile unsigned int *) addr;
- unsigned int *bp = (unsigned int *) buf;
- while (len--)
- *bp++ = _swapl(*ap);
-}
-
-#define mmiowb()
-
-/*
- * make the short names macros so specific devices
- * can override them as required
- */
-#ifndef CONFIG_PCI
-#define memset_io(a,b,c) memset((void *)(a),(b),(c))
-#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c))
-#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c))
-#else
-extern void memcpy_fromio(void *to, const volatile void __iomem *from, unsigned len);
-extern void memcpy_toio(volatile void __iomem *to, const void *from, unsigned len);
-extern void memset_io(volatile void __iomem *addr, int val, size_t count);
-#endif
-
-#define inb(addr) readb(addr)
-#define inw(addr) readw(addr)
-#define inl(addr) readl(addr)
-#define outb(x,addr) ((void) writeb(x,addr))
-#define outw(x,addr) ((void) writew(x,addr))
-#define outl(x,addr) ((void) writel(x,addr))
-
-#define inb_p(addr) inb(addr)
-#define inw_p(addr) inw(addr)
-#define inl_p(addr) inl(addr)
-#define outb_p(x,addr) outb(x,addr)
-#define outw_p(x,addr) outw(x,addr)
-#define outl_p(x,addr) outl(x,addr)
-
-#define outsb(a,b,l) io_outsb(a,b,l)
-#define outsw(a,b,l) io_outsw(a,b,l)
-#define outsl(a,b,l) io_outsl(a,b,l)
-
-#define insb(a,b,l) io_insb(a,b,l)
-#define insw(a,b,l) io_insw(a,b,l)
-#define insl(a,b,l) io_insl(a,b,l)
-
-#ifndef CONFIG_PCI
-#define ioread8_rep(a,d,c) insb(a,d,c)
-#define ioread16_rep(a,d,c) insw(a,d,c)
-#define ioread32_rep(a,d,c) insl(a,d,c)
-#define iowrite8_rep(a,s,c) outsb(a,s,c)
-#define iowrite16_rep(a,s,c) outsw(a,s,c)
-#define iowrite32_rep(a,s,c) outsl(a,s,c)
-#else
-extern void ioread8_rep(void __iomem *port, void *buf, unsigned long count);
-extern void ioread16_rep(void __iomem *port, void *buf, unsigned long count);
-extern void ioread32_rep(void __iomem *port, void *buf, unsigned long count);
-extern void iowrite8_rep(void __iomem *port, const void *buf, unsigned long count);
-extern void iowrite16_rep(void __iomem *port, const void *buf, unsigned long count);
-extern void iowrite32_rep(void __iomem *port, const void *buf, unsigned long count);
-#endif
-
-
-#ifndef CONFIG_PCI
-#define ioread8(X) readb(X)
-#define ioread16(X) readw(X)
-#define ioread32(X) readl(X)
-#define iowrite8(val,X) writeb(val,X)
-#define iowrite16(val,X) writew(val,X)
-#define iowrite32(val,X) writel(val,X)
-#else /*CONFIG_PCI */
-extern unsigned char ioread8(void __iomem *addr);
-extern unsigned short ioread16(void __iomem *addr);
-extern unsigned int ioread32(void __iomem *addr);
-extern void iowrite8(unsigned char val, void __iomem *addr);
-extern void iowrite16(unsigned short val, void __iomem *addr);
-extern void iowrite32(unsigned int val, void __iomem *addr);
-#endif /* CONFIG_PCI */
-
-#define IO_SPACE_LIMIT 0xffff
-
-/* Values for nocacheflag and cmode */
-#define IOMAP_FULL_CACHING 0
-#define IOMAP_NOCACHE_SER 1
-#define IOMAP_NOCACHE_NONSER 2
-#define IOMAP_WRITETHROUGH 3
-
-extern void *__ioremap(unsigned long physaddr, unsigned long size, int cacheflag);
-extern void __iounmap(void *addr, unsigned long size);
-
-static inline void *ioremap(unsigned long physaddr, unsigned long size)
-{
- return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
-}
-static inline void *ioremap_nocache(unsigned long physaddr, unsigned long size)
-{
- return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
-}
-static inline void *ioremap_writethrough(unsigned long physaddr, unsigned long size)
-{
- return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
-}
-static inline void *ioremap_fullcache(unsigned long physaddr, unsigned long size)
-{
- return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
-}
-
-extern void iounmap(void *addr);
-
-#define ioport_map(port, nr) ((void __iomem*)(port))
-#define ioport_unmap(addr)
-
-
-/* Pages to physical address... */
-#define page_to_phys(page) ((page - mem_map) << PAGE_SHIFT)
-#define page_to_bus(page) ((page - mem_map) << PAGE_SHIFT)
-
-/*
- * Macros used for converting between virtual and physical mappings.
- */
-#define phys_to_virt(vaddr) ((void *) (vaddr))
-#define virt_to_phys(vaddr) ((unsigned long) (vaddr))
-
-#define virt_to_bus virt_to_phys
-#define bus_to_virt phys_to_virt
-
-/*
- * Convert a physical pointer to a virtual kernel pointer for /dev/mem
- * access
- */
-#define xlate_dev_mem_ptr(p) __va(p)
-
-/*
- * Convert a virtual cached pointer to an uncached pointer
- */
-#define xlate_dev_kmem_ptr(p) p
-
-#endif /* __KERNEL__ */
-
-#endif /* _ASM_UBICOM32_IO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctl.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctl.h
deleted file mode 100644
index 10d8dd7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctl.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ioctl.h
- * Generic ioctl.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IOCTL_H
-#define _ASM_UBICOM32_IOCTL_H
-
-#include <asm-generic/ioctl.h>
-
-#endif /* _ASM_UBICOM32_IOCTL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctls.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctls.h
deleted file mode 100644
index c8e2c79..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ioctls.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ioctls.h
- * Definitions of ioctls for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IOCTLS_H
-#define _ASM_UBICOM32_IOCTLS_H
-
-#include <asm/ioctl.h>
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TCGETS2 _IOR('T',0x2A, struct termios2)
-#define TCSETS2 _IOW('T',0x2B, struct termios2)
-#define TCSETSW2 _IOW('T',0x2C, struct termios2)
-#define TCSETSF2 _IOW('T',0x2D, struct termios2)
-#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
-
-#define FIONCLEX 0x5450 /* these numbers need to be adjusted. */
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
-#define FIOQSIZE 0x545E
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-#endif /* _ASM_UBICOM32_IOCTLS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000-asm.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000-asm.h
deleted file mode 100644
index 62929e4..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000-asm.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ip5000-asm.h
- * Instruction macros for the IP5000.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_IP5000_ASM_H
-#define _ASM_UBICOM32_IP5000_ASM_H
-
-#if !defined(__LINKER__)
-
-#if defined(__ASSEMBLY__)
-.macro cycles quant
-.if (\quant) == 1
- nop
-.else
-.if (((\quant) + 3) / 8) > 0
-.rept (((\quant) + 3) / 8)
- jmpt.f .+4
-.endr
-.endif
-.if ((((\quant) + 3) % 8) / 4) > 0
- jmpt.t .+4
-.endif
-.endif
-.endm
-#else
-/*
- * Same macro as above just in C inline asm
- */
-asm (" \n\
-.macro cycles quant \n\
-.if (\\quant) == 1 \n\
- nop \n\
-.else \n\
-.if (((\\quant) + 3) / 8) > 0 \n\
-.rept (((\\quant) + 3) / 8) \n\
- jmpt.f .+4 \n\
-.endr \n\
-.endif \n\
-.if ((((\\quant) + 3) % 8) / 4) > 0 \n\
- jmpt.t .+4 \n\
-.endif \n\
-.endif \n\
-.endm \n\
-");
-#endif
-
-
-#if defined(__ASSEMBLY__)
-.macro pipe_flush cyc
- cycles 11 - (\cyc)
-.endm
-#else
-/*
- * Same macro as above just in C inline asm
- */
-asm (" \n\
-.macro pipe_flush cyc \n\
- cycles 11 - (\\cyc) \n\
-.endm \n\
-");
-
-#endif
-
-#if defined(__ASSEMBLY__)
-.macro setcsr_flush cyc
- cycles 5 - (\cyc)
-.endm
-#else
-/*
- * Same macro as above just in C inline asm
- */
-asm (" \n\
-.macro setcsr_flush cyc \n\
- cycles 5 - (\\cyc) \n\
-.endm \n\
-");
-#endif
-
-/*
- * Macros for prefetch (using miss-aligned memory write)
- */
-#if defined(__ASSEMBLY__)
-
-.macro pre_fetch_macro thread_num, Ascratch, Aaddress length
- bclr MT_TRAP_EN, MT_TRAP_EN, #(\thread_num)
- bset \Ascratch, \Aaddress, #0 ; force a miss-aligned address
- jmpt.t .+4 ; delay for both address setup and trap disable
- move.4 (\Ascratch), #0
- .if (\length > 32)
- move.4 32(\Ascratch), #0
- .endif
- .if (\length > 64)
- move.4 64(\Ascratch), #0
- .endif
- .if (\length > 96)
- move.4 96(\Ascratch), #0
- .endif
- .if (\length > 128)
- invalid_instruction ; maximum pre-fetch size is 4 cache lines
- .endif
- bset MT_TRAP_EN, MT_TRAP_EN, #(\thread_num)
-.endm
-
-#else
-/*
- * Same macro as above just in C inline asm
- */
-asm (" \n\
-.macro pre_fetch_macro thread_num, Ascratch, Aaddress length \n\
- bclr MT_TRAP_EN, MT_TRAP_EN, #(\thread_num) \n\
- bset \\Ascratch, \\Aaddress, #0 ; force a miss-aligned address \n\
- jmpt.t .+4 ; delay for both address setup and trap disable \n\
- move.4 (\\Ascratch), #0 \n\
- .if (\\length > 32) \n\
- move.4 32(\\Ascratch), #0 \n\
- .endif \n\
- .if (\\length > 64) \n\
- move.4 64(\\Ascratch), #0 \n\
- .endif \n\
- .if (\\length > 96) \n\
- move.4 96(\\Ascratch), #0 \n\
- .endif \n\
- .if (\\length > 128) \n\
- invalid_instruction ; maximum pre-fetch size is 4 cache lines \n\
- .endif \n\
- bset MT_TRAP_EN, MT_TRAP_EN, #(\\thread_num) \n\
-.endm \n\
-");
-#endif
-
-#endif /* !defined(__LINKER__) */
-#endif /* defined _ASM_UBICOM32_IP5000_ASM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000.h
deleted file mode 100644
index b616ebe..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ip5000.h
+++ /dev/null
@@ -1,845 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ip5000.h
- * Specific details for the Ubicom IP5000 processor.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_IP5000_H
-#define _ASM_UBICOM32_IP5000_H
-
-#include <asm/memory_map.h>
-
-/*
- * Inline assembly define
- */
-#define S(arg) #arg
-#define D(arg) S(arg)
-
-/*
- * Assembler include file
- */
-#include <asm/ip5000-asm.h>
-
-/*
- * Timing
- */
-#define JMPT_PENALTY 3
-#define JMPF_PENALTY 7
-#define RET_PENALTY 7
-
-/*
- * Threads
- */
-#if defined(IP5000) || defined(IP5000_REV2)
-#define THREAD_COUNT 10
-#elif defined(IP7000) || defined(IP7000_REV2)
-#define THREAD_COUNT 12
-#else
-#error "Unknown IP5K silicon"
-#endif
-
-/*
- * Arch
- */
-#if defined(IP5000) || defined(IP5000_REV2)
-#define UBICOM32_ARCH_VERSION 3
-#elif defined(IP7000) || defined(IP7000_REV2)
-#define UBICOM32_ARCH_VERSION 4
-#else
-#error "Unknown IP5K silicon"
-#endif
-
-
-/*
- * Registers
- */
-#define ROSR_INT (1 << 0)
-
-/* Interrupts */
-#define INT_CHIP(reg, bit) (((reg) << 5) | (bit))
-#define INT_REG(interrupt) (((interrupt) >> 5) * 4)
-#define INT_SET(interrupt) 0x0114 + INT_REG(interrupt)
-#define INT_CLR(interrupt) 0x0124 + INT_REG(interrupt)
-#define INT_STAT(interrupt) 0x0104 + INT_REG(interrupt)
-#define INT_MASK(interrupt) 0x00C0 + INT_REG(interrupt)
-#define INT_BIT(interrupt) ((interrupt) & 0x1F)
-#define INT_BIT_MASK(interrupt) (1 << INT_BIT(interrupt))
-
-/*
- * The LOCK_INT and THREAD_INT are used to wake up corresponding thread. They are sharing
- * the same set of SW interrupt resource.
- *
- * LOCK_INT(n): One SW INT per NRT thread that can participate lock operation.
- * The threads that can participate lock are application threads and DSR thread.
- * (Lock locks - numbers are hard-coded in lock.h)
- * THREAD_INT(n): One SW INT per HRT thread for wake up trigger.
- */
-#define LOCK_INT(thread) INT_CHIP(0, (thread))
-#define THREAD_INT(thread) INT_CHIP(0, (thread))
-
-/*
- * The SYSTEM_INT and DSR_INT are sharing the same set of SW interrupt resource.
- *
- * SYSTEM_INT(n): One SW INT per NRT threads (application threads) as system queue interrupt,
- * and for DSR as self-trigger interrupt.
- * (The application threads include at least thread 0)
- * DSR_INT(n): One SW INT per HRT thread to request DSR service.
- */
-#define SYSTEM_INT(thread) INT_CHIP(0, THREAD_COUNT + (thread))
-#define DSR_INT(thread) INT_CHIP(0, THREAD_COUNT + (thread))
-
-/* GLOBAL_CTRL */
-#define GLOBAL_CTRL_TRAP_RST_EN (1 << 9)
-#define GLOBAL_CTRL_AERROR_RST_EN (1 << 8)
-#define GLOBAL_CTRL_MT_MIN_DELAY(x) ((x) << 3)
-#define GLOBAL_CTRL_HRT_BANK_SELECT (1 << 2)
-#define GLOBAL_CTRL_INT_EN (1 << 0)
-
-/*
- * HRT Tables
- */
-#define HRT_TABLE0_BASE 0x0800
-#define HRT_TABLE1_BASE 0x0900
-#define HRT_TABLE_SIZE 64
-
-/*
- * Break Point Trap Register
- */
-#define ASYNCERROR_INT INT_CHIP(0, 31)
-#define BREAKPOINT_INT INT_CHIP(1, 31)
-
-/*
- * Port interrupts
- * The non-existing FIFO INTs are mapped to INT2 for the ports.
- */
-#define IO_PORT_PTR_TO_NUM(port) (((port) & 0x0000ffff) >> 12)
-#define RX_FIFO_INT(port) \
- ((IO_PORT_PTR_TO_NUM(port) == 0) ? INT_CHIP(0, 25) : \
- ((IO_PORT_PTR_TO_NUM(port) == 1) ? INT_CHIP(0, 26) : \
- ((IO_PORT_PTR_TO_NUM(port) == 2) ? INT_CHIP(0, 29) : \
- ((IO_PORT_PTR_TO_NUM(port) == 3) ? INT_CHIP(1, 24) : \
- ((IO_PORT_PTR_TO_NUM(port) == 4) ? INT_CHIP(1, 27) : \
- ((IO_PORT_PTR_TO_NUM(port) == 5) ? INT_CHIP(1, 16) : \
- ((IO_PORT_PTR_TO_NUM(port) == 6) ? INT_CHIP(1, 19) : \
- ((IO_PORT_PTR_TO_NUM(port) == 7) ? INT_CHIP(1, 20) : \
- ((IO_PORT_PTR_TO_NUM(port) == 8) ? INT_CHIP(1, 21) : \
- INT_CHIP(1, 15))))))))))
-#define TX_FIFO_INT(port) \
- ((IO_PORT_PTR_TO_NUM(port) == 0) ? INT_CHIP(0, 24) : \
- ((IO_PORT_PTR_TO_NUM(port) == 1) ? INT_CHIP(0, 27) : \
- ((IO_PORT_PTR_TO_NUM(port) == 2) ? INT_CHIP(0, 29) : \
- ((IO_PORT_PTR_TO_NUM(port) == 3) ? INT_CHIP(1, 25) : \
- ((IO_PORT_PTR_TO_NUM(port) == 4) ? INT_CHIP(1, 28) : \
- ((IO_PORT_PTR_TO_NUM(port) == 5) ? INT_CHIP(1, 17) : \
- ((IO_PORT_PTR_TO_NUM(port) == 6) ? INT_CHIP(1, 19) : \
- ((IO_PORT_PTR_TO_NUM(port) == 7) ? INT_CHIP(1, 20) : \
- ((IO_PORT_PTR_TO_NUM(port) == 8) ? INT_CHIP(1, 22) : \
- INT_CHIP(1, 15))))))))))
-#define PORT_OTHER_INT(port) \
- ((IO_PORT_PTR_TO_NUM(port) == 0) ? INT_CHIP(0, 25) : \
- ((IO_PORT_PTR_TO_NUM(port) == 1) ? INT_CHIP(0, 28) : \
- ((IO_PORT_PTR_TO_NUM(port) == 2) ? INT_CHIP(0, 29) : \
- ((IO_PORT_PTR_TO_NUM(port) == 3) ? INT_CHIP(1, 26) : \
- ((IO_PORT_PTR_TO_NUM(port) == 4) ? INT_CHIP(1, 29) : \
- ((IO_PORT_PTR_TO_NUM(port) == 5) ? INT_CHIP(1, 18) : \
- ((IO_PORT_PTR_TO_NUM(port) == 6) ? INT_CHIP(1, 19) : \
- ((IO_PORT_PTR_TO_NUM(port) == 7) ? INT_CHIP(1, 20) : \
- ((IO_PORT_PTR_TO_NUM(port) == 8) ? INT_CHIP(1, 23) : \
- INT_CHIP(1, 15))))))))))
-
-/*
- * On Chip Peripherals Base.
- */
-#define OCP_BASE 0x01000000
-#define OCP_GENERAL 0x000
-#define OCP_TIMERS 0x100
-#define OCP_TRNG 0x200 /* True Random Number Generator Control Reigsters */
-#define OCP_DEBUG 0x300
-#define OCP_SECURITY 0x400
-#define OCP_ICCR 0x500 /* I-Cache Control Registers */
-#define OCP_DCCR 0x600 /* D-Cache Control Registers */
-#define OCP_OCMC 0x700 /* On Chip Memory Control Registers */
-#define OCP_STATISTICS 0x800 /* Statistics Counters */
-#define OCP_MTEST 0x900 /* Memory Test Registers */
-#define OCP_MCFG 0xa00 /* Memory Configuration Registers -- IP7000 only */
-#define OCP_DEBUG_INST 0x000 /* Up to 16M */
-
-/*
- * General Configuration Registers (PLL)
- */
-#define GENERAL_CFG_BASE (OCP_BASE + OCP_GENERAL)
-#define GEN_CLK_CORE_CFG 0x00
-#define GEN_CLK_IO_CFG 0x04
-#define GEN_CLK_DDR_CFG 0x08
-#define GEN_CLK_DDRDS_CFG 0x0c
-#define GEN_CLK_SLIP_CLR 0x10
-#define GEN_CLK_SLIP_START 0x14
-#define GEN_CLK_SERDES_SEL 0x18 /* IP7000 only */
-#define GEN_CLK_DDR_CFG2 0x1c /* IP7000 only */
-#define GEN_DDR_CAL_CTRL 0x30 /* IP5000 only */
-#define GEN_DDR_CAL_STAT 0x34 /* IP5000 only */
-#define GEN_USB_DFT_CTRL 0x38 /* IP5000 only */
-#define GEN_USB_DFT_STAT 0x3c /* IP5000 only */
-#define GEN_USB_PHY_CFG 0x40 /* IP7000 only */
-#define GEN_USB_PHY_TEST 0x44 /* IP7000 only */
-#define GEN_USB_PHY_STAT 0x48 /* IP7000 only */
-#define GEN_SW_RESET 0x80
-#define GEN_RESET_REASON 0x84
-#define GEN_BOND_CFG 0x88
-#define GEN_IO_PU_CFG 0x8c
-#define GEN_MEM_RM_CFG 0x90
-#define GEN_IO_CONFIG 0x94
-
-#define GEN_CLK_PLL_SECURITY_BIT_NO 31
-#define GEN_CLK_PLL_SECURITY (1 << GEN_CLK_PLL_SECURITY_BIT_NO)
-#define GEN_CLK_PLL_ENSAT (1 << 30)
-#define GEN_CLK_PLL_FASTEN (1 << 29)
-#define GEN_CLK_PLL_NR(v) (((v) - 1) << 23)
-#define GEN_CLK_PLL_NF(v) (((v) - 1) << 11)
-#define GEN_CLK_PLL_OD(v) (((v) - 1) << 8)
-#define GEN_CLK_PLL_RESET (1 << 7)
-#define GEN_CLK_PLL_BYPASS (1 << 6)
-#define GEN_CLK_PLL_POWERDOWN (1 << 5)
-#define GEN_CLK_PLL_SELECT (1 << 4)
-
-#define GEN_GET_CLK_PLL_NR(v) ((((v) >> 23) & 0x003f) + 1)
-#define GEN_GET_CLK_PLL_NF(v) ((((v) >> 11) & 0x0fff) + 1)
-#define GEN_GET_CLK_PLL_OD(v) ((((v) >> 8) & 0x7) + 1)
-
-
-#define RESET_FLAG_DST_MEM_ERROR (1 << 18)
-#define RESET_FLAG_SRC1_MEM_ERROR (1 << 17)
-#define RESET_FLAG_WRITE_ADDR (1 << 16)
-#define RESET_FLAG_DST_SYNC_ERROR (1 << 15)
-#define RESET_FLAG_SRC1_SYNC_ERROR (1 << 14)
-#define RESET_FLAG_DST_ALGN_ERROR (1 << 13)
-#define RESET_FLAG_SRC1_ALGN_ERROR (1 << 12)
-#define RESET_FLAG_DST_ADDR_ERROR (1 << 11)
-#define RESET_FLAG_SRC1_ADDR_ERROR (1 << 10)
-#define RESET_FLAG_ILLEGAL_INST (1 << 9)
-#define RESET_FLAG_INST_SYNC_ERROR (1 << 8)
-#define RESET_FLAG_INST_ADDR_ERROR (1 << 7)
-#define RESET_FLAG_DATA_PORT_ERROR (1 << 6)
-#define RESET_FLAG_INST_PORT_ERROR (1 << 5)
-#define RESET_FLAG_SW_RESET (1 << 4)
-#define RESET_FLAG_DEBUG (1 << 3)
-#define RESET_FLAG_WATCHDOG (1 << 2)
-#define RESET_FLAG_POWER_ON (1 << 1)
-#define RESET_FLAG_EXTERNAL (1 << 0)
-
-/*
- * Timer block
- */
-#define TIMER_BASE (OCP_BASE + OCP_TIMERS)
-#define TIMER_MPTVAL 0x00
-#define TIMER_RTCOM 0x04
-#define TIMER_TKEY 0x08
-#define TIMER_WDCOM 0x0c
-#define TIMER_WDCFG 0x10
-#define TIMER_SYSVAL 0x14
-#define TIMER_SYSCOM(tmr) (0x18 + (tmr) * 4)
-#define TIMER_TRN_CFG 0x100
-#define TIMER_TRN 0x104
-
-#define TIMER_COUNT 10
-#define TIMER_INT(tmr) INT_CHIP(1, (tmr))
-#define TIMER_TKEYVAL 0xa1b2c3d4
-#define TIMER_WATCHDOG_DISABLE 0x4d3c2b1a
-#define TIMER_TRN_CFG_ENABLE_OSC 0x00000007
-
-#ifndef __ASSEMBLY__
-/*
- * ubicom32_io_timer
- */
-struct ubicom32_io_timer {
- volatile u32_t mptval;
- volatile u32_t rtcom;
- volatile u32_t tkey;
- volatile u32_t wdcom;
- volatile u32_t wdcfg;
- volatile u32_t sysval;
- volatile u32_t syscom[TIMER_COUNT];
- volatile u32_t reserved[64 - 6 - TIMER_COUNT]; // skip all the way to OCP-TRNG section
- volatile u32_t rsgcfg;
- volatile u32_t trn;
-};
-
-#define UBICOM32_IO_TIMER ((struct ubicom32_io_timer *)TIMER_BASE)
-#endif
-
-#define UBICOM32_VECTOR_TO_TIMER_INDEX(vector) (vector - TIMER_INT(0))
-
-/*
- * OCP-Debug Module (Mailbox)
- */
-#define ISD_MAILBOX_BASE (OCP_BASE + OCP_DEBUG)
-#define ISD_MAILBOX_IN 0x00
-#define ISD_MAILBOX_OUT 0x04
-#define ISD_MAILBOX_STATUS 0x08
-
-#define ISD_MAILBOX_INT INT_CHIP(1, 30)
-
-#define ISD_MAILBOX_STATUS_IN_FULL (1 << 31)
-#define ISD_MAILBOX_STATUS_IN_EMPTY (1 << 30)
-#define ISD_MAILBOX_STATUS_OUT_FULL (1 << 29)
-#define ISD_MAILBOX_STATUS_OUT_EMPTY (1 << 28)
-
-/*
- * OCP-Security
- */
-#define SECURITY_BASE (OCP_BASE + OCP_SECURITY)
-#define SECURITY_BASE_EFFECTIVE_ADDRESS (SECURITY_BASE >> 7) // To load the base address in a single instruction
-#define SECURITY_CTRL 0x00
-#define SECURITY_CTRL_BYTE_OFFSET(x) ((x) << 16)
-#define SECURITY_CTRL_KEY_SIZE(x) ((x) << 8)
-#define SECURITY_CTRL_HASH_ALG_NONE (0 << 4)
-#define SECURITY_CTRL_HASH_ALG_MD5 (1 << 4)
-#define SECURITY_CTRL_HASH_ALG_SHA1 (2 << 4)
-#define SECURITY_CTRL_CBC (1 << 3)
-#define SECURITY_CTRL_CIPHER_ALG_AES (0 << 1)
-#define SECURITY_CTRL_CIPHER_ALG_NONE (1 << 1)
-#define SECURITY_CTRL_CIPHER_ALG_DES (2 << 1)
-#define SECURITY_CTRL_CIPHER_ALG_3DES (3 << 1)
-#define SECURITY_CTRL_ENCIPHER (1 << 0)
-#define SECURITY_CTRL_DECIPHER (0 << 0)
-#define SECURITY_STAT 0x04
-#define SECURITY_STAT_BUSY (1 << 0)
-#define SECURITY_KEY_VALUE(x) (0x10 + (x) * 4)
-#define SECURITY_KEY_IN(x) (0x30 + (x) * 4)
-#define SECURITY_KEY_OUT(x) (0x50 + (x) * 4)
-#define SECURITY_KEY_HASH(x) (0x70 + (x) * 4)
-
-/*
- * OCP-ICCR
- */
-#define ICCR_BASE (OCP_BASE + OCP_ICCR)
-#define ICACHE_TOTAL_SIZE 16384 /* in bytes */
-
-/*
- * OCP-DCCR
- */
-#define DCCR_BASE (OCP_BASE + OCP_DCCR)
-#if defined(IP5000) || defined(IP5000_REV2)
-#define DCACHE_TOTAL_SIZE 8192 /* in bytes */
-#elif defined(IP7000) || defined(IP7000_REV2)
-#define DCACHE_TOTAL_SIZE 16384 /* in bytes */
-#endif
-
-#if defined(IP5000) || defined(IP5000_REV2) || defined(IP7000) || defined(IP7000_REV2)
-#define DCACHE_WRITE_QUEUE_LENGTH 6
-#else
-#error "Unknown IP5K silicon"
-#endif
-
-#define CACHE_LINE_SIZE 32 /* in bytes */
-
-#define CCR_ADDR 0x00
-#define CCR_RDD 0x04
-#define CCR_WRD 0x08
-#define CCR_STAT 0x0c
-#define CCR_CTRL 0x10
-
-#define CCR_STAT_MCBE 0
-#define CCR_STAT_WIDEL 1 /* D-cache only */
-
-#define CCR_CTRL_DONE 0
-#define CCR_CTRL_RESET 2
-#define CCR_CTRL_VALID 3
-#define CCR_CTRL_RD_DATA (1 << 4)
-#define CCR_CTRL_RD_TAG (2 << 4)
-#define CCR_CTRL_WR_DATA (3 << 4)
-#define CCR_CTRL_WR_TAG (4 << 4)
-#define CCR_CTRL_INV_INDEX (5 << 4)
-#define CCR_CTRL_INV_ADDR (6 << 4)
-#define CCR_CTRL_FLUSH_INDEX (7 << 4) /* D-cache only */
-#define CCR_CTRL_FLUSH_INV_INDEX (8 << 4) /* D-cache only */
-#define CCR_CTRL_FLUSH_ADDR (9 << 4) /* D-cache only */
-#define CCR_CTRL_FLUSH_INV_ADDR (10 << 4) /* D-cache only */
-
-/*
- * OCP-OCMC
- */
-#define OCMC_BASE (OCP_BASE + OCP_OCMC)
-#define OCMC_BANK_MASK 0x00
-#define OCMC_BIST_CNTL 0x04 /* IP5000 only */
-#define OCMC_BIST_STAT 0x08 /* IP5000 only */
-
-#define OCMC_BANK_PROG(n) ((1<<(n))-1)
-
-#define OCMC_BIST_WRCK (1 << 7)
-#define OCMC_BIST_RESET (1 << 5)
-#define OCMC_BIST_SMART (1 << 4)
-#define OCMC_BIST_RUN (1 << 3)
-#define OCMC_BIST_REPAIR (1 << 2)
-
-#define OCMC_BIST_READY (1 << 3)
-#define OCMC_BIST_FAIL (1 << 2)
-
-/*
- * OCP-STATISTICS
- */
-#define STATISTICS_BASE (OCP_BASE + OCP_STATISTICS)
-#define STAT_COUNTER_CTRL(n) ((n)*8)
-#define STAT_COUNTER(n) ((n)*8 + 4)
-
-#define STAT_EVENT_MP_INST 0
-#define STAT_EVENT_OCM_ACCESS 4
-#define STAT_EVENT_OCM_REQ 5
-#define STAT_EVENT_IC_REQ_INVAL 13
-#define STAT_EVENT_IC_MISS_INVAL 14
-#define STAT_EVENT_IC_REQ_INVAL_NACK 15
-#define STAT_EVENT_IC_REQ_VAL 16
-#define STAT_EVENT_IC_MISS_VAL 17
-#define STAT_EVENT_IC_REQ_VAL_NACK 18
-#define STAT_EVENT_IC_MISS_Q 19
-#define STAT_EVENT_DC_RD_REQ 20
-#define STAT_EVENT_DC_RD_MISS 21
-#define STAT_EVENT_DC_WR_REQ 22
-#define STAT_EVENT_DC_WR_MISS 23
-#define STAT_EVENT_DC_MISS_Q 24
-#define STAT_EVENT_DC_WB_FULL 25
-#define STAT_EVENT_DC_REQ_NACK 26
-#define STAT_EVENT_DC_CORE_REQ 27
-#define STAT_EVENT_DC_MISS 28
-#define STAT_EVENT_DC_EVICT 29
-#define STAT_EVENT_TRUE 30
-#define STAT_EVENT_FALSE 31
-
-/*
- * OCP_MTEST
- */
-#define MTEST_BASE (OCP_BASE + OCP_MTEST)
-#define MTEST_ADDR 0x00
-#define MTEST_WR 0x04
-#define MTEST_RD 0x08
-#define MTEST_CTRL 0x0c
-
-/*
- * OCP_MCFG (IP7000 only)
- */
-#define MCFG_BASE (OCP_BASE + OCP_MCFG)
-#define MCFG_CTRL 0x00
-#define MCFG_WCFG 0x04
-#define MCFG_RCFG 0x08
-
-/*
- * Port registers
- */
-#define IO_BASE 0x02000000
-#define RA (IO_BASE + 0x00000000)
-#define RB (IO_BASE + 0x00001000)
-#define RC (IO_BASE + 0x00002000)
-#define RD (IO_BASE + 0x00003000)
-#define RE (IO_BASE + 0x00004000)
-#define RF (IO_BASE + 0x00005000)
-#define RG (IO_BASE + 0x00006000)
-#define RH (IO_BASE + 0x00007000)
-#define RI (IO_BASE + 0x00008000)
-#define RJ (IO_BASE + 0x00009000)
-#define RLATCH (IO_BASE + 0x00ff0000) // For latched output only
-#define IO_PORT_BR_OFFSET 0x00000800
-
-/*
- * General I/O Register Map (per port)
- */
-#define IO_FUNC 0x00
-#define IO_GPIO_CTL 0x04
-#define IO_GPIO_OUT 0x08
-#define IO_GPIO_IN 0x0C
-#define IO_INT_STATUS 0x10
-#define IO_INT_MASK 0x14
-#define IO_INT_SET 0x18
-#define IO_INT_CLR 0x1C
-#define IO_TX_FIFO 0x20
-#define IO_TX_FIFO_HI 0x24
-#define IO_RX_FIFO 0x28
-#define IO_RX_FIFO_HI 0x2c
-#define IO_CTL0 0x30
-#define IO_CTL1 0x34
-#define IO_CTL2 0x38
-#define IO_STATUS0 0x3c
-#define IO_STATUS1 0x40
-#define IO_STATUS2 0x44
-#define IO_FIFO_WATER 0x48
-#define IO_FIFO_LEVEL 0x4c
-#define IO_GPIO_MASK 0x50
-
-#define IO_FUNC_FUNCTION_RESET(func) ((1 << ((func) - 1)) << 4) /* Function 0 doesn't need reset */
-#define IO_FUNC_RX_FIFO (1 << 3)
-#define IO_FUNC_SELECT(func) ((func) << 0)
-
-/*
- * External interrupt pins.
- */
-#define EXT_INT_IO_BIT(pin) ((pin) + 5) // Interrupt pin number -> I/O INT bit
-#define EXT_INT_RISING_EDGE(pin) (0x2 << (2*(pin) + 7))
-#define EXT_INT_FALLING_EDGE(pin) (0x1 << (2*(pin) + 7))
-
-/*
- * Flash
- */
-#define IO_XFL_BASE RA
-
-#define IO_XFL_INT_START (1 << 16)
-#define IO_XFL_INT_ERR (1 << 8)
-#define IO_XFL_INT_DONE (1 << 0)
-
-#define IO_XFL_CTL0_MASK (0xffe07fff)
-#define IO_XFL_CTL0_RD_CMD(cmd) (((cmd) & 0xff) << 24)
-#define IO_XFL_CTL0_RD_DUMMY(n) (((n) & 0x7) << 21)
-#define IO_XFL_CTL0_CLK_WIDTH(core_cycles) ((((core_cycles) + 1) & 0x7e) << 8) /* must be even number */
-#define IO_XFL_CTL0_CE_WAIT(spi_cycles) (((spi_cycles) & 0x3f) << 2)
-#define IO_XFL_CTL0_MCB_LOCK (1 << 1)
-#define IO_XFL_CTL0_ENABLE (1 << 0)
-#define IO_XFL_CTL0_FAST_VALUE(div, wait) (IO_XFL_CTL0_RD_CMD(0xb) | IO_XFL_CTL0_RD_DUMMY(1) | IO_XFL_CTL0_CLK_WIDTH(div) | IO_XFL_CTL0_CE_WAIT(wait) | IO_XFL_CTL0_ENABLE)
-#define IO_XFL_CTL0_VALUE(div, wait) (IO_XFL_CTL0_RD_CMD(3) | IO_XFL_CTL0_CLK_WIDTH(div) | IO_XFL_CTL0_CE_WAIT(wait) | IO_XFL_CTL0_ENABLE)
-
-#define IO_XFL_CTL1_MASK (0xc0003fff)
-#define IO_XFL_CTL1_FC_INST(inst) (((inst) & 0x3) << 30)
-#define IO_XFL_CTL1_FC_DATA(n) (((n) & 0x3ff) << 4)
-#define IO_XFL_CTL1_FC_DUMMY(n) (((n) & 0x7) << 1)
-#define IO_XFL_CTL1_FC_ADDR (1 << 0)
-
-#define IO_XFL_CTL2_FC_CMD(cmd) (((cmd) & 0xff) << 24)
-#define IO_XFL_CTL2_FC_ADDR(addr) ((addr) & 0x00ffffff) /* Only up to 24 bits */
-
-#define IO_XFL_STATUS0_MCB_ACTIVE (1 << 0)
-#define IO_XFL_STATUS0_IOPCS_ACTIVE (1 << 1)
-
-/*
- * SDRAM
- */
-#define IO_SDRAM_DATA_BASE RG
-#define IO_SDRAM_CNTL_BASE RH
-
-#define IO_SDRAM_CTRL0_EN_REF (1 << 0)
-
-/*
- * Port function code (common fucntion codes for all I/O ports)
- */
-#define IO_PORTX_FUNC_GPIO 0x00
-#define IO_PORTX_FUNC_XFL 0x01
-#define IO_PORTX_FUNC_PCI 0x01
-#define IO_PORTX_FUNC_SERDES 0x01
-#define IO_PORTX_FUNC_GMII 0x01
-#define IO_PORTX_FUNC_DDR 0x01
-#define IO_PORTX_FUNC_PCIX 0x01
-#define IO_PORTX_FUNC_USB2_0 0x01
-#define IO_PORTX_FUNC_GPIO_INT_CLK 0x02
-#define IO_PORTX_FUNC_PLIO 0x02
-#define IO_PORTX_FUNC_GPIO_INT 0x03
-#define IO_PORTX_FUNC_MII 0x03
-
-/*
- * Port 0
- */
-#define IO_PORT0_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT0_FUNC_XFL_INT_CLK IO_PORTX_FUNC_XFL // Default mode after reset
-#define IO_PORT0_FUNC_GPIO_INT_CLK IO_PORTX_FUNC_GPIO_INT_CLK
-#define IO_PORT0_FUNC_GPIO_INT IO_PORTX_FUNC_GPIO_INT
-
-/*
- * Port 1
- */
-#define IO_PORT1_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT1_FUNC_PCI IO_PORTX_FUNC_PCI // PCI control
-#define IO_PORT1_FUNC_MII IO_PORTX_FUNC_MII // port 4 MII extension
-
-/*
- * Port 2
- */
-#define IO_PORT2_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT2_FUNC_PCI IO_PORTX_FUNC_PCI // PCI data I/O
-#define IO_PORT2_FUNC_PLIO IO_PORTX_FUNC_PLIO // Extended LM
-
-/*
- * Port 3
- */
-#define IO_PORT3_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT3_FUNC_SERDES IO_PORTX_FUNC_SERDES
-#define IO_PORT3_FUNC_PLIO IO_PORTX_FUNC_PLIO
-
-/*
- * Port 4
- */
-#define IO_PORT4_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT4_FUNC_SERDES IO_PORTX_FUNC_SERDES
-#define IO_PORT4_FUNC_PLIO IO_PORTX_FUNC_PLIO // Extended LM
-#define IO_PORT4_FUNC_MII IO_PORTX_FUNC_MII
-
-/*
- * Port 5
- */
-#define IO_PORT5_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT5_FUNC_GMII IO_PORTX_FUNC_GMII
-
-/*
- * Port 6
- */
-#define IO_PORT6_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT6_FUNC_DDR IO_PORTX_FUNC_DDR
-
-/*
- * Port 7
- */
-#define IO_PORT7_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT7_FUNC_DDR IO_PORTX_FUNC_DDR
-
-/*
- * Port 8
- */
-#define IO_PORT8_FUNC_GPIO IO_PORTX_FUNC_GPIO
-#define IO_PORT8_FUNC_PCIX IO_PORTX_FUNC_PCIX
-#define IO_PORT8_FUNC_PLIO IO_PORTX_FUNC_PLIO // Extended LM
-#define IO_PORT8_FUNC_MII IO_PORTX_FUNC_MII // port 4 MII extension
-
-/*
- * Port 9
- */
-#define IO_PORT9_FUNC_USB2_0 IO_PORTX_FUNC_USB2_0
-
-/*
- * FIFO
- */
-#define IO_PORTX_INT_FIFO_TX_RESET (1 << 31)
-#define IO_PORTX_INT_FIFO_RX_RESET (1 << 30)
-#define IO_PORTX_INT_FIFO_TX_UF (1 << 15)
-#define IO_PORTX_INT_FIFO_TX_WM (1 << 14)
-#define IO_PORTX_INT_FIFO_RX_OF (1 << 13)
-#define IO_PORTX_INT_FIFO_RX_WM (1 << 12)
-
-#define IO_PORTX_FUNC_FIFO_TX_WM(n) ((n) << 16)
-#define IO_PORTX_FUNC_FIFO_RX_WM(n) ((n) << 0)
-
-/*
- * MII
- */
-#define IO_PORTX_INT_MII_TX_ERR_SEND (1 << 18)
-#define IO_PORTX_INT_MII_TX_HALT (1 << 17)
-#define IO_PORTX_INT_MII_TX_START (1 << 16)
-#define IO_PORTX_INT_MII_THRESHOLD (1 << 8)
-#define IO_PORTX_INT_MII_RX_EOP (1 << 7)
-#define IO_PORTX_INT_MII_RX_SFD (1 << 6)
-#define IO_PORTX_INT_MII_RX_ERR (1 << 5)
-#define IO_PORTX_INT_MII_TX_EOP (1 << 4)
-#define IO_PORTX_INT_MII_COL (1 << 3)
-#define IO_PORTX_INT_MII_CRS (1 << 2)
-#define IO_PORTX_INT_MII_ODD_NIB_ERR (1 << 1)
-#define IO_PORTX_INT_MII_FALSE_CARRIER (1 << 0)
-
-/*
- * SerDes
- */
-#define IO_PORTX_INT_SERDES_TXBUF_VALID (1 << 16)
-#define IO_PORTX_INT_SERDES_RXERR (1 << 7)
-#define IO_PORTX_INT_SERDES_RXEOP (1 << 6)
-#define IO_PORTX_INT_SERDES_SYND (1 << 5)
-#define IO_PORTX_INT_SERDES_TXBE (1 << 4)
-#define IO_PORTX_INT_SERDES_TXEOP (1 << 3)
-#define IO_PORTX_INT_SERDES_SXLP (1 << 2)
-#define IO_PORTX_INT_SERDES_RXBF (1 << 1)
-#define IO_PORTX_INT_SERDES_RXCRS (1 << 0)
-
-#ifndef __ASSEMBLY__
-struct ubicom32_io_port {
- volatile u32_t function;
- volatile u32_t gpio_ctl;
- volatile u32_t gpio_out;
- volatile u32_t gpio_in;
- volatile u32_t int_status;
- volatile u32_t int_mask;
- volatile u32_t int_set;
- volatile u32_t int_clr;
- volatile u32_t tx_fifo;
- volatile u32_t tx_fifo_hi;
- volatile u32_t rx_fifo;
- volatile u32_t rx_fifo_hi;
- volatile u32_t ctl0;
- volatile u32_t ctl1;
- volatile u32_t ctl2;
- volatile u32_t status0;
- volatile u32_t status1;
- volatile u32_t status2;
- volatile u32_t fifo_watermark;
- volatile u32_t fifo_level;
- volatile u32_t gpio_mask;
-};
-
-#define UBICOM32_IO_PORT(port) ((struct ubicom32_io_port *)((port)))
-#endif
-
-#ifndef __ASSEMBLY__
-/*
- * ubicom32_set_interrupt()
- */
-extern inline void ubicom32_set_interrupt(u8_t interrupt)
-{
- u32_t ibit = INT_BIT_MASK(interrupt);
-
- if (INT_REG(interrupt) == INT_REG(INT_CHIP(0, 0))) {
- asm volatile (
- "move.4 "D(INT_SET(INT_CHIP(0, 0)))", %0\n\t"
- :
- : "r" (ibit)
- );
-
- return;
- }
-
- asm volatile (
- "move.4 "D(INT_SET(INT_CHIP(1, 0)))", %0\n\t"
- :
- : "r" (ibit)
- );
-}
-
-/*
- * ubicom32_clear_interrupt()
- */
-extern inline void ubicom32_clear_interrupt(u8_t interrupt)
-{
- u32_t ibit = INT_BIT_MASK(interrupt);
-
- if (INT_REG(interrupt) == INT_REG(INT_CHIP(0, 0))) {
- asm volatile (
- "move.4 "D(INT_CLR(INT_CHIP(0, 0)))", %0\n\t"
- :
- : "r" (ibit)
- );
-
- return;
- }
-
- asm volatile (
- "move.4 "D(INT_CLR(INT_CHIP(1, 0)))", %0\n\t"
- :
- : "r" (ibit)
- );
-}
-
-/*
- * ubicom32_enable_interrupt()
- */
-extern inline void ubicom32_enable_interrupt(u8_t interrupt)
-{
- u32_t ibit = INT_BIT_MASK(interrupt);
-
- if (INT_REG(interrupt) == INT_REG(INT_CHIP(0, 0))) {
- asm volatile (
- "or.4 "D(INT_MASK(INT_CHIP(0, 0)))", "D(INT_MASK(INT_CHIP(0, 0)))", %0\n\t"
- :
- : "d" (ibit)
- );
-
- return;
- }
-
- asm volatile (
- "or.4 "D(INT_MASK(INT_CHIP(1, 0)))", "D(INT_MASK(INT_CHIP(1, 0)))", %0\n\t"
- :
- : "d" (ibit)
- );
-}
-
-/*
- * ubicom32_disable_interrupt()
- */
-extern inline void ubicom32_disable_interrupt(u8_t interrupt)
-{
- u32_t ibit = ~INT_BIT_MASK(interrupt);
-
- if (INT_REG(interrupt) == INT_REG(INT_CHIP(0, 0))) {
- asm volatile (
- "and.4 "D(INT_MASK(INT_CHIP(0, 0)))", "D(INT_MASK(INT_CHIP(0, 0)))", %0\n\t"
- :
- : "d" (ibit)
- );
-
- return;
- }
-
- asm volatile (
- "and.4 "D(INT_MASK(INT_CHIP(1, 0)))", "D(INT_MASK(INT_CHIP(1, 0)))", %0\n\t"
- :
- : "d" (ibit)
- );
-}
-
-/*
- * ubicom32_enable_global_interrupts()
- */
-extern inline void ubicom32_enable_global_interrupts(void)
-{
- asm volatile(
- "bset GLOBAL_CTRL, GLOBAL_CTRL, #%bit("D(GLOBAL_CTRL_INT_EN)")"
- );
-}
-
-/*
- * ubicom32_disable_global_interrupts()
- */
-extern inline void ubicom32_disable_global_interrupts(void)
-{
- asm volatile(
- "bclr GLOBAL_CTRL, GLOBAL_CTRL, #%bit("D(GLOBAL_CTRL_INT_EN)")"
- );
-}
-
-/*
- * ubicom32_get_reset_reason()
- */
-extern inline u32_t ubicom32_get_reset_reason(void)
-{
- return *(u32_t *)(GENERAL_CFG_BASE + GEN_RESET_REASON);
-}
-
-/*
- * ubicom32_read_reg()
- */
-extern inline u32_t ubicom32_read_reg(volatile void *reg)
-{
- u32_t v;
- asm volatile (
- "move.4 %[dest], %[src] \n\t"
- : [dest] "=r" (v)
- : [src] "m" (*(u32_t *)reg)
- );
- return v;
-}
-
-/*
- * ubicom32_write_reg()
- */
-extern inline void ubicom32_write_reg(volatile void *reg, u32_t v)
-{
- asm volatile (
- "move.4 %[dest], %[src] \n\t"
- :
- : [src] "r" (v), [dest] "m" (*(u32_t *)reg)
- );
-}
-
-#endif /* __ASSEMBLY__ */
-#endif /* _ASM_UBICOM32_IP5000_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ipcbuf.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ipcbuf.h
deleted file mode 100644
index 76acafb..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ipcbuf.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ipcbuf.h
- * Definition of ipc64_perm struct for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IPCBUF_H
-#define _ASM_UBICOM32_IPCBUF_H
-
-/*
- * The user_ipc_perm structure for m68k architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 32-bit mode_t and seq
- * - 2 miscellaneous 32-bit values
- */
-struct ipc64_perm
-{
- __kernel_key_t key;
- __kernel_uid32_t uid;
- __kernel_gid32_t gid;
- __kernel_uid32_t cuid;
- __kernel_gid32_t cgid;
- __kernel_mode_t mode;
- unsigned short __pad1;
- unsigned short seq;
- unsigned short __pad2;
- unsigned long __unused1;
- unsigned long __unused2;
-};
-
-#endif /* _ASM_UBICOM32_IPCBUF_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/irq.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/irq.h
deleted file mode 100644
index b552589..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/irq.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * arch/ubicom32/include/asm/irq.h
- * IRQ definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IRQ_H
-#define _ASM_UBICOM32_IRQ_H
-
-#include <asm/irqflags.h>
-
-/*
- * We setup the IRQS to cover the full range of interrupt registers in
- * processor.
- */
-#define NR_IRQS 64
-
-#define irq_canonicalize(irq) (irq)
-
-extern int irq_soft_alloc(unsigned int *soft);
-extern void ack_bad_irq(unsigned int irq);
-extern void do_IRQ(int irq, struct pt_regs *fp);
-
-#endif /* _ASM_UBICOM32_IRQ_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/irq_regs.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/irq_regs.h
deleted file mode 100644
index afc33e4..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/irq_regs.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/irq_regs.h
- * Generic irq_regs.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IRQ_REGS_H
-#define _ASM_UBICOM32_IRQ_REGS_H
-
-#include <asm-generic/irq_regs.h>
-
-#endif /* _ASM_UBICOM32_IRQ_REGS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/irqflags.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/irqflags.h
deleted file mode 100644
index f40906e..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/irqflags.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * arch/ubicom32/include/asm/irqflags.h
- * Raw implementation of local IRQ functions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_IRQFLAGS_H
-#define _ASM_UBICOM32_IRQFLAGS_H
-
-#include <linux/thread_info.h>
-#include <asm/ubicom32-common.h>
-#if defined(CONFIG_SMP)
-#include <asm/smp.h>
-#endif
-#include <asm/ldsr.h>
-
-#if defined(CONFIG_PREEMPT)
-#error Not supported by Ubicom32 irq handling, yet!
-#endif
-
-/*
- * raw_local_irq_enable()
- * Enable interrupts for this thread.
- */
-static inline void raw_local_irq_enable(void)
-{
- ldsr_local_irq_enable();
-}
-
-/*
- * raw_local_irq_disable()
- * Disable interrupts for this thread.
- */
-static inline void raw_local_irq_disable(void)
-{
- ldsr_local_irq_disable();
-}
-
-/*
- * raw_local_save_flags()
- * Get the current IRQ state.
- */
-#define raw_local_save_flags(flags) \
-do { \
- (flags) = ldsr_local_irq_is_disabled(); \
-} while (0)
-
-/*
- * raw_local_irq_save()
- * Save the current interrupt state and disable interrupts.
- */
-#define raw_local_irq_save(flags) \
-do { \
- (flags) = ldsr_local_irq_save(); \
-} while (0)
-
-/*
- * raw_local_irq_restore()
- * Restore the IRQ state back to flags.
- */
-static inline void raw_local_irq_restore(unsigned long flags)
-{
- ldsr_local_irq_restore(flags);
-}
-
-/*
- * raw_irqs_disabled_flags()
- * Return true if the flags indicate that IRQ(s) are disabled.
- */
-static inline int raw_irqs_disabled_flags(unsigned long flags)
-{
- return (flags);
-}
-
-#endif /* _ASM_UBICOM32_IRQFLAGS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/kdebug.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/kdebug.h
deleted file mode 100644
index 514bd27..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/kdebug.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/kdebug.h
- * Generic kdebug.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_KDEBUG_H
-#define _ASM_UBICOM32_KDEBUG_H
-
-#include <asm-generic/kdebug.h>
-
-#endif /* _ASM_UBICOM32_KDEBUG_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/kmap_types.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/kmap_types.h
deleted file mode 100644
index 5f4ffea..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/kmap_types.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * arch/ubicom32/include/asm/kmap_types.h
- * Definition of km_type's for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_KMAP_TYPES_H
-#define _ASM_UBICOM32_KMAP_TYPES_H
-
-enum km_type {
- KM_BOUNCE_READ,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BIO_SRC_IRQ,
- KM_BIO_DST_IRQ,
- KM_PTE0,
- KM_PTE1,
- KM_IRQ0,
- KM_IRQ1,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_TYPE_NR
-};
-
-#endif /* _ASM_UBICOM32_KMAP_TYPES_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ldsr.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ldsr.h
deleted file mode 100644
index b829c87..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ldsr.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ldsr.h
- * Ubicom32 LDSR interface definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_LDSR_H
-#define _ASM_UBICOM32_LDSR_H
-
-#include <asm/ubicom32-common.h>
-#include <asm/types.h>
-#include <asm/thread.h>
-
-extern unsigned int ldsr_soft_irq_mask;
-
-/*
- * ldsr_local_irq_is_disabled()
- * Test if interrupts are disabled for this thread?
- */
-static inline int ldsr_local_irq_is_disabled(void)
-{
- int ret;
- thread_t self = thread_get_self();
- unsigned int mask = (1 << self);
-
- asm volatile (
- " and.4 %0, scratchpad1, %1 \n\t"
- : "=r" (ret)
- : "d" (mask)
- : "cc"
- );
-
- /*
- * We return a simple 1 == disabled, 0 == enabled
- * losing which tid this is for, because Linux
- * can restore interrupts on a different thread.
- */
- return ret >> self;
-}
-
-/*
- * ldsr_local_irq_save()
- * Get the current interrupt state and disable interrupts.
- */
-static inline unsigned int ldsr_local_irq_save(void)
-{
- int ret;
- thread_t self = thread_get_self();
- unsigned int mask = (1 << self);
-
- /*
- * Ensure the compiler can not optimize out the code
- * (volatile) and that it does not "cache" values around
- * the interrupt state change (memory). This ensures
- * that interrupt changes are treated as a critical
- * section.
- */
- asm volatile (
- " and.4 %0, scratchpad1, %1 \n\t"
- " or.4 scratchpad1, scratchpad1, %1 \n\t"
- : "=&r" (ret)
- : "d" (mask)
- : "cc", "memory"
- );
-
- /*
- * We return a simple 1 == disabled, 0 == enabled
- * losing which tid this is for, because Linux
- * can restore interrupts on a different thread.
- */
- return ret >> self;
-}
-
-/*
- * ldsr_local_irq_restore()
- * Restore this cpu's interrupt enable/disable state.
- *
- * Note: flags is either 0 or 1.
- */
-static inline void ldsr_local_irq_restore(unsigned int flags)
-{
- unsigned int temp;
- thread_t self = thread_get_self();
- unsigned int mask = (1 << self);
- flags = (flags << self);
-
- /*
- * Ensure the compiler can not optimize out the code
- * (volatile) and that it does not "cache" values around
- * the interrupt state change (memory). This ensures
- * that interrupt changes are treated as a critical
- * section.
- *
- * Atomic change to our bit in scratchpad1 without
- * causing any temporary glitch in the value and
- * without effecting other values. Also this uses
- * no branches so no penalties.
- */
- asm volatile (
- " xor.4 %0, scratchpad1, %1 \n\t"
- " and.4 %0, %2, %0 \n\t"
- " xor.4 scratchpad1, scratchpad1, %0 \n\t"
- " move.4 int_set0, %3 \n\t"
- : "=&d"(temp)
- : "d"(flags), "r"(mask), "r"(ldsr_soft_irq_mask)
- : "cc", "memory"
- );
-}
-
-/*
- * ldsr_local_irq_disable_interrupt()
- * Disable ints for this thread.
- */
-static inline void ldsr_local_irq_disable(void)
-{
- unsigned int mask = (1 << thread_get_self());
-
- /*
- * Ensure the compiler can not optimize out the code
- * (volatile) and that it does not "cache" values around
- * the interrupt state change (memory). This ensures
- * that interrupt changes are treated as a critical
- * section.
- */
- asm volatile (
- " or.4 scratchpad1, scratchpad1, %0 \n\t"
- :
- : "d" (mask)
- : "cc", "memory"
- );
-}
-
-/*
- * ldsr_local_irq_enable_interrupt
- * Enable ints for this thread.
- */
-static inline void ldsr_local_irq_enable(void)
-{
- unsigned int mask = (1 << thread_get_self());
-
- /*
- * Ensure the compiler can not optimize out the code
- * (volatile) and that it does not "cache" values around
- * the interrupt state change (memory). This ensures
- * that interrupt changes are treated as a critical
- * section.
- */
- asm volatile (
- " and.4 scratchpad1, scratchpad1, %0 \n\t"
- " move.4 int_set0, %1 \n\t"
- :
- : "d" (~mask), "r" (ldsr_soft_irq_mask)
- : "cc", "memory"
- );
-}
-
-extern void ldsr_init(void);
-extern void ldsr_set_trap_irq(unsigned int irq);
-extern void ldsr_mask_vector(unsigned int vector);
-extern void ldsr_unmask_vector(unsigned int vector);
-extern void ldsr_enable_vector(unsigned int vector);
-extern void ldsr_disable_vector(unsigned int vector);
-extern thread_t ldsr_get_threadid(void);
-
-#endif /* _ASM_UBICOM32_LDSR_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/linkage.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/linkage.h
deleted file mode 100644
index 63d56a2..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/linkage.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * arch/ubicom32/include/asm/linkage.h
- * Definition of Ubicom32 architecture specific linkage types.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_LINKAGE_H
-#define _ASM_UBICOM32_LINKAGE_H
-
-#define __ocm_text __section(.ocm_text)
-#define __ocm_data __section(.ocm_data)
-
-#endif /* _ASM_UBICOM32_LINKAGE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/local.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/local.h
deleted file mode 100644
index 9c79317..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/local.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/local.h
- * Generic local.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_LOCAL_H
-#define _ASM_UBICOM32_LOCAL_H
-
-#include <asm-generic/local.h>
-
-#endif /* _ASM_UBICOM32_LOCAL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/machdep.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/machdep.h
deleted file mode 100644
index c358154..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/machdep.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * arch/ubicom32/include/asm/machdep.h
- * Machine dependent utility routines.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_MACHDEP_H
-#define _ASM_UBICOM32_MACHDEP_H
-
-#include <linux/interrupt.h>
-
-/* Hardware clock functions */
-extern unsigned long hw_timer_offset(void);
-
-/* machine dependent power off functions */
-extern void (*mach_reset)(void);
-extern void (*mach_halt)(void);
-extern void (*mach_power_off)(void);
-
-extern void config_BSP(char *command, int len);
-
-#endif /* _ASM_UBICOM32_MACHDEP_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mc146818rtc.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/mc146818rtc.h
deleted file mode 100644
index 89b3c56..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mc146818rtc.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * arch/ubicom32/include/asm/mc146818rtc.h
- * Generic mc146818rtc.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-/*
- * Machine dependent access functions for RTC registers.
- */
-#ifndef _ASM_UBICOM32_MC146818RTC_H
-#define _ASM_UBICOM32_MC146818RTC_H
-
-/* empty include file to satisfy the include in genrtc.c/ide-geometry.c */
-
-#endif /* _ASM_UBICOM32_MC146818RTC_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/memory_map.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/memory_map.h
deleted file mode 100644
index a1c3219..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/memory_map.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * arch/ubicom32/include/asm/memory_map.h
- * Machine memory maps/
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_MEMORY_MAP_H
-#define _ASM_UBICOM32_MEMORY_MAP_H
-
-/*
- * Memory Size
- */
-#define OCM_SECTOR_SIZE 0x00008000 /* 32K */
-
-#if defined(CONFIG_UBICOM32_V3)
-#define OCMSIZE 0x00030000 /* 192K on-chip RAM for both program and data */
-#elif defined(CONFIG_UBICOM32_V4)
-#define OCMSIZE 0x0003C000 /* 240K on-chip RAM for both program and data */
-#else
-#error "Unknown IP5K silicon"
-#endif
-
-#define OCMSTART 0x3ffc0000 /* alias from 0x03000000 for easy
- * jump to/from SDRAM */
-#define OCMEND (OCMSTART + OCMSIZE)
-
-#define SDRAMSTART 0x40000000
-
-#define KERNELSTART (SDRAMSTART + 0x00400000)
-
-#define FLASHSTART 0x60000000
-
-/*
- * CODELOADER / OS_SYSCALL OCM Reservations
- * Don't change these unless you know what you are doing.
- */
-#define CODELOADER_SIZE 0x30
-#define CODELOADER_BEGIN OCMSTART /* Must be OCM start for gdb to work. */
-#define CODELOADER_END (CODELOADER_BEGIN + CODELOADER_SIZE)
-
-#define OS_SYSCALL_BEGIN CODELOADER_END /* system_call at this address */
-#define OS_SYSCALL_SIZE (512 - CODELOADER_SIZE)
-#define OS_SYSCALL_END (OS_SYSCALL_BEGIN + OS_SYSCALL_SIZE)
-
-#endif /* _ASM_UBICOM32_MEMORY_MAP_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mman.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/mman.h
deleted file mode 100644
index a2a3efe..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mman.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * arch/ubicom32/include/asm/mman.h
- * Memory mapping definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_MMAN_H
-#define _ASM_UBICOM32_MMAN_H
-
-#include <asm-generic/mman.h>
-
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
-#define MAP_NONBLOCK 0x10000 /* do not block on IO */
-
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-
-#endif /* _ASM_UBICOM32_MMAN_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu.h
deleted file mode 100644
index 71b604b..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * arch/ubicom32/include/asm/mmu.h
- * Definition of mm_context_t struct for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2002, David McCullough <davidm@snapgear.com>
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_MMU_H
-#define _ASM_UBICOM32_MMU_H
-
-typedef struct {
- struct vm_list_struct *vmlist;
- unsigned long end_brk;
-#ifdef CONFIG_BINFMT_ELF_FDPIC
- unsigned long exec_fdpic_loadmap;
- unsigned long interp_fdpic_loadmap;
-#endif
-} mm_context_t;
-
-#endif /* _ASM_UBICOM32_MMU_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu_context.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu_context.h
deleted file mode 100644
index 0123a6c..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mmu_context.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * arch/ubicom32/include/asm/mmu_context.h
- * MMU context definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2004, Microtronix Datacom Ltd., All rights reserved.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_MMU_CONTEXT_H
-#define _ASM_UBICOM32_MMU_CONTEXT_H
-
-#include <asm/setup.h>
-#include <asm/page.h>
-#include <asm/pgalloc.h>
-
-static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
-{
-}
-
-extern inline int
-init_new_context(struct task_struct *tsk, struct mm_struct *mm)
-{
- // mm->context = virt_to_phys(mm->pgd);
- return(0);
-}
-
-#define destroy_context(mm) do { } while(0)
-
-static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk)
-{
-}
-
-#define deactivate_mm(tsk,mm) do { } while (0)
-
-extern inline void activate_mm(struct mm_struct *prev_mm, struct mm_struct *next_mm)
-{
-}
-
-#endif /* _ASM_UBICOM32_MMU_CONTEXT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/module.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/module.h
deleted file mode 100644
index 1c891c6..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/module.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * arch/ubicom32/include/asm/module.h
- * Ubicom32 architecture specific module definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_MODULE_H
-#define _ASM_UBICOM32_MODULE_H
-
-struct mod_arch_specific {
- void *ocm_inst;
- int ocm_inst_size;
-};
-
-#define Elf_Shdr Elf32_Shdr
-#define Elf_Sym Elf32_Sym
-#define Elf_Ehdr Elf32_Ehdr
-
-#define ARCH_PROC_MODULES_EXTRA(m,mod) \
- seq_printf(m, " OCM(%d bytes @ 0x%p)", \
- (mod)->arch.ocm_inst_size, (mod)->arch.ocm_inst)
-
-#define ARCH_OOPS_MODULE_EXTRA(mod) \
- printk(KERN_INFO "%p %u OCM(%p %u)\n", \
- (mod)->module_core, (mod)->core_size, \
- (mod)->arch.ocm_inst, (mod)->arch.ocm_inst_size)
-#endif /* _ASM_UBICOM32_MODULE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/msgbuf.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/msgbuf.h
deleted file mode 100644
index 8d575e0..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/msgbuf.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * arch/ubicom32/include/asm/msgbuf.h
- * Definition of msqid64_ds struct for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_MSGBUF_H
-#define _ASM_UBICOM32_MSGBUF_H
-
-/*
- * The msqid64_ds structure for ubicom32 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct msqid64_ds {
- struct ipc64_perm msg_perm;
- __kernel_time_t msg_stime; /* last msgsnd time */
- unsigned long __unused1;
- __kernel_time_t msg_rtime; /* last msgrcv time */
- unsigned long __unused2;
- __kernel_time_t msg_ctime; /* last change time */
- unsigned long __unused3;
- unsigned long msg_cbytes; /* current number of bytes on queue */
- unsigned long msg_qnum; /* number of messages in queue */
- unsigned long msg_qbytes; /* max number of bytes on queue */
- __kernel_pid_t msg_lspid; /* pid of last msgsnd */
- __kernel_pid_t msg_lrpid; /* last receive pid */
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-#endif /* _ASM_UBICOM32_MSGBUF_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mutex.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/mutex.h
deleted file mode 100644
index 5ab4de0..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/mutex.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * arch/ubicom32/include/asm/mutex.h
- * Generic mutex.h for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-/*
- * Pull in the generic implementation for the mutex fastpath.
- *
- * TODO: implement optimized primitives instead, or leave the generic
- * implementation in place, or pick the atomic_xchg() based generic
- * implementation. (see asm-generic/mutex-xchg.h for details)
- */
-
-#ifndef _ASM_UBICOM32_MUTEX_H
-#define _ASM_UBICOM32_MUTEX_H
-
-#include <asm-generic/mutex-dec.h>
-
-#endif /* _ASM_UBICOM32_MUTEX_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/namei.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/namei.h
deleted file mode 100644
index 8010c14..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/namei.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * arch/ubicom32/include/asm/namei.h
- * Definition of __emul_prefix() for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_NAMEI_H
-#define _ASM_UBICOM32_NAMEI_H
-
-/* This dummy routine maybe changed to something useful
- * for /usr/gnemul/ emulation stuff.
- * Look at asm-sparc/namei.h for details.
- */
-
-#define __emul_prefix() NULL
-
-#endif /* _ASM_UBICOM32_NAMEI_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm-alloc.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm-alloc.h
deleted file mode 100644
index ee29d84..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm-alloc.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ocm-alloc.h
- * Ubicom32 architecture specific ocm definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_OCM_ALLOC_H
-#define _ASM_UBICOM32_OCM_ALLOC_H
-
-
-extern void *ocm_inst_alloc(size_t size, pid_t pid);
-extern int ocm_free(const void *ptr);
-extern int ocm_inst_free(const void *ptr);
-
-#endif /* _ASM_UBICOM32_OCM_ALLOC_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_size.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_size.h
deleted file mode 100644
index 55778fe..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_size.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#define APP_OCM_CODE_SIZE (0x3ffc2e00-0x3ffc0000)
-#define APP_OCM_DATA_SIZE (0x3ffd3500-0x3ffc8000)
-
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_text.lds.inc b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_text.lds.inc
deleted file mode 100644
index 5456cab..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ocm_text.lds.inc
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ocm_text.lds.inc
- * <TODO: Replace with short file description>
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-*(.text.do_csum)
-*(.text.tcp_packet)
-*(.text.ipt_do_table)
-*(.text.nf_conntrack_in)
-*(.text.ip_forward)
-*(.text.dev_queue_xmit)
-*(.text.netif_receive_skb)
-*(.text.ip_route_input)
-*(.text.ip_finish_output)
-*(.text.nf_iterate)
-*(.text.__hash_conntrack)
-*(.text.memset)
-*(.text.memcpy)
-*(.text.ip_rcv)
-*(.text.__nf_conntrack_find)
-*(.text.dev_hard_start_xmit)
-*(.text.vlan_dev_hard_start_xmit)
-*(.text.vlan_dev_hard_header)
-*(.text.__nf_ct_refresh_acct)
-*(.text.tcp_error)
-*(.text.pfifo_fast_enqueue)
-*(.text.ipv4_confirm)
-*(.text.ip_output)
-*(.text.neigh_connected_output)
-*(.text.nf_hook_slow)
-*(.text.nf_nat_packet)
-*(.text.local_bh_enable)
-*(.text.pfifo_fast_dequeue)
-*(.text.ubi32_eth_receive)
-*(.text.nf_nat_fn)
-*(.text.skb_checksum)
-*(.text.memmove)
-*(.text.ubi32_eth_tx_done)
-*(.text.eth_header)
-*(.text.skb_release_data)
-*(.text.nf_conntrack_find_get)
-*(.text.process_backlog)
-*(.text.vlan_skb_recv)
-*(.text.ip_rcv_finish)
-*(.text.__qdisc_run)
-*(.text.skb_push)
-*(.text.eth_type_trans)
-*(.text.__alloc_skb)
-*(.text.netif_rx)
-*(.text.nf_ip_checksum)
-*(.text.__skb_checksum_complete_head)
-*(.text.ipv4_conntrack_defrag)
-*(.text.tcp_pkt_to_tuple)
-*(.text.kfree)
-*(.text.tcp_manip_pkt)
-*(.text.skb_put)
-*(.text.nf_ct_get_tuple)
-*(.text.__kmalloc)
-*(.text.ubi32_eth_start_xmit)
-*(.text.free_block)
-*(.text.ipt_hook)
-*(.text.kmem_cache_free)
-*(.text.skb_pull_rcsum)
-*(.text.cache_alloc_refill)
-*(.text.skb_release_head_state)
-*(.text.manip_pkt)
-*(.text.ip_sabotage_in)
-*(.text.ip_forward_finish)
-*(.text.kmem_cache_alloc)
-*(.text.local_bh_disable)
-*(.text.ipv4_pkt_to_tuple)
-*(.text.inet_proto_csum_replace4)
-*(.text.__nf_ct_l4proto_find)
-*(.text.csum_partial)
-*(.text.neigh_resolve_output)
-*(.text.__kfree_skb)
-*(.text.kfree_skb)
-*(.text.__find_vlan_dev)
-*(.text.ldsr_ctxsw_thread)
-*(.text.__do_IRQ)
-*(.text.skb_pull)
-*(.text.ipv4_invert_tuple)
-*(.text.nf_ct_invert_tuplepr)
-*(.text.skb_make_writable)
-*(.text.ipv4_get_l4proto)
-*(.text.handle_IRQ_event)
-*(.text.net_rx_action)
-*(.text.__do_softirq)
-*(.text.nf_nat_in)
-*(.text.note_interrupt)
-*(.text.ipv4_conntrack_in)
-*(.text.dst_release)
-*(.text.tasklet_action)
-*(.text.nf_nat_out)
-*(.text.nf_ct_invert_tuple)
-*(.text.do_IRQ)
-*(.text.__tasklet_schedule)
-*(.text.__skb_checksum_complete)
-*(.text.ubi32_eth_interrupt)
-*(.text.dev_kfree_skb_any)
-*(.text.ret_from_interrupt_to_kernel)
-*(.text.preemptive_context_save)
-*(.text.irq_ack_vector)
-*(.text.update_wall_time)
-*(.text.ldsr_thread)
-*(.text.irq_exit)
-*(.text.ubi32_eth_do_tasklet)
-*(.text.__napi_schedule)
-*(.text.idle_cpu)
-*(.text.run_timer_softirq)
-*(.text.ldsr_mask_vector)
-*(.text.irq_enter)
-*(.text.ldsr_get_lsb)
-*(.text.ldsr_unmask_vector)
-*(.text.ip_fast_csum)
-*(.text.hrtimer_run_queues)
-*(.text.tcp_invert_tuple)
-*(.text.T___705)
-*(.text.run_posix_cpu_timers)
-*(.text.free_hot_cold_page)
-*(.text.lock_timer_base)
-*(.text.calc_delta_mine)
-*(.text.slab_destroy)
-*(.text.rcu_pending)
-*(.text.scheduler_tick)
-*(.text.hrtimer_run_pending)
-*(.text.do_softirq)
-*(.text.del_timer)
-*(.text.irq_end_vector)
-*(.text.pci_read_u32)
-*(.text.udivmodsi4)
-*(.text.memcmp)
-*(.text.memset)
-*(.text.__slab_alloc)
-*(.text.br_handle_frame)
-*(.text.br_fdb_update)
-*(.text.__br_fdb_get)
-*(.text.br_forward)
-*(.text.br_handle_frame_finish)
-*(.text.pci_write_u32)
-*(.text.kmem_freepages)
-*(.text.br_dev_queue_push_xmit)
-*(.text.ioread32)
-*(.text.next_zones_zonelist)
-*(.text.ubi32_pci_read_u32)
-*(.text.zone_watermark_ok)
-*(.text.__rmqueue_smallest)
-*(.text.ubi32_eth_napi_poll)
-*(.text.ubi32_pci_write_u32)
-*(.text.ubi32_pci_read_u32)
-*(.text._local_bh_enable)
-*(.text._local_bh_disable)
-*(.text.get_slab)
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/page.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/page.h
deleted file mode 100644
index 1ecb174..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/page.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * arch/ubicom32/include/asm/page.h
- * Memory page related operations and definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_PAGE_H
-#define _ASM_UBICOM32_PAGE_H
-
-#include <linux/const.h>
-
-/* PAGE_SHIFT determines the page size */
-
-#define PAGE_SHIFT (12)
-#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
-#define PAGE_MASK (~(PAGE_SIZE-1))
-
-#include <asm/setup.h>
-
-#ifndef __ASSEMBLY__
-
-#define get_user_page(vaddr) __get_free_page(GFP_KERNEL)
-#define free_user_page(page, addr) free_page(addr)
-
-#define clear_page(page) memset((page), 0, PAGE_SIZE)
-#define copy_page(to,from) memcpy((to), (from), PAGE_SIZE)
-
-#define clear_user_page(page, vaddr, pg) clear_page(page)
-#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
-
-#define __alloc_zeroed_user_highpage(movableflags, vma, vaddr) \
- alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr)
-#define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE
-
-/*
- * These are used to make use of C type-checking..
- */
-typedef struct { unsigned long pte; } pte_t;
-typedef struct { unsigned long pmd[16]; } pmd_t;
-typedef struct { unsigned long pgd; } pgd_t;
-typedef struct { unsigned long pgprot; } pgprot_t;
-typedef struct page *pgtable_t;
-
-#define pte_val(x) ((x).pte)
-#define pmd_val(x) ((&x)->pmd[0])
-#define pgd_val(x) ((x).pgd)
-#define pgprot_val(x) ((x).pgprot)
-
-#define __pte(x) ((pte_t) { (x) } )
-#define __pmd(x) ((pmd_t) { (x) } )
-#define __pgd(x) ((pgd_t) { (x) } )
-#define __pgprot(x) ((pgprot_t) { (x) } )
-
-extern unsigned long memory_start;
-extern unsigned long memory_end;
-
-#endif /* !__ASSEMBLY__ */
-
-#include <asm/page_offset.h>
-
-#define PAGE_OFFSET (PAGE_OFFSET_RAW)
-
-#ifndef __ASSEMBLY__
-
-#define __pa(vaddr) virt_to_phys((void *)(vaddr))
-#define __va(paddr) phys_to_virt((unsigned long)(paddr))
-
-#define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
-#define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT)
-
-#define virt_to_page(addr) (mem_map + (((unsigned long)(addr)-PAGE_OFFSET) >> PAGE_SHIFT))
-#define page_to_virt(page) ((((page) - mem_map) << PAGE_SHIFT) + PAGE_OFFSET)
-
-#define pfn_to_page(pfn) virt_to_page(pfn_to_virt(pfn))
-#define page_to_pfn(page) virt_to_pfn(page_to_virt(page))
-#define pfn_valid(pfn) ((pfn) < max_mapnr)
-
-#define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \
- ((void *)(kaddr) < (void *)memory_end))
-
-#endif /* __ASSEMBLY__ */
-
-#define VM_DATA_DEFAULT_FLAGS \
- (VM_READ | VM_WRITE | \
- ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \
- VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
-
-#include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
-#include <asm-generic/getorder.h>
-#else
-#include <asm-generic/page.h>
-#endif
-
-#endif /* _ASM_UBICOM32_PAGE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/page_offset.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/page_offset.h
deleted file mode 100644
index 8536568..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/page_offset.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * arch/ubicom32/include/asm/page_offset.h
- * Definition of PAGE_OFFSET_RAW for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_PAGE_OFFSET_H
-#define _ASM_UBICOM32_PAGE_OFFSET_H
-
-/* This handles the memory map.. */
-#define PAGE_OFFSET_RAW 0x3ffc0000
-
-#endif /* _ASM_UBICOM32_PAGE_OFFSET_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/param.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/param.h
deleted file mode 100644
index 00e5a79..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/param.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * arch/ubicom32/include/asm/param.h
- * Definition of miscellaneous constants, including HZ.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_PARAM_H
-#define _ASM_UBICOM32_PARAM_H
-
-#ifdef __KERNEL__
-#define HZ CONFIG_HZ
-#define USER_HZ HZ
-#define CLOCKS_PER_SEC (USER_HZ)
-#endif
-
-#ifndef HZ
-#define HZ 100
-#endif
-
-#define EXEC_PAGESIZE 4096
-
-#ifndef NOGROUP
-#define NOGROUP (-1)
-#endif
-
-#define MAXHOSTNAMELEN 64 /* max length of hostname */
-
-#endif /* _ASM_UBICOM32_PARAM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pci.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/pci.h
deleted file mode 100644
index 0dce8bd..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pci.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * arch/ubicom32/include/asm/pci.h
- * Definitions of PCI operations for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_PCI_H
-#define _ASM_UBICOM32_PCI_H
-
-#include <asm/io.h>
-
-/* The PCI address space does equal the physical memory
- * address space. The networking and block device layers use
- * this boolean for bounce buffer decisions.
- */
-#define PCI_DMA_BUS_IS_PHYS (1)
-
-
-
-/*
- * Perform a master read/write to the PCI bus.
- * These functions return a PCI_RESP_xxx code.
- */
-extern u8 pci_read_u32(u8 pci_cmd, u32 address, u32 *data);
-extern u8 pci_write_u32(u8 pci_cmd, u32 address, u32 data);
-extern u8 pci_read_u16(u8 pci_cmd, u32 address, u16 *data);
-extern u8 pci_write_u16(u8 pci_cmd, u32 address, u16 data);
-extern u8 pci_read_u8(u8 pci_cmd, u32 address, u8 *data);
-extern u8 pci_write_u8(u8 pci_cmd, u32 address, u8 data);
-
-
-#define PCIBIOS_MIN_IO 0x100
-#define PCIBIOS_MIN_MEM 0x10000000
-
-#define pcibios_assign_all_busses() 0
-#define pcibios_scan_all_fns(a, b) 0
-extern void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
- struct resource *res);
-
-extern void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
- struct pci_bus_region *region);
-
-struct pci_sys_data;
-struct pci_bus;
-
-struct hw_pci {
- struct list_head buses;
- int nr_controllers;
- int (*setup)(int nr, struct pci_sys_data *);
- struct pci_bus *(*scan)(int nr, struct pci_sys_data *);
- void (*preinit)(void);
- void (*postinit)(void);
- u8 (*swizzle)(struct pci_dev *dev, u8 *pin);
- int (*map_irq)(struct pci_dev *dev, u8 slot, u8 pin);
-};
-
-/*
- * Per-controller structure
- */
-struct pci_sys_data {
- struct list_head node;
- int busnr; /* primary bus number */
- u64 mem_offset; /* bus->cpu memory mapping offset */
- unsigned long io_offset; /* bus->cpu IO mapping offset */
- struct pci_bus *bus; /* PCI bus */
- struct resource *resource[3]; /* Primary PCI bus resources */
- /* Bridge swizzling */
- u8 (*swizzle)(struct pci_dev *, u8 *);
- /* IRQ mapping */
- int (*map_irq)(struct pci_dev *, u8, u8);
- struct hw_pci *hw;
-};
-
-static inline struct resource *
-pcibios_select_root(struct pci_dev *pdev, struct resource *res)
-{
- struct resource *root = NULL;
-
- if (res->flags & IORESOURCE_IO)
- root = &ioport_resource;
- if (res->flags & IORESOURCE_MEM)
- root = &iomem_resource;
-
- return root;
-}
-
-static inline void pcibios_set_master(struct pci_dev *dev)
-{
- /* No special bus mastering setup handling */
-}
-#define HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE 1
-#define HAVE_ARCH_PCI_SET_DMA_SEGMENT_BOUNDARY 1
-
-#ifdef CONFIG_PCI
-static inline void * pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
- dma_addr_t *dma_handle)
-{
- void *vaddr = kmalloc(size, GFP_KERNEL);
- if(vaddr != NULL) {
- *dma_handle = virt_to_phys(vaddr);
- }
- return vaddr;
-}
-
-static inline int pci_dma_supported(struct pci_dev *hwdev, dma_addr_t mask)
-{
- return 1;
-}
-
-static inline void pci_free_consistent(struct pci_dev *hwdev, size_t size,
- void *cpu_addr, dma_addr_t dma_handle)
-{
- kfree(cpu_addr);
- return;
-}
-
-static inline dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr,
- size_t size, int direction)
-{
- return virt_to_phys(ptr);
-}
-
-static inline void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr,
- size_t size, int direction)
-{
- return;
-}
-
-static inline dma_addr_t
-pci_map_page(struct pci_dev *hwdev, struct page *page,
- unsigned long offset, size_t size, int direction)
-{
- return pci_map_single(hwdev, page_address(page) + offset, size, (int)direction);
-}
-
-static inline void
-pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address,
- size_t size, int direction)
-{
- pci_unmap_single(hwdev, dma_address, size, direction);
-}
-
-static inline int
-pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg,
- int nents, int direction)
-{
- return nents;
-}
-
-static inline void
-pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg,
- int nents, int direction)
-{
-}
-
-static inline void
-pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev, struct scatterlist *sg,
- int nelems, int direction)
-{
-}
-
-static inline void
-pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sg,
- int nelems, int direction)
-{
-}
-
-static inline void
-pci_dma_sync_single_for_cpu(struct pci_dev *hwdev, dma_addr_t dma_handle,
- size_t size, int direction)
-{
-}
-
-static inline void
-pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
- size_t size, int direction)
-{
-}
-
-static inline int
-pci_dma_mapping_error(struct pci_dev *hwdev, dma_addr_t dma_addr)
-{
- return dma_addr == 0;
-}
-extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max);
-extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
-#endif
-
-#endif /* _ASM_UBICOM32_PCI_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pcm_tio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/pcm_tio.h
deleted file mode 100644
index 13b5fc1..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pcm_tio.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * arch/ubicom32/include/asm/pcm_tio.h
- * Ubicom32 architecture PCM TIO definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_PCM_TIO_H
-#define _ASM_UBICOM32_PCM_TIO_H
-
-#include <asm/devtree.h>
-
-#define PCM_TIO_REGS_VERSION 2
-struct pcm_tio_regs {
- /*
- * set this value to 1 to reload the parameters and restart the HRT
- */
- u32_t reload;
-
- /*
- * Pointers to the input and output buffers
- */
- void *input_buf;
- void *output_buf;
-
- /*
- * Buffer size (see pcm_hrt.S for constraints)
- */
- u32_t buffer_size;
-
- /*
- * Current cycle. This variable increases every time half the buffer
- * is consumed.
- */
- u32_t cycle;
-
- /*
- * Fields below this line are not accessed by the HRT. They are purely
- * informational for the user of this TIO.
- */
-
- /*
- * Version of this structure
- */
- u32_t version;
-
- /*
- * Number of channels supported
- */
- u32_t channels;
-
- /*
- * Maximum buffer size
- */
- u32_t max_buffer_size;
-};
-
-/*
- * Our device node
- */
-#define PCM_TIO_NODE_VERSION 1
-struct pcm_tio_node {
- struct devtree_node dn;
- u32_t version;
- struct pcm_tio_regs *regs;
-};
-
-#endif
-
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/percpu.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/percpu.h
deleted file mode 100644
index 4d51e60..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/percpu.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/percpu.h
- * Generic percpu.h for the Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_PERCPU_H
-#define _ASM_UBICOM32_PERCPU_H
-
-#include <asm-generic/percpu.h>
-
-#endif /* _ASM_UBICOM32_PERCPU_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pgalloc.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/pgalloc.h
deleted file mode 100644
index 397d19e..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pgalloc.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * arch/ubicom32/include/asm/pgalloc.h
- * Page table allocation definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_PGALLOC_H
-#define _ASM_UBICOM32_PGALLOC_H
-
-#include <linux/mm.h>
-#include <asm/setup.h>
-
-#define check_pgt_cache() do { } while (0)
-
-#endif /* _ASM_UBICOM32_PGALLOC_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pgtable.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/pgtable.h
deleted file mode 100644
index ffb30a9..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/pgtable.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * arch/ubicom32/include/asm/pgtable.h
- * Ubicom32 pseudo page table definitions and operations.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2004 Microtronix Datacom Ltd
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- * and various works, Alpha, ix86, M68K, Sparc, ...et al
- */
-#ifndef _ASM_UBICOM32_PGTABLE_H
-#define _ASM_UBICOM32_PGTABLE_H
-
-#include <asm-generic/4level-fixup.h>
-
-//vic - this bit copied from m68knommu version
-#include <asm/setup.h>
-#include <asm/io.h>
-#include <linux/sched.h>
-
-typedef pte_t *pte_addr_t;
-
-#define pgd_present(pgd) (1) /* pages are always present on NO_MM */
-#define pgd_none(pgd) (0)
-#define pgd_bad(pgd) (0)
-#define pgd_clear(pgdp)
-#define kern_addr_valid(addr) (1)
-#define pmd_offset(a, b) ((void *)0)
-
-#define PAGE_NONE __pgprot(0) /* these mean nothing to NO_MM */
-#define PAGE_SHARED __pgprot(0) /* these mean nothing to NO_MM */
-#define PAGE_COPY __pgprot(0) /* these mean nothing to NO_MM */
-#define PAGE_READONLY __pgprot(0) /* these mean nothing to NO_MM */
-#define PAGE_KERNEL __pgprot(0) /* these mean nothing to NO_MM */
-//vic - this bit copied from m68knommu version
-
-extern void paging_init(void);
-#define swapper_pg_dir ((pgd_t *) 0)
-
-#define __swp_type(x) (0)
-#define __swp_offset(x) (0)
-#define __swp_entry(typ,off) ((swp_entry_t) { ((typ) | ((off) << 7)) })
-#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
-#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
-
-/*
- * pgprot_noncached() is only for infiniband pci support, and a real
- * implementation for RAM would be more complicated.
- */
-#define pgprot_noncached(prot) (prot)
-
-static inline int pte_file(pte_t pte) { return 0; }
-
-/*
- * ZERO_PAGE is a global shared page that is always zero: used
- * for zero-mapped memory areas etc..
- */
-#define ZERO_PAGE(vaddr) (virt_to_page(0))
-
-extern unsigned int kobjsize(const void *objp);
-extern int is_in_rom(unsigned long);
-
-/*
- * No page table caches to initialise
- */
-#define pgtable_cache_init() do { } while (0)
-
-#define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \
- remap_pfn_range(vma, vaddr, pfn, size, prot)
-
-extern inline void flush_cache_mm(struct mm_struct *mm)
-{
-}
-
-extern inline void flush_cache_range(struct mm_struct *mm,
- unsigned long start,
- unsigned long end)
-{
-}
-
-/* Push the page at kernel virtual address and clear the icache */
-extern inline void flush_page_to_ram (unsigned long address)
-{
-}
-
-/* Push n pages at kernel virtual address and clear the icache */
-extern inline void flush_pages_to_ram (unsigned long address, int n)
-{
-}
-
-/*
- * All 32bit addresses are effectively valid for vmalloc...
- * Sort of meaningless for non-VM targets.
- */
-#define VMALLOC_START 0
-#define VMALLOC_END 0xffffffff
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
-#include <asm-generic/pgtable.h>
-#else
-#define arch_enter_lazy_mmu_mode() do {} while (0)
-#define arch_leave_lazy_mmu_mode() do {} while (0)
-#define arch_flush_lazy_mmu_mode() do {} while (0)
-#define arch_enter_lazy_cpu_mode() do {} while (0)
-#define arch_leave_lazy_cpu_mode() do {} while (0)
-#define arch_flush_lazy_cpu_mode() do {} while (0)
-#endif
-
-#endif /* _ASM_UBICOM32_PGTABLE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/plio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/plio.h
deleted file mode 100644
index ade78f2..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/plio.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * plio.h
- * PLIO defines.
- *
- * Copyright © 2009 Ubicom Inc. <www.ubicom.com>. All Rights Reserved.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can
- * redistribute it and/or modify it under the terms of the GNU General
- * Public License as published by the Free Software Foundation, either
- * version 2 of the License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- * This file contains confidential information of Ubicom, Inc. and your use of
- * this file is subject to the Ubicom Software License Agreement distributed with
- * this file. If you are uncertain whether you are an authorized user or to report
- * any unauthorized use, please contact Ubicom, Inc. at +1-408-789-2200.
- * Unauthorized reproduction or distribution of this file is subject to civil and
- * criminal penalties.
- */
-
-#ifndef __PLIO__H__
-#define __PLIO__H__
-
-#include <asm/ip5000.h>
-#include <asm/thread.h>
-
-#define PLIO_PORT RD
-#define PLIO_EXT_PORT RI
-
-#define TRANSMIT_FIFO_WATERMARK 8
-
-/*
- * PLIO non-blocking register definitions
- */
-#define PLIO_FN 2
-
-typedef struct {
- unsigned : 10;
- unsigned rxfifo_thread_enable: 1; /* allowed rxfifo thread enable */
- unsigned : 1;
- unsigned rxfifo_thread: 4; /* allowed rxfifo thread access */
- unsigned : 4;
- unsigned br_thread: 4; /* allowed blocking region thread access */
- unsigned fn_reset: 4; /* function reset bit vector */
- unsigned rxfifo_sel: 1; /* select between RXFIFO 0 and 1 */
- unsigned fn_sel: 3; /* select port function */
-} plio_io_function_t;
-
-typedef struct {
- unsigned : 24;
- unsigned pin:8;
-} plio_gpio_t;
-
-typedef struct {
- unsigned : 16;
- unsigned txfifo_uf: 1; /* TXFIFO underflow */
- unsigned txfifo_wm: 1; /* TXFIFO watermark */
- unsigned rxfifo_of: 1; /* RXFIFO overflow */
- unsigned rxfifo_wm: 1; /* RXFIFO watermark */
- unsigned : 5;
- unsigned lreg_int_addr_rd: 1; /* read from specified LREG address */
- unsigned lreg_int_addr_wr: 1; /* write to specified LREG address */
- unsigned extctl_int: 4; /* synchronized external interrupts */
- unsigned pfsm_int: 1; /* state machine */
-} plio_intstat_t;
-
-typedef struct {
- unsigned txfifo_reset: 1; /* TXFIFO reset for int_set only */
- unsigned rxfifo_reset: 1; /* RXFIFO reset for int_set only */
- unsigned : 11;
- unsigned idif_txfifo_flush: 1; /* flush TXFIFO and idif_txfifo */
- unsigned idif_rxfifo_flush: 1; /* flush RXFIFO and idif_rxfifo */
- unsigned pfsm_start: 1; /* input to fsm */
- unsigned txfifo_uf: 1; /* TXFIFO underflow */
- unsigned txfifo_wm: 1; /* TXFIFO watermark */
- unsigned rxfifo_of: 1; /* RXFIFO overflow */
- unsigned rxfifo_wm: 1; /* RXFIFO watermark */
- unsigned : 5;
- unsigned lreg_int_addr_rd: 1; /* read from specified LREG address */
- unsigned lreg_int_addr_wr: 1; /* write to specified LREG address */
- unsigned extctl_int: 4; /* synchronized external interrupts */
- unsigned pfsm_int: 1; /* state machine */
-} plio_intset_t;
-
-typedef enum {
- PLIO_PORT_MODE_D,
- PLIO_PORT_MODE_DE,
- PLIO_PORT_MODE_DI,
- PLIO_PORT_MODE_DEI,
- PLIO_PORT_MODE_DC,
-} plio_port_mode_t;
-
-typedef enum {
- PLIO_CLK_CORE, /* CORE CLK */
- PLIO_CLK_IO, /* IO CLK */
- PLIO_CLK_EXT, /* EXT CLK */
-} plio_clk_src_t;
-typedef struct {
- unsigned : 4;
- unsigned edif_iaena_sel: 1; /* Input Address Enable Select */
- unsigned edif_iaclk_sel: 1; /* Input Address Clock Select */
- unsigned edif_iald_inv: 1; /* Input Address Strobe Invert */
- unsigned edif_idclk_sel: 1; /* Input Data Clock Select */
- unsigned edif_idld_inv: 1; /* Input Data Strobe Invert */
- unsigned edif_ds: 3; /* specify IDR and ODR data shift */
- unsigned edif_cmp_mode: 1; /* configure IDR comparator output */
- unsigned edif_idena_sel: 1; /* Input Data Enable Select */
- unsigned ecif_extclk_ena: 1; /* plio_extctl output select */
- unsigned idif_tx_fifo_cmd_sel: 1; /* select pfsm_cmd data word position */
- unsigned ptif_porti_cfg: 2; /* select port I pin configuration */
- unsigned ptif_portd_cfg: 3; /* select port D pin configuration */
- plio_port_mode_t ptif_port_mode: 3; /* select other plio ports */
- unsigned icif_clk_plio_ext_inv: 1; /* invert external plio clock when set */
- unsigned icif_rst_plio: 1; /* reset plio function and io fifos */
- plio_clk_src_t icif_clk_src_sel: 2; /* select plio clock source */
- unsigned pfsm_prog: 1; /* enable pfsm programming */
- unsigned pfsm_cmd: 3; /* software input to pfsm */
-} plio_fctl0_t;
-
-typedef struct {
- unsigned : 2;
- unsigned idif_byteswap_tx: 3; /* swap TXFIFO byte order */
- unsigned idif_byteswap_rx: 3; /* swap RXFIFO byte order */
- unsigned : 1;
- unsigned lreg_ena: 1; /* enable local register map */
- unsigned lreg_addr_fifo_cmp_ena: 1; /* enable a specific LREG address from/to TX/RX fifos */
- unsigned lreg_addr_fifo_cmp: 5; /* LREG address routed from/to TX/RX fifos */
- unsigned : 1;
- unsigned dcod_iald_idld_sel: 2; /* select address/data strobes */
- unsigned dcod_rw_src_sel: 1; /* select LREG strobe source */
- unsigned dcod_rd_sel: 5; /* select read strobe source */
- unsigned dcod_wr_sel: 5; /* select write strobe source */
- unsigned dcod_rd_lvl: 1; /* select active level of read strobe */
- unsigned dcod_wr_lvl: 1; /* select active level of read strobe */
-} plio_fctl1_t;
-
-typedef struct {
- unsigned icif_eclk_div: 16; /* external plio clock divider */
- unsigned icif_iclk_div: 16; /* internal plio clock divider */
-} plio_fctl2_t;
-
-typedef struct {
- unsigned : 27;
- unsigned pfsm_state: 5; /* current pfsm state */
-} plio_stat_0_t;
-
-typedef struct {
- unsigned : 3;
- unsigned lreg_r_int_addr: 5;
- unsigned : 11;
- unsigned lreg_w_int_addr: 5;
- unsigned lreg_w_int_data: 8;
-} plio_stat_1_t;
-
-typedef struct {
- unsigned : 32;
-} plio_stat_2_t;
-
-typedef struct {
- unsigned tx: 16;
- unsigned rx: 16;
-} plio_io_fifo_wm_t, plio_io_fifo_lvl_t;
-
-
-/* plio blocking region register definitions
- */
-typedef struct {
- unsigned ns1: 5;
- unsigned ic1: 7;
- unsigned ec1: 4;
- unsigned ns0: 5;
- unsigned ic0: 7;
- unsigned ec0: 4;
-} plio_sram_t;
-
-typedef struct {
- unsigned : 2;
- unsigned s9: 3;
- unsigned s8: 3;
- unsigned s7: 3;
- unsigned s6: 3;
- unsigned s5: 3;
- unsigned s4: 3;
- unsigned s3: 3;
- unsigned s2: 3;
- unsigned s1: 3;
- unsigned s0: 3;
-} plio_grpsel_t;
-
-typedef struct {
- unsigned s7: 4;
- unsigned s6: 4;
- unsigned s5: 4;
- unsigned s4: 4;
- unsigned s3: 4;
- unsigned s2: 4;
- unsigned s1: 4;
- unsigned s0: 4;
-} plio_cs_lut_t;
-
-typedef struct {
- unsigned lut3: 8;
- unsigned lut2: 8;
- unsigned lut1: 8;
- unsigned lut0: 8;
-} plio_extctl_t;
-
-typedef struct {
- plio_grpsel_t grpsel[4];
- u16_t cv[16];
- plio_cs_lut_t cs_lut[4];
- plio_extctl_t extctl_o_lut[8];
-} plio_pfsm_t;
-
-typedef struct {
- u32_t odr_oe_sel;
- u32_t odr_oe;
- u32_t cmp;
- u32_t ncmp;
- u32_t cmp_mask;
-} plio_edif_t;
-
-typedef enum {
- PLIO_ECIF_CLK_OUT = 9,
- PLIO_ECIF_IALD = 9,
- PLIO_ECIF_CLK_IN = 8,
- PLIO_ECIF_IDLD = 8,
- PLIO_ECIF_INT = 2,
-} plio_ecif_output_t;
-
-typedef struct {
- u32_t bypass_sync;
- u32_t ift;
- u32_t output_type;
- u32_t output_ena;
- u32_t output_lvl;
-} plio_ecif_t;
-
-typedef struct {
- u32_t idr_addr_pos_mask;
- u32_t reserved;
- u32_t lreg_bar;
-} plio_dcod_t;
-
-typedef struct {
- u32_t addr_rd_ena;
- u32_t addr_wr_ena;
- u32_t addr_rd_int_ena;
- u32_t addr_wr_int_ena;
-} plio_lcfg_t;
-
-
-/*
- * PLIO configuration
- */
-typedef struct {
- plio_fctl0_t fctl0;
- plio_fctl1_t fctl1;
- plio_fctl2_t fctl2;
-} plio_fctl_t;
-
-typedef struct {
- plio_pfsm_t pfsm;
- plio_edif_t edif;
- plio_ecif_t ecif;
- plio_dcod_t dcod;
- plio_lcfg_t lcfg;
-} plio_config_t;
-
-typedef struct {
- plio_io_function_t function;
- plio_gpio_t gpio_ctl;
- plio_gpio_t gpio_out;
- plio_gpio_t gpio_in;
- plio_intstat_t intstat;
- plio_intstat_t intmask;
- plio_intset_t intset;
- plio_intstat_t intclr;
- unsigned tx_lo;
- unsigned tx_hi;
- unsigned rx_lo;
- unsigned rx_hi;
- plio_fctl0_t fctl0;
- plio_fctl1_t fctl1;
- plio_fctl2_t fctl2;
- plio_stat_0_t stat0;
- plio_stat_1_t stat1;
- plio_stat_2_t stat2;
- plio_io_fifo_wm_t fifo_wm;
- plio_io_fifo_lvl_t fifo_lvl;
-} plio_nbr_t;
-
-typedef struct {
- u32_t pfsm_sram[256];
- plio_config_t config;
-} plio_br_t;
-
-#define PLIO_NBR ((plio_nbr_t *)(PLIO_PORT))
-#define PLIO_BR ((plio_br_t *)((PLIO_PORT + IO_PORT_BR_OFFSET)))
-#define PEXT_NBR ((plio_nbr_t *)(PLIO_EXT_PORT))
-
-extern void plio_init(const plio_fctl_t *plio_fctl, const plio_config_t *plio_config, const plio_sram_t plio_sram_cfg[], int sram_cfg_size);
-
-#endif // __PLIO__H__
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/poll.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/poll.h
deleted file mode 100644
index 8e92b76..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/poll.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * arch/ubicom32/include/asm/poll.h
- * Ubicom32 specific poll() related flags definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_POLL_H
-#define _ASM_UBICOM32_POLL_H
-
-#define POLLWRNORM POLLOUT
-#define POLLWRBAND 0x0100
-
-#include <asm-generic/poll.h>
-
-#endif /* _ASM_UBICOM32_POLL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/posix_types.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/posix_types.h
deleted file mode 100644
index 40b69f8..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/posix_types.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * arch/ubicom32/include/asm/posix_types.h
- * Ubicom32 architecture posix types.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2004 Microtronix Datacom Ltd
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef __ARCH_UBICOM32_POSIX_TYPES_H
-#define __ARCH_UBICOM32_POSIX_TYPES_H
-
-/*
- * This file is generally used by user-level software, so you need to
- * be a little careful about namespace pollution etc. Also, we cannot
- * assume GCC is being used.
- */
-
-typedef unsigned long __kernel_ino_t;
-typedef unsigned short __kernel_mode_t;
-typedef unsigned short __kernel_nlink_t;
-typedef long __kernel_off_t;
-typedef int __kernel_pid_t;
-typedef unsigned short __kernel_ipc_pid_t;
-typedef unsigned short __kernel_uid_t;
-typedef unsigned short __kernel_gid_t;
-typedef unsigned int __kernel_size_t;
-typedef int __kernel_ssize_t;
-typedef int __kernel_ptrdiff_t;
-typedef long __kernel_time_t;
-typedef long __kernel_suseconds_t;
-typedef long __kernel_clock_t;
-typedef int __kernel_timer_t;
-typedef int __kernel_clockid_t;
-typedef int __kernel_daddr_t;
-typedef char * __kernel_caddr_t;
-typedef unsigned short __kernel_uid16_t;
-typedef unsigned short __kernel_gid16_t;
-typedef unsigned int __kernel_uid32_t;
-typedef unsigned int __kernel_gid32_t;
-
-typedef unsigned short __kernel_old_uid_t;
-typedef unsigned short __kernel_old_gid_t;
-typedef unsigned short __kernel_old_dev_t;
-
-#ifdef __GNUC__
-typedef long long __kernel_loff_t;
-#endif
-
-typedef struct {
-#if defined(__KERNEL__) || defined(__USE_ALL)
- int val[2];
-#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */
- int __val[2];
-#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */
-} __kernel_fsid_t;
-
-#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
-
-#undef __FD_SET
-#define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
-
-#undef __FD_CLR
-#define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
-
-#undef __FD_ISSET
-#define __FD_ISSET(d, set) ((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
-
-#undef __FD_ZERO
-#define __FD_ZERO(fdsetp) (memset (fdsetp, 0, sizeof(*(fd_set *)fdsetp)))
-
-#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */
-
-#endif
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/processor.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/processor.h
deleted file mode 100644
index 92e49e8..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/processor.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * arch/ubicom32/include/asm/processor.h
- * Thread related definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 1995 Hamish Macdonald
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_PROCESSOR_H
-#define _ASM_UBICOM32_PROCESSOR_H
-
-/*
- * Default implementation of macro that returns current
- * instruction pointer ("program counter").
- */
-#define current_text_addr() ({ __label__ _l; _l: &&_l;})
-
-#include <linux/compiler.h>
-#include <linux/threads.h>
-#include <asm/types.h>
-#include <asm/segment.h>
-#include <asm/fpu.h>
-#include <asm/ptrace.h>
-#include <asm/current.h>
-#include <asm/thread_info.h>
-
-#if defined(CONFIG_UBICOM32_V3)
- #define CPU "IP5K"
-#endif
-#if defined(CONFIG_UBICOM32_V4)
- #define CPU "IP7K"
-#endif
-#ifndef CPU
- #define CPU "UNKNOWN"
-#endif
-
-/*
- * User space process size: 1st byte beyond user address space.
- */
-extern unsigned long memory_end;
-#define TASK_SIZE (memory_end)
-
-/*
- * This decides where the kernel will search for a free chunk of vm
- * space during mmap's. We won't be using it
- */
-#define TASK_UNMAPPED_BASE 0
-
-/*
- * This is the structure where we are going to save callee-saved registers.
- * A5 is the return address, A7 is the stack pointer, A6 is the frame
- * pointer. This is the frame that is created because of switch_to. This
- * is not the frame due to interrupt preemption or because of syscall entry.
- */
-
-struct thread_struct {
- unsigned long d10; /* D10 */
- unsigned long d11; /* D11 */
- unsigned long d12; /* D12 */
- unsigned long d13; /* D13 */
- unsigned long a1; /* A1 */
- unsigned long a2; /* A2 */
- unsigned long a5; /* A5 return address. */
- unsigned long a6; /* A6 */
- unsigned long sp; /* A7 kernel stack pointer. */
-};
-
-#define INIT_THREAD { \
- 0, 0, 0, 0, 0, 0, 0, 0, \
- sizeof(init_stack) + (unsigned long) init_stack - 8, \
-}
-
-/*
- * Do necessary setup to start up a newly executed thread.
- *
- * pass the data segment into user programs if it exists,
- * it can't hurt anything as far as I can tell
- */
-/*
- * Do necessary setup to start up a newly executed thread.
- */
-#define start_thread(regs, new_pc, new_sp) \
- do { \
- regs->pc = new_pc & ~3; \
- regs->an[5] = new_pc & ~3; \
- regs->an[7] = new_sp; \
- regs->nesting_level = -1; \
- regs->frame_type = UBICOM32_FRAME_TYPE_NEW_THREAD; \
- regs->thread_type = NORMAL_THREAD; \
- } while(0)
-
-/* Forward declaration, a strange C thing */
-struct task_struct;
-
-/* Free all resources held by a thread. */
-static inline void release_thread(struct task_struct *dead_task)
-{
-}
-
-/* Prepare to copy thread state - unlazy all lazy status */
-#define prepare_to_copy(tsk) do { } while (0)
-
-extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
-/*
- * Free current thread data structures etc..
- */
-static inline void exit_thread(void)
-{
-}
-
-unsigned long thread_saved_pc(struct task_struct *tsk);
-unsigned long get_wchan(struct task_struct *p);
-
-#define KSTK_EIP(tsk) (tsk->thread.a5)
-#define KSTK_ESP(tsk) (tsk->thread.sp)
-
-#define cpu_relax() barrier()
-
-extern void processor_init(void);
-extern unsigned int processor_timers(void);
-extern unsigned int processor_threads(void);
-extern unsigned int processor_frequency(void);
-extern int processor_interrupts(unsigned int *int0, unsigned int *int1);
-extern void processor_ocm(unsigned long *socm, unsigned long *eocm);
-extern void processor_dram(unsigned long *sdram, unsigned long *edram);
-
-#define THREAD_SIZE_LONGS (THREAD_SIZE/sizeof(unsigned long))
-#define KSTK_TOP(info) \
-({ \
- unsigned long *__ptr = (unsigned long *)(info); \
- (unsigned long)(&__ptr[THREAD_SIZE_LONGS]); \
-})
-
-#define task_pt_regs(task) \
-({ \
- struct pt_regs *__regs__; \
- __regs__ = (struct pt_regs *)(KSTK_TOP(task_stack_page(task))-8); \
- __regs__ - 1; \
-})
-
-#endif /* _ASM_UBICOM32_PROCESSOR_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/profilesample.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/profilesample.h
deleted file mode 100644
index 6e42269..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/profilesample.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * arch/ubicom32/mach-common/profile.h
- * Private data for the profile module
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-#ifndef _PROFILESAMPLE_H_
-#define _PROFILESAMPLE_H_
-
-/*
- * a sample taken by the ipProfile package for sending to the profilertool
- */
-struct profile_sample {
- unsigned int pc; /* PC value */
- unsigned int a5; /* a5 contents for parent of leaf function */
- unsigned int parent; /* return address from stack, to find the caller */
- unsigned int latency; /* CPU clocks since the last message dispatch in this thread (thread 0 ony for now) */
- unsigned short active; /* which threads are active - for accurate counting */
- unsigned short d_blocked; /* which threads are blocked due to D cache misses */
- unsigned short i_blocked; /* which threads are blocked due to I cache misses */
- unsigned char cond_codes; /* for branch prediction */
- unsigned char thread; /* I-blocked, D-blocked, 4-bit thread number */
-};
-
-#endif
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ptrace.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ptrace.h
deleted file mode 100644
index aeae2c7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ptrace.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ptrace.h
- * Ubicom32 architecture ptrace support.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_PTRACE_H
-#define _ASM_UBICOM32_PTRACE_H
-
-#ifndef __ASSEMBLY__
-
-/*
- * We use hard coded constants because this is shared with user
- * space and the values are NOT allowed to change. Only fields
- * that are intended to be exposed get values.
- */
-#define PT_D0 0
-#define PT_D1 4
-#define PT_D2 8
-#define PT_D3 12
-#define PT_D4 16
-#define PT_D5 20
-#define PT_D6 24
-#define PT_D7 28
-#define PT_D8 32
-#define PT_D9 36
-#define PT_D10 40
-#define PT_D11 44
-#define PT_D12 48
-#define PT_D13 52
-#define PT_D14 56
-#define PT_D15 60
-#define PT_A0 64
-#define PT_A1 68
-#define PT_A2 72
-#define PT_A3 76
-#define PT_A4 80
-#define PT_A5 84
-#define PT_A6 88
-#define PT_A7 92
-#define PT_SP 92
-#define PT_ACC0HI 96
-#define PT_ACC0LO 100
-#define PT_MAC_RC16 104
-#define PT_ACC1HI 108
-#define PT_ACC1LO 112
-#define PT_SOURCE3 116
-#define PT_INST_CNT 120
-#define PT_CSR 124
-#define PT_DUMMY_UNUSED 128
-#define PT_INT_MASK0 132
-#define PT_INT_MASK1 136
-#define PT_TRAP_CAUSE 140
-#define PT_PC 144
-#define PT_ORIGINAL_D0 148
-#define PT_FRAME_TYPE 152
-
-/*
- * The following 'registers' are not registers at all but are used
- * locate the relocated sections.
- */
-#define PT_TEXT_ADDR 200
-#define PT_TEXT_END_ADDR 204
-#define PT_DATA_ADDR 208
-#define PT_EXEC_FDPIC_LOADMAP 212
-#define PT_INTERP_FDPIC_LOADMAP 216
-
-/*
- * This struct defines the way the registers are stored on the
- * stack during a system call.
- */
-enum thread_type {
- NORMAL_THREAD,
- KERNEL_THREAD,
-};
-
-#define UBICOM32_FRAME_TYPE_SYSCALL -1 /* System call frame */
-#define UBICOM32_FRAME_TYPE_INVALID 0 /* Invalid frame, no longer in use */
-#define UBICOM32_FRAME_TYPE_INTERRUPT 1 /* Interrupt frame */
-#define UBICOM32_FRAME_TYPE_TRAP 2 /* Trap frame */
-#define UBICOM32_FRAME_TYPE_SIGTRAMP 3 /* Signal trampoline frame. */
-#define UBICOM32_FRAME_TYPE_NEW_THREAD 4 /* New Thread. */
-
-struct pt_regs {
- /*
- * Data Registers
- */
- unsigned long dn[16];
-
- /*
- * Address Registers
- */
- unsigned long an[8];
-
- /*
- * Per thread misc registers.
- */
- unsigned long acc0[2];
- unsigned long mac_rc16;
- unsigned long acc1[2];
- unsigned long source3;
- unsigned long inst_cnt;
- unsigned long csr;
- unsigned long dummy_unused;
- unsigned long int_mask0;
- unsigned long int_mask1;
- unsigned long trap_cause;
- unsigned long pc;
- unsigned long original_dn_0;
-
- /*
- * Frame type. Syscall frames are -1. For other types look above.
- */
- unsigned long frame_type;
-
- /*
- * These fields are not exposed to ptrace.
- */
- unsigned long previous_pc;
- long nesting_level; /* When the kernel in in user space this
- * will be -1. */
- unsigned long thread_type; /* This indicates if this is a kernel
- * thread. */
-};
-
-/*
- * This is the extended stack used by signal handlers and the context
- * switcher: it's pushed after the normal "struct pt_regs".
- */
-struct switch_stack {
- unsigned long dummy;
-};
-
-#ifdef __KERNEL__
-
-/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
-#define PTRACE_GETREGS 12
-#define PTRACE_SETREGS 13
-
-#ifndef PS_S
-#define PS_S (0x2000)
-#define PS_M (0x1000)
-#endif
-
-extern int __user_mode(unsigned long sp);
-
-#define user_mode(regs) (__user_mode((regs->an[7])))
-#define user_stack(regs) ((regs)->an[7])
-#define instruction_pointer(regs) ((regs)->pc)
-#define profile_pc(regs) instruction_pointer(regs)
-extern void show_regs(struct pt_regs *);
-#endif /* __KERNEL__ */
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* _ASM_UBICOM32_PTRACE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect-asm.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect-asm.h
deleted file mode 100644
index 87459e4..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect-asm.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * arch/ubicom32/include/asm/range-protect-asm.h
- * Assembly macros for enabling memory protection.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_RANGE_PROTECT_ASM_H
-#define _ASM_UBICOM32_RANGE_PROTECT_ASM_H
-
-#if defined(__ASSEMBLY__)
-
-#include <asm/thread-asm.h>
-
-/*
- * You should only use the enable/disable ranges when you have the atomic lock,
- * if you do not there will be problems.
- */
-
-/*
- * enable_kernel_ranges
- * Enable the kernel ranges (disabling protection) for thread,
- * where thread == (1 << thread number)
- */
-.macro enable_kernel_ranges thread
-#ifdef CONFIG_PROTECT_KERNEL
- or.4 I_RANGE0_EN, I_RANGE0_EN, \thread /* Enable Range Register */
- or.4 D_RANGE0_EN, D_RANGE0_EN, \thread
- or.4 D_RANGE1_EN, D_RANGE1_EN, \thread
-#endif
-.endm
-
-/*
- * enable_kernel_ranges_for_current
- * Enable the kernel ranges (disabling protection) for this thread
- */
-.macro enable_kernel_ranges_for_current scratch_reg
-#ifdef CONFIG_PROTECT_KERNEL
- thread_get_self_mask \scratch_reg
- enable_kernel_ranges \scratch_reg
-#endif
-.endm
-
-/*
- * disable_kernel_ranges
- * Disables the kernel ranges (enabling protection) for thread
- * where thread == (1 << thread number)
- */
-.macro disable_kernel_ranges thread
-#ifdef CONFIG_PROTECT_KERNEL
- not.4 \thread, \thread
- and.4 I_RANGE0_EN, I_RANGE0_EN, \thread /* Disable Range Register */
- and.4 D_RANGE0_EN, D_RANGE0_EN, \thread
- and.4 D_RANGE1_EN, D_RANGE1_EN, \thread
-#endif
-.endm
-
-/*
- * disable_kernel_ranges_for_current
- * Disable kernel ranges (enabling protection) for this thread
- */
-.macro disable_kernel_ranges_for_current scratch_reg
-#ifdef CONFIG_PROTECT_KERNEL
- thread_get_self_mask \scratch_reg
- disable_kernel_ranges \scratch_reg
-#endif
-.endm
-#endif
-
-#endif /* _ASM_UBICOM32_RANGE_PROTECT_ASM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect.h
deleted file mode 100644
index b4bd2f0..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/range-protect.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * arch/ubicom32/include/asm/range-protect.h
- * Assembly macros declared in C for enabling memory protection.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_RANGE_PROTECT_H
-#define _ASM_UBICOM32_RANGE_PROTECT_H
-
-#if !defined(__ASSEMBLY__)
-#include <asm/thread.h>
-/*
- * The following macros should be the identical to the ones in
- * range-protect-asm.h
- *
- * You should only use the enable/disable ranges when you have the atomic lock,
- * if you do not there will be problems.
- */
-
-/*
- * enable_kernel_ranges
- * Enable the kernel ranges (disabling protection) for thread,
- * where thread == (1 << thread number)
- */
-asm (
- ".macro enable_kernel_ranges thread \n\t"
-#ifdef CONFIG_PROTECT_KERNEL
- " or.4 I_RANGE0_EN, I_RANGE0_EN, \\thread \n\t" /* Enable Range Register */
- " or.4 D_RANGE0_EN, D_RANGE0_EN, \\thread \n\t"
- " or.4 D_RANGE1_EN, D_RANGE1_EN, \\thread \n\t"
-#endif
- ".endm \n\t"
-);
-
-#else /* __ASSEMBLY__ */
-
-#include <asm/range-protect-asm.h>
-
-#endif
-#endif /* _ASM_UBICOM32_RANGE_PROTECT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/resource.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/resource.h
deleted file mode 100644
index 0a59a4f..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/resource.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/resource.h
- * Generic definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_RESOURCE_H
-#define _ASM_UBICOM32_RESOURCE_H
-
-#include <asm-generic/resource.h>
-
-#endif /* _ASM_UBICOM32_RESOURCE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ring_tio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ring_tio.h
deleted file mode 100644
index c02a445..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ring_tio.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ring_tio.h
- * Ubicom32 architecture Ring TIO definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_RING_TIO_H
-#define _ASM_UBICOM32_RING_TIO_H
-
-#include <asm/devtree.h>
-
-#define RING_TIO_NODE_VERSION 2
-
-/*
- * Devtree node for ring
- */
-struct ring_tio_node {
- struct devtree_node dn;
-
- u32_t version;
- void *regs;
-};
-
-extern void ring_tio_init(const char *node_name);
-
-#endif /* _ASM_UBICOM32_RING_TIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/scatterlist.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/scatterlist.h
deleted file mode 100644
index 4fb4df1..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/scatterlist.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * arch/ubicom32/include/asm/scatterlist.h
- * Definitions of struct scatterlist for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SCATTERLIST_H
-#define _ASM_UBICOM32_SCATTERLIST_H
-
-#include <linux/mm.h>
-#include <asm/types.h>
-
-struct scatterlist {
-#ifdef CONFIG_DEBUG_SG
- unsigned long sg_magic;
-#endif
- unsigned long page_link;
- unsigned int offset;
- dma_addr_t dma_address;
- unsigned int length;
-};
-
-#define sg_dma_address(sg) ((sg)->dma_address)
-#define sg_dma_len(sg) ((sg)->length)
-
-#define ISA_DMA_THRESHOLD (0xffffffff)
-
-#endif /* _ASM_UBICOM32_SCATTERLIST_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sd_tio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/sd_tio.h
deleted file mode 100644
index ecb2b82..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sd_tio.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * arch/ubicom32/include/asm/sd_tio.h
- * SD TIO definitions
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_SD_TIO_H
-#define _ASM_UBICOM32_SD_TIO_H
-
-#include <asm/devtree.h>
-
-/*
- * Devtree node for SD
- */
-struct sd_tio_node {
- struct devtree_node dn;
- void *regs;
-};
-
-#endif /* _ASM_UBICOM32_SD_TIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sections.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/sections.h
deleted file mode 100644
index eb7d24b..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sections.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/sections.h
- * Generic sections.h definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SECTIONS_H
-#define _ASM_UBICOM32_SECTIONS_H
-
-#include <asm-generic/sections.h>
-
-#endif /* _ASM_UBICOM32_SECTIONS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/segment.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/segment.h
deleted file mode 100644
index 3f10490..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/segment.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * arch/ubicom32/include/asm/segment.h
- * Memory segment definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SEGMENT_H
-#define _ASM_UBICOM32_SEGMENT_H
-
-/* define constants */
-/* Address spaces (FC0-FC2) */
-#define USER_DATA (1)
-#ifndef __USER_DS
-#define __USER_DS (USER_DATA)
-#endif
-#define USER_PROGRAM (2)
-#define SUPER_DATA (5)
-#ifndef __KERNEL_DS
-#define __KERNEL_DS (SUPER_DATA)
-#endif
-#define SUPER_PROGRAM (6)
-#define CPU_SPACE (7)
-
-#ifndef __ASSEMBLY__
-
-typedef struct {
- unsigned long seg;
-} mm_segment_t;
-
-#define MAKE_MM_SEG(s) ((mm_segment_t) { (s) })
-#define USER_DS MAKE_MM_SEG(__USER_DS)
-#define KERNEL_DS MAKE_MM_SEG(__KERNEL_DS)
-
-/*
- * Get/set the SFC/DFC registers for MOVES instructions
- */
-
-static inline mm_segment_t get_fs(void)
-{
- return USER_DS;
-}
-
-static inline mm_segment_t get_ds(void)
-{
- /* return the supervisor data space code */
- return KERNEL_DS;
-}
-
-static inline void set_fs(mm_segment_t val)
-{
-}
-
-#define segment_eq(a,b) ((a).seg == (b).seg)
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* _ASM_UBICOM32_SEGMENT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore-helper.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore-helper.h
deleted file mode 100644
index ad0aaf0..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore-helper.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * arch/ubicom32/include/asm/semaphore-helper.h
- * Semaphore related definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SEMAPHORE_HELPER_H
-#define _ASM_UBICOM32_SEMAPHORE_HELPER_H
-
-/*
- * SMP- and interrupt-safe semaphores helper functions.
- *
- * (C) Copyright 1996 Linus Torvalds
- *
- * m68k version by Andreas Schwab
- */
-
-
-/*
- * These two _must_ execute atomically wrt each other.
- */
-static inline void wake_one_more(struct semaphore * sem)
-{
- atomic_inc(&sem->waking);
-}
-
-static inline int waking_non_zero(struct semaphore *sem)
-{
- int ret;
- unsigned long flags;
-
- spin_lock_irqsave(&semaphore_wake_lock, flags);
- ret = 0;
- if (atomic_read(&sem->waking) > 0) {
- atomic_dec(&sem->waking);
- ret = 1;
- }
- spin_unlock_irqrestore(&semaphore_wake_lock, flags);
- return ret;
-}
-
-/*
- * waking_non_zero_interruptible:
- * 1 got the lock
- * 0 go to sleep
- * -EINTR interrupted
- */
-static inline int waking_non_zero_interruptible(struct semaphore *sem,
- struct task_struct *tsk)
-{
- int ret;
- unsigned long flags;
-
- spin_lock_irqsave(&semaphore_wake_lock, flags);
- ret = 0;
- if (atomic_read(&sem->waking) > 0) {
- atomic_dec(&sem->waking);
- ret = 1;
- } else if (signal_pending(tsk)) {
- atomic_inc(&sem->count);
- ret = -EINTR;
- }
- spin_unlock_irqrestore(&semaphore_wake_lock, flags);
- return ret;
-}
-
-/*
- * waking_non_zero_trylock:
- * 1 failed to lock
- * 0 got the lock
- */
-static inline int waking_non_zero_trylock(struct semaphore *sem)
-{
- int ret;
- unsigned long flags;
-
- spin_lock_irqsave(&semaphore_wake_lock, flags);
- ret = 1;
- if (atomic_read(&sem->waking) > 0) {
- atomic_dec(&sem->waking);
- ret = 0;
- } else
- atomic_inc(&sem->count);
- spin_unlock_irqrestore(&semaphore_wake_lock, flags);
- return ret;
-}
-
-#endif /* _ASM_UBICOM32_SEMAPHORE_HELPER_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore.h
deleted file mode 100644
index d20ead3..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/semaphore.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * arch/ubicom32/include/asm/semaphore.h
- * Interrupt-safe semaphores for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * (C) Copyright 1996 Linus Torvalds
- * m68k version by Andreas Schwab
- * Copyright (C) 2004 Microtronix Datacom Ltd
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SEMAPHORE_H
-#define _ASM_UBICOM32_SEMAPHORE_H
-
-#define RW_LOCK_BIAS 0x01000000
-
-#ifndef __ASSEMBLY__
-
-#include <linux/linkage.h>
-#include <linux/wait.h>
-#include <linux/spinlock.h>
-#include <linux/rwsem.h>
-
-#include <asm/system.h>
-#include <asm/atomic.h>
-
-struct semaphore {
- atomic_t count;
- atomic_t waking;
- wait_queue_head_t wait;
-};
-
-#define __SEMAPHORE_INITIALIZER(name, n) \
-{ \
- .count = ATOMIC_INIT(n), \
- .waking = ATOMIC_INIT(0), \
- .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \
-}
-
-#define __DECLARE_SEMAPHORE_GENERIC(name,count) \
- struct semaphore name = __SEMAPHORE_INITIALIZER(name,count)
-
-#define DECLARE_MUTEX(name) __DECLARE_SEMAPHORE_GENERIC(name,1)
-#define DECLARE_MUTEX_LOCKED(name) __DECLARE_SEMAPHORE_GENERIC(name,0)
-
-static inline void sema_init (struct semaphore *sem, int val)
-{
- *sem = (struct semaphore)__SEMAPHORE_INITIALIZER(*sem, val);
-}
-
-static inline void init_MUTEX (struct semaphore *sem)
-{
- sema_init(sem, 1);
-}
-
-static inline void init_MUTEX_LOCKED (struct semaphore *sem)
-{
- sema_init(sem, 0);
-}
-
-asmlinkage void __down_failed(void /* special register calling convention */);
-asmlinkage int __down_failed_interruptible(void /* params in registers */);
-asmlinkage int __down_failed_trylock(void /* params in registers */);
-asmlinkage void __up_wakeup(void /* special register calling convention */);
-
-asmlinkage void __down(struct semaphore * sem);
-asmlinkage int __down_interruptible(struct semaphore * sem);
-asmlinkage int __down_trylock(struct semaphore * sem);
-asmlinkage void __up(struct semaphore * sem);
-
-extern spinlock_t semaphore_wake_lock;
-
-/*
- * This is ugly, but we want the default case to fall through.
- * "down_failed" is a special asm handler that calls the C
- * routine that actually waits.
- */
-static inline void down(struct semaphore * sem)
-{
- might_sleep();
-
- if (atomic_dec_return(&sem->count) < 0)
- __down(sem);
-}
-
-static inline int down_interruptible(struct semaphore * sem)
-{
- int ret = 0;
-
-
- might_sleep();
-
- if(atomic_dec_return(&sem->count) < 0)
- ret = __down_interruptible(sem);
- return ret;
-}
-
-static inline int down_trylock(struct semaphore * sem)
-{
- int ret = 0;
-
- if (atomic_dec_return (&sem->count) < 0)
- ret = __down_trylock(sem);
- return ret;
-}
-
-/*
- * Note! This is subtle. We jump to wake people up only if
- * the semaphore was negative (== somebody was waiting on it).
- * The default case (no contention) will result in NO
- * jumps for both down() and up().
- */
-static inline void up(struct semaphore * sem)
-{
- if (atomic_inc_return(&sem->count) <= 0)
- __up(sem);
-}
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* _ASM_UBICOM32_SEMAPHORE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sembuf.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/sembuf.h
deleted file mode 100644
index 996a7a0..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sembuf.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * arch/ubicom32/include/asm/sembuf.h
- * The semid64_ds structure for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SEMBUF_H
-#define _ASM_UBICOM32_SEMBUF_H
-
-/*
- * The semid64_ds structure for ubicom32 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
- __kernel_time_t sem_otime; /* last semop time */
- unsigned long __unused1;
- __kernel_time_t sem_ctime; /* last change time */
- unsigned long __unused2;
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused3;
- unsigned long __unused4;
-};
-
-#endif /* _ASM_UBICOM32_SEMBUF_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/setup.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/setup.h
deleted file mode 100644
index ad8dc57..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/setup.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * arch/ubicom32/include/asm/setup.h
- * Kernel command line length definition.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2004, Microtronix Datacom Ltd., All rights reserved.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_SETUP_H
-#define _ASM_UBICOM32_SETUP_H
-
-#define COMMAND_LINE_SIZE 512
-
-#endif /* _ASM_UBICOM32_SETUP_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/shmbuf.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/shmbuf.h
deleted file mode 100644
index 7cc4339..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/shmbuf.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * arch/ubicom32/include/asm/shmbuf.h
- * The shmid64_ds structure for the Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SHMBUF_H
-#define _ASM_UBICOM32_SHMBUF_H
-
-/*
- * The shmid64_ds structure for m68k architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct shmid64_ds {
- struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
- __kernel_time_t shm_atime; /* last attach time */
- unsigned long __unused1;
- __kernel_time_t shm_dtime; /* last detach time */
- unsigned long __unused2;
- __kernel_time_t shm_ctime; /* last change time */
- unsigned long __unused3;
- __kernel_pid_t shm_cpid; /* pid of creator */
- __kernel_pid_t shm_lpid; /* pid of last operator */
- unsigned long shm_nattch; /* no. of current attaches */
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-struct shminfo64 {
- unsigned long shmmax;
- unsigned long shmmin;
- unsigned long shmmni;
- unsigned long shmseg;
- unsigned long shmall;
- unsigned long __unused1;
- unsigned long __unused2;
- unsigned long __unused3;
- unsigned long __unused4;
-};
-
-#endif /* _ASM_UBICOM32_SHMBUF_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/shmparam.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/shmparam.h
deleted file mode 100644
index 851d062..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/shmparam.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * arch/ubicom32/include/asm/shmparam.h
- * Shared memory definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2004 Microtronix Datacom Ltd
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- * Alpha, ix86, M68K, Sparc, ...et al
- */
-#ifndef _ASM_UBICOM32_SHMPARAM_H
-#define _ASM_UBICOM32_SHMPARAM_H
-
-#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
-
-#endif /* _ASM_UBICOM32_SHMPARAM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sigcontext.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/sigcontext.h
deleted file mode 100644
index 8bbeb82..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sigcontext.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * arch/ubicom32/include/asm/sigcontext.h
- * Definition of sigcontext struct for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SIGCONTEXT_H
-#define _ASM_UBICOM32_SIGCONTEXT_H
-
-#include <asm/ptrace.h>
-
-struct sigcontext {
- struct pt_regs sc_regs;
-};
-
-#endif /* _ASM_UBICOM32_SIGCONTEXT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/siginfo.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/siginfo.h
deleted file mode 100644
index be0a465..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/siginfo.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/siginfo.h
- * Generic siginfo.h definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SIGINFO_H
-#define _ASM_UBICOM32_SIGINFO_H
-
-#include <asm-generic/siginfo.h>
-
-#endif /* _ASM_UBICOM32_SIGINFO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/signal.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/signal.h
deleted file mode 100644
index 946b3f7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/signal.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * arch/ubicom32/include/asm/signal.h
- * Signal related definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SIGNAL_H
-#define _ASM_UBICOM32_SIGNAL_H
-
-#include <linux/types.h>
-
-/* Avoid too many header ordering problems. */
-struct siginfo;
-
-#ifdef __KERNEL__
-/* Most things should be clean enough to redefine this at will, if care
- is taken to make libc match. */
-
-#define _NSIG 64
-#define _NSIG_BPW 32
-#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
-
-typedef unsigned long old_sigset_t; /* at least 32 bits */
-
-typedef struct {
- unsigned long sig[_NSIG_WORDS];
-} sigset_t;
-
-#endif /* __KERNEL__ */
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT 6
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL SIGIO
-/*
-#define SIGLOST 29
-*/
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED 31
-
-/* These should not be considered constants from userland. */
-#define SIGRTMIN 32
-#define SIGRTMAX _NSIG
-
-/*
- * SA_FLAGS values:
- *
- * SA_ONSTACK indicates that a registered stack_t will be used.
- * SA_RESTART flag to get restarting signals (which were the default long ago)
- * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
- * SA_RESETHAND clears the handler when the signal is delivered.
- * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
- * SA_NODEFER prevents the current signal from being masked in the handler.
- *
- * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
- * Unix names RESETHAND and NODEFER respectively.
- */
-#define SA_NOCLDSTOP 0x00000001
-#define SA_NOCLDWAIT 0x00000002
-#define SA_SIGINFO 0x00000004
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-
-#define SA_NOMASK SA_NODEFER
-#define SA_ONESHOT SA_RESETHAND
-
-/*
- * sigaltstack controls
- */
-#define SS_ONSTACK 1
-#define SS_DISABLE 2
-
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-
-#include <linux/version.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
-#include <asm-generic/signal-defs.h>
-#else
-#include <asm-generic/signal.h>
-#endif
-
-#ifdef __KERNEL__
-struct old_sigaction {
- __sighandler_t sa_handler;
- old_sigset_t sa_mask;
- unsigned long sa_flags;
- void (*sa_restorer)(void);
-};
-
-struct sigaction {
- __sighandler_t sa_handler;
- unsigned long sa_flags;
- void (*sa_restorer)(void);
- sigset_t sa_mask; /* mask last for extensibility */
-};
-
-struct k_sigaction {
- struct sigaction sa;
-};
-#else
-/* Here we must cater to libcs that poke about in kernel headers. */
-
-struct sigaction {
- union {
- __sighandler_t _sa_handler;
- void (*_sa_sigaction)(int, struct siginfo *, void *);
- } _u;
- sigset_t sa_mask;
- unsigned long sa_flags;
- void (*sa_restorer)(void);
-};
-
-#define sa_handler _u._sa_handler
-#define sa_sigaction _u._sa_sigaction
-
-#endif /* __KERNEL__ */
-
-typedef struct sigaltstack {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
-} stack_t;
-
-#ifdef __KERNEL__
-
-#include <asm/sigcontext.h>
-#undef __HAVE_ARCH_SIG_BITOPS
-
-#define ptrace_signal_deliver(regs, cookie) do { } while (0)
-
-#endif /* __KERNEL__ */
-
-#endif /* _ASM_UBICOM32_SIGNAL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/smp.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/smp.h
deleted file mode 100644
index 651a536..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/smp.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * arch/ubicom32/include/asm/smp.h
- * SMP definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SMP_H
-#define _ASM_UBICOM32_SMP_H
-
-#ifndef CONFIG_SMP
-#error you should not include smp.h if smp is off
-#endif
-
-#ifndef ASSEMBLY
-#include <linux/bitops.h>
-#include <linux/threads.h>
-#include <linux/cpumask.h>
-#include <asm/ip5000.h>
-
-typedef unsigned long address_t;
-extern unsigned int smp_ipi_irq;
-
-/*
- * This magic constant controls our willingness to transfer
- * a process across CPUs.
- *
- * Such a transfer incurs cache and tlb
- * misses. The current value is inherited from i386. Still needs
- * to be tuned for parisc.
- */
-#define PROC_CHANGE_PENALTY 15 /* Schedule penalty */
-#define NO_PROC_ID 0xFF /* No processor magic marker */
-#define ANY_PROC_ID 0xFF /* Any processor magic marker */
-
-#ifdef CONFIG_SMP
-#define raw_smp_processor_id() (current_thread_info()->cpu)
-#endif /* CONFIG_SMP */
-
-static inline int __cpu_disable (void)
-{
- return 0;
-}
-
-static inline void __cpu_die (unsigned int cpu)
-{
- while(1) {
- };
-}
-
-extern int __cpu_up(unsigned int cpu);
-extern void smp_send_timer_all(void);
-extern void smp_timer_broadcast(const struct cpumask *mask);
-extern void smp_set_affinity(unsigned int irq, const struct cpumask *dest);
-extern void arch_send_call_function_single_ipi(int cpu);
-#define arch_send_call_function_ipi_mask arch_send_call_function_ipi_mask
-extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
-
-/*
- * TODO: Once these are fully tested, we should turn them into
- * inline macros for performance.
- */
-extern unsigned long smp_get_affinity(unsigned int irq, int *all);
-extern void smp_reset_ipi(unsigned long mask);
-
-#endif /* !ASSEMBLY */
-#endif /* _ASM_UBICOM32_SMP_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/socket.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/socket.h
deleted file mode 100644
index 24ac113..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/socket.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * arch/ubicom32/include/asm/socket.h
- * Socket options definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SOCKET_H
-#define _ASM_UBICOM32_SOCKET_H
-
-#include <asm/sockios.h>
-
-/* For setsockopt(2) */
-#define SOL_SOCKET 1
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_SNDBUFFORCE 32
-#define SO_RCVBUFFORCE 33
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-/* To add :#define SO_REUSEPORT 15 */
-#define SO_PASSCRED 16
-#define SO_PEERCRED 17
-#define SO_RCVLOWAT 18
-#define SO_SNDLOWAT 19
-#define SO_RCVTIMEO 20
-#define SO_SNDTIMEO 21
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 22
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define SO_SECURITY_ENCRYPTION_NETWORK 24
-
-#define SO_BINDTODEVICE 25
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 26
-#define SO_DETACH_FILTER 27
-
-#define SO_PEERNAME 28
-#define SO_TIMESTAMP 29
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-#define SO_ACCEPTCONN 30
-
-#define SO_PEERSEC 31
-#define SO_PASSSEC 34
-#define SO_TIMESTAMPNS 35
-#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
-
-#define SO_MARK 36
-
-#define SO_TIMESTAMPING 37
-#define SCM_TIMESTAMPING SO_TIMESTAMPING
-
-#define SO_PROTOCOL 38
-#define SO_DOMAIN 39
-
-#endif /* _ASM_UBICOM32_SOCKET_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sockios.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/sockios.h
deleted file mode 100644
index 5a7708d..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/sockios.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * arch/ubicom32/include/asm/sockios.h
- * Socket-level ioctl definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SOCKIOS_H
-#define _ASM_UBICOM32_SOCKIOS_H
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
-#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
-
-#endif /* _ASM_UBICOM32_SOCKIOS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock.h
deleted file mode 100644
index 4008058..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock.h
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * arch/ubicom32/include/asm/spinlock.h
- * Spinlock related definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SPINLOCK_H
-#define _ASM_UBICOM32_SPINLOCK_H
-
-#include <asm/system.h>
-#include <asm/processor.h>
-#include <asm/spinlock_types.h>
-
-/*
- * __raw_spin_lock()
- * Lock the lock.
- */
-static inline void __raw_spin_lock(raw_spinlock_t *x)
-{
- asm volatile (
- "1: bset %0, %0, #0 \n\t"
- " jmpne.f 1b \n\t"
- : "+U4" (x->lock)
- :
- : "memory", "cc"
- );
-}
-
-/*
- * __raw_spin_unlock()
- * Unlock the lock.
- */
-static inline void __raw_spin_unlock(raw_spinlock_t *x)
-{
- asm volatile (
- " bclr %0, %0, #0 \n\t"
- : "+U4" (x->lock)
- :
- : "memory", "cc"
- );
-}
-
-/*
- * __raw_spin_is_locked()
- * Test if the lock is locked.
- */
-static inline int __raw_spin_is_locked(raw_spinlock_t *x)
-{
- return x->lock;
-}
-
-/*
- * __raw_spin_unlock_wait()
- * Wait for the lock to be unlocked.
- *
- * Note: the caller has not guarantee that the lock will not
- * be acquired before they get to it.
- */
-static inline void __raw_spin_unlock_wait(raw_spinlock_t *x)
-{
- do {
- cpu_relax();
- } while (__raw_spin_is_locked(x));
-}
-
-/*
- * __raw_spin_trylock()
- * Try the lock, return 0 on failure, 1 on success.
- */
-static inline int __raw_spin_trylock(raw_spinlock_t *x)
-{
- int ret = 0;
-
- asm volatile (
- " bset %1, %1, #0 \n\t"
- " jmpne.f 1f \n\t"
- " move.4 %0, #1 \n\t"
- "1: \n\t"
- : "+r" (ret), "+U4" (x->lock)
- :
- : "memory", "cc"
- );
-
- return ret;
-}
-
-/*
- * __raw_spin_lock_flags()
- * Spin waiting for the lock (enabling IRQ(s))
- */
-static inline void __raw_spin_lock_flags(raw_spinlock_t *x, unsigned long flags)
-{
- mb();
- while (!__raw_spin_trylock(x)) {
- /*
- * If the flags from the IRQ are set, interrupts are disabled and we
- * need to re-enable them.
- */
- if (!flags) {
- cpu_relax();
- } else {
- raw_local_irq_enable();
- cpu_relax();
- raw_local_irq_disable();
- }
- }
- mb();
-}
-
-/*
- * Read-write spinlocks, allowing multiple readers but only one writer.
- * Linux rwlocks are unfair to writers; they can be starved for an indefinite
- * time by readers. With care, they can also be taken in interrupt context.
- *
- * In Ubicom32 architecture implementation, we have a spinlock and a counter.
- * Readers use the lock to serialise their access to the counter (which
- * records how many readers currently hold the lock).
- * Writers hold the spinlock, preventing any readers or other writers from
- * grabbing the rwlock.
- */
-
-/*
- * __raw_read_lock()
- * Increment the counter in the rwlock.
- *
- * Note that we have to ensure interrupts are disabled in case we're
- * interrupted by some other code that wants to grab the same read lock
- */
-static inline void __raw_read_lock(raw_rwlock_t *rw)
-{
- unsigned long flags;
- raw_local_irq_save(flags);
- __raw_spin_lock_flags(&rw->lock, flags);
- rw->counter++;
- __raw_spin_unlock(&rw->lock);
- raw_local_irq_restore(flags);
-}
-
-/*
- * __raw_read_unlock()
- * Decrement the counter.
- *
- * Note that we have to ensure interrupts are disabled in case we're
- * interrupted by some other code that wants to grab the same read lock
- */
-static inline void __raw_read_unlock(raw_rwlock_t *rw)
-{
- unsigned long flags;
- raw_local_irq_save(flags);
- __raw_spin_lock_flags(&rw->lock, flags);
- rw->counter--;
- __raw_spin_unlock(&rw->lock);
- raw_local_irq_restore(flags);
-}
-
-/*
- * __raw_read_trylock()
- * Increment the counter if we can.
- *
- * Note that we have to ensure interrupts are disabled in case we're
- * interrupted by some other code that wants to grab the same read lock
- */
-static inline int __raw_read_trylock(raw_rwlock_t *rw)
-{
- unsigned long flags;
- retry:
- raw_local_irq_save(flags);
- if (__raw_spin_trylock(&rw->lock)) {
- rw->counter++;
- __raw_spin_unlock(&rw->lock);
- raw_local_irq_restore(flags);
- return 1;
- }
-
- raw_local_irq_restore(flags);
-
- /*
- * If write-locked, we fail to acquire the lock
- */
- if (rw->counter < 0) {
- return 0;
- }
-
- /*
- * Wait until we have a realistic chance at the lock
- */
- while (__raw_spin_is_locked(&rw->lock) && rw->counter >= 0) {
- cpu_relax();
- }
-
- goto retry;
-}
-
-/*
- * __raw_write_lock()
- *
- * Note that we have to ensure interrupts are disabled in case we're
- * interrupted by some other code that wants to read_trylock() this lock
- */
-static inline void __raw_write_lock(raw_rwlock_t *rw)
-{
- unsigned long flags;
-retry:
- raw_local_irq_save(flags);
- __raw_spin_lock_flags(&rw->lock, flags);
-
- if (rw->counter != 0) {
- __raw_spin_unlock(&rw->lock);
- raw_local_irq_restore(flags);
-
- while (rw->counter != 0)
- cpu_relax();
-
- goto retry;
- }
-
- rw->counter = -1; /* mark as write-locked */
- mb();
- raw_local_irq_restore(flags);
-}
-
-static inline void __raw_write_unlock(raw_rwlock_t *rw)
-{
- rw->counter = 0;
- __raw_spin_unlock(&rw->lock);
-}
-
-/* Note that we have to ensure interrupts are disabled in case we're
- * interrupted by some other code that wants to read_trylock() this lock */
-static inline int __raw_write_trylock(raw_rwlock_t *rw)
-{
- unsigned long flags;
- int result = 0;
-
- raw_local_irq_save(flags);
- if (__raw_spin_trylock(&rw->lock)) {
- if (rw->counter == 0) {
- rw->counter = -1;
- result = 1;
- } else {
- /* Read-locked. Oh well. */
- __raw_spin_unlock(&rw->lock);
- }
- }
- raw_local_irq_restore(flags);
-
- return result;
-}
-
-/*
- * read_can_lock - would read_trylock() succeed?
- * @lock: the rwlock in question.
- */
-static inline int __raw_read_can_lock(raw_rwlock_t *rw)
-{
- return rw->counter >= 0;
-}
-
-/*
- * write_can_lock - would write_trylock() succeed?
- * @lock: the rwlock in question.
- */
-static inline int __raw_write_can_lock(raw_rwlock_t *rw)
-{
- return !rw->counter;
-}
-
-#define __raw_read_lock_flags(lock, flags) __raw_read_lock(lock)
-#define __raw_write_lock_flags(lock, flags) __raw_write_lock(lock)
-
-#define _raw_spin_relax(lock) cpu_relax()
-#define _raw_read_relax(lock) cpu_relax()
-#define _raw_write_relax(lock) cpu_relax()
-
-#endif /* _ASM_UBICOM32_SPINLOCK_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock_types.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock_types.h
deleted file mode 100644
index 3745bca..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/spinlock_types.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * arch/ubicom32/include/asm/spinlock_types.h
- * Spinlock related structure definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SPINLOCK_TYPES_H
-#define _ASM_UBICOM32_SPINLOCK_TYPES_H
-
-typedef struct {
- volatile unsigned int lock;
-} raw_spinlock_t;
-
-typedef struct {
- raw_spinlock_t lock;
- volatile int counter;
-} raw_rwlock_t;
-
-#define __RAW_SPIN_LOCK_UNLOCKED { 0 }
-#define __RAW_RW_LOCK_UNLOCKED { __RAW_SPIN_LOCK_UNLOCKED, 0 }
-
-#endif /* _ASM_UBICOM32_SPINLOCK_TYPES_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/stacktrace.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/stacktrace.h
deleted file mode 100644
index f278ac7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/stacktrace.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * arch/ubicom32/include/asm/stacktrace.h
- * Stacktrace functions for the Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_STACKTRACE_H
-#define _ASM_UBICOM32_STACKTRACE_H
-
-#define between(a, b, c) (( \
- ((unsigned long) a) >= ((unsigned long) b)) && \
- (((unsigned long)a) <= ((unsigned long)c)))
-
-/*
- * These symbols are filled in by the linker.
- */
-extern unsigned long _stext;
-extern unsigned long _etext;
-
-/* OCM text goes from __ocm_text_run_begin to __data_begin */
-extern unsigned long __ocm_text_run_begin;
-extern unsigned long __data_begin;
-
-/* Account for OCM case - see stacktrace.c maybe combine(also trap.c) */
-/*
- * ubicom32_is_kernel()
- *
- * Check to see if the given address belongs to the kernel.
- * NOMMU does not permit any other means.
- */
-static inline int ubicom32_is_kernel(unsigned long addr)
-{
- int is_kernel = between(addr, &_stext, &_etext) || \
- between(addr, &__ocm_text_run_begin, &__data_begin);
-
-#ifdef CONFIG_MODULES
- if (!is_kernel)
- is_kernel = is_module_address(addr);
-#endif
- return is_kernel;
-}
-
-extern unsigned long stacktrace_iterate(
- unsigned long **trace,
- unsigned long stext, unsigned long etext,
- unsigned long ocm_stext, unsigned long ocm_etext,
- unsigned long sstack, unsigned long estack);
-#ifdef CONFIG_STACKTRACE
-void stacktrace_save_entries(struct task_struct *tsk, struct stack_trace *trace, unsigned long sp);
-#endif
-#endif /* _ASM_UBICOM32_STACKTRACE_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/stat.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/stat.h
deleted file mode 100644
index e333c60..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/stat.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * arch/ubicom32/include/asm/stat.h
- * File status definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_STAT_H
-#define _ASM_UBICOM32_STAT_H
-
-struct __old_kernel_stat {
- unsigned short st_dev;
- unsigned short st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned long st_size;
- unsigned long st_atime;
- unsigned long st_mtime;
- unsigned long st_ctime;
-};
-
-struct stat {
- unsigned short st_dev;
- unsigned short __pad1;
- unsigned long st_ino;
- unsigned short st_mode;
- unsigned short st_nlink;
- unsigned short st_uid;
- unsigned short st_gid;
- unsigned short st_rdev;
- unsigned short __pad2;
- unsigned long st_size;
- unsigned long st_blksize;
- unsigned long st_blocks;
- unsigned long st_atime;
- unsigned long __unused1;
- unsigned long st_mtime;
- unsigned long __unused2;
- unsigned long st_ctime;
- unsigned long __unused3;
- unsigned long __unused4;
- unsigned long __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1, hence the absolutely
- * insane amounts of padding around dev_t's.
- */
-struct stat64 {
- unsigned long long st_dev;
- unsigned char __pad1[2];
-
-#define STAT64_HAS_BROKEN_ST_INO 1
- unsigned long __st_ino;
-
- unsigned int st_mode;
- unsigned int st_nlink;
-
- unsigned long st_uid;
- unsigned long st_gid;
-
- unsigned long long st_rdev;
- unsigned char __pad3[2];
-
- long long st_size;
- unsigned long st_blksize;
-
- unsigned long long st_blocks; /* Number 512-byte blocks allocated. */
-
- unsigned long st_atime;
- unsigned long st_atime_nsec;
-
- unsigned long st_mtime;
- unsigned long st_mtime_nsec;
-
- unsigned long st_ctime;
- unsigned long st_ctime_nsec;
-
- unsigned long long st_ino;
-};
-
-#endif /* _ASM_UBICOM32_STAT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/statfs.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/statfs.h
deleted file mode 100644
index 15890d4..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/statfs.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/statfs.h
- * Generic statfs.h definitions
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_STATFS_H
-#define _ASM_UBICOM32_STATFS_H
-
-#include <asm-generic/statfs.h>
-
-#endif /* _ASM_UBICOM32_STATFS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/string.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/string.h
deleted file mode 100644
index 7f24bf5..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/string.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * arch/ubicom32/include/asm/string.h
- * String operation definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_STRING_H
-#define _ASM_UBICOM32_STRING_H
-
-#define __HAVE_ARCH_MEMSET
-extern void *memset(void *b, int c, size_t len);
-
-#define __HAVE_ARCH_MEMCPY
-extern void *memcpy(void *to, const void *from, size_t len);
-
-#define __HAVE_ARCH_MEMMOVE
-extern void * memmove(void *to, const void *from, size_t len);
-
-#endif /* _ASM_UBICOM32_STRING_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/swab.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/swab.h
deleted file mode 100644
index 180a503..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/swab.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * arch/ubicom32/include/asm/byteorder.h
- * Byte order swapping utility routines.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_BYTEORDER_H
-#define _ASM_UBICOM32_BYTEORDER_H
-
-#include <linux/types.h>
-
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-# define __BYTEORDER_HAS_U64__
-# define __SWAB_64_THRU_32__
-#endif
-
-#if defined(IP7000) || defined(IP7000_REV2)
-
-#define __arch__swab16 __builtin_ubicom32_swapb_2
-#define __arch__swab32 __builtin_ubicom32_swapb_4
-
-#endif /* IP7000 */
-
-#endif /* _ASM_UBICOM32_BYTEORDER_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/switch-dev.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/switch-dev.h
deleted file mode 100644
index ed67e94..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/switch-dev.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * arch/ubicom32/include/asm/switch-dev.h
- * generic Ethernet switch platform data definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SWITCH_DEV_H
-#define _ASM_UBICOM32_SWITCH_DEV_H
-
-#define SWITCH_DEV_FLAG_HW_RESET 0x01
-#define SWITCH_DEV_FLAG_SW_RESET 0x02
-
-struct switch_core_platform_data {
- /*
- * See flags above
- */
- u32_t flags;
-
- /*
- * GPIO to use for nReset
- */
- int pin_reset;
-
- /*
- * Name of this switch
- */
- const char *name;
-};
-
-#endif /* _ASM_UBICOM32_SWITCH_DEV_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/system.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/system.h
deleted file mode 100644
index c3ec608..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/system.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * arch/ubicom32/include/asm/system.h
- * Low level switching definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_SYSTEM_H
-#define _ASM_UBICOM32_SYSTEM_H
-
-#include <linux/irqflags.h>
-#include <linux/linkage.h>
-#include <asm/segment.h>
-#include <asm/entry.h>
-#include <asm/ldsr.h>
-#include <asm/irq.h>
-#include <asm/percpu.h>
-#include <asm/ubicom32-common.h>
-#include <asm/processor.h>
-
-/*
- * switch_to(n) should switch tasks to task ptr, first checking that
- * ptr isn't the current task, in which case it does nothing.
- */
-asmlinkage void resume(void);
-extern void *__switch_to(struct task_struct *prev,
- struct thread_struct *prev_switch,
- struct thread_struct *next_switch);
-
-/*
- * We will need a per linux thread sw_ksp for the switch_to macro to
- * track the kernel stack pointer for the current thread on that linux thread.
- */
-#define switch_to(prev,next,last) \
-({ \
- void *_last; \
- _last = (void *) \
- __switch_to(prev, &prev->thread, &next->thread); \
- (last) = _last; \
-})
-
-/*
- * Force strict CPU ordering.
- * Not really required on ubicom32...
- */
-#define nop() asm volatile ("nop"::)
-#define mb() asm volatile ("" : : :"memory")
-#define rmb() asm volatile ("" : : :"memory")
-#define wmb() asm volatile ("" : : :"memory")
-#define set_mb(var, value) ({ (var) = (value); wmb(); })
-
-#ifdef CONFIG_SMP
-#define smp_mb() mb()
-#define smp_rmb() rmb()
-#define smp_wmb() wmb()
-#define smp_read_barrier_depends() read_barrier_depends()
-#else
-#define smp_mb() mb()
-#define smp_rmb() rmb()
-#define smp_wmb() wmb()
-#define smp_read_barrier_depends() do { } while(0)
-#endif
-
-#define read_barrier_depends() ((void)0)
-
-/*
- * The following defines change how the scheduler calls the switch_to()
- * macro.
- *
- * 1) The first causes the runqueue to be unlocked on entry to
- * switch_to(). Since our ctx code does not play with the runqueue
- * we do not need it unlocked.
- *
- * 2) The later turns interrupts on during a ctxsw to reduce the latency of
- * interrupts during ctx. At this point in the port, we believe that this
- * latency is not a problem since we have very little code to perform a ctxsw.
- */
-// #define __ARCH_WANT_UNLOCKED_CTXSW
-// #define __ARCH_WANT_INTERRUPTS_ON_CTXSW
-
-#endif /* _ASM_UBICOM32_SYSTEM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/termbits.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/termbits.h
deleted file mode 100644
index a7b3381..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/termbits.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * arch/ubicom32/include/asm/termbits.h
- * Terminal/serial port definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TERMBITS_H
-#define _ASM_UBICOM32_TERMBITS_H
-
-#include <linux/posix_types.h>
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-
-struct termios2 {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-struct ktermios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-/* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define BOTHER 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
-
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#define FLUSHO 0010000
-#define PENDIN 0040000
-#define IEXTEN 0100000
-
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#endif /* _ASM_UBICOM32_TERMBITS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/termios.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/termios.h
deleted file mode 100644
index 5c16fe7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/termios.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * arch/ubicom32/include/asm/termios.h
- * Ubicom32 termio definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TERMIOS_H
-#define _ASM_UBICOM32_TERMIOS_H
-
-#include <asm/termbits.h>
-#include <asm/ioctls.h>
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define NCC 8
-struct termio {
- unsigned short c_iflag; /* input mode flags */
- unsigned short c_oflag; /* output mode flags */
- unsigned short c_cflag; /* control mode flags */
- unsigned short c_lflag; /* local mode flags */
- unsigned char c_line; /* line discipline */
- unsigned char c_cc[NCC]; /* control characters */
-};
-
-#ifdef __KERNEL__
-/* intr=^C quit=^| erase=del kill=^U
- eof=^D vtime=\0 vmin=\1 sxtc=\0
- start=^Q stop=^S susp=^Z eol=\0
- reprint=^R discard=^U werase=^W lnext=^V
- eol2=\0
-*/
-#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
-#endif
-
-/* modem lines */
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-
-/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-
-#ifdef __KERNEL__
-
-/*
- * Translate a "termio" structure into a "termios". Ugh.
- */
-#define user_termio_to_kernel_termios(termios, termio) \
-({ \
- unsigned short tmp; \
- get_user(tmp, &(termio)->c_iflag); \
- (termios)->c_iflag = (0xffff0000 & ((termios)->c_iflag)) | tmp; \
- get_user(tmp, &(termio)->c_oflag); \
- (termios)->c_oflag = (0xffff0000 & ((termios)->c_oflag)) | tmp; \
- get_user(tmp, &(termio)->c_cflag); \
- (termios)->c_cflag = (0xffff0000 & ((termios)->c_cflag)) | tmp; \
- get_user(tmp, &(termio)->c_lflag); \
- (termios)->c_lflag = (0xffff0000 & ((termios)->c_lflag)) | tmp; \
- get_user((termios)->c_line, &(termio)->c_line); \
- copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \
-})
-
-/*
- * Translate a "termios" structure into a "termio". Ugh.
- */
-#define kernel_termios_to_user_termio(termio, termios) \
-({ \
- put_user((termios)->c_iflag, &(termio)->c_iflag); \
- put_user((termios)->c_oflag, &(termio)->c_oflag); \
- put_user((termios)->c_cflag, &(termio)->c_cflag); \
- put_user((termios)->c_lflag, &(termio)->c_lflag); \
- put_user((termios)->c_line, &(termio)->c_line); \
- copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
-})
-
-#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2))
-#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2))
-#define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios))
-#define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios))
-
-#endif /* __KERNEL__ */
-
-#endif /* _ASM_UBICOM32_TERMIOS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread-asm.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread-asm.h
deleted file mode 100644
index f956603..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread-asm.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * arch/ubicom32/include/asm/thread-asm.h
- * Ubicom32 architecture specific thread definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_THREAD_ASM_H
-#define _ASM_UBICOM32_THREAD_ASM_H
-
-/*
- * thread_get_self
- * Read and shift the current thread into reg
- *
- * Note that we don't need to mask the result as bits 6 through 31 of the
- * ROSR are zeroes.
- */
-.macro thread_get_self reg
- lsr.4 \reg, ROSR, #2
-.endm
-
-/*
- * thread_get_self_mask
- * Read and shift the current thread mask into reg
- */
-.macro thread_get_self_mask reg
- lsr.4 \reg, ROSR, #2
- lsl.4 \reg, #1, \reg /* Thread bit */
-.endm
-
-#endif /* _ASM_UBICOM32_THREAD_ASM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread.h
deleted file mode 100644
index 69c925e..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * arch/ubicom32/include/asm/thread.h
- * Ubicom32 architecture specific thread definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_THREAD_H
-#define _ASM_UBICOM32_THREAD_H
-
-#if !defined(__ASSEMBLY__)
-
-#include <asm/ptrace.h>
-#include <asm/ubicom32-common.h>
-
-typedef int thread_t;
-typedef unsigned char thread_type_t;
-typedef void (*thread_exec_fn_t)(void *arg);
-
-#define THREAD_NULL 0x40
-#define THREAD_TYPE_HRT (1 << 0)
-#define THREAD_TYPE_SPECIAL 0
-#define THREAD_TYPE_NORMAL 0
-#define THREAD_TYPE_BACKGROUND (1 << 1)
-
-/*
- * This is the upper bound on the maximum hardware threads that one will find
- * on a Ubicom processor. It is used to size per hardware thread data structures.
- */
-#define THREAD_ARCHITECTURAL_MAX 16
-
-/*
- * TODO: Rename this at some point to be thread_
- */
-extern unsigned int sw_ksp[THREAD_ARCHITECTURAL_MAX];
-
-
-/*
- * thread_get_self()
- */
-static inline thread_t thread_get_self(void)
-{
- thread_t result;
-
- /*
- * Note that ROSR has zeroes in bits 6 through 31 and so we don't need
- * to do any additional bit masking here.
- */
- asm (
- "lsr.4 %0, ROSR, #2 \n\t"
- : "=d" (result)
- :
- : "cc"
- );
-
- return result;
-}
-
-/*
- * thread_suspend()
- */
-static inline void thread_suspend(void)
-{
- asm volatile (
- "suspend\n\t"
- :
- :
- );
-}
-
-/*
- * thread_resume()
- */
-static inline void thread_resume(thread_t thread)
-{
- asm volatile (
- "move.4 MT_ACTIVE_SET, %0 \n\t"
- "pipe_flush 0 \n\t"
- "pipe_flush 0 \n\t"
- :
- : "d" (1 << thread)
- );
-}
-
-
-
-/*
- * thread_enable_mask()
- * Enable all threads in the mask.
- *
- * All writes to MT_EN must be protected by the MT_EN_LOCK bit
- */
-static inline void thread_enable_mask(unsigned int mask)
-{
- /*
- * must flush the pipeline twice.
- * first pipe_flush is to ensure write to MT_EN is completed
- * second one is to ensure any new instructions from
- * the targeted thread (the one being disabled), that
- * are issued while the write to MT_EN is being executed,
- * are completed.
- */
- UBICOM32_LOCK(MT_EN_LOCK_BIT);
- asm volatile (
- "or.4 MT_EN, MT_EN, %0 \n\t"
- "pipe_flush 0 \n\t"
- "pipe_flush 0 \n\t"
- :
- : "d" (mask)
- : "cc"
- );
- UBICOM32_UNLOCK(MT_EN_LOCK_BIT);
-}
-
-/*
- * thread_enable()
- */
-static inline void thread_enable(thread_t thread)
-{
- thread_enable_mask(1 << thread);
-}
-
-/*
- * thread_disable_mask()
- * Disable all threads in the mask.
- *
- * All writes to MT_EN must be protected by the MT_EN_LOCK bit
- */
-static inline void thread_disable_mask(unsigned int mask)
-{
- /*
- * must flush the pipeline twice.
- * first pipe_flush is to ensure write to MT_EN is completed
- * second one is to ensure any new instructions from
- * the targeted thread (the one being disabled), that
- * are issued while the write to MT_EN is being executed,
- * are completed.
- */
- UBICOM32_LOCK(MT_EN_LOCK_BIT);
- asm volatile (
- "and.4 MT_EN, MT_EN, %0 \n\t"
- "pipe_flush 0 \n\t"
- "pipe_flush 0 \n\t"
- :
- : "d" (~mask)
- : "cc"
- );
- UBICOM32_UNLOCK(MT_EN_LOCK_BIT);
-}
-
-/*
- * thread_disable()
- */
-static inline void thread_disable(thread_t thread)
-{
- thread_disable_mask(1 << thread);
-}
-
-/*
- * thread_disable_others()
- * Disable all other threads
- */
-static inline void thread_disable_others(void)
-{
- thread_t self = thread_get_self();
- thread_disable_mask(~(1 << self));
-}
-
-/*
- * thread_is_trapped()
- * Is the specified tid trapped?
- */
-static inline int thread_is_trapped(thread_t tid)
-{
- int thread_mask = (1 << tid);
- int trap_thread;
-
- asm (
- "move.4 %0, MT_TRAP \n\t"
- : "=d" (trap_thread)
- :
- );
- return (trap_thread & thread_mask);
-}
-
-/*
- * thread_is_enabled()
- * Is the specified tid enabled?
- */
-static inline int thread_is_enabled(thread_t tid)
-{
- int thread_mask = (1 << tid);
- int enabled_threads;
-
- asm (
- "move.4 %0, MT_EN \n\t"
- : "=d" (enabled_threads)
- :
- );
- return (enabled_threads & thread_mask);
-}
-
-/*
- * thread_get_instruction_count()
- */
-static inline unsigned int thread_get_instruction_count(void)
-{
- unsigned int result;
- asm (
- "move.4 %0, INST_CNT \n\t"
- : "=r" (result)
- );
- return result;
-}
-
-/*
- * thread_get_pc()
- * pc could point to a speculative and cancelled instruction unless thread is disabled
- */
-static inline void *thread_get_pc(thread_t thread)
-{
- void *result;
- asm (
- "move.4 csr, %1 \n\t"
- "setcsr_flush 0 \n\t"
- "move.4 %0, pc \n\t"
- "move.4 csr, #0 \n\t"
- "setcsr_flush 0 \n\t"
- : "=r" (result)
- : "r" ((thread << 9) | (1 << 8))
- );
- return result;
-}
-
-/*
- * thread_get_trap_cause()
- * This should be called only when the thread is not running
- */
-static inline unsigned int thread_get_trap_cause(thread_t thread)
-{
- unsigned int result;
- asm (
- "move.4 csr, %1 \n\t"
- "setcsr_flush 0 \n\t"
- "move.4 %0, trap_cause \n\t"
- "move.4 csr, #0 \n\t"
- "setcsr_flush 0 \n\t"
- : "=r" (result)
- : "r" ((thread << 9) | (1 << 8))
- );
- return result;
-}
-
-/*
- * THREAD_STALL macro.
- */
-#define THREAD_STALL \
- asm volatile ( \
- "move.4 mt_dbg_active_clr, #-1 \n\t" \
- "pipe_flush 0 \n\t" \
- : \
- : \
- )
-
-extern unsigned int thread_get_mainline(void);
-extern void thread_set_mainline(thread_t tid);
-extern thread_t thread_alloc(void);
-extern thread_t thread_start(thread_t thread, thread_exec_fn_t exec, void *arg, unsigned int *sp_high, thread_type_t type);
-
-/*
- * asm macros
- */
-asm (
-/*
- * thread_get_self
- * Read and shift the current thread into reg
- *
- * Note that we don't need to mask the result as bits 6 through 31 of the
- * ROSR are zeroes.
- */
-".macro thread_get_self reg \n\t"
-" lsr.4 \\reg, ROSR, #2 \n\t"
-".endm \n\t"
-
-/*
- * thread_get_self_mask
- * Read and shift the current thread mask into reg
- */
-".macro thread_get_self_mask reg \n\t"
-" lsr.4 \\reg, ROSR, #2 \n\t"
-" lsl.4 \\reg, #1, \\reg \n\t" /* Thread bit */
-".endm \n\t"
-);
-
-#else /* __ASSEMBLY__ */
-
-#include <asm/thread-asm.h>
-
-#endif /* __ASSEMBLY__ */
-#endif /* _ASM_UBICOM32_THREAD_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread_info.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread_info.h
deleted file mode 100644
index 55c69da..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/thread_info.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * arch/ubicom32/include/asm/thread_info.h
- * Ubicom32 architecture low-level thread information.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Adapted from the i386 and PPC versions by Greg Ungerer (gerg@snapgear.com)
- * Copyright (C) 2002 David Howells (dhowells@redhat.com)
- * - Incorporating suggestions made by Linus Torvalds and Dave Miller
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_THREAD_INFO_H
-#define _ASM_UBICOM32_THREAD_INFO_H
-
-#include <asm/page.h>
-
-/*
- * Size of kernel stack for each process. This must be a power of 2...
- */
-#ifdef CONFIG_4KSTACKS
-#define THREAD_SIZE_ORDER (0)
-#else
-#define THREAD_SIZE_ORDER (1)
-#endif
-
-/*
- * for asm files, THREAD_SIZE is now generated by asm-offsets.c
- */
-#define THREAD_SIZE (PAGE_SIZE<<THREAD_SIZE_ORDER)
-
-#ifdef __KERNEL__
-
-#ifndef __ASSEMBLY__
-
-/*
- * low level task data.
- */
-struct thread_info {
- struct task_struct *task; /* main task structure */
- struct exec_domain *exec_domain; /* execution domain */
- unsigned long flags; /* low level flags */
- int cpu; /* cpu we're on */
- int preempt_count; /* 0 => preemptable, <0 => BUG */
- int interrupt_nesting; /* Interrupt nesting level. */
- struct restart_block restart_block;
-};
-
-/*
- * macros/functions for gaining access to the thread information structure
- */
-#define INIT_THREAD_INFO(tsk) \
-{ \
- .task = &tsk, \
- .exec_domain = &default_exec_domain, \
- .flags = 0, \
- .cpu = 0, \
- .interrupt_nesting = 0, \
- .restart_block = { \
- .fn = do_no_restart_syscall, \
- }, \
-}
-
-#define init_thread_info (init_thread_union.thread_info)
-#define init_stack (init_thread_union.stack)
-
-
-/* how to get the thread information struct from C */
-static inline struct thread_info *current_thread_info(void)
-{
- struct thread_info *ti;
-
- asm (
- "and.4 %0, sp, %1\n\t"
- : "=&r" (ti)
- : "d" (~(THREAD_SIZE-1))
- : "cc"
- );
-
- return ti;
-}
-
-#define STACK_WARN (THREAD_SIZE / 8)
-
-#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR 1
-
-/* thread information allocation */
-#define alloc_thread_info(tsk) ((struct thread_info *) \
- __get_free_pages(GFP_KERNEL, THREAD_SIZE_ORDER))
-#define free_thread_info(ti) free_pages((unsigned long) (ti), THREAD_SIZE_ORDER)
-#endif /* __ASSEMBLY__ */
-
-#define PREEMPT_ACTIVE 0x4000000
-
-/*
- * thread information flag bit numbers
- */
-#define TIF_SYSCALL_TRACE 0 /* syscall trace active */
-#define TIF_SIGPENDING 1 /* signal pending */
-#define TIF_NEED_RESCHED 2 /* rescheduling necessary */
-#define TIF_POLLING_NRFLAG 3 /* true if poll_idle() is polling
- TIF_NEED_RESCHED */
-#define TIF_MEMDIE 4
-
-/* as above, but as bit values */
-#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
-#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
-#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
-#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
-
-#define _TIF_WORK_MASK 0x0000FFFE /* work to do on interrupt/exception return */
-
-#endif /* __KERNEL__ */
-
-#endif /* _ASM_UBICOM32_THREAD_INFO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/timex.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/timex.h
deleted file mode 100644
index 93ee3db..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/timex.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * arch/ubicom32/include/asm/timex.h
- * Ubicom32 architecture timex specifications.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TIMEX_H
-#define _ASM_UBICOM32_TIMEX_H
-
-#define CLOCK_TICK_RATE 266000000
-
-// #define ARCH_HAS_READ_CURRENT_TIMER
-
-typedef unsigned long cycles_t;
-
-static inline cycles_t get_cycles(void)
-{
- return 0;
-}
-
-extern int timer_alloc(void);
-extern void timer_set(int timervector, unsigned int cycles);
-extern int timer_reset(int timervector, unsigned int cycles);
-extern void timer_tick_init(void);
-extern void timer_device_init(void);
-
-#if defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)
-extern void local_timer_interrupt(void);
-#endif
-
-#if defined(CONFIG_LOCAL_TIMERS) || defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)
-extern int local_timer_setup(unsigned int cpu);
-#endif
-
-#endif /* _ASM_UBICOM32_TIMEX_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/tlb.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/tlb.h
deleted file mode 100644
index cd45996..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/tlb.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * arch/ubicom32/include/asm/tlb.h
- * Ubicom32 architecture TLB operations.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TLB_H
-#define _ASM_UBICOM32_TLB_H
-
-/*
- * ubicom32 doesn't need any special per-pte or
- * per-vma handling..
- */
-#define tlb_start_vma(tlb, vma) do { } while (0)
-#define tlb_end_vma(tlb, vma) do { } while (0)
-#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)
-
-/*
- * .. because we flush the whole mm when it
- * fills up.
- */
-#define tlb_flush(tlb)
-
-#include <asm-generic/tlb.h>
-
-#endif /* _ASM_UBICOM32_TLB_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/tlbflush.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/tlbflush.h
deleted file mode 100644
index 0317aca..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/tlbflush.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * arch/ubicom32/include/asm/tlbflush.h
- * TLB operations for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * Copyright (C) 2000 Lineo, David McCullough <davidm@uclinux.org>
- * Copyright (C) 2000-2002, Greg Ungerer <gerg@snapgear.com>
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TLB_FLUSH_H
-#define _ASM_UBICOM32_TLB_FLUSH_H
-
-#include <asm/setup.h>
-
-/*
- * flush all user-space atc entries.
- */
-static inline void __flush_tlb(void)
-{
- BUG();
-}
-
-static inline void __flush_tlb_one(unsigned long addr)
-{
- BUG();
-}
-
-#define flush_tlb() __flush_tlb()
-
-/*
- * flush all atc entries (both kernel and user-space entries).
- */
-static inline void flush_tlb_all(void)
-{
- BUG();
-}
-
-static inline void flush_tlb_mm(struct mm_struct *mm)
-{
- BUG();
-}
-
-static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr)
-{
- BUG();
-}
-
-static inline void flush_tlb_range(struct mm_struct *mm,
- unsigned long start, unsigned long end)
-{
- BUG();
-}
-
-static inline void flush_tlb_kernel_page(unsigned long addr)
-{
- BUG();
-}
-
-#endif /* _ASM_UBICOM32_TLB_FLUSH_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/topology.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/topology.h
deleted file mode 100644
index b4de143..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/topology.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/topology.h
- * Generic topology.h definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TOPOLOGY_H
-#define _ASM_UBICOM32_TOPOLOGY_H
-
-#include <asm-generic/topology.h>
-
-#endif /* _ASM_UBICOM32_TOPOLOGY_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/traps.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/traps.h
deleted file mode 100644
index 9edcca9..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/traps.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * arch/ubicom32/include/asm/traps.h
- * Trap related definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_TRAPS_H
-#define _ASM_UBICOM32_TRAPS_H
-
-/*
- * Trap causes passed from ultra to Host OS
- */
-#define TRAP_CAUSE_TOTAL 13
-#define TRAP_CAUSE_DST_RANGE_ERR 12
-#define TRAP_CAUSE_SRC1_RANGE_ERR 11
-#define TRAP_CAUSE_I_RANGE_ERR 10
-#define TRAP_CAUSE_DCAPT 9
-#define TRAP_CAUSE_DST_SERROR 8
-#define TRAP_CAUSE_SRC1_SERROR 7
-#define TRAP_CAUSE_DST_MISALIGNED 6
-#define TRAP_CAUSE_SRC1_MISALIGNED 5
-#define TRAP_CAUSE_DST_DECODE_ERR 4
-#define TRAP_CAUSE_SRC1_DECODE_ERR 3
-#define TRAP_CAUSE_ILLEGAL_INST 2
-#define TRAP_CAUSE_I_SERROR 1
-#define TRAP_CAUSE_I_DECODE_ERR 0
-
-extern void trap_handler(int irq, struct pt_regs *regs);
-extern void trap_init_interrupt(void);
-extern void unaligned_emulate(unsigned int thread);
-extern int unaligned_only(unsigned int cause);
-
-#endif /* _ASM_UBICOM32_TRAPS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/types.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/types.h
deleted file mode 100644
index 5b960dd..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/types.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * arch/ubicom32/include/asm/types.h
- * Date type definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_TYPES_H
-#define _ASM_UBICOM32_TYPES_H
-
-/*
- * This file is never included by application software unless
- * explicitly requested (e.g., via linux/types.h) in which case the
- * application is Linux specific so (user-) name space pollution is
- * not a major issue. However, for interoperability, libraries still
- * need to be careful to avoid a name clashes.
- */
-
-#include <asm-generic/int-ll64.h>
-
-#ifndef __ASSEMBLY__
-
-typedef unsigned short umode_t;
-
-#endif /* __ASSEMBLY__ */
-
-/*
- * These aren't exported outside the kernel to avoid name space clashes
- */
-#ifdef __KERNEL__
-
-#define BITS_PER_LONG 32
-
-#ifndef __ASSEMBLY__
-
-/* DMA addresses are always 32-bits wide */
-
-typedef u32 dma_addr_t;
-typedef u32 dma64_addr_t;
-
-/*
- * XXX These are "Ubicom style" typedefs. They should be removed in all files used by linux.
- */
-typedef u32 u32_t;
-typedef s32 s32_t;
-typedef u16 u16_t;
-typedef s16 s16_t;
-typedef u8 u8_t;
-typedef s8 s8_t;
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __KERNEL__ */
-
-#endif /* _ASM_UBICOM32_TYPES_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/uaccess.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/uaccess.h
deleted file mode 100644
index eef739d..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/uaccess.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * arch/ubicom32/include/asm/uaccess.h
- * User space memory access functions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- * arch/alpha
- */
-#ifndef _ASM_UBICOM32_UACCESS_H
-#define _ASM_UBICOM32_UACCESS_H
-
-/*
- * User space memory access functions
- */
-#include <linux/sched.h>
-#include <linux/mm.h>
-#include <linux/string.h>
-
-#include <asm/segment.h>
-
-#define VERIFY_READ 0
-#define VERIFY_WRITE 1
-
-/*
- * The exception table consists of pairs of addresses: the first is the
- * address of an instruction that is allowed to fault, and the second is
- * the address at which the program should continue. No registers are
- * modified, so it is entirely up to the continuation code to figure out
- * what to do.
- *
- * All the routines below use bits of fixup code that are out of line
- * with the main instruction path. This means when everything is well,
- * we don't even have to jump over them. Further, they do not intrude
- * on our cache or tlb entries.
- */
-struct exception_table_entry
-{
- unsigned long insn, fixup;
-};
-
-/*
- * Ubicom32 does not currently support the exception table handling.
- */
-extern unsigned long search_exception_table(unsigned long);
-
-
-#if defined(CONFIG_ACCESS_OK_CHECKS_ENABLED)
-extern int __access_ok(unsigned long addr, unsigned long size);
-#else
-static inline int __access_ok(unsigned long addr, unsigned long size)
-{
- return 1;
-}
-#endif
-#define access_ok(type, addr, size) \
- likely(__access_ok((unsigned long)(addr), (size)))
-
-/*
- * The following functions do not exist. They keep callers
- * of put_user and get_user from passing unsupported argument
- * types. They result in a link time error.
- */
-extern int __put_user_bad(void);
-extern int __get_user_bad(void);
-
-/*
- * __put_user_no_check()
- * Put the requested data into the user space verifying the address
- *
- * Careful to not
- * (a) re-use the arguments for side effects (sizeof/typeof is ok)
- * (b) require any knowledge of processes at this stage
- */
-#define __put_user_no_check(x, ptr, size) \
-({ \
- int __pu_err = 0; \
- __typeof__(*(ptr)) __user *__pu_addr = (ptr); \
- switch (size) { \
- case 1: \
- case 2: \
- case 4: \
- case 8: \
- *__pu_addr = (__typeof__(*(ptr)))x; \
- break; \
- default: \
- __pu_err = __put_user_bad(); \
- break; \
- } \
- __pu_err; \
-})
-
-/*
- * __put_user_check()
- * Put the requested data into the user space verifying the address
- *
- * Careful to not
- * (a) re-use the arguments for side effects (sizeof/typeof is ok)
- * (b) require any knowledge of processes at this stage
- *
- * If requested, access_ok() will verify that ptr is a valid user
- * pointer.
- */
-#define __put_user_check(x, ptr, size) \
-({ \
- int __pu_err = -EFAULT; \
- __typeof__(*(ptr)) __user *__pu_addr = (ptr); \
- if (access_ok(VERIFY_WRITE, __pu_addr, size)) { \
- __pu_err = 0; \
- switch (size) { \
- case 1: \
- case 2: \
- case 4: \
- case 8: \
- *__pu_addr = (__typeof__(*(ptr)))x; \
- break; \
- default: \
- __pu_err = __put_user_bad(); \
- break; \
- } \
- } \
- __pu_err; \
-})
-
-/*
- * __get_user_no_check()
- * Read the value at ptr into x.
- *
- * If requested, access_ok() will verify that ptr is a valid user
- * pointer. If the caller passes a modifying argument for ptr (e.g. x++)
- * this macro will not work.
- */
-#define __get_user_no_check(x, ptr, size) \
-({ \
- int __gu_err = 0; \
- __typeof__((x)) __gu_val = 0; \
- const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
- switch (size) { \
- case 1: \
- case 2: \
- case 4: \
- case 8: \
- __gu_val = (__typeof__((x)))*(__gu_addr); \
- break; \
- default: \
- __gu_err = __get_user_bad(); \
- (x) = 0; \
- break; \
- } \
- (x) = __gu_val; \
- __gu_err; \
-})
-
-/*
- * __get_user_check()
- * Read the value at ptr into x.
- *
- * If requested, access_ok() will verify that ptr is a valid user
- * pointer.
- */
-#define __get_user_check(x, ptr, size) \
-({ \
- int __gu_err = -EFAULT; \
- __typeof__(x) __gu_val = 0; \
- const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
- if (access_ok(VERIFY_READ, __gu_addr, size)) { \
- __gu_err = 0; \
- switch (size) { \
- case 1: \
- case 2: \
- case 4: \
- case 8: \
- __gu_val = (__typeof__((x)))*(__gu_addr); \
- break; \
- default: \
- __gu_err = __get_user_bad(); \
- (x) = 0; \
- break; \
- } \
- } \
- (x) = __gu_val; \
- __gu_err; \
-})
-
-/*
- * The "xxx" versions are allowed to perform some amount of address
- * space checking. See access_ok().
- */
-#define put_user(x,ptr) \
- __put_user_check((__typeof__(*(ptr)))(x),(ptr), sizeof(*(ptr)))
-#define get_user(x,ptr) \
- __get_user_check((x), (ptr), sizeof(*(ptr)))
-
-/*
- * The "__xxx" versions do not do address space checking, useful when
- * doing multiple accesses to the same area (the programmer has to do the
- * checks by hand with "access_ok()")
- */
-#define __put_user(x,ptr) \
- __put_user_no_check((__typeof__(*(ptr)))(x),(ptr), sizeof(*(ptr)))
-#define __get_user(x,ptr) \
- __get_user_no_check((x), (ptr), sizeof(*(ptr)))
-
-/*
- * __copy_tofrom_user_no_check()
- * Copy the data either to or from user space.
- *
- * Return the number of bytes NOT copied.
- */
-static inline unsigned long
-__copy_tofrom_user_no_check(void *to, const void *from, unsigned long n)
-{
- memcpy(to, from, n);
- return 0;
-}
-
-/*
- * copy_to_user()
- * Copy the kernel data to user space.
- *
- * Return the number of bytes that were copied.
- */
-static inline unsigned long
-copy_to_user(void __user *to, const void *from, unsigned long n)
-{
- if (!access_ok(VERIFY_WRITE, to, n)) {
- return n;
- }
- return __copy_tofrom_user_no_check((__force void *)to, from, n);
-}
-
-/*
- * copy_from_user()
- * Copy the user data to kernel space.
- *
- * Return the number of bytes that were copied. On error, we zero
- * out the destination.
- */
-static inline unsigned long
-copy_from_user(void *to, const void __user *from, unsigned long n)
-{
- if (!access_ok(VERIFY_READ, from, n)) {
- return n;
- }
- return __copy_tofrom_user_no_check(to, (__force void *)from, n);
-}
-
-#define __copy_to_user(to, from, n) \
- __copy_tofrom_user_no_check((__force void *)to, from, n)
-#define __copy_from_user(to, from, n) \
- __copy_tofrom_user_no_check(to, (__force void *)from, n)
-#define __copy_to_user_inatomic(to, from, n) \
- __copy_tofrom_user_no_check((__force void *)to, from, n)
-#define __copy_from_user_inatomic(to, from, n) \
- __copy_tofrom_user_no_check(to, (__force void *)from, n)
-
-#define copy_to_user_ret(to, from, n, retval) \
- ({ if (copy_to_user(to, from, n)) return retval; })
-
-#define copy_from_user_ret(to, from, n, retval) \
- ({ if (copy_from_user(to, from, n)) return retval; })
-
-/*
- * strncpy_from_user()
- * Copy a null terminated string from userspace.
- *
- * dst - Destination in kernel space. The buffer must be at least count.
- * src - Address of string in user space.
- * count - Maximum number of bytes to copy (including the trailing NULL).
- *
- * Returns the length of the string (not including the trailing NULL. If
- * count is smaller than the length of the string, we copy count bytes
- * and return count.
- *
- */
-static inline long strncpy_from_user(char *dst, const __user char *src, long count)
-{
- char *tmp;
- if (!access_ok(VERIFY_READ, src, 1)) {
- return -EFAULT;
- }
-
- strncpy(dst, src, count);
- for (tmp = dst; *tmp && count > 0; tmp++, count--) {
- ;
- }
- return(tmp - dst);
-}
-
-/*
- * strnlen_user()
- * Return the size of a string (including the ending 0)
- *
- * Return -EFAULT on exception, a value greater than <n> if too long
- */
-static inline long strnlen_user(const __user char *src, long n)
-{
- if (!access_ok(VERIFY_READ, src, 1)) {
- return -EFAULT;
- }
- return(strlen(src) + 1);
-}
-
-#define strlen_user(str) strnlen_user(str, 32767)
-
-/*
- * __clear_user()
- * Zero Userspace
- */
-static inline unsigned long __clear_user(__user void *to, unsigned long n)
-{
- memset(to, 0, n);
- return 0;
-}
-
-/*
- * clear_user()
- * Zero user space (check for valid addresses)
- */
-static inline unsigned long clear_user(__user void *to, unsigned long n)
-{
- if (!access_ok(VERIFY_WRITE, to, n)) {
- return -EFAULT;
- }
- return __clear_user(to, n);
-}
-
-#endif /* _ASM_UBICOM32_UACCESS_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/uart_tio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/uart_tio.h
deleted file mode 100644
index 19ef82e..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/uart_tio.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * arch/ubicom32/include/asm/uart_tio.h
- * Ubicom32 architecture UART TIO definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_UART_TIO_H
-#define _ASM_UBICOM32_UART_TIO_H
-
-#include <asm/devtree.h>
-
-#define UARTTIO_RX_FIFO_SIZE 16
-#define UARTTIO_TX_FIFO_SIZE 16
-
-/*
- * Interrupt flags
- */
-#define UARTTIO_UART_INT_RX 0x00000001 // set when a character has been recevied (TODO: add watermark)
-#define UARTTIO_UART_INT_RXOVF 0x00000002 // set when the receive buffer has overflowed
-#define UARTTIO_UART_INT_RXFRAME 0x00000004 // set when there has been a framing error
-
-#define UARTTIO_UART_INT_TX 0x00000100 // set every time a character is transmitted
-#define UARTTIO_UART_INT_TXBE 0x00000200 // set when the transmit buffer is empty (TODO: add watermark)
-
-#define UARTTIO_UART_FLAG_ENABLED 0x80000000
-#define UARTTIO_UART_FLAG_SET_RATE 0x00000001 // set to update baud rate
-#define UARTTIO_UART_FLAG_RESET 0x00000002 // set to reset the port
-struct uarttio_uart {
- volatile u32_t flags;
-
- volatile u32_t baud_rate;
- volatile u32_t current_baud_rate;
- u32_t bit_time;
-
- /*
- * Modem status register
- */
- volatile u32_t status;
-
- /*
- * Interrupt registers
- */
- volatile u32_t int_mask;
- volatile u32_t int_flags;
-
- /*
- * Ports and pins
- */
- u32_t rx_port;
- u32_t tx_port;
-
- u8_t rx_pin;
- u8_t tx_pin;
-
- /*
- * Configuration Data
- */
- u8_t rx_bits;
- u8_t rx_stop_bits;
- u8_t tx_bits;
- u8_t tx_stop_bits;
-
- /*
- * RX state machine data
- */
- u32_t rx_timer;
- u32_t rx_bit_pos;
- u32_t rx_byte;
- u32_t rx_fifo_head;
- u32_t rx_fifo_tail;
- u32_t rx_fifo_size;
-
- /*
- * TX state machine data
- */
- u32_t tx_timer;
- u32_t tx_bit_pos;
- u32_t tx_byte;
- u32_t tx_fifo_head;
- u32_t tx_fifo_tail;
- u32_t tx_fifo_size;
-
- /*
- * FIFOs
- */
- u8_t rx_fifo[UARTTIO_RX_FIFO_SIZE];
- u8_t tx_fifo[UARTTIO_TX_FIFO_SIZE];
-};
-
-#define UARTTIO_VP_VERSION 1
-struct uarttio_regs {
- u32_t version;
-
- u32_t thread;
-
- u32_t max_uarts;
-
- struct uarttio_uart uarts[0];
-};
-
-#define UARTTIO_NODE_VERSION 1
-struct uarttio_node {
- struct devtree_node dn;
-
- u32_t version;
- struct uarttio_regs *regs;
- u32_t regs_sz;
-};
-
-#endif /* _ASM_UBICOM32_UART_TIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-cs4384.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-cs4384.h
deleted file mode 100644
index 18e7634..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-cs4384.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubi32-cs4384.h
- * Ubicom32 architecture CS4384 driver platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_UBI32_CS4384_H
-#define _ASM_UBICOM32_UBI32_CS4384_H
-
-enum ubi32_cs4384_mclk_source {
- UBI32_CS4384_MCLK_PWM_0,
- UBI32_CS4384_MCLK_PWM_1,
- UBI32_CS4384_MCLK_PWM_2,
- UBI32_CS4384_MCLK_CLKDIV_1,
- UBI32_CS4384_MCLK_OTHER,
-};
-
-struct ubi32_cs4384_mclk_entry {
- /*
- * Rate, in Hz, of this entry
- */
- int rate;
-
- /*
- * The divider to program to get the rate
- */
- int div;
-};
-
-struct ubi32_cs4384_platform_data {
- enum ubi32_cs4384_mclk_source mclk_src;
-
- int n_mclk;
- struct ubi32_cs4384_mclk_entry *mclk_entries;
-};
-#endif /* _ASM_UBICOM32_UBI32_CS4384_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-pcm.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-pcm.h
deleted file mode 100644
index ab14b36..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubi32-pcm.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubi32-pcm.h
- * Ubicom32 architecture PCM driver platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_UBI32_PCM_H
-#define _ASM_UBICOM32_UBI32_PCM_H
-
-/*
- * This function is called when the sample rate has changed
- */
-typedef int (*ubi32_pcm_set_rate_fn_t)(void *appdata, int rate);
-
-struct ubi32pcm_platform_data {
- /*
- * Name of the audio node/inst
- */
- const char *node_name;
- const char *inst_name;
- int inst_num;
-
- /*
- * Application specific data provided when calling functions
- */
- void *appdata;
-
- /*
- * Functions called when various things happen
- */
- ubi32_pcm_set_rate_fn_t set_rate;
-
- /*
- * Pointer to optional upper layer data (i.e. DAC config, etc)
- */
- void *priv_data;
-};
-#endif /* _ASM_UBICOM32_UBI32_PCM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common-asm.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common-asm.h
deleted file mode 100644
index 82696bb..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common-asm.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32-common-asm.h
- * Ubicom32 atomic lock operations.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_UBICOM32_COMMON_ASM_H
-#define _ASM_UBICOM32_UBICOM32_COMMON_ASM_H
-
-/*
- * atomic_lock_acquire macro
- * Equivalent to __atomic_lock_acquire()
- */
-.macro atomic_lock_acquire
- bset scratchpad1, scratchpad1, #ATOMIC_LOCK_BIT
- jmpne.f .-4
-.endm
-
-/*
- * atomic_lock_release macro
- * Equivalent to __atomic_lock_release()
- */
-.macro atomic_lock_release
- bclr scratchpad1, scratchpad1, #ATOMIC_LOCK_BIT
-.endm
-
-#endif /* _ASM_UBICOM32_UBICOM32_COMMON_ASM_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common.h
deleted file mode 100644
index 1f05a8c..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-common.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32-common.h
- * Ubicom32 atomic lock operations.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_UBICOM32_COMMON_H
-#define _ASM_UBICOM32_UBICOM32_COMMON_H
-
-#define S(arg) #arg
-#define D(arg) S(arg)
-/*
- * scratchpad1 is owned by the LDSR.
- *
- * The upper bits provide 16 global spinlocks. Acquiring one of these
- * global spinlocks synchornizes across multiple threads and prevents
- * the LDSR from delivering any interrupts while the lock is held.
- * Use these locks only when absolutely required.
- *
- * The lower 16 bits of scratchpad1 are used as per thread interrupt
- * enable/disable bits. These bits will prevent a thread from receiving
- * any interrupts.
- *
- * Bit Usage:
- * - MT_EN_LOCK_BIT - Protects writes to MT_EN, so code can read current value
- * then write a new value atomically (profiler for example)
- * - ATOMIC_LOCK_BIT - Used to provide general purpose atomic handling.
- * - LDSR_LOCK_BIT - Used by the LDSR exclusively to provide protection.
- * - DCCR_LOCK_BIT - Used to limit access to the DCCR cache control peripheral
- * - ICCR_LOCK_BIT - Used to limit access to the ICCR cache control peripheral
- * - LSB 16 bits - Used by the LDSR to represent thread enable/disable bits.
- */
-#define MT_EN_LOCK_BIT 31
-#define ATOMIC_LOCK_BIT 30
-#define LDSR_LOCK_BIT 29
-#define PCI_LOCK_BIT 28
-#define ICCR_LOCK_BIT 27
-#define DCCR_LOCK_BIT 26
-
-#if !defined(__ASSEMBLY__)
-
-#define UBICOM32_TRYLOCK(bit) \
- asm volatile ( \
- " move.4 %0, #0 \n\t" \
- " bset scratchpad1, scratchpad1, #"D(bit)" \n\t" \
- " jmpne.f 1f \n\t" \
- " move.4 %0, #1 \n\t" \
- "1: \n\t" \
- : "=r" (ret) \
- : \
- : "cc", "memory" \
- ) \
-
-#define UBICOM32_UNLOCK(bit) \
- asm volatile ( \
- " bclr scratchpad1, scratchpad1, #"D(bit)" \n\t" \
- : \
- : \
- : "cc", "memory" \
- ) \
-
-#define UBICOM32_LOCK(bit) \
- asm volatile ( \
- "1: bset scratchpad1, scratchpad1, #"D(bit)" \n\t" \
- " jmpne.f 1b \n\t" \
- : \
- : \
- : "cc", "memory" \
- ) \
-
-/*
- * __atomic_lock_trylock()
- * Attempt to acquire the lock, return TRUE if acquired.
- */
-static inline int __atomic_lock_trylock(void)
-{
- int ret;
- UBICOM32_TRYLOCK(ATOMIC_LOCK_BIT);
- return ret;
-}
-
-/*
- * __atomic_lock_release()
- * Release the global atomic lock.
- *
- * Note: no one is suspended waiting since this lock is a spinning lock.
- */
-static inline void __atomic_lock_release(void)
-{
- UBICOM32_UNLOCK(ATOMIC_LOCK_BIT);
-}
-
-/*
- * __atomic_lock_acquire()
- * Acquire the global atomic lock, spin if not available.
- */
-static inline void __atomic_lock_acquire(void)
-{
- UBICOM32_LOCK(ATOMIC_LOCK_BIT);
-}
-#else /* __ASSEMBLY__ */
-
-#include <asm/ubicom32-common-asm.h>
-
-#endif /* __ASSEMBLY__ */
-#endif /* _ASM_UBICOM32_UBICOM32_COMMON_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-spi-gpio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-spi-gpio.h
deleted file mode 100644
index b5379e3..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-spi-gpio.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32-spi-gpio.h
- * Platform driver data definitions for GPIO based SPI driver.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UBICOM32_SPI_GPIO_H
-#define _ASM_UBICOM32_UBICOM32_SPI_GPIO_H
-
-struct ubicom32_spi_gpio_platform_data {
- /*
- * GPIO to use for MOSI, MISO, CLK
- */
- int pin_mosi;
- int pin_miso;
- int pin_clk;
-
- /*
- * Default state of CLK line
- */
- int clk_default;
-
- /*
- * Number of chip selects on this bus
- */
- int num_chipselect;
-
- /*
- * The bus number of this chip
- */
- int bus_num;
-};
-
-struct ubicom32_spi_gpio_controller_data {
- /*
- * GPIO to use for chip select
- */
- int pin_cs;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_SPI_GPIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-tio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-tio.h
deleted file mode 100644
index 4d87e5c..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32-tio.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32-tio.h
- * Threaded I/O interface definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UBICOM32_TIO_H
-#define _ASM_UBICOM32_UBICOM32_TIO_H
-
-extern u8_t usb_tio_read_u16(u32_t address, u16_t *data);
-extern u8_t usb_tio_read_u8(u32_t address, u8_t *data);
-
-extern u8_t usb_tio_write_u16(u32_t address, u16_t data);
-extern u8_t usb_tio_write_u8(u32_t address, u8_t data);
-
-extern u8_t usb_tio_read_fifo(u32_t address, u32_t buffer, u32_t bytes);
-extern u8_t usb_tio_write_fifo(u32_t address, u32_t buffer, u32_t bytes);
-extern u8_t usb_tio_write_fifo_sync(u32_t address, u32_t buffer, u32_t bytes);
-extern void usb_tio_read_int_status(u8_t *int_usb, u16_t *int_tx, u16_t *int_rx);
-
-#endif /* _ASM_UBICOM32_UBICOM32_TIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32bl.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32bl.h
deleted file mode 100644
index 498c754..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32bl.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32bl.h
- * Ubicom32 architecture backlight driver platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UBICOM32_BL_H
-#define _ASM_UBICOM32_UBICOM32_BL_H
-
-/*
- * Different backlight control mechanisms
- */
-enum ubicom32bl_pwm_types {
- /*
- * PWM controlled backlight
- */
- UBICOM32BL_TYPE_PWM,
-
- /*
- * HRT based PWM backlight
- */
- UBICOM32BL_TYPE_PWM_HRT,
-
- /*
- * No dimming, just on or off
- */
- UBICOM32BL_TYPE_BINARY,
-};
-
-struct ubicom32bl_platform_data {
- /*
- * Default intensity of the backlight 0-255
- */
- u8_t default_intensity;
-
- /*
- * TRUE if the backlight sense is active low. (inverted)
- * FALSE if the backlight sense is active high.
- */
- bool invert;
-
- /*
- * Type of the backlight
- */
- enum ubicom32bl_pwm_types type;
-
- /*
- * GPIO of the backlight if UBICOM32BL_TYPE_PWM_HRT, UBICOM32BL_TYPE_BINARY
- */
- unsigned gpio;
-
- /*
- * PWM channel and parameters of the backlight if UBICOM32BL_TYPE_PWM
- * pre_scaler: sets the rate at which the PWM timer is clocked. (clk_core / 2^pre_scaler)
- * period: sets the period of the timer in timer cycles
- * The duty cycle will be directly proportional to the brightness setting.
- */
- u32_t pwm_channel;
- u8_t pwm_prescale;
- u16_t pwm_period;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_BL_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32fb.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32fb.h
deleted file mode 100644
index ae994e2..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32fb.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32fb.h
- * Ubicom32 architecture video frame buffer definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_UBICOM32FB_H
-#define _ASM_UBICOM32_UBICOM32FB_H
-
-#include <linux/ioctl.h>
-
-/*
- * Set next frame
- */
-#define UBICOM32FB_IOCTL_SET_NEXT_FRAME _IOW('r', 1, void *)
-#define UBICOM32FB_IOCTL_SET_NEXT_FRAME_SYNC _IOW('r', 2, void *)
-
-/*
- * Set Mode
- */
-#define UBICOM32FB_IOCTL_SET_MODE _IOW('r', 3, void *)
-struct ubicom32fb_mode {
- unsigned long width;
- unsigned long height;
- unsigned long flags;
- void *next_frame;
-};
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_YUV_SCAN_ORDER (1 << 8)
-
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_YUV_BLOCK_ORDER (1 << 7)
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_YUV (1 << 6)
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_VSUB (1 << 5)
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_VRANGE_16_255 (1 << 4)
-
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_VRANGE_0_255 (1 << 3)
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_HSUB_2_1 (1 << 2)
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_HSUB_1_1 (1 << 1)
-#define UBICOM32FB_IOCTL_SET_MODE_FLAG_SCALE_ENABLE (1 << 0)
-
-#endif /* _ASM_UBICOM32_UBICOM32FB_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32hid.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32hid.h
deleted file mode 100644
index d324313..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32hid.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32hid.h
- * Ubicom32 architecture HID driver platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UBICOM32_HID_H
-#define _ASM_UBICOM32_UBICOM32_HID_H
-
-enum ubicom32hid_bl_types {
- /*
- * On or off, using command SET_BL_EN, PB4
- */
- UBICOM32HID_BL_TYPE_BINARY,
-
- /*
- * Dimmable, using command SET_PWM, PB3
- */
- UBICOM32HID_BL_TYPE_PWM,
-};
-
-/*
- * IR code mapping to event code.
- * If there are no button mappings and no ir mappings
- * then no input driver will be registered.
- */
-struct ubicom32hid_ir {
- /*
- * Input event code (KEY_*, SW_*, etc)
- */
- int code;
-
- /*
- * Input event type (EV_KEY, EV_SW, etc)
- */
- int type;
-
- /*
- * The IR code of this button.
- */
- uint32_t ir_code;
-};
-
-/*
- * Button mapping to event code.
- * If there are no button mappings and no ir mappings
- * then no input driver will be registered.
- */
-struct ubicom32hid_button {
- /*
- * Input event code (KEY_*, SW_*, etc)
- */
- int code;
-
- /*
- * Input event type (EV_KEY, EV_SW, etc)
- */
- int type;
-
- /*
- * Bit number of this button.
- */
- uint8_t bit;
-};
-
-struct ubicom32hid_platform_data {
- /*
- * Default intensity of the backlight 0-255
- */
- u8_t default_intensity;
-
- /*
- * GPIO number of the reset line and its polarity.
- */
- unsigned gpio_reset;
- int gpio_reset_polarity;
-
- /*
- * TRUE if the backlight sense is active low. (inverted)
- * FALSE if the backlight sense is active high.
- */
- bool invert;
-
- /*
- * Type of the backlight we are controlling
- */
- enum ubicom32hid_bl_types type;
-
- /*
- * Optional polling rate for input, in ms, defaults to 100ms
- */
- int poll_interval;
-
- /*
- * Optional name to register as input device
- */
- const char *input_name;
-
- /*
- * Button mapping array
- */
- const struct ubicom32hid_button *buttons;
- int nbuttons;
-
- /*
- * IR mapping array
- */
- const struct ubicom32hid_ir *ircodes;
- int nircodes;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_HID_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input.h
deleted file mode 100644
index dea5c79..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32input.h
- * Ubicom32 Input driver, based on gpio-keys
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- *
- * TODO: add groups for inputs which can be sampled together
- */
-
-#ifndef _ASM_UBICOM32_UBICOM32_INPUT_H
-#define _ASM_UBICOM32_UBICOM32_INPUT_H
-
-struct ubicom32input_button {
- /*
- * Input event code (KEY_*, SW_*, etc)
- */
- int code;
-
- /*
- * Input event type (EV_KEY, EV_SW, etc)
- */
- int type;
-
- /*
- * GPIO to poll
- */
- int gpio;
-
- /*
- * 1 for active low, 0 for active high
- */
- int active_low;
-
- /*
- * Description, used for reserving GPIOs
- */
- const char *desc;
-};
-
-struct ubicom32input_platform_data {
- struct ubicom32input_button *buttons;
- int nbuttons;
-
- /*
- * Optional poll interval, in ms, defaults to 50ms
- */
- int poll_interval;
-
- /*
- * Option Name of this driver
- */
- const char *name;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_INPUT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input_i2c.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input_i2c.h
deleted file mode 100644
index eb16723..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32input_i2c.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32input_i2c.h
- * Ubicom32 architecture Input driver over I2C platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- *
- * TODO: add groups for inputs which can be sampled together
- */
-
-#ifndef _ASM_UBICOM32_UBICOM32_INPUT_I2C_H
-#define _ASM_UBICOM32_UBICOM32_INPUT_I2C_H
-
-struct ubicom32input_i2c_button {
- /*
- * Input event code (KEY_*, SW_*, etc)
- */
- int code;
-
- /*
- * Input event type (EV_KEY, EV_SW, etc)
- */
- int type;
-
- /*
- * Bit number of this button. (0 - ngpio)
- */
- int bit;
-
- /*
- * 1 for active low, 0 for active high
- */
- int active_low;
-};
-
-struct ubicom32input_i2c_platform_data {
- struct ubicom32input_i2c_button *buttons;
- int nbuttons;
-
- /*
- * Optional poll interval, in ms, defaults to 100ms
- */
- int poll_interval;
-
- /*
- * Option Name of this driver
- */
- const char *name;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_INPUT_I2C_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcd.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcd.h
deleted file mode 100644
index eea5340..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcd.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32lcd.h
- * Ubicom32 architecture LCD driver platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_UBICOM32_LCD_H
-#define _ASM_UBICOM32_UBICOM32_LCD_H
-
-#include <asm/ip5000.h>
-
-struct ubicom32lcd_platform_data {
- int pin_cs;
- int pin_rs;
- int pin_rd;
- int pin_wr;
- int pin_reset;
- int data_shift;
- struct ubicom32_io_port *port_data;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_LCD_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcdpower.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcdpower.h
deleted file mode 100644
index 03b8a7e..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32lcdpower.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32lcdpower.h
- * Ubicom32 architecture LCD driver platform data definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UBICOM32_LCDPOWER_H
-#define _ASM_UBICOM32_UBICOM32_LCDPOWER_H
-
-struct ubicom32lcdpower_platform_data {
- /*
- * GPIO and polarity for VGH signal. A FALSE polarity is active low, TRUE is active high.
- */
- int vgh_gpio;
- bool vgh_polarity;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_LCDPOWER_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32ring.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32ring.h
deleted file mode 100644
index dd9c8f7..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32ring.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32ring.h
- * Userspace I/O platform driver for Ubicom32 ring buffers
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef _ASM_UBICOM32_UBICOM32RING_H
-#define _ASM_UBICOM32_UBICOM32RING_H
-
-#define UIO_UBICOM32RING_REG_VERSION 2
-
-struct uio_ubicom32ring_desc {
- volatile unsigned int head;
- volatile unsigned int tail;
- unsigned int entries;
- volatile unsigned int ring[0];
-};
-
-struct uio_ubicom32ring_regs {
- unsigned int version;
-
- /*
- * Magic type used to identify the ring set. Each driver will
- * have a different magic value.
- */
- unsigned int magic;
-
- /*
- * Registers defined by the driver
- */
- unsigned int regs_size;
- void *regs;
-
- /*
- * The locations of the rings
- *
- * DO NOT ADD ANYTHING BELOW THIS LINE
- */
- unsigned int num_rings;
- struct uio_ubicom32ring_desc *rings[0];
-};
-
-/*
- * ringtio_ring_flush
- */
-static inline void ringtio_ring_flush(struct uio_ubicom32ring_desc *rd)
-{
- rd->head = rd->tail = 0;
-}
-
-/*
- * ringtio_ring_get
- */
-static inline int ringtio_ring_get(struct uio_ubicom32ring_desc *rd, void **val)
-{
- if (rd->head == rd->tail) {
- return 0;
- }
-
- *val = (void *)rd->ring[rd->head++];
- if (rd->head == rd->entries) {
- rd->head = 0;
- }
- return 1;
-}
-
-/*
- * ringtio_ring_put
- */
-static inline int ringtio_ring_put(struct uio_ubicom32ring_desc *rd, void *val)
-{
- unsigned int newtail = rd->tail + 1;
- if (newtail == rd->entries) {
- newtail = 0;
- }
-
- if (newtail == rd->head) {
- return 0;
- }
-
- rd->ring[rd->tail] = (unsigned int)val;
- rd->tail = newtail;
- return 1;
-}
-
-#endif /* _ASM_UBICOM32_UBICOM32RING_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32sd.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32sd.h
deleted file mode 100644
index b5cebfa..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32sd.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32sd.h
- * Ubicom32SD public include file
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- */
-#ifndef _ASM_UBICOM32_UBICOM32_SD_H
-#define _ASM_UBICOM32_UBICOM32_SD_H
-
-struct ubicom32sd_card {
- /*
- * GPIOs of PWR, WP and CD lines.
- * Polarity is 1 for active high and 0 for active low
- */
- int pin_pwr;
- bool pwr_polarity;
- int pin_wp;
- bool wp_polarity;
- int pin_cd;
- bool cd_polarity;
-};
-
-struct ubicom32sd_platform_data {
- int ncards;
-
- struct ubicom32sd_card *cards;
-};
-
-#endif /* _ASM_UBICOM32_UBICOM32_SD_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32suart.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32suart.h
deleted file mode 100644
index 824d0de..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ubicom32suart.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ubicom32suart.h
- * <TODO: Replace with short file description>
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UBICOM32_SUART_H
-#define _ASM_UBICOM32_UBICOM32_SUART_H
-
-/*
- * Platform resource id for serdes uart clock parameter
- */
-#define UBICOM32_SUART_IORESOURCE_CLOCK (1)
-
-#endif /* _ASM_UBICOM32_UBICOM32_SUART_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ucontext.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/ucontext.h
deleted file mode 100644
index 71c1129..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/ucontext.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * arch/ubicom32/include/asm/ucontext.h
- * Definition of ucontext structure for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UCONTEXT_H
-#define _ASM_UBICOM32_UCONTEXT_H
-
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-
-#endif /* _ASM_UBICOM32_UCONTEXT_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/unaligned.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/unaligned.h
deleted file mode 100644
index 41b2646..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/unaligned.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * arch/ubicom32/include/asm/unaligned.h
- * Ubicom32 architecture unaligned memory access definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- *
- * TODO: This is a copy of arm unaligned handling that probably needs
- * to be optimized for UBICOM32, but it works for now.
- */
-
-#ifndef _ASM_UBICOM32_UNALIGNED_H
-#define _ASM_UBICOM32_UNALIGNED_H
-
-#include <asm/types.h>
-
-#include <linux/unaligned/le_byteshift.h>
-#include <linux/unaligned/be_byteshift.h>
-#include <linux/unaligned/generic.h>
-
-#define get_unaligned __get_unaligned_be
-#define put_unaligned __put_unaligned_be
-
-#endif /* _ASM_UBICOM32_UNALIGNED_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/unistd.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/unistd.h
deleted file mode 100644
index 2c7ba56..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/unistd.h
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * arch/ubicom32/include/asm/unistd.h
- * Ubicom32 architecture syscall definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_UNISTD_H
-#define _ASM_UBICOM32_UNISTD_H
-
-/*
- * This file contains the system call numbers.
- */
-
-#define __NR_restart_syscall 0
-#define __NR_exit 1
-#define __NR_fork 2
-#define __NR_read 3
-#define __NR_write 4
-#define __NR_open 5
-#define __NR_close 6
-#define __NR_waitpid 7
-#define __NR_creat 8
-#define __NR_link 9
-#define __NR_unlink 10
-#define __NR_execve 11
-#define __NR_chdir 12
-#define __NR_time 13
-#define __NR_mknod 14
-#define __NR_chmod 15
-#define __NR_chown 16
-#define __NR_break 17
-#define __NR_oldstat 18
-#define __NR_lseek 19
-#define __NR_getpid 20
-#define __NR_mount 21
-#define __NR_umount 22
-#define __NR_setuid 23
-#define __NR_getuid 24
-#define __NR_stime 25
-#define __NR_ptrace 26
-#define __NR_alarm 27
-#define __NR_oldfstat 28
-#define __NR_pause 29
-#define __NR_utime 30
-#define __NR_stty 31
-#define __NR_gtty 32
-#define __NR_access 33
-#define __NR_nice 34
-#define __NR_ftime 35
-#define __NR_sync 36
-#define __NR_kill 37
-#define __NR_rename 38
-#define __NR_mkdir 39
-#define __NR_rmdir 40
-#define __NR_dup 41
-#define __NR_pipe 42
-#define __NR_times 43
-#define __NR_prof 44
-#define __NR_brk 45
-#define __NR_setgid 46
-#define __NR_getgid 47
-#define __NR_signal 48
-#define __NR_geteuid 49
-#define __NR_getegid 50
-#define __NR_acct 51
-#define __NR_umount2 52
-#define __NR_lock 53
-#define __NR_ioctl 54
-#define __NR_fcntl 55
-#define __NR_mpx 56
-#define __NR_setpgid 57
-#define __NR_ulimit 58
-#define __NR_oldolduname 59
-#define __NR_umask 60
-#define __NR_chroot 61
-#define __NR_ustat 62
-#define __NR_dup2 63
-#define __NR_getppid 64
-#define __NR_getpgrp 65
-#define __NR_setsid 66
-#define __NR_sigaction 67
-#define __NR_sgetmask 68
-#define __NR_ssetmask 69
-#define __NR_setreuid 70
-#define __NR_setregid 71
-#define __NR_sigsuspend 72
-#define __NR_sigpending 73
-#define __NR_sethostname 74
-#define __NR_setrlimit 75
-#define __NR_getrlimit 76
-#define __NR_getrusage 77
-#define __NR_gettimeofday 78
-#define __NR_settimeofday 79
-#define __NR_getgroups 80
-#define __NR_setgroups 81
-#define __NR_select 82
-#define __NR_symlink 83
-#define __NR_oldlstat 84
-#define __NR_readlink 85
-#define __NR_uselib 86
-#define __NR_swapon 87
-#define __NR_reboot 88
-#define __NR_readdir 89
-#define __NR_mmap 90
-#define __NR_munmap 91
-#define __NR_truncate 92
-#define __NR_ftruncate 93
-#define __NR_fchmod 94
-#define __NR_fchown 95
-#define __NR_getpriority 96
-#define __NR_setpriority 97
-#define __NR_profil 98
-#define __NR_statfs 99
-#define __NR_fstatfs 100
-#define __NR_ioperm 101
-#define __NR_socketcall 102
-#define __NR_syslog 103
-#define __NR_setitimer 104
-#define __NR_getitimer 105
-#define __NR_stat 106
-#define __NR_lstat 107
-#define __NR_fstat 108
-#define __NR_olduname 109
-#define __NR_iopl /* 110 */ not supported
-#define __NR_vhangup 111
-#define __NR_idle /* 112 */ Obsolete
-#define __NR_vm86 /* 113 */ not supported
-#define __NR_wait4 114
-#define __NR_swapoff 115
-#define __NR_sysinfo 116
-#define __NR_ipc 117
-#define __NR_fsync 118
-#define __NR_sigreturn 119
-#define __NR_clone 120
-#define __NR_setdomainname 121
-#define __NR_uname 122
-#define __NR_cacheflush 123
-#define __NR_adjtimex 124
-#define __NR_mprotect 125
-#define __NR_sigprocmask 126
-#define __NR_create_module 127
-#define __NR_init_module 128
-#define __NR_delete_module 129
-#define __NR_get_kernel_syms 130
-#define __NR_quotactl 131
-#define __NR_getpgid 132
-#define __NR_fchdir 133
-#define __NR_bdflush 134
-#define __NR_sysfs 135
-#define __NR_personality 136
-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
-#define __NR_setfsuid 138
-#define __NR_setfsgid 139
-#define __NR__llseek 140
-#define __NR_getdents 141
-#define __NR__newselect 142
-#define __NR_flock 143
-#define __NR_msync 144
-#define __NR_readv 145
-#define __NR_writev 146
-#define __NR_getsid 147
-#define __NR_fdatasync 148
-#define __NR__sysctl 149
-#define __NR_mlock 150
-#define __NR_munlock 151
-#define __NR_mlockall 152
-#define __NR_munlockall 153
-#define __NR_sched_setparam 154
-#define __NR_sched_getparam 155
-#define __NR_sched_setscheduler 156
-#define __NR_sched_getscheduler 157
-#define __NR_sched_yield 158
-#define __NR_sched_get_priority_max 159
-#define __NR_sched_get_priority_min 160
-#define __NR_sched_rr_get_interval 161
-#define __NR_nanosleep 162
-#define __NR_mremap 163
-#define __NR_setresuid 164
-#define __NR_getresuid 165
-#define __NR_getpagesize 166
-#define __NR_query_module 167
-#define __NR_poll 168
-#define __NR_nfsservctl 169
-#define __NR_setresgid 170
-#define __NR_getresgid 171
-#define __NR_prctl 172
-#define __NR_rt_sigreturn 173
-#define __NR_rt_sigaction 174
-#define __NR_rt_sigprocmask 175
-#define __NR_rt_sigpending 176
-#define __NR_rt_sigtimedwait 177
-#define __NR_rt_sigqueueinfo 178
-#define __NR_rt_sigsuspend 179
-#define __NR_pread64 180
-#define __NR_pwrite64 181
-#define __NR_lchown 182
-#define __NR_getcwd 183
-#define __NR_capget 184
-#define __NR_capset 185
-#define __NR_sigaltstack 186
-#define __NR_sendfile 187
-#define __NR_getpmsg 188 /* some people actually want streams */
-#define __NR_putpmsg 189 /* some people actually want streams */
-#define __NR_vfork 190
-#define __NR_ugetrlimit 191
-#define __NR_mmap2 192
-#define __NR_truncate64 193
-#define __NR_ftruncate64 194
-#define __NR_stat64 195
-#define __NR_lstat64 196
-#define __NR_fstat64 197
-#define __NR_chown32 198
-#define __NR_getuid32 199
-#define __NR_getgid32 200
-#define __NR_geteuid32 201
-#define __NR_getegid32 202
-#define __NR_setreuid32 203
-#define __NR_setregid32 204
-#define __NR_getgroups32 205
-#define __NR_setgroups32 206
-#define __NR_fchown32 207
-#define __NR_setresuid32 208
-#define __NR_getresuid32 209
-#define __NR_setresgid32 210
-#define __NR_getresgid32 211
-#define __NR_lchown32 212
-#define __NR_setuid32 213
-#define __NR_setgid32 214
-#define __NR_setfsuid32 215
-#define __NR_setfsgid32 216
-#define __NR_pivot_root 217
-#define __NR_getdents64 220
-#define __NR_gettid 221
-#define __NR_tkill 222
-#define __NR_setxattr 223
-#define __NR_lsetxattr 224
-#define __NR_fsetxattr 225
-#define __NR_getxattr 226
-#define __NR_lgetxattr 227
-#define __NR_fgetxattr 228
-#define __NR_listxattr 229
-#define __NR_llistxattr 230
-#define __NR_flistxattr 231
-#define __NR_removexattr 232
-#define __NR_lremovexattr 233
-#define __NR_fremovexattr 234
-#define __NR_futex 235
-#define __NR_sendfile64 236
-#define __NR_mincore 237
-#define __NR_madvise 238
-#define __NR_fcntl64 239
-#define __NR_readahead 240
-#define __NR_io_setup 241
-#define __NR_io_destroy 242
-#define __NR_io_getevents 243
-#define __NR_io_submit 244
-#define __NR_io_cancel 245
-#define __NR_fadvise64 246
-#define __NR_exit_group 247
-#define __NR_lookup_dcookie 248
-#define __NR_epoll_create 249
-#define __NR_epoll_ctl 250
-#define __NR_epoll_wait 251
-#define __NR_remap_file_pages 252
-#define __NR_set_tid_address 253
-#define __NR_timer_create 254
-#define __NR_timer_settime 255
-#define __NR_timer_gettime 256
-#define __NR_timer_getoverrun 257
-#define __NR_timer_delete 258
-#define __NR_clock_settime 259
-#define __NR_clock_gettime 260
-#define __NR_clock_getres 261
-#define __NR_clock_nanosleep 262
-#define __NR_statfs64 263
-#define __NR_fstatfs64 264
-#define __NR_tgkill 265
-#define __NR_utimes 266
-#define __NR_fadvise64_64 267
-#define __NR_mbind 268
-#define __NR_get_mempolicy 269
-#define __NR_set_mempolicy 270
-#define __NR_mq_open 271
-#define __NR_mq_unlink 272
-#define __NR_mq_timedsend 273
-#define __NR_mq_timedreceive 274
-#define __NR_mq_notify 275
-#define __NR_mq_getsetattr 276
-#define __NR_waitid 277
-#define __NR_vserver 278
-#define __NR_add_key 279
-#define __NR_request_key 280
-#define __NR_keyctl 281
-#define __NR_ioprio_set 282
-#define __NR_ioprio_get 283
-#define __NR_inotify_init 284
-#define __NR_inotify_add_watch 285
-#define __NR_inotify_rm_watch 286
-#define __NR_migrate_pages 287
-#define __NR_openat 288
-#define __NR_mkdirat 289
-#define __NR_mknodat 290
-#define __NR_fchownat 291
-#define __NR_futimesat 292
-#define __NR_fstatat64 293
-#define __NR_unlinkat 294
-#define __NR_renameat 295
-#define __NR_linkat 296
-#define __NR_symlinkat 297
-#define __NR_readlinkat 298
-#define __NR_fchmodat 299
-#define __NR_faccessat 300
-#define __NR_pselect6 301
-#define __NR_ppoll 302
-#define __NR_unshare 303
-#define __NR_set_robust_list 304
-#define __NR_get_robust_list 305
-#define __NR_splice 306
-#define __NR_sync_file_range 307
-#define __NR_tee 308
-#define __NR_vmsplice 309
-#define __NR_move_pages 310
-#define __NR_sched_setaffinity 311
-#define __NR_sched_getaffinity 312
-#define __NR_kexec_load 313
-#define __NR_getcpu 314
-#define __NR_epoll_pwait 315
-#define __NR_utimensat 316
-#define __NR_signalfd 317
-#define __NR_timerfd_create 318
-#define __NR_eventfd 319
-#define __NR_fallocate 320
-#define __NR_timerfd_settime 321
-#define __NR_timerfd_gettime 322
-#define __NR_signalfd4 323
-#define __NR_eventfd2 324
-#define __NR_epoll_create1 325
-#define __NR_dup3 326
-#define __NR_pipe2 327
-#define __NR_inotify_init1 328
-
-#ifdef __KERNEL__
-
-#define NR_syscalls 329
-
-#define __ARCH_WANT_IPC_PARSE_VERSION
-#define __ARCH_WANT_OLD_READDIR
-#define __ARCH_WANT_OLD_STAT
-#define __ARCH_WANT_STAT64
-#define __ARCH_WANT_SYS_ALARM
-#define __ARCH_WANT_SYS_GETHOSTNAME
-#define __ARCH_WANT_SYS_PAUSE
-#define __ARCH_WANT_SYS_SGETMASK
-#define __ARCH_WANT_SYS_SIGNAL
-#define __ARCH_WANT_SYS_TIME
-#define __ARCH_WANT_SYS_UTIME
-#define __ARCH_WANT_SYS_WAITPID
-#define __ARCH_WANT_SYS_SOCKETCALL
-#define __ARCH_WANT_SYS_FADVISE64
-#define __ARCH_WANT_SYS_GETPGRP
-#define __ARCH_WANT_SYS_LLSEEK
-#define __ARCH_WANT_SYS_NICE
-#define __ARCH_WANT_SYS_OLD_GETRLIMIT
-#define __ARCH_WANT_SYS_OLDUMOUNT
-#define __ARCH_WANT_SYS_SIGPENDING
-#define __ARCH_WANT_SYS_SIGPROCMASK
-#define __ARCH_WANT_SYS_RT_SIGACTION
-
-/*
- * "Conditional" syscalls
- *
- * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
- * but it doesn't work on all toolchains, so we just do it by hand
- */
-//#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
-#define cond_syscall(x) long x(void) __attribute__((weak,alias("sys_ni_syscall")))
-#endif /* __KERNEL__ */
-
-#endif /* _ASM_UBICOM32_UNISTD_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/user.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/user.h
deleted file mode 100644
index 2e79786..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/user.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * arch/ubicom32/include/asm/user.h
- * Ubicom32 architecture core file definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_USER_H
-#define _ASM_UBICOM32_USER_H
-
-#include <asm/ptrace.h>
-#include <asm/page.h>
-/*
- * Adapted from <asm-powerpc/user.h>
- *
- * Core file format: The core file is written in such a way that gdb
- * can understand it and provide useful information to the user (under
- * linux we use the `trad-core' bfd, NOT the osf-core). The file contents
- * are as follows:
- *
- * upage: 1 page consisting of a user struct that tells gdb
- * what is present in the file. Directly after this is a
- * copy of the task_struct, which is currently not used by gdb,
- * but it may come in handy at some point. All of the registers
- * are stored as part of the upage. The upage should always be
- * only one page long.
- * data: The data segment follows next. We use current->end_text to
- * current->brk to pick up all of the user variables, plus any memory
- * that may have been sbrk'ed. No attempt is made to determine if a
- * page is demand-zero or if a page is totally unused, we just cover
- * the entire range. All of the addresses are rounded in such a way
- * that an integral number of pages is written.
- * stack: We need the stack information in order to get a meaningful
- * backtrace. We need to write the data from usp to
- * current->start_stack, so we round each of these in order to be able
- * to write an integer number of pages.
- */
-
-struct user_ubicom32fp_struct {
-};
-
-struct user {
- struct pt_regs regs; /* entire machine state */
- size_t u_tsize; /* text size (pages) */
- size_t u_dsize; /* data size (pages) */
- size_t u_ssize; /* stack size (pages) */
- unsigned long start_code; /* text starting address */
- unsigned long start_data; /* data starting address */
- unsigned long start_stack; /* stack starting address */
- long int signal; /* signal causing core dump */
- unsigned long u_ar0; /* help gdb find registers */
- unsigned long magic; /* identifies a core file */
- char u_comm[32]; /* user command name */
-};
-
-#define NBPG PAGE_SIZE
-#define UPAGES 1
-#define HOST_TEXT_START_ADDR (u.start_code)
-#define HOST_DATA_START_ADDR (u.start_data)
-#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
-
-#endif /* _ASM_UBICOM32_USER_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/vdc_tio.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/vdc_tio.h
deleted file mode 100644
index cc45fc5..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/vdc_tio.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * arch/ubicom32/include/asm/vdc_tio.h
- * Ubicom32 architecture VDC TIO definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_VDC_TIO_H
-#define _ASM_UBICOM32_VDC_TIO_H
-
-#include <asm/devtree.h>
-
-#define VDCTIO_VP_VERSION 5
-
-#define VDCTIO_SCALE_FLAG_VSUB (1 << 9)
-#define VDCTIO_SCALE_FLAG_YUV_SCAN_ORDER (1 << 8)
-#define VDCTIO_SCALE_FLAG_YUV_BLOCK_ORDER (1 << 7)
-#define VDCTIO_SCALE_FLAG_YUV (1 << 6)
-#define VDCTIO_SCALE_FLAG_VRANGE_16_255 (1 << 5)
-#define VDCTIO_SCALE_FLAG_VRANGE_0_255 (1 << 4)
-#define VDCTIO_SCALE_FLAG_HSUB_2_1 (1 << 3)
-#define VDCTIO_SCALE_FLAG_HSUB_1_1 (1 << 2)
-#define VDCTIO_SCALE_FLAG_SET_FRAME_BUFFER (1 << 1)
-#define VDCTIO_SCALE_FLAG_ENABLE (1 << 0)
-
-#define VDCTIO_NEXT_FRAME_FLAG_YUV_BIT 0
-#define VDCTIO_NEXT_FRAME_FLAG_YUV (1 << (VDCTIO_NEXT_FRAME_FLAG_YUV_BIT))
-
-#define VDCTIO_CAPS_SUPPORTS_SCALING (1 << 0)
-
-#define VDCTIO_COMMAND_START (1 << 3)
-#define VDCTIO_COMMAND_SET_COEFF (1 << 2)
-#define VDCTIO_COMMAND_SET_LUT (1 << 1)
-#define VDCTIO_COMMAND_SET_SCALE_MODE (1 << 0)
-
-/*
- * Command / Data registers to access the VDC
- */
-struct vdc_tio_vp_regs {
- /*
- * Version of this TIO register map
- */
- u32_t version;
-
- volatile u32_t command;
-
- /*
- * Next frame pointer, when the command VDCTIO_COMMAND_SET_FRAME_BUFFER is set,
- * the vdc will take the pointer here and display it.
- */
- void *next_frame;
- u32_t next_frame_flags;
-
- /*
- * These map directly into the PIXP registers 0x20-0x80.
- * DO NOT change the order of these three variables.
- */
- u32_t red_lut[6];
- u32_t blue_lut[6];
- u32_t green_lut[13];
-
- /*
- * These map directly into the PIXP registers 0x04, 0x08
- */
- u32_t coeff0;
- u32_t coeff1;
-
- /*
- * There are used to set the scaling parameters
- */
- u32_t x_in;
- u32_t x_out;
- u32_t y_in;
- u32_t y_out;
- u32_t scale_flags;
-
- /*
- * Current frame number, monotonically increasing number
- */
- u32_t frame_number;
-
- /*
- * These variables tell the guest OS what the underlying hardware looks like
- */
- u32_t caps;
- u32_t xres;
- u32_t yres;
- u32_t fb_align;
- u8_t bpp;
- u8_t rbits;
- u8_t gbits;
- u8_t bbits;
- u8_t rshift;
- u8_t gshift;
- u8_t bshift;
-};
-
-/*
- * Devtree node for VDC
- */
-struct vdc_tio_node {
- struct devtree_node dn;
-
- struct vdc_tio_vp_regs *regs;
-};
-
-extern void vdc_tio_init(void);
-
-#endif /* _ASM_UBICOM32_VDC_TIO_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/vga.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/vga.h
deleted file mode 100644
index 793435f..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/vga.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * arch/ubicom32/include/asm/vga.h
- * Ubicom32 low level VGA/frame buffer definitions.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- * (c) 1998 Martin Mares <mj@ucw.cz>
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-
-#ifndef _ASM_UBICOM32_VGA_H
-#define _ASM_UBICOM32_VGA_H
-
-#include <asm/byteorder.h>
-
-/*
- * On the PC, we can just recalculate addresses and then
- * access the videoram directly without any black magic.
- */
-
-#define VGA_MAP_MEM(x, s) (0xb0000000L + (unsigned long)(x))
-
-#define vga_readb(x) (*(x))
-#define vga_writeb(x, y) (*(y) = (x))
-
-#define VT_BUF_HAVE_RW
-/*
- * These are only needed for supporting VGA or MDA text mode, which use little
- * endian byte ordering.
- * In other cases, we can optimize by using native byte ordering and
- * <linux/vt_buffer.h> has already done the right job for us.
- */
-
-#undef scr_writew
-#undef scr_readw
-
-static inline void scr_writew(u16 val, volatile u16 *addr)
-{
- *addr = cpu_to_le16(val);
-}
-
-static inline u16 scr_readw(volatile const u16 *addr)
-{
- return le16_to_cpu(*addr);
-}
-
-#define scr_memcpyw(d, s, c) memcpy(d, s, c)
-#define scr_memmovew(d, s, c) memmove(d, s, c)
-#define VT_BUF_HAVE_MEMCPYW
-#define VT_BUF_HAVE_MEMMOVEW
-
-#endif /* _ASM_UBICOM32_VGA_H */
diff --git a/target/linux/ubicom32/files/arch/ubicom32/include/asm/xor.h b/target/linux/ubicom32/files/arch/ubicom32/include/asm/xor.h
deleted file mode 100644
index 31edcce..0000000
--- a/target/linux/ubicom32/files/arch/ubicom32/include/asm/xor.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * arch/ubicom32/include/asm/xor.h
- * Generic xor.h definitions for Ubicom32 architecture.
- *
- * (C) Copyright 2009, Ubicom, Inc.
- *
- * This file is part of the Ubicom32 Linux Kernel Port.
- *
- * The Ubicom32 Linux Kernel Port is free software: you can redistribute
- * it and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 2 of the
- * License, or (at your option) any later version.
- *
- * The Ubicom32 Linux Kernel Port is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with the Ubicom32 Linux Kernel Port. If not,
- * see <http://www.gnu.org/licenses/>.
- *
- * Ubicom32 implementation derived from (with many thanks):
- * arch/m68knommu
- * arch/blackfin
- * arch/parisc
- */
-#ifndef _ASM_UBICOM32_XOR_H
-#define _ASM_UBICOM32_XOR_H
-
-#include <asm-generic/xor.h>
-
-#endif /* _ASM_UBICOM32_XOR_H */