23 Jan, 2013

1 commit

  • This patch adds support for "earlyprintk=" parameter on the kernel
    command line. The format is:

    earlyprintk=[,][,]

    where is the name of the (UART) device, e.g. "pl011", is
    the I/O address. The aren't currently used.

    The mapping of the earlyprintk device is done very early during kernel
    boot and there are restrictions on which functions it can call. A
    special early_io_map() function is added which creates the mapping from
    the pre-defined EARLY_IOBASE to the device I/O address passed via the
    kernel parameter. The pgd entry corresponding to EARLY_IOBASE is
    pre-populated in head.S during kernel boot.

    Only PL011 is currently supported and it is assumed that the interface
    is already initialised by the boot loader before the kernel is started.

    Signed-off-by: Catalin Marinas
    Acked-by: Arnd Bergmann

    Catalin Marinas
     

30 Nov, 2012

1 commit


23 Oct, 2012

1 commit


17 Sep, 2012

2 commits

  • The virtual memory layout is described in
    Documentation/arm64/memory.txt. This patch adds the MMU definitions for
    the 4KB and 64KB translation table configurations. The SECTION_SIZE is
    2MB with 4KB page and 512MB with 64KB page configuration.

    PHYS_OFFSET is calculated at run-time and stored in a variable (no
    run-time code patching at this stage).

    On the current implementation, both user and kernel address spaces are
    512G (39-bit) each with a maximum of 256G for the RAM linear mapping.
    Linux uses 3 levels of translation tables with the 4K page configuration
    and 2 levels with the 64K configuration. Extending the memory space
    beyond 39-bit with the 4K pages or 42-bit with 64K pages requires an
    additional level of translation tables.

    The SPARSEMEM configuration is global to all AArch64 platforms and
    allows for 1GB sections with SPARSEMEM_VMEMMAP enabled by default.

    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas
    Acked-by: Tony Lindgren
    Acked-by: Nicolas Pitre
    Acked-by: Olof Johansson
    Acked-by: Santosh Shilimkar
    Acked-by: Arnd Bergmann

    Catalin Marinas
     
  • The patch adds the kernel booting and the initial setup code.
    Documentation/arm64/booting.txt describes the booting protocol on the
    AArch64 Linux kernel. This is subject to change following the work on
    boot standardisation, ACPI.

    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas
    Acked-by: Nicolas Pitre
    Acked-by: Tony Lindgren
    Acked-by: Olof Johansson
    Acked-by: Santosh Shilimkar
    Acked-by: Arnd Bergmann

    Catalin Marinas