[PATCH v3 00/29] nios2 Linux kernel port
From: Ley Foon Tan
Date: Mon Sep 08 2014 - 05:37:36 EST
This is the 3rd version of patchset adds the Linux kernel port for Nios II processor from
Altera. All of the feedback from v2 patchseries has been addressed. Thanks to all who
provided feedback on the previous version.
About Nios II Cores
-------------------
Nios II is a 32-bit embedded-processor architecture designed specifically for the
Altera family of FPGAs.
More information is available at http://www.altera.com/devices/processor/nios2/ni2-index.html
Instruction set and architecture overview documents can be found on the
following page:
http://www.altera.com/literature/lit-nio2.jsp
Nios2 GCC port is in mainline and will be in the FSF 4.9 release.
The patchset are based on v3.17-rc3 and can also be found in the following git tree:
git://git.rocketboards.org/linux-socfpga-next.git nios2-upstream
v3:
* asm-generic: add generic futex for !CONFIG_SMP
* dma: empty function for dma_cache_sync()
* dma: rework for _for_device() and _for_cpu()
* irq: Enable SPARSE_IRQ and remove NR_IRQS
* irq: remove NO_IRQ
* io: move __IO_OUT[IN]_LOOP to C file
* io: add dummy implementation for in{b}{w}{l} and out{b}{w}{l}
* io: drop ioremap_writethrough() and drop ioremap_writethrough()
* signal: change to use set_current_blocked()
* signal: add error handling in setup_rt_frame()
* time: rework timer driver and use clockevent framework
* time: port to use asm-generic delay.h
* time: change __delay to use timer
* Kconfig: add define ARCH_HAS_READ_CURRENT_TIME
* change to use of_platform_populate() and default of_default_bus_match_table
* remove module_arch_cleanup
* add comment to module_alloc
* remove gpio.h, pci.h and use generic pci.h
* remove stat.h and statfs.h, use generic version.
* remove CLOCK_TICK_RATE
* update Makefile
* clean up uapi Kbuild file
* add install.sh
* remove nommu comment from license header
patchset history
-----------------
[v1] : https://lkml.org/lkml/2014/4/18/216
[v2] : https://lkml.org/lkml/2014/7/15/120
Ley Foon Tan (29):
asm-generic: add generic futex for !CONFIG_SMP
nios2: Assembly macros and definitions
nios2: Kernel booting and initialization
nios2: Exception handling
nios2: Traps exception handling
nios2: Memory management
nios2: I/O Mapping
nios2: MMU Fault handling
nios2: Page table management
nios2: Process management
nios2: Cache handling
nios2: TLB handling
nios2: Interrupt handling
nios2: DMA mapping API
Add ELF machine define for Nios2
nios2: ELF definitions
nios2: System calls handling
nios2: Signal handling support
nios2: Library functions
nios2: Device tree support
nios2: Time keeping
nios2: Cpuinfo handling
nios2: Miscellaneous header files
nios2: Nios2 registers
nios2: Module support
nios2: ptrace support
MAINTAINERS: Add nios2 maintainer
Documentation: Add documentation for Nios2 architecture
nios2: Build infrastructure
Documentation/devicetree/bindings/nios2/nios2.txt | 62 +++
Documentation/devicetree/bindings/nios2/timer.txt | 19 +
Documentation/nios2/README | 23 +
MAINTAINERS | 7 +
arch/nios2/Kconfig | 201 ++++++++
arch/nios2/Kconfig.debug | 17 +
arch/nios2/Makefile | 73 +++
arch/nios2/boot/Makefile | 52 ++
arch/nios2/boot/dts/3c120_devboard.dts | 164 ++++++
arch/nios2/boot/install.sh | 52 ++
arch/nios2/boot/linked_dtb.S | 19 +
arch/nios2/configs/3c120_defconfig | 77 +++
arch/nios2/include/asm/Kbuild | 63 +++
arch/nios2/include/asm/asm-macros.h | 309 +++++++++++
arch/nios2/include/asm/asm-offsets.h | 20 +
arch/nios2/include/asm/cache.h | 36 ++
arch/nios2/include/asm/cacheflush.h | 52 ++
arch/nios2/include/asm/checksum.h | 78 +++
arch/nios2/include/asm/cmpxchg.h | 61 +++
arch/nios2/include/asm/cpuinfo.h | 57 +++
arch/nios2/include/asm/delay.h | 21 +
arch/nios2/include/asm/dma-mapping.h | 130 +++++
arch/nios2/include/asm/elf.h | 101 ++++
arch/nios2/include/asm/entry.h | 120 +++++
arch/nios2/include/asm/io.h | 84 +++
arch/nios2/include/asm/irq.h | 28 +
arch/nios2/include/asm/irqflags.h | 69 +++
arch/nios2/include/asm/linkage.h | 25 +
arch/nios2/include/asm/mmu.h | 16 +
arch/nios2/include/asm/mmu_context.h | 66 +++
arch/nios2/include/asm/mutex.h | 1 +
arch/nios2/include/asm/page.h | 111 ++++
arch/nios2/include/asm/pgalloc.h | 86 ++++
arch/nios2/include/asm/pgtable-bits.h | 35 ++
arch/nios2/include/asm/pgtable.h | 305 +++++++++++
arch/nios2/include/asm/processor.h | 103 ++++
arch/nios2/include/asm/ptrace.h | 33 ++
arch/nios2/include/asm/registers.h | 71 +++
arch/nios2/include/asm/setup.h | 38 ++
arch/nios2/include/asm/signal.h | 22 +
arch/nios2/include/asm/string.h | 24 +
arch/nios2/include/asm/switch_to.h | 31 ++
arch/nios2/include/asm/syscall.h | 138 +++++
arch/nios2/include/asm/syscalls.h | 25 +
arch/nios2/include/asm/thread_info.h | 120 +++++
arch/nios2/include/asm/timex.h | 26 +
arch/nios2/include/asm/tlb.h | 34 ++
arch/nios2/include/asm/tlbflush.h | 46 ++
arch/nios2/include/asm/traps.h | 19 +
arch/nios2/include/asm/uaccess.h | 231 +++++++++
arch/nios2/include/asm/ucontext.h | 32 ++
arch/nios2/include/uapi/asm/Kbuild | 6 +
arch/nios2/include/uapi/asm/byteorder.h | 22 +
arch/nios2/include/uapi/asm/elf.h | 67 +++
arch/nios2/include/uapi/asm/ptrace.h | 120 +++++
arch/nios2/include/uapi/asm/sigcontext.h | 28 +
arch/nios2/include/uapi/asm/signal.h | 23 +
arch/nios2/include/uapi/asm/swab.h | 37 ++
arch/nios2/include/uapi/asm/unistd.h | 25 +
arch/nios2/kernel/Makefile | 24 +
arch/nios2/kernel/asm-offsets.c | 88 ++++
arch/nios2/kernel/cpuinfo.c | 201 ++++++++
arch/nios2/kernel/entry.S | 548 ++++++++++++++++++++
arch/nios2/kernel/head.S | 175 +++++++
arch/nios2/kernel/insnemu.S | 592 ++++++++++++++++++++++
arch/nios2/kernel/irq.c | 93 ++++
arch/nios2/kernel/misaligned.c | 255 ++++++++++
arch/nios2/kernel/module.c | 137 +++++
arch/nios2/kernel/nios2_ksyms.c | 35 ++
arch/nios2/kernel/process.c | 257 ++++++++++
arch/nios2/kernel/prom.c | 66 +++
arch/nios2/kernel/ptrace.c | 176 +++++++
arch/nios2/kernel/setup.c | 220 ++++++++
arch/nios2/kernel/signal.c | 315 ++++++++++++
arch/nios2/kernel/sys_nios2.c | 66 +++
arch/nios2/kernel/syscall_table.c | 29 ++
arch/nios2/kernel/time.c | 318 ++++++++++++
arch/nios2/kernel/traps.c | 185 +++++++
arch/nios2/kernel/vmlinux.lds.S | 75 +++
arch/nios2/lib/Makefile | 9 +
arch/nios2/lib/delay.c | 52 ++
arch/nios2/lib/io.c | 138 +++++
arch/nios2/lib/memcpy.c | 199 ++++++++
arch/nios2/lib/memmove.c | 82 +++
arch/nios2/lib/memset.c | 81 +++
arch/nios2/mm/Makefile | 14 +
arch/nios2/mm/cacheflush.c | 270 ++++++++++
arch/nios2/mm/dma-mapping.c | 185 +++++++
arch/nios2/mm/extable.c | 25 +
arch/nios2/mm/fault.c | 251 +++++++++
arch/nios2/mm/init.c | 142 ++++++
arch/nios2/mm/ioremap.c | 186 +++++++
arch/nios2/mm/mmu_context.c | 116 +++++
arch/nios2/mm/pgtable.c | 73 +++
arch/nios2/mm/tlb.c | 274 ++++++++++
arch/nios2/mm/uaccess.c | 162 ++++++
arch/nios2/platform/Kconfig.platform | 129 +++++
arch/nios2/platform/Makefile | 1 +
arch/nios2/platform/platform.c | 46 ++
include/asm-generic/futex.h | 82 +++
include/uapi/linux/elf-em.h | 1 +
101 files changed, 10334 insertions(+)
create mode 100644 Documentation/devicetree/bindings/nios2/nios2.txt
create mode 100644 Documentation/devicetree/bindings/nios2/timer.txt
create mode 100644 Documentation/nios2/README
create mode 100644 arch/nios2/Kconfig
create mode 100644 arch/nios2/Kconfig.debug
create mode 100644 arch/nios2/Makefile
create mode 100644 arch/nios2/boot/Makefile
create mode 100644 arch/nios2/boot/dts/3c120_devboard.dts
create mode 100644 arch/nios2/boot/install.sh
create mode 100644 arch/nios2/boot/linked_dtb.S
create mode 100644 arch/nios2/configs/3c120_defconfig
create mode 100644 arch/nios2/include/asm/Kbuild
create mode 100644 arch/nios2/include/asm/asm-macros.h
create mode 100644 arch/nios2/include/asm/asm-offsets.h
create mode 100644 arch/nios2/include/asm/cache.h
create mode 100644 arch/nios2/include/asm/cacheflush.h
create mode 100644 arch/nios2/include/asm/checksum.h
create mode 100644 arch/nios2/include/asm/cmpxchg.h
create mode 100644 arch/nios2/include/asm/cpuinfo.h
create mode 100644 arch/nios2/include/asm/delay.h
create mode 100644 arch/nios2/include/asm/dma-mapping.h
create mode 100644 arch/nios2/include/asm/elf.h
create mode 100644 arch/nios2/include/asm/entry.h
create mode 100644 arch/nios2/include/asm/io.h
create mode 100644 arch/nios2/include/asm/irq.h
create mode 100644 arch/nios2/include/asm/irqflags.h
create mode 100644 arch/nios2/include/asm/linkage.h
create mode 100644 arch/nios2/include/asm/mmu.h
create mode 100644 arch/nios2/include/asm/mmu_context.h
create mode 100644 arch/nios2/include/asm/mutex.h
create mode 100644 arch/nios2/include/asm/page.h
create mode 100644 arch/nios2/include/asm/pgalloc.h
create mode 100644 arch/nios2/include/asm/pgtable-bits.h
create mode 100644 arch/nios2/include/asm/pgtable.h
create mode 100644 arch/nios2/include/asm/processor.h
create mode 100644 arch/nios2/include/asm/ptrace.h
create mode 100644 arch/nios2/include/asm/registers.h
create mode 100644 arch/nios2/include/asm/setup.h
create mode 100644 arch/nios2/include/asm/signal.h
create mode 100644 arch/nios2/include/asm/string.h
create mode 100644 arch/nios2/include/asm/switch_to.h
create mode 100644 arch/nios2/include/asm/syscall.h
create mode 100644 arch/nios2/include/asm/syscalls.h
create mode 100644 arch/nios2/include/asm/thread_info.h
create mode 100644 arch/nios2/include/asm/timex.h
create mode 100644 arch/nios2/include/asm/tlb.h
create mode 100644 arch/nios2/include/asm/tlbflush.h
create mode 100644 arch/nios2/include/asm/traps.h
create mode 100644 arch/nios2/include/asm/uaccess.h
create mode 100644 arch/nios2/include/asm/ucontext.h
create mode 100644 arch/nios2/include/uapi/asm/Kbuild
create mode 100644 arch/nios2/include/uapi/asm/byteorder.h
create mode 100644 arch/nios2/include/uapi/asm/elf.h
create mode 100644 arch/nios2/include/uapi/asm/ptrace.h
create mode 100644 arch/nios2/include/uapi/asm/sigcontext.h
create mode 100644 arch/nios2/include/uapi/asm/signal.h
create mode 100644 arch/nios2/include/uapi/asm/swab.h
create mode 100644 arch/nios2/include/uapi/asm/unistd.h
create mode 100644 arch/nios2/kernel/Makefile
create mode 100644 arch/nios2/kernel/asm-offsets.c
create mode 100644 arch/nios2/kernel/cpuinfo.c
create mode 100644 arch/nios2/kernel/entry.S
create mode 100644 arch/nios2/kernel/head.S
create mode 100644 arch/nios2/kernel/insnemu.S
create mode 100644 arch/nios2/kernel/irq.c
create mode 100644 arch/nios2/kernel/misaligned.c
create mode 100644 arch/nios2/kernel/module.c
create mode 100644 arch/nios2/kernel/nios2_ksyms.c
create mode 100644 arch/nios2/kernel/process.c
create mode 100644 arch/nios2/kernel/prom.c
create mode 100644 arch/nios2/kernel/ptrace.c
create mode 100644 arch/nios2/kernel/setup.c
create mode 100644 arch/nios2/kernel/signal.c
create mode 100644 arch/nios2/kernel/sys_nios2.c
create mode 100644 arch/nios2/kernel/syscall_table.c
create mode 100644 arch/nios2/kernel/time.c
create mode 100644 arch/nios2/kernel/traps.c
create mode 100644 arch/nios2/kernel/vmlinux.lds.S
create mode 100644 arch/nios2/lib/Makefile
create mode 100644 arch/nios2/lib/delay.c
create mode 100644 arch/nios2/lib/io.c
create mode 100644 arch/nios2/lib/memcpy.c
create mode 100644 arch/nios2/lib/memmove.c
create mode 100644 arch/nios2/lib/memset.c
create mode 100644 arch/nios2/mm/Makefile
create mode 100644 arch/nios2/mm/cacheflush.c
create mode 100644 arch/nios2/mm/dma-mapping.c
create mode 100644 arch/nios2/mm/extable.c
create mode 100644 arch/nios2/mm/fault.c
create mode 100644 arch/nios2/mm/init.c
create mode 100644 arch/nios2/mm/ioremap.c
create mode 100644 arch/nios2/mm/mmu_context.c
create mode 100644 arch/nios2/mm/pgtable.c
create mode 100644 arch/nios2/mm/tlb.c
create mode 100644 arch/nios2/mm/uaccess.c
create mode 100644 arch/nios2/platform/Kconfig.platform
create mode 100644 arch/nios2/platform/Makefile
create mode 100644 arch/nios2/platform/platform.c
--
1.8.2.1
--
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/