[PATCHv1 00/12] unicore32 core architecture

From: Guan Xuetao
Date: Sat Dec 25 2010 - 13:40:37 EST


From: Guan Xuetao <guanxuetao@xxxxxxxxxxxxxxx>

The whole patch could be fetched from:
git://git.kernel.org/pub/scm/linux/kernel/git/epip/unicore32.git
with branch name: unicore32.
And it is divided into three patch sets: core architecture files,
additional architecture files, and machine related files.

This patch set adds the core architecture support for UniCore32 ISA.

Patch 1 implements build infrastructure.

Patch 2 includes some generic headers stuff. Because all one-line asm-generic headers
are auto-generated by ASM_GENERIC_HEADERS in arch/unicore32/Makefile,
so the rest seems very little. ELF handling functions are also here.

Patch 3 includes processor and system headers. System call interface is here.
We used the similar syscall interface as ARM formerly, so the similar calls.S, unistd.h
and sys_unicore.c. While we are defining new ABI, it will use the syscall numbers in
asm-generic/unistd.h.

Patch 4 implements low level entry and setup codes.

Patch 5 implements process/thread related codes. Backtrace and stacktrace are here.

Patch 6 includes generic codes of memory management.

Patch 7 implements fault handling of memory management.

Patch 8 implements consistent device DMA handling of memory management.
DMA device operations are also here.

Patch 9 implements timer and time. RTC and PWM device drivers are also here.

Patch 10 implements interrupts and gpio. UniCore32 has 9 gpio interrupt sources.
And gpio device operations are also here.

Patch 11 implements signals.

Patch 12 implements booting process before uncompressed.

Signed-off-by: Guan Xuetao <guanxuetao@xxxxxxxxxxxxxxx>
---
arch/unicore32/.gitignore | 70 ++
arch/unicore32/Kconfig | 258 ++++++++
arch/unicore32/Kconfig.debug | 86 +++
arch/unicore32/Makefile | 153 +++++
arch/unicore32/boot/Makefile | 47 ++
arch/unicore32/boot/compressed/Makefile | 71 ++
arch/unicore32/boot/compressed/head.S | 203 ++++++
arch/unicore32/boot/compressed/misc.c | 126 ++++
arch/unicore32/boot/compressed/piggy.S.in | 6 +
arch/unicore32/boot/compressed/vmlinux.lds.in | 61 ++
arch/unicore32/configs/debug_defconfig | 208 ++++++
arch/unicore32/configs/nb0916_defconfig | 203 ++++++
arch/unicore32/include/asm/Kbuild | 4 +
arch/unicore32/include/asm/byteorder.h | 24 +
arch/unicore32/include/asm/cache.h | 27 +
arch/unicore32/include/asm/cacheflush.h | 211 ++++++
arch/unicore32/include/asm/cpu-single.h | 45 ++
arch/unicore32/include/asm/cputype.h | 33 +
arch/unicore32/include/asm/dma-mapping.h | 124 ++++
arch/unicore32/include/asm/dma.h | 23 +
arch/unicore32/include/asm/elf.h | 94 +++
arch/unicore32/include/asm/ftrace.h | 4 +
arch/unicore32/include/asm/gpio.h | 103 +++
arch/unicore32/include/asm/hwcap.h | 32 +
arch/unicore32/include/asm/irq.h | 107 +++
arch/unicore32/include/asm/irqflags.h | 53 ++
arch/unicore32/include/asm/linkage.h | 22 +
arch/unicore32/include/asm/mach/dma.h | 41 ++
arch/unicore32/include/asm/mach/map.h | 20 +
arch/unicore32/include/asm/mach/memory.h | 53 ++
arch/unicore32/include/asm/mach/uncompress.h | 34 +
arch/unicore32/include/asm/memblock.h | 20 +
arch/unicore32/include/asm/memory.h | 123 ++++
arch/unicore32/include/asm/mmu.h | 17 +
arch/unicore32/include/asm/mmu_context.h | 87 +++
arch/unicore32/include/asm/page.h | 80 +++
arch/unicore32/include/asm/pgalloc.h | 110 +++
arch/unicore32/include/asm/pgtable-hwdef.h | 55 ++
arch/unicore32/include/asm/pgtable.h | 317 +++++++++
arch/unicore32/include/asm/processor.h | 92 +++
arch/unicore32/include/asm/setup.h | 51 ++
arch/unicore32/include/asm/sigcontext.h | 61 ++
arch/unicore32/include/asm/sizes.h | 47 ++
arch/unicore32/include/asm/stacktrace.h | 31 +
arch/unicore32/include/asm/stat.h | 71 ++
arch/unicore32/include/asm/string.h | 52 ++
arch/unicore32/include/asm/system.h | 171 +++++
arch/unicore32/include/asm/thread_info.h | 152 +++++
arch/unicore32/include/asm/timex.h | 34 +
arch/unicore32/include/asm/tlb.h | 98 +++
arch/unicore32/include/asm/tlbflush.h | 192 ++++++
arch/unicore32/include/asm/traps.h | 32 +
arch/unicore32/include/asm/unistd.h | 450 +++++++++++++
arch/unicore32/kernel/Makefile | 34 +
arch/unicore32/kernel/asm-offsets.c | 112 ++++
arch/unicore32/kernel/calls.S | 390 +++++++++++
arch/unicore32/kernel/elf.c | 38 ++
arch/unicore32/kernel/entry.S | 875 +++++++++++++++++++++++++
arch/unicore32/kernel/head.S | 261 ++++++++
arch/unicore32/kernel/init_task.c | 44 ++
arch/unicore32/kernel/irq.c | 440 +++++++++++++
arch/unicore32/kernel/ksyms.c | 87 +++
arch/unicore32/kernel/module.c | 152 +++++
arch/unicore32/kernel/process.c | 389 +++++++++++
arch/unicore32/kernel/setup.c | 360 ++++++++++
arch/unicore32/kernel/setup.h | 28 +
arch/unicore32/kernel/signal.c | 571 ++++++++++++++++
arch/unicore32/kernel/signal.h | 16 +
arch/unicore32/kernel/stacktrace.c | 131 ++++
arch/unicore32/kernel/sys_unicore.c | 132 ++++
arch/unicore32/kernel/time.c | 157 +++++
arch/unicore32/kernel/traps.c | 498 ++++++++++++++
arch/unicore32/kernel/vmlinux.lds.S | 120 ++++
arch/unicore32/lib/backtrace.S | 163 +++++
arch/unicore32/mm/Kconfig | 52 ++
arch/unicore32/mm/Makefile | 15 +
arch/unicore32/mm/alignment.c | 524 +++++++++++++++
arch/unicore32/mm/cache-ucv2.S | 212 ++++++
arch/unicore32/mm/dma-swiotlb.c | 33 +
arch/unicore32/mm/extable.c | 24 +
arch/unicore32/mm/fault-unicore.c | 65 ++
arch/unicore32/mm/fault.c | 491 ++++++++++++++
arch/unicore32/mm/fault.h | 14 +
arch/unicore32/mm/flush.c | 98 +++
arch/unicore32/mm/init.c | 517 +++++++++++++++
arch/unicore32/mm/iomap.c | 56 ++
arch/unicore32/mm/ioremap.c | 261 ++++++++
arch/unicore32/mm/mm.h | 39 ++
arch/unicore32/mm/mmu.c | 494 ++++++++++++++
arch/unicore32/mm/pgd.c | 102 +++
arch/unicore32/mm/proc-macros.S | 145 ++++
arch/unicore32/mm/proc-syms.c | 28 +
arch/unicore32/mm/proc-ucv2.S | 134 ++++
arch/unicore32/mm/tlb-ucv2.S | 89 +++
drivers/staging/puv3/puv3_dma.c | 187 ++++++
drivers/staging/puv3/puv3_gpio.c | 129 ++++
drivers/staging/puv3/puv3_pwm.c | 271 ++++++++
drivers/staging/puv3/puv3_rtc.c | 388 +++++++++++
firmware/Makefile | 2 +-
99 files changed, 14256 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/