lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed,  7 Nov 2012 10:47:23 +0100
From:	Vineet Gupta <Vineet.Gupta1@...opsys.com>
To:	linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org
Cc:	tglx@...utronix.de, arnd@...db.de,
	Vineet Gupta <Vineet.Gupta1@...opsys.com>
Subject: [RFC Patch v1 00/31] Synopsys ARC Linux kernel Port

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ