All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/23] Introducing the TI Keystone platform
@ 2012-07-24  1:09 ` Cyril Chemparathy
  0 siblings, 0 replies; 88+ messages in thread
From: Cyril Chemparathy @ 2012-07-24  1:09 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-kernel, nico, will.deacon, catalin.marinas, Cyril Chemparathy

TI's scalable KeyStone II architecture includes support for both TMS320C66x
floating point DSPs and ARM Cortex-A15 clusters, for a mixture of up to 32
cores per SoC.  The solution is optimized around a high performance chip
interconnect and a rich set of on chip peripherals.  Please refer [1] for
initial technical documentation on these devices.

This patch series provides a basic Linux port for these devices, including
support for SMP, and LPAE boot.  A majority of the patches in this series are
related to LPAE functionality, imposed by the device architecture which has
system memory mapped at an address above the 4G 32-bit addressable limit.

This patch series is based on the v3.5 kernel with the smp_ops patch set
applied on top.  This series is being posted to elicit early feedback, and so
that some of these fixes may get incorporated early on into the kernel code.

  [1] - http://www.ti.com/product/tms320tci6636


Cyril Chemparathy (17):
  ARM: LPAE: use signed arithmetic for mask definitions
  ARM: LPAE: use phys_addr_t on virt <--> phys conversion
  ARM: LPAE: use phys_addr_t for membank size
  ARM: LPAE: use 64-bit pgd physical address in switch_mm()
  ARM: LPAE: use 64-bit accessors for TTBR registers
  ARM: mm: use physical addresses in highmem sanity checks
  ARM: mm: cleanup checks for membank overlap with vmalloc area
  ARM: mm: clean up membank size limit checks
  ARM: LPAE: define ARCH_LOW_ADDRESS_LIMIT for bootmem
  ARM: LPAE: factor out T1SZ and TTBR1 computations
  ARM: LPAE: allow proc override of TTB setup
  ARM: LPAE: accomodate >32-bit addresses for page table base
  ARM: add machine desc hook for early memory/paging initialization
  drivers: cma: fix addressing on PAE machines
  ARM: keystone: introducing TI Keystone platform
  ARM: keystone: enable SMP on Keystone machines
  ARM: keystone: add switch over to high physical address range

Vitaly Andrianov (6):
  ARM: LPAE: disable phys-to-virt patching on PAE systems
  ARM: LPAE: use phys_addr_t in alloc_init_pud()
  ARM: LPAE: use phys_addr_t in free_memmap()
  ARM: LPAE: use phys_addr_t for initrd location and size
  ARM: add virt_to_idmap for interconnect aliasing
  mm: bootmem: use phys_addr_t for physical addresses

 arch/arm/Kconfig                                  |   20 +++
 arch/arm/Makefile                                 |    1 +
 arch/arm/boot/dts/keystone-sim.dts                |   77 +++++++++
 arch/arm/configs/keystone_defconfig               |   23 +++
 arch/arm/include/asm/cache.h                      |    9 ++
 arch/arm/include/asm/mach/arch.h                  |    1 +
 arch/arm/include/asm/memory.h                     |   28 +++-
 arch/arm/include/asm/page.h                       |    7 +-
 arch/arm/include/asm/pgtable-3level-hwdef.h       |   10 ++
 arch/arm/include/asm/pgtable-3level.h             |    6 +-
 arch/arm/include/asm/proc-fns.h                   |   28 +++-
 arch/arm/include/asm/setup.h                      |    4 +-
 arch/arm/kernel/head.S                            |   18 ++-
 arch/arm/kernel/setup.c                           |    3 +
 arch/arm/kernel/smp.c                             |   11 +-
 arch/arm/mach-keystone/Makefile                   |    2 +
 arch/arm/mach-keystone/Makefile.boot              |    1 +
 arch/arm/mach-keystone/include/mach/debug-macro.S |   44 +++++
 arch/arm/mach-keystone/include/mach/entry-macro.S |   20 +++
 arch/arm/mach-keystone/include/mach/io.h          |   22 +++
 arch/arm/mach-keystone/include/mach/memory.h      |   51 ++++++
 arch/arm/mach-keystone/include/mach/system.h      |   30 ++++
 arch/arm/mach-keystone/include/mach/timex.h       |   21 +++
 arch/arm/mach-keystone/include/mach/uncompress.h  |   24 +++
 arch/arm/mach-keystone/include/mach/vmalloc.h     |   21 +++
 arch/arm/mach-keystone/keystone.c                 |  178 +++++++++++++++++++++
 arch/arm/mach-keystone/platsmp.c                  |   94 +++++++++++
 arch/arm/mm/context.c                             |   13 +-
 arch/arm/mm/idmap.c                               |    4 +-
 arch/arm/mm/init.c                                |   20 +--
 arch/arm/mm/mmu.c                                 |   49 ++----
 arch/arm/mm/proc-arm1026.S                        |    3 +
 arch/arm/mm/proc-mohawk.S                         |    3 +
 arch/arm/mm/proc-v6.S                             |    6 +-
 arch/arm/mm/proc-v7-2level.S                      |    7 +-
 arch/arm/mm/proc-v7-3level.S                      |   29 ++--
 arch/arm/mm/proc-v7.S                             |    2 +
 arch/arm/mm/proc-xsc3.S                           |    3 +
 drivers/base/dma-contiguous.c                     |    4 +-
 include/linux/bootmem.h                           |   30 ++--
 mm/bootmem.c                                      |   59 +++----
 41 files changed, 840 insertions(+), 146 deletions(-)
 create mode 100644 arch/arm/boot/dts/keystone-sim.dts
 create mode 100644 arch/arm/configs/keystone_defconfig
 create mode 100644 arch/arm/mach-keystone/Makefile
 create mode 100644 arch/arm/mach-keystone/Makefile.boot
 create mode 100644 arch/arm/mach-keystone/include/mach/debug-macro.S
 create mode 100644 arch/arm/mach-keystone/include/mach/entry-macro.S
 create mode 100644 arch/arm/mach-keystone/include/mach/io.h
 create mode 100644 arch/arm/mach-keystone/include/mach/memory.h
 create mode 100644 arch/arm/mach-keystone/include/mach/system.h
 create mode 100644 arch/arm/mach-keystone/include/mach/timex.h
 create mode 100644 arch/arm/mach-keystone/include/mach/uncompress.h
 create mode 100644 arch/arm/mach-keystone/include/mach/vmalloc.h
 create mode 100644 arch/arm/mach-keystone/keystone.c
 create mode 100644 arch/arm/mach-keystone/platsmp.c

-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 88+ messages in thread

end of thread, other threads:[~2012-07-31 15:35 UTC | newest]

Thread overview: 88+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-24  1:09 [RFC 00/23] Introducing the TI Keystone platform Cyril Chemparathy
2012-07-24  1:09 ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 01/23] ARM: LPAE: disable phys-to-virt patching on PAE systems Cyril Chemparathy
2012-07-24  1:09   ` Cyril Chemparathy
2012-07-24  9:41   ` Catalin Marinas
2012-07-24  9:41     ` Catalin Marinas
2012-07-24 10:43     ` Cyril Chemparathy
2012-07-24 10:43       ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 02/23] ARM: LPAE: use signed arithmetic for mask definitions Cyril Chemparathy
2012-07-24  1:09   ` Cyril Chemparathy
2012-07-24 10:05   ` Catalin Marinas
2012-07-24 10:05     ` Catalin Marinas
2012-07-24 10:52     ` Cyril Chemparathy
2012-07-24 10:52       ` Cyril Chemparathy
2012-07-31 15:35     ` Cyril Chemparathy
2012-07-31 15:35       ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 03/23] ARM: LPAE: use phys_addr_t on virt <--> phys conversion Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24 10:37   ` Catalin Marinas
2012-07-24 10:37     ` Catalin Marinas
2012-07-24 10:55     ` Cyril Chemparathy
2012-07-24 10:55       ` Cyril Chemparathy
2012-07-24 11:02       ` Catalin Marinas
2012-07-24 11:02         ` Catalin Marinas
2012-07-24  1:09 ` [RFC 04/23] ARM: LPAE: use phys_addr_t in alloc_init_pud() Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 05/23] ARM: LPAE: use phys_addr_t in free_memmap() Cyril Chemparathy
2012-07-24  1:09   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 06/23] ARM: LPAE: use phys_addr_t for initrd location and size Cyril Chemparathy
2012-07-24  1:33   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 07/23] ARM: LPAE: use phys_addr_t for membank size Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24 10:04   ` Will Deacon
2012-07-24 10:04     ` Will Deacon
2012-07-24 10:46     ` Cyril Chemparathy
2012-07-24 10:46       ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 08/23] ARM: LPAE: use 64-bit pgd physical address in switch_mm() Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 09/23] ARM: LPAE: use 64-bit accessors for TTBR registers Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 10/23] ARM: mm: use physical addresses in highmem sanity checks Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 11/23] ARM: mm: cleanup checks for membank overlap with vmalloc area Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 12/23] ARM: mm: clean up membank size limit checks Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 13/23] ARM: LPAE: define ARCH_LOW_ADDRESS_LIMIT for bootmem Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 14/23] ARM: LPAE: factor out T1SZ and TTBR1 computations Cyril Chemparathy
2012-07-24  1:38   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 15/23] ARM: LPAE: allow proc override of TTB setup Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 16/23] ARM: LPAE: accomodate >32-bit addresses for page table base Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 17/23] ARM: add machine desc hook for early memory/paging initialization Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24 14:32   ` Arnd Bergmann
2012-07-24 14:32     ` Arnd Bergmann
2012-07-24 14:47     ` Cyril Chemparathy
2012-07-24 14:47       ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 18/23] ARM: add virt_to_idmap for interconnect aliasing Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 19/23] drivers: cma: fix addressing on PAE machines Cyril Chemparathy
2012-07-24  1:38   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 20/23] mm: bootmem: use phys_addr_t for physical addresses Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 21/23] ARM: keystone: introducing TI Keystone platform Cyril Chemparathy
2012-07-24  1:38   ` Cyril Chemparathy
2012-07-24 14:46   ` Arnd Bergmann
2012-07-24 14:46     ` Arnd Bergmann
2012-07-24 17:56     ` Cyril Chemparathy
2012-07-24 17:56       ` Cyril Chemparathy
2012-07-24 18:45       ` Arnd Bergmann
2012-07-24 18:45         ` Arnd Bergmann
2012-07-24  1:09 ` [RFC 22/23] ARM: keystone: enable SMP on Keystone machines Cyril Chemparathy
2012-07-24  1:10   ` Cyril Chemparathy
2012-07-24  1:09 ` [RFC 23/23] ARM: keystone: add switch over to high physical address range Cyril Chemparathy
2012-07-24  1:33   ` Cyril Chemparathy
2012-07-24  9:49   ` Catalin Marinas
2012-07-24  9:49     ` Catalin Marinas
2012-07-24 14:39   ` Arnd Bergmann
2012-07-24 14:39     ` Arnd Bergmann
2012-07-24 14:59     ` Cyril Chemparathy
2012-07-24 14:59       ` Cyril Chemparathy
2012-07-24  9:08 ` [RFC 00/23] Introducing the TI Keystone platform Will Deacon
2012-07-24  9:08   ` Will Deacon
2012-07-24 10:41   ` Cyril Chemparathy
2012-07-24 10:41     ` Cyril Chemparathy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.