Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Vineet Gupta <Vineet.Gupta1 <at> synopsys.com>
Subject: [RFC Patch v1 00/31] Synopsys ARC Linux kernel Port
Newsgroups: gmane.linux.kernel
Date: Wednesday 7th November 2012 09:47:23 UTC (over 3 years ago)
Hi,

This patchset based off-of 3.7-rc3, introduces the Linux kernel port to
ARC700 processor family (750D and 770D) from Synopsys.

ARC700 is highly configurable and power efficient 32-bit RISC core with
MMU.
It is embedded in SoCs deployed in TV Set Top boxes, Digital Media Players,
all the way to Network-on-Chips.

More information is available @
    http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/Pages/default.aspx

This series is part #1 of the entire port - just enough to build the kernel
and bring up a Busybox shell on console (on ARCAngel4 FPGA ref platform)
The console driver has already been accepted/merged into tty-next tree for
3.8

The part #2 series containing additional features
ptrace/SMP/perf/OProfile..
will follow as we move along the review cycle. It has been withheld just to
make it easier for reviewers.

The entire series however is available at
    git://github.com/foss-for-synopsys-dwc-arc-processors/linux.git
arc-3.7-rc3

The GNU tool-chain, based off of gcc 4.4  + uClibc 0.9.30.3 is also
available
from github. Please refer to Readme.md in "toolchain" repository also in
same
hierarchy as kernel above.

We are already working on a buildroot based distro, to be made available
soon.

More info about the kernel port can also be found in the ELCE-Barclone '12
talk on same topic.

    https://raw.github.com/vineetgarc/publish/master/ELCE-2012-ARC-Linux.pdf

All comments/criticisms are welcome !

P.S. Despite 3.7 based, we are still short of the UAPI split for arch
headers.
That is also being worked upon with help from David. That will show up in
v2
of the patchseries.

Thx,
-Vineet

Vineet Gupta (31):
  ARC: Generic Headers
  ARC: irqflags
  ARC: atomic/bitops/cmpxchg/barriers
  asm-generic headers: uaccess.h to conditionally define segment_eq()
  ARC: uaccess friends
  asm-generic headers: Allow yet more arch overrides in checksum.h
  ARC: checksum/byteorder/swab routines
  ARC: Fundamental ARCH data-types/defines
  ARC: spinlock/rwlock/mutex primitives
  ARC: string library
  ARC: Low level IRQ/Trap/Exception(non-MMU) Handling
  ARC: Interrupt Handling
  ARC: Non-MMU Exception Handling
  ARC: syscall support
  ARC: Process/scheduling/clock/Timers/Delay Management
  ARC: Signal handling
  ARC: Cache Flush Management
  ARC: Page Table Management
  ARC: MMU Context Management
  ARC: MMU Exception Handling
  ARC: TLB flush Handling
  ARC: Page Fault handling (incl uaccess fixup)
  ARC: I/O and DMA Mappings
  ARC: startup #1: low-level, setup_arch(), /proc/cpuinfo, mem init
  ARC: [plat-arcfpga] Hooking up platform to ARC UART
  ARC: Build system: Makefiles, Kconfig, Linker script
  ARC: Last bits (stubs) to get to a running kernel with UART
  ARC: split ret_from_fork, simplify kernel_thread()
  ARC: switch to generic kernel_thread()
  ARC: switch to generic kernel_execve() and sys_execve()
  ARC: [plat-arcfpga] defconfig

 arch/arc/Kbuild                               |    2 +
 arch/arc/Kconfig                              |  338 ++++++++++
 arch/arc/Kconfig.debug                        |   34 +
 arch/arc/Makefile                             |  115 ++++
 arch/arc/boot/Makefile                        |   27 +
 arch/arc/configs/fpga_defconfig               |  607 ++++++++++++++++++
 arch/arc/include/asm/Kbuild                   |   58 ++
 arch/arc/include/asm/arcregs.h                |  330 ++++++++++
 arch/arc/include/asm/asm-offsets.h            |    9 +
 arch/arc/include/asm/atomic.h                 |  232 +++++++
 arch/arc/include/asm/barrier.h                |   42 ++
 arch/arc/include/asm/bitops.h                 |  507 +++++++++++++++
 arch/arc/include/asm/bug.h                    |   37 ++
 arch/arc/include/asm/byteorder.h              |   18 +
 arch/arc/include/asm/cache.h                  |   75 +++
 arch/arc/include/asm/cachectl.h               |   30 +
 arch/arc/include/asm/cacheflush.h             |   67 ++
 arch/arc/include/asm/checksum.h               |  101 +++
 arch/arc/include/asm/cmpxchg.h                |  143 +++++
 arch/arc/include/asm/delay.h                  |   68 ++
 arch/arc/include/asm/dma-mapping.h            |  176 ++++++
 arch/arc/include/asm/dma.h                    |   14 +
 arch/arc/include/asm/elf.h                    |   97 +++
 arch/arc/include/asm/entry.h                  |  495 +++++++++++++++
 arch/arc/include/asm/exec.h                   |   15 +
 arch/arc/include/asm/io.h                     |   26 +
 arch/arc/include/asm/irq.h                    |   26 +
 arch/arc/include/asm/irqflags.h               |  143 +++++
 arch/arc/include/asm/kdebug.h                 |   19 +
 arch/arc/include/asm/linkage.h                |   30 +
 arch/arc/include/asm/mmu.h                    |   23 +
 arch/arc/include/asm/mmu_context.h            |  209 ++++++
 arch/arc/include/asm/module.h                 |   17 +
 arch/arc/include/asm/mutex.h                  |    9 +
 arch/arc/include/asm/page.h                   |  134 ++++
 arch/arc/include/asm/pgalloc.h                |  134 ++++
 arch/arc/include/asm/pgtable.h                |  401 ++++++++++++
 arch/arc/include/asm/processor.h              |  146 +++++
 arch/arc/include/asm/ptrace.h                 |  133 ++++
 arch/arc/include/asm/sections.h               |   17 +
 arch/arc/include/asm/segment.h                |   24 +
 arch/arc/include/asm/setup.h                  |   22 +
 arch/arc/include/asm/sigcontext.h             |   23 +
 arch/arc/include/asm/signal.h                 |   27 +
 arch/arc/include/asm/smp.h                    |   34 +
 arch/arc/include/asm/spinlock.h               |  144 +++++
 arch/arc/include/asm/spinlock_types.h         |   35 +
 arch/arc/include/asm/string.h                 |   40 ++
 arch/arc/include/asm/swab.h                   |   99 +++
 arch/arc/include/asm/switch_to.h              |   41 ++
 arch/arc/include/asm/syscall.h                |   72 +++
 arch/arc/include/asm/syscalls.h               |   30 +
 arch/arc/include/asm/thread_info.h            |  120 ++++
 arch/arc/include/asm/timex.h                  |   18 +
 arch/arc/include/asm/tlb-mmu1.h               |  104 +++
 arch/arc/include/asm/tlb.h                    |   58 ++
 arch/arc/include/asm/tlbflush.h               |   28 +
 arch/arc/include/asm/uaccess.h                |  605 ++++++++++++++++++
 arch/arc/include/asm/unistd.h                 |   46 ++
 arch/arc/include/asm/vmlinux.lds.h            |   12 +
 arch/arc/kernel/Makefile                      |   16 +
 arch/arc/kernel/arcksyms.c                    |   56 ++
 arch/arc/kernel/asm-offsets.c                 |   46 ++
 arch/arc/kernel/ctx_sw.c                      |   91 +++
 arch/arc/kernel/ctx_sw_asm.S                  |   58 ++
 arch/arc/kernel/entry.S                       |  635 +++++++++++++++++++
 arch/arc/kernel/fpu.c                         |   55 ++
 arch/arc/kernel/head.S                        |   78 +++
 arch/arc/kernel/irq.c                         |  107 ++++
 arch/arc/kernel/process.c                     |  259 ++++++++
 arch/arc/kernel/ptrace.c                      |   26 +
 arch/arc/kernel/reset.c                       |   33 +
 arch/arc/kernel/setup.c                       |  166 +++++
 arch/arc/kernel/signal.c                      |  360 +++++++++++
 arch/arc/kernel/stacktrace.c                  |   43 ++
 arch/arc/kernel/sys.c                         |   18 +
 arch/arc/kernel/time.c                        |  237 +++++++
 arch/arc/kernel/traps.c                       |  125 ++++
 arch/arc/kernel/troubleshoot.c                |   17 +
 arch/arc/kernel/vmlinux.lds.S                 |  117 ++++
 arch/arc/lib/Makefile                         |    9 +
 arch/arc/lib/memcmp.S                         |  124 ++++
 arch/arc/lib/memcpy-700.S                     |   66 ++
 arch/arc/lib/memset.S                         |   59 ++
 arch/arc/lib/strchr-700.S                     |  123 ++++
 arch/arc/lib/strcmp.S                         |   96 +++
 arch/arc/lib/strcpy-700.S                     |   70 ++
 arch/arc/lib/strlen.S                         |   83 +++
 arch/arc/mm/Makefile                          |   10 +
 arch/arc/mm/cache_arc700.c                    |  838
+++++++++++++++++++++++++
 arch/arc/mm/dma.c                             |   91 +++
 arch/arc/mm/extable.c                         |   26 +
 arch/arc/mm/fault.c                           |  228 +++++++
 arch/arc/mm/init.c                            |  185 ++++++
 arch/arc/mm/ioremap.c                         |   62 ++
 arch/arc/mm/mmap.c                            |   21 +
 arch/arc/mm/tlb.c                             |  586 +++++++++++++++++
 arch/arc/mm/tlbex.S                           |  351 +++++++++++
 arch/arc/plat-arcfpga/Kconfig                 |   33 +
 arch/arc/plat-arcfpga/Makefile                |    9 +
 arch/arc/plat-arcfpga/include/plat/dma_addr.h |   45 ++
 arch/arc/plat-arcfpga/include/plat/irq.h      |   27 +
 arch/arc/plat-arcfpga/include/plat/memmap.h   |   31 +
 arch/arc/plat-arcfpga/irq.c                   |   41 ++
 arch/arc/plat-arcfpga/platform.c              |  134 ++++
 include/asm-generic/checksum.h                |    4 +
 include/asm-generic/uaccess.h                 |    3 +-
 lib/checksum.c                                |    2 +
 108 files changed, 12585 insertions(+), 1 deletions(-)
 create mode 100644 arch/arc/Kbuild
 create mode 100644 arch/arc/Kconfig
 create mode 100644 arch/arc/Kconfig.debug
 create mode 100644 arch/arc/Makefile
 create mode 100644 arch/arc/boot/Makefile
 create mode 100644 arch/arc/configs/fpga_defconfig
 create mode 100644 arch/arc/include/asm/Kbuild
 create mode 100644 arch/arc/include/asm/arcregs.h
 create mode 100644 arch/arc/include/asm/asm-offsets.h
 create mode 100644 arch/arc/include/asm/atomic.h
 create mode 100644 arch/arc/include/asm/barrier.h
 create mode 100644 arch/arc/include/asm/bitops.h
 create mode 100644 arch/arc/include/asm/bug.h
 create mode 100644 arch/arc/include/asm/byteorder.h
 create mode 100644 arch/arc/include/asm/cache.h
 create mode 100644 arch/arc/include/asm/cachectl.h
 create mode 100644 arch/arc/include/asm/cacheflush.h
 create mode 100644 arch/arc/include/asm/checksum.h
 create mode 100644 arch/arc/include/asm/cmpxchg.h
 create mode 100644 arch/arc/include/asm/delay.h
 create mode 100644 arch/arc/include/asm/dma-mapping.h
 create mode 100644 arch/arc/include/asm/dma.h
 create mode 100644 arch/arc/include/asm/elf.h
 create mode 100644 arch/arc/include/asm/entry.h
 create mode 100644 arch/arc/include/asm/exec.h
 create mode 100644 arch/arc/include/asm/io.h
 create mode 100644 arch/arc/include/asm/irq.h
 create mode 100644 arch/arc/include/asm/irqflags.h
 create mode 100644 arch/arc/include/asm/kdebug.h
 create mode 100644 arch/arc/include/asm/linkage.h
 create mode 100644 arch/arc/include/asm/mmu.h
 create mode 100644 arch/arc/include/asm/mmu_context.h
 create mode 100644 arch/arc/include/asm/module.h
 create mode 100644 arch/arc/include/asm/mutex.h
 create mode 100644 arch/arc/include/asm/page.h
 create mode 100644 arch/arc/include/asm/pgalloc.h
 create mode 100644 arch/arc/include/asm/pgtable.h
 create mode 100644 arch/arc/include/asm/processor.h
 create mode 100644 arch/arc/include/asm/ptrace.h
 create mode 100644 arch/arc/include/asm/sections.h
 create mode 100644 arch/arc/include/asm/segment.h
 create mode 100644 arch/arc/include/asm/setup.h
 create mode 100644 arch/arc/include/asm/sigcontext.h
 create mode 100644 arch/arc/include/asm/signal.h
 create mode 100644 arch/arc/include/asm/smp.h
 create mode 100644 arch/arc/include/asm/spinlock.h
 create mode 100644 arch/arc/include/asm/spinlock_types.h
 create mode 100644 arch/arc/include/asm/string.h
 create mode 100644 arch/arc/include/asm/swab.h
 create mode 100644 arch/arc/include/asm/switch_to.h
 create mode 100644 arch/arc/include/asm/syscall.h
 create mode 100644 arch/arc/include/asm/syscalls.h
 create mode 100644 arch/arc/include/asm/thread_info.h
 create mode 100644 arch/arc/include/asm/timex.h
 create mode 100644 arch/arc/include/asm/tlb-mmu1.h
 create mode 100644 arch/arc/include/asm/tlb.h
 create mode 100644 arch/arc/include/asm/tlbflush.h
 create mode 100644 arch/arc/include/asm/uaccess.h
 create mode 100644 arch/arc/include/asm/unistd.h
 create mode 100644 arch/arc/include/asm/vmlinux.lds.h
 create mode 100644 arch/arc/kernel/Makefile
 create mode 100644 arch/arc/kernel/arcksyms.c
 create mode 100644 arch/arc/kernel/asm-offsets.c
 create mode 100644 arch/arc/kernel/ctx_sw.c
 create mode 100644 arch/arc/kernel/ctx_sw_asm.S
 create mode 100644 arch/arc/kernel/entry.S
 create mode 100644 arch/arc/kernel/fpu.c
 create mode 100644 arch/arc/kernel/head.S
 create mode 100644 arch/arc/kernel/irq.c
 create mode 100644 arch/arc/kernel/process.c
 create mode 100644 arch/arc/kernel/ptrace.c
 create mode 100644 arch/arc/kernel/reset.c
 create mode 100644 arch/arc/kernel/setup.c
 create mode 100644 arch/arc/kernel/signal.c
 create mode 100644 arch/arc/kernel/stacktrace.c
 create mode 100644 arch/arc/kernel/sys.c
 create mode 100644 arch/arc/kernel/time.c
 create mode 100644 arch/arc/kernel/traps.c
 create mode 100644 arch/arc/kernel/troubleshoot.c
 create mode 100644 arch/arc/kernel/vmlinux.lds.S
 create mode 100644 arch/arc/lib/Makefile
 create mode 100644 arch/arc/lib/memcmp.S
 create mode 100644 arch/arc/lib/memcpy-700.S
 create mode 100644 arch/arc/lib/memset.S
 create mode 100644 arch/arc/lib/strchr-700.S
 create mode 100644 arch/arc/lib/strcmp.S
 create mode 100644 arch/arc/lib/strcpy-700.S
 create mode 100644 arch/arc/lib/strlen.S
 create mode 100644 arch/arc/mm/Makefile
 create mode 100644 arch/arc/mm/cache_arc700.c
 create mode 100644 arch/arc/mm/dma.c
 create mode 100644 arch/arc/mm/extable.c
 create mode 100644 arch/arc/mm/fault.c
 create mode 100644 arch/arc/mm/init.c
 create mode 100644 arch/arc/mm/ioremap.c
 create mode 100644 arch/arc/mm/mmap.c
 create mode 100644 arch/arc/mm/tlb.c
 create mode 100644 arch/arc/mm/tlbex.S
 create mode 100644 arch/arc/plat-arcfpga/Kconfig
 create mode 100644 arch/arc/plat-arcfpga/Makefile
 create mode 100644 arch/arc/plat-arcfpga/include/plat/dma_addr.h
 create mode 100644 arch/arc/plat-arcfpga/include/plat/irq.h
 create mode 100644 arch/arc/plat-arcfpga/include/plat/memmap.h
 create mode 100644 arch/arc/plat-arcfpga/irq.c
 create mode 100644 arch/arc/plat-arcfpga/platform.c

-- 
1.7.4.1
 
CD: 3ms