lkml.org 
[lkml]   [2012]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v2 00/31] AArch64 Linux kernel port
    Date
    This is the 2nd version of the set of patches implementing Linux kernel
    support for the 64-bit ARM architecture (AArch64). Thanks to all who
    provided feedback on the previous version.

    The Linux kernel patches are available on this tree:

    git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64.git upstream

    The "master" branch in the above repository tracks the development
    history.

    Main changes from the previous version (for the full log see the
    "master" branch above):

    - Kernel port directory and related functions renamed to "arm64".
    "uname -m" reports "aarch64" as per the official name.
    - NO_BOOTMEM enabled.
    - "mem=" is now used for limiting the amount of memory rather than
    specifying the memory banks (already done via FDT).
    - struct mem_type removed as static definitions are enough for
    ioremap().
    - Support for ZONE_DMA32.
    - Replaced "user_debug" with "/proc/sys/debug/exception-trace".
    - Added a generic defconfig file.
    - More clean-up (comments, code) and bug-fixes.

    The generic patches were dropped from this series as they have been pushed
    separately (and most of them already merged into mainline).


    Background to the 64-bit ARM architecture:

    ARM introduced AArch64 as part of the ARMv8 architecture and consists of
    a substantially revised exception model (with 4 exception levels: EL0 -
    user, EL1 - kernel, EL2 - hypervisor, EL3 - secure monitor), new A64
    instruction set based on larger register file, new FP/SIMD instructions.
    The new ABI is LP64 and takes advantage of the larger register file. It
    also mandates FP.

    AArch64 documentation currently available (publicly, though
    click-through agreement required):

    - Instruction Set Overview:
    http://infocenter.arm.com/help/topic/com.arm.doc.genc010197a/index.html

    - ABI (PCS, ELF, DWARF, C++):
    http://infocenter.arm.com/help/topic/com.arm.doc.ihi0059a/index.html


    Regards,

    Catalin


    Catalin Marinas (23):
    arm64: Assembly macros and definitions
    arm64: Kernel booting and initialisation
    arm64: Exception handling
    arm64: MMU definitions
    arm64: MMU initialisation
    arm64: MMU fault handling and page table management
    arm64: Process management
    arm64: CPU support
    arm64: Cache maintenance routines
    arm64: TLB maintenance functionality
    arm64: Atomic operations
    arm64: Device specific operations
    arm64: DMA mapping API
    arm64: SMP support
    arm64: ELF definitions
    arm64: System calls handling
    arm64: Signal handling support
    arm64: User access library functions
    arm64: Floating point and SIMD
    arm64: Add support for /proc/sys/debug/exception-trace
    arm64: Miscellaneous header files
    arm64: Build infrastructure
    arm64: MAINTAINERS update

    Marc Zyngier (3):
    arm64: IRQ handling
    arm64: Miscellaneous library functions
    arm64: Generic timers support

    Will Deacon (5):
    arm64: VDSO support
    arm64: 32-bit (compat) applications support
    arm64: Debugging support
    arm64: Performance counters support
    arm64: Loadable modules

    Documentation/arm64/booting.txt | 141 +++
    Documentation/arm64/memory.txt | 69 ++
    MAINTAINERS | 6 +
    arch/arm64/Kconfig | 261 +++++
    arch/arm64/Kconfig.debug | 27 +
    arch/arm64/Makefile | 71 ++
    arch/arm64/boot/.gitignore | 2 +
    arch/arm64/boot/Makefile | 38 +
    arch/arm64/boot/install.sh | 52 +
    arch/arm64/configs/generic_defconfig | 85 ++
    arch/arm64/include/asm/Kbuild | 51 +
    arch/arm64/include/asm/asm-offsets.h | 1 +
    arch/arm64/include/asm/assembler.h | 109 ++
    arch/arm64/include/asm/atomic.h | 306 ++++++
    arch/arm64/include/asm/auxvec.h | 22 +
    arch/arm64/include/asm/barrier.h | 52 +
    arch/arm64/include/asm/bitops.h | 74 ++
    arch/arm64/include/asm/bitsperlong.h | 23 +
    arch/arm64/include/asm/byteorder.h | 21 +
    arch/arm64/include/asm/cache.h | 32 +
    arch/arm64/include/asm/cacheflush.h | 209 ++++
    arch/arm64/include/asm/cachetype.h | 48 +
    arch/arm64/include/asm/cmpxchg.h | 180 ++++
    arch/arm64/include/asm/compat.h | 232 +++++
    arch/arm64/include/asm/compiler.h | 30 +
    arch/arm64/include/asm/cputype.h | 49 +
    arch/arm64/include/asm/debug-monitors.h | 88 ++
    arch/arm64/include/asm/device.h | 26 +
    arch/arm64/include/asm/dma-mapping.h | 124 +++
    arch/arm64/include/asm/elf.h | 176 ++++
    arch/arm64/include/asm/exception.h | 23 +
    arch/arm64/include/asm/exec.h | 23 +
    arch/arm64/include/asm/fb.h | 34 +
    arch/arm64/include/asm/fcntl.h | 29 +
    arch/arm64/include/asm/fpsimd.h | 64 ++
    arch/arm64/include/asm/futex.h | 134 +++
    arch/arm64/include/asm/hardirq.h | 52 +
    arch/arm64/include/asm/hw_breakpoint.h | 137 +++
    arch/arm64/include/asm/hwcap.h | 57 +
    arch/arm64/include/asm/io.h | 263 +++++
    arch/arm64/include/asm/irq.h | 8 +
    arch/arm64/include/asm/irqflags.h | 91 ++
    arch/arm64/include/asm/memblock.h | 21 +
    arch/arm64/include/asm/memory.h | 144 +++
    arch/arm64/include/asm/mmu.h | 27 +
    arch/arm64/include/asm/mmu_context.h | 152 +++
    arch/arm64/include/asm/module.h | 23 +
    arch/arm64/include/asm/page.h | 67 ++
    arch/arm64/include/asm/param.h | 23 +
    arch/arm64/include/asm/perf_event.h | 22 +
    arch/arm64/include/asm/pgalloc.h | 113 ++
    arch/arm64/include/asm/pgtable-2level-hwdef.h | 43 +
    arch/arm64/include/asm/pgtable-2level-types.h | 60 ++
    arch/arm64/include/asm/pgtable-3level-hwdef.h | 50 +
    arch/arm64/include/asm/pgtable-3level-types.h | 66 ++
    arch/arm64/include/asm/pgtable-hwdef.h | 94 ++
    arch/arm64/include/asm/pgtable.h | 328 ++++++
    arch/arm64/include/asm/pmu.h | 82 ++
    arch/arm64/include/asm/proc-fns.h | 51 +
    arch/arm64/include/asm/processor.h | 174 ++++
    arch/arm64/include/asm/procinfo.h | 44 +
    arch/arm64/include/asm/prom.h | 1 +
    arch/arm64/include/asm/ptrace.h | 206 ++++
    arch/arm64/include/asm/setup.h | 26 +
    arch/arm64/include/asm/shmparam.h | 28 +
    arch/arm64/include/asm/sigcontext.h | 69 ++
    arch/arm64/include/asm/siginfo.h | 23 +
    arch/arm64/include/asm/signal.h | 24 +
    arch/arm64/include/asm/signal32.h | 54 +
    arch/arm64/include/asm/smp.h | 69 ++
    arch/arm64/include/asm/sparsemem.h | 24 +
    arch/arm64/include/asm/spinlock.h | 199 ++++
    arch/arm64/include/asm/spinlock_types.h | 38 +
    arch/arm64/include/asm/stacktrace.h | 29 +
    arch/arm64/include/asm/stat.h | 63 ++
    arch/arm64/include/asm/statfs.h | 23 +
    arch/arm64/include/asm/syscall.h | 101 ++
    arch/arm64/include/asm/syscalls.h | 40 +
    arch/arm64/include/asm/system_misc.h | 54 +
    arch/arm64/include/asm/thread_info.h | 124 +++
    arch/arm64/include/asm/timex.h | 32 +
    arch/arm64/include/asm/tlb.h | 190 ++++
    arch/arm64/include/asm/tlbflush.h | 123 +++
    arch/arm64/include/asm/traps.h | 30 +
    arch/arm64/include/asm/uaccess.h | 377 +++++++
    arch/arm64/include/asm/ucontext.h | 30 +
    arch/arm64/include/asm/unistd.h | 27 +
    arch/arm64/include/asm/unistd32.h | 758 ++++++++++++++
    arch/arm64/include/asm/vdso.h | 41 +
    arch/arm64/include/asm/vdso_datapage.h | 43 +
    arch/arm64/kernel/.gitignore | 1 +
    arch/arm64/kernel/Makefile | 27 +
    arch/arm64/kernel/arm64ksyms.c | 55 +
    arch/arm64/kernel/asm-offsets.c | 108 ++
    arch/arm64/kernel/debug-monitors.c | 288 ++++++
    arch/arm64/kernel/elf.c | 41 +
    arch/arm64/kernel/entry-fpsimd.S | 80 ++
    arch/arm64/kernel/entry.S | 695 +++++++++++++
    arch/arm64/kernel/fpsimd.c | 106 ++
    arch/arm64/kernel/head.S | 521 ++++++++++
    arch/arm64/kernel/hw_breakpoint.c | 880 ++++++++++++++++
    arch/arm64/kernel/io.c | 64 ++
    arch/arm64/kernel/irq.c | 84 ++
    arch/arm64/kernel/kuser32.S | 77 ++
    arch/arm64/kernel/module.c | 456 ++++++++
    arch/arm64/kernel/perf_event.c | 1368 +++++++++++++++++++++++++
    arch/arm64/kernel/process.c | 416 ++++++++
    arch/arm64/kernel/ptrace.c | 834 +++++++++++++++
    arch/arm64/kernel/setup.c | 357 +++++++
    arch/arm64/kernel/signal.c | 436 ++++++++
    arch/arm64/kernel/signal32.c | 876 ++++++++++++++++
    arch/arm64/kernel/smp.c | 469 +++++++++
    arch/arm64/kernel/stacktrace.c | 127 +++
    arch/arm64/kernel/sys.c | 138 +++
    arch/arm64/kernel/sys32.S | 283 +++++
    arch/arm64/kernel/sys_compat.c | 177 ++++
    arch/arm64/kernel/time.c | 65 ++
    arch/arm64/kernel/traps.c | 357 +++++++
    arch/arm64/kernel/vdso.c | 261 +++++
    arch/arm64/kernel/vdso/.gitignore | 2 +
    arch/arm64/kernel/vdso/Makefile | 63 ++
    arch/arm64/kernel/vdso/gen_vdso_offsets.sh | 15 +
    arch/arm64/kernel/vdso/gettimeofday.S | 242 +++++
    arch/arm64/kernel/vdso/note.S | 28 +
    arch/arm64/kernel/vdso/sigreturn.S | 37 +
    arch/arm64/kernel/vdso/vdso.S | 33 +
    arch/arm64/kernel/vdso/vdso.lds.S | 100 ++
    arch/arm64/kernel/vmlinux.lds.S | 146 +++
    arch/arm64/lib/Makefile | 5 +
    arch/arm64/lib/bitops.c | 25 +
    arch/arm64/lib/clear_page.S | 39 +
    arch/arm64/lib/clear_user.S | 58 ++
    arch/arm64/lib/copy_from_user.S | 66 ++
    arch/arm64/lib/copy_in_user.S | 63 ++
    arch/arm64/lib/copy_page.S | 46 +
    arch/arm64/lib/copy_to_user.S | 61 ++
    arch/arm64/lib/delay.c | 55 +
    arch/arm64/lib/getuser.S | 75 ++
    arch/arm64/lib/putuser.S | 73 ++
    arch/arm64/lib/strncpy_from_user.S | 50 +
    arch/arm64/lib/strnlen_user.S | 47 +
    arch/arm64/mm/Kconfig | 5 +
    arch/arm64/mm/Makefile | 6 +
    arch/arm64/mm/cache.S | 279 +++++
    arch/arm64/mm/context.c | 159 +++
    arch/arm64/mm/copypage.c | 34 +
    arch/arm64/mm/dma-mapping.c | 208 ++++
    arch/arm64/mm/extable.c | 17 +
    arch/arm64/mm/fault.c | 534 ++++++++++
    arch/arm64/mm/flush.c | 132 +++
    arch/arm64/mm/init.c | 416 ++++++++
    arch/arm64/mm/ioremap.c | 84 ++
    arch/arm64/mm/mm.h | 2 +
    arch/arm64/mm/mmap.c | 144 +++
    arch/arm64/mm/mmu.c | 395 +++++++
    arch/arm64/mm/pgd.c | 49 +
    arch/arm64/mm/proc-macros.S | 55 +
    arch/arm64/mm/proc-syms.c | 31 +
    arch/arm64/mm/proc.S | 193 ++++
    arch/arm64/mm/tlb.S | 71 ++
    drivers/clocksource/Kconfig | 5 +
    drivers/clocksource/Makefile | 1 +
    drivers/clocksource/arm_generic.c | 309 ++++++
    include/clocksource/arm_generic.h | 21 +
    init/Kconfig | 3 +-
    kernel/sysctl.c | 2 +-
    lib/Kconfig.debug | 6 +-
    tools/perf/perf.h | 6 +
    168 files changed, 22089 insertions(+), 4 deletions(-)



    \
     
     \ /
      Last update: 2012-08-14 20:42    [W:0.051 / U:1.904 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site