linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] MN10300: Add AM34 and SMP support
@ 2010-10-27 17:13 David Howells
  0 siblings, 0 replies; only message in thread
From: David Howells @ 2010-10-27 17:13 UTC (permalink / raw)
  To: torvalds; +Cc: dhowells, linux-am33-list, linux-kernel


These patches support for the AM34 CPU core variant of the MN10300 arch.  This
is an SMP capable core, so SMP support is added also.

Further, support for the MN2WS0060 processor (which is AM34 based), and the
ASB2364 evaluation board are added to make use of that.


There are three patches here that touch code outside of the arch:

 (#1) A patch to revert parenthesisation of numbers in asm-offset.h which
      breaks the MN10300 assembly code.

 (#6) A patch to typedef the smpcall function pointer as it's used in many
      places.

(#36) Some changes to the SMSC 911x driver to provide it with hooks by which it
      can initialise the ASB2364 board FPGA and find the MAC address in an
      alternate location.

David
---
The following changes since commit 12ba8d1e9262ce81a695795410bd9ee5c9407ba1:

  fix braino in fs: do not assign default i_ino in new_inode (2010-10-26 20:25:45 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300.git master

Akira Takeuchi (26):
      MN10300: Don't cast away the volatile in test_bit()
      MN10300: Add reads[bwl]() and writes[bwl]()
      MN10300: Provide the functions to fully disable maskable interrupts
      MN10300: Differentiate AM33_2 and AM33_3 in config
      MN10300: Move DMA engine control reg defs to MN103E010 processor directory
      MN10300: Don't hard code the cacheline size in register defs
      MN10300: Add CPU register bits for AM34
      MN10300: Remove monitor/JTAG functions
      MN10300: Cacheflush functions should take unsigned long addresses
      MN10300: SMP: Differentiate local cache flushing
      MN10300: AM34: Add cacheflushing by using the AM34 purge registers
      MN10300: Cache: Implement SMP global cache flushing
      MN10300: Make the boot wrapper able to use writeback caching
      MN10300: AM34 erratum requires MMUCTR read and write on exception entry
      MN10300: Make the use of PIDR to mark TLB entries controllable
      MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control
      MN10300: SMP TLB flushing
      MN10300: Make the FPU operate in non-lazy mode under SMP
      MN10300: Optimise do_csum()
      MN10300: Make various interrupt priority settings configurable
      MN10300: Delete idle_timestamp from irq_cpustat_t
      MN10300: And Panasonic AM34 subarch and implement SMP
      MN10300: ASB2364: Add support for SMSC911X and SMC911X
      MN10300: Update the ASB2303 defconfig
      MN10300: Create a defconfig for the ASB2364 board
      MN10300: Change "Matsushita" to "Panasonic".

David Howells (12):
      Partially revert patch that encloses asm-offset.h numbers in brackets
      mn10300: Use pci_claim_resource
      MN10300: Prevent cnt32_to_63() from being preempted in sched_clock()
      Typedef SMP call function pointer
      MN10300: Cache: Split cache bits out of arch Kconfig
      MN10300: Provide a MN10300_CACHE_ENABLED config option
      MN10300: Reorder asm/cacheflush.h to put primitives first
      MN10300: AM34: The current cacheflush routines operate by controlling tag regs
      MN10300: Allow some cacheflushes to be avoided if cache snooping is available
      MN10300: Rename __flush_tlb*() to local_flush_tlb*()
      MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA
      MN10300: Save frame pointer in thread_info struct rather than global var

Justin Chen (1):
      bitops: Change the bitmap index from int to unsigned long [mn10300]

Mark Salter (4):
      MN10300: Implement atomic ops using atomic ops unit
      MN10300: Map userspace atomic op regs as a vmalloc page
      MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support
      MN10300: Generic time support

Stoyan Gaydarov (1):
      MN10300: BUG to BUG_ON changes

 Kbuild                                             |    2 +-
 MAINTAINERS                                        |    2 +-
 arch/mn10300/Kconfig                               |  279 ++++-
 arch/mn10300/Makefile                              |    6 +
 arch/mn10300/boot/compressed/head.S                |   69 ++-
 arch/mn10300/configs/asb2303_defconfig             |    2 +
 arch/mn10300/configs/asb2364_defconfig             |   98 ++
 arch/mn10300/include/asm/atomic.h                  |  350 ++++++
 arch/mn10300/include/asm/bitops.h                  |   14 +-
 arch/mn10300/include/asm/cache.h                   |   14 +-
 arch/mn10300/include/asm/cacheflush.h              |  164 ++-
 arch/mn10300/include/asm/cpu-regs.h                |   91 ++-
 arch/mn10300/include/asm/dmactl-regs.h             |   87 +--
 arch/mn10300/include/asm/elf.h                     |   12 +-
 arch/mn10300/include/asm/exceptions.h              |    8 +-
 arch/mn10300/include/asm/fpu.h                     |  157 ++-
 arch/mn10300/include/asm/frame.inc                 |   20 +-
 arch/mn10300/include/asm/gdb-stub.h                |    2 +-
 arch/mn10300/include/asm/hardirq.h                 |    3 +-
 arch/mn10300/include/asm/highmem.h                 |    4 +-
 arch/mn10300/include/asm/intctl-regs.h             |   37 +-
 arch/mn10300/include/asm/io.h                      |   13 +
 arch/mn10300/include/asm/irq.h                     |   12 +-
 arch/mn10300/include/asm/irq_regs.h                |    6 +-
 arch/mn10300/include/asm/irqflags.h                |  111 ++-
 arch/mn10300/include/asm/mmu_context.h             |   73 +-
 arch/mn10300/include/asm/pgalloc.h                 |    1 -
 arch/mn10300/include/asm/pgtable.h                 |   88 +-
 arch/mn10300/include/asm/processor.h               |   66 +-
 arch/mn10300/include/asm/ptrace.h                  |   13 +-
 arch/mn10300/include/asm/reset-regs.h              |    2 +-
 arch/mn10300/include/asm/rtc.h                     |   11 -
 arch/mn10300/include/asm/rwlock.h                  |  125 +++
 arch/mn10300/include/asm/serial-regs.h             |   51 +-
 arch/mn10300/include/asm/serial.h                  |    8 +-
 arch/mn10300/include/asm/smp.h                     |   91 ++-
 arch/mn10300/include/asm/smsc911x.h                |    1 +
 arch/mn10300/include/asm/spinlock.h                |  179 +++-
 arch/mn10300/include/asm/spinlock_types.h          |   20 +
 arch/mn10300/include/asm/system.h                  |   73 +-
 arch/mn10300/include/asm/thread_info.h             |   18 +-
 arch/mn10300/include/asm/timer-regs.h              |  191 +++-
 arch/mn10300/include/asm/timex.h                   |   20 +-
 arch/mn10300/include/asm/tlbflush.h                |  174 +++-
 arch/mn10300/include/asm/uaccess.h                 |    6 +-
 arch/mn10300/kernel/Makefile                       |   15 +-
 arch/mn10300/kernel/asm-offsets.c                  |   11 +-
 arch/mn10300/kernel/cevt-mn10300.c                 |  131 +++
 arch/mn10300/kernel/csrc-mn10300.c                 |   35 +
 arch/mn10300/kernel/entry.S                        |  146 ++-
 arch/mn10300/kernel/fpu-low.S                      |  265 +++--
 arch/mn10300/kernel/fpu-nofpu-low.S                |   39 +
 arch/mn10300/kernel/fpu-nofpu.c                    |   30 +
 arch/mn10300/kernel/fpu.c                          |  141 +--
 arch/mn10300/kernel/gdb-io-serial-low.S            |    5 +-
 arch/mn10300/kernel/gdb-io-serial.c                |   37 +-
 arch/mn10300/kernel/gdb-io-ttysm.c                 |   24 +-
 arch/mn10300/kernel/gdb-stub.c                     |   17 +-
 arch/mn10300/kernel/head.S                         |  202 ++++-
 arch/mn10300/kernel/internal.h                     |   25 +
 arch/mn10300/kernel/irq.c                          |  276 +++++-
 arch/mn10300/kernel/kprobes.c                      |    4 +
 arch/mn10300/kernel/mn10300-serial-low.S           |    6 +-
 arch/mn10300/kernel/mn10300-serial.c               |  210 +++-
 arch/mn10300/kernel/mn10300-watchdog-low.S         |    9 +-
 arch/mn10300/kernel/mn10300-watchdog.c             |  100 +-
 arch/mn10300/kernel/process.c                      |   61 +-
 arch/mn10300/kernel/profile.c                      |    2 +-
 arch/mn10300/kernel/rtc.c                          |   41 +-
 arch/mn10300/kernel/setup.c                        |   79 +-
 arch/mn10300/kernel/signal.c                       |   20 +-
 arch/mn10300/kernel/smp-low.S                      |   97 ++
 arch/mn10300/kernel/smp.c                          | 1152 ++++++++++++++++++++
 arch/mn10300/kernel/switch_to.S                    |    7 +-
 arch/mn10300/kernel/time.c                         |  112 ++-
 arch/mn10300/kernel/traps.c                        |   42 +-
 arch/mn10300/lib/bitops.c                          |    4 +-
 arch/mn10300/lib/delay.c                           |    8 +-
 arch/mn10300/lib/do_csum.S                         |   49 +-
 arch/mn10300/mm/Kconfig.cache                      |  101 ++
 arch/mn10300/mm/Makefile                           |   14 +-
 arch/mn10300/mm/cache-flush-by-reg.S               |  308 ++++++
 arch/mn10300/mm/cache-flush-by-tag.S               |  251 +++++
 arch/mn10300/mm/cache-flush-icache.c               |  155 +++
 arch/mn10300/mm/cache-flush-mn10300.S              |  192 ----
 arch/mn10300/mm/cache-inv-by-reg.S                 |  356 ++++++
 arch/mn10300/mm/cache-inv-by-tag.S                 |  348 ++++++
 arch/mn10300/mm/cache-inv-icache.c                 |  129 +++
 arch/mn10300/mm/cache-mn10300.S                    |  289 -----
 arch/mn10300/mm/cache-smp-flush.c                  |  156 +++
 arch/mn10300/mm/cache-smp-inv.c                    |  153 +++
 arch/mn10300/mm/cache-smp.c                        |  105 ++
 arch/mn10300/mm/cache-smp.h                        |   69 ++
 arch/mn10300/mm/cache.c                            |   95 +--
 arch/mn10300/mm/fault.c                            |   17 +-
 arch/mn10300/mm/init.c                             |   26 +-
 arch/mn10300/mm/misalignment.c                     |    3 +-
 arch/mn10300/mm/mmu-context.c                      |   41 +-
 arch/mn10300/mm/pgtable.c                          |    2 +-
 arch/mn10300/mm/tlb-mn10300.S                      |   59 +-
 arch/mn10300/mm/tlb-smp.c                          |  214 ++++
 arch/mn10300/proc-mn103e010/include/proc/cache.h   |    9 +
 arch/mn10300/proc-mn103e010/include/proc/clock.h   |    2 -
 .../proc-mn103e010/include/proc/dmactl-regs.h      |  102 ++
 .../proc-mn103e010/include/proc/intctl-regs.h      |   29 +
 arch/mn10300/proc-mn103e010/include/proc/proc.h    |    2 +-
 arch/mn10300/proc-mn103e010/proc-init.c            |   37 +
 arch/mn10300/proc-mn2ws0050/Makefile               |    5 +
 arch/mn10300/proc-mn2ws0050/include/proc/cache.h   |   48 +
 arch/mn10300/proc-mn2ws0050/include/proc/clock.h   |   20 +
 .../proc-mn2ws0050/include/proc/dmactl-regs.h      |  103 ++
 .../proc-mn2ws0050/include/proc/intctl-regs.h      |   29 +
 arch/mn10300/proc-mn2ws0050/include/proc/irq.h     |   49 +
 .../proc-mn2ws0050/include/proc/nand-regs.h        |  120 ++
 arch/mn10300/proc-mn2ws0050/include/proc/proc.h    |   18 +
 .../mn10300/proc-mn2ws0050/include/proc/smp-regs.h |   51 +
 arch/mn10300/proc-mn2ws0050/proc-init.c            |  134 +++
 arch/mn10300/unit-asb2303/include/unit/clock.h     |   25 +-
 arch/mn10300/unit-asb2303/include/unit/serial.h    |    5 +
 arch/mn10300/unit-asb2303/include/unit/timex.h     |  109 ++-
 arch/mn10300/unit-asb2303/unit-init.c              |   10 +-
 arch/mn10300/unit-asb2305/include/unit/clock.h     |   25 +-
 arch/mn10300/unit-asb2305/include/unit/serial.h    |    5 +
 arch/mn10300/unit-asb2305/include/unit/timex.h     |  109 ++-
 arch/mn10300/unit-asb2305/pci-asb2305.c            |   16 +-
 arch/mn10300/unit-asb2305/pci.c                    |    2 +-
 arch/mn10300/unit-asb2305/unit-init.c              |    6 +-
 arch/mn10300/unit-asb2364/Makefile                 |   12 +
 arch/mn10300/unit-asb2364/include/unit/clock.h     |   29 +
 arch/mn10300/unit-asb2364/include/unit/fpga-regs.h |   52 +
 arch/mn10300/unit-asb2364/include/unit/irq.h       |   35 +
 arch/mn10300/unit-asb2364/include/unit/leds.h      |   54 +
 arch/mn10300/unit-asb2364/include/unit/serial.h    |  151 +++
 arch/mn10300/unit-asb2364/include/unit/smsc911x.h  |  171 +++
 arch/mn10300/unit-asb2364/include/unit/timex.h     |  159 +++
 arch/mn10300/unit-asb2364/irq-fpga.c               |   96 ++
 arch/mn10300/unit-asb2364/leds.c                   |   98 ++
 arch/mn10300/unit-asb2364/smsc911x.c               |   58 +
 arch/mn10300/unit-asb2364/unit-init.c              |   88 ++
 drivers/net/Kconfig                                |   12 +-
 drivers/net/smsc911x.c                             |    3 +-
 drivers/net/smsc911x.h                             |   11 +
 include/linux/smp.h                                |   19 +-
 kernel/smp.c                                       |    8 +-
 mm/maccess.c                                       |    2 +-
 145 files changed, 9424 insertions(+), 1963 deletions(-)
 create mode 100644 arch/mn10300/configs/asb2364_defconfig
 create mode 100644 arch/mn10300/include/asm/rwlock.h
 create mode 100644 arch/mn10300/include/asm/smsc911x.h
 create mode 100644 arch/mn10300/include/asm/spinlock_types.h
 create mode 100644 arch/mn10300/kernel/cevt-mn10300.c
 create mode 100644 arch/mn10300/kernel/csrc-mn10300.c
 create mode 100644 arch/mn10300/kernel/fpu-nofpu-low.S
 create mode 100644 arch/mn10300/kernel/fpu-nofpu.c
 create mode 100644 arch/mn10300/kernel/smp-low.S
 create mode 100644 arch/mn10300/kernel/smp.c
 create mode 100644 arch/mn10300/mm/Kconfig.cache
 create mode 100644 arch/mn10300/mm/cache-flush-by-reg.S
 create mode 100644 arch/mn10300/mm/cache-flush-by-tag.S
 create mode 100644 arch/mn10300/mm/cache-flush-icache.c
 delete mode 100644 arch/mn10300/mm/cache-flush-mn10300.S
 create mode 100644 arch/mn10300/mm/cache-inv-by-reg.S
 create mode 100644 arch/mn10300/mm/cache-inv-by-tag.S
 create mode 100644 arch/mn10300/mm/cache-inv-icache.c
 delete mode 100644 arch/mn10300/mm/cache-mn10300.S
 create mode 100644 arch/mn10300/mm/cache-smp-flush.c
 create mode 100644 arch/mn10300/mm/cache-smp-inv.c
 create mode 100644 arch/mn10300/mm/cache-smp.c
 create mode 100644 arch/mn10300/mm/cache-smp.h
 create mode 100644 arch/mn10300/mm/tlb-smp.c
 create mode 100644 arch/mn10300/proc-mn103e010/include/proc/dmactl-regs.h
 create mode 100644 arch/mn10300/proc-mn103e010/include/proc/intctl-regs.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/Makefile
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/cache.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/clock.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/dmactl-regs.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/intctl-regs.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/irq.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/nand-regs.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/proc.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/include/proc/smp-regs.h
 create mode 100644 arch/mn10300/proc-mn2ws0050/proc-init.c
 create mode 100644 arch/mn10300/unit-asb2364/Makefile
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/clock.h
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/fpga-regs.h
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/irq.h
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/leds.h
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/serial.h
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/smsc911x.h
 create mode 100644 arch/mn10300/unit-asb2364/include/unit/timex.h
 create mode 100644 arch/mn10300/unit-asb2364/irq-fpga.c
 create mode 100644 arch/mn10300/unit-asb2364/leds.c
 create mode 100644 arch/mn10300/unit-asb2364/smsc911x.c
 create mode 100644 arch/mn10300/unit-asb2364/unit-init.c

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-10-27 17:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-10-27 17:13 [GIT PULL] MN10300: Add AM34 and SMP support David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).