arch/tile: finish enabling support for TILE-Gx 64-bit chip
authorChris Metcalf <cmetcalf@tilera.com>
Wed, 4 May 2011 18:38:26 +0000 (14:38 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Thu, 12 May 2011 19:52:12 +0000 (15:52 -0400)
commit18aecc2b645bbb07851b196452a2af314222069b
tree959f765f69af01046c6e26db12b45c3390799d3e
parentbe84cb43833ee40a42e08f5425d20310f16229c7
arch/tile: finish enabling support for TILE-Gx 64-bit chip

This support was partially present in the existing code (look for
"__tilegx__" ifdefs) but with this change you can build a working
kernel using the TILE-Gx toolchain and ARCH=tilegx.

Most of these files are new, generally adding a foo_64.c file
where previously there was just a foo_32.c file.

The ARCH=tilegx directive redirects to arch/tile, not arch/tilegx,
using the existing SRCARCH mechanism in the top-level Makefile.

Changes to existing files:

- <asm/bitops.h> and <asm/bitops_32.h> changed to factor the
  include of <asm-generic/bitops/non-atomic.h> in the common header.

- <asm/compat.h> and arch/tile/kernel/compat.c changed to remove
  the "const" markers I had put on compat_sys_execve() when trying
  to match some recent similar changes to the non-compat execve.
  It turns out the compat version wasn't "upgraded" to use const.

- <asm/opcode-tile_64.h> and <asm/opcode_constants_64.h> were
  previously included accidentally, with the 32-bit contents.  Now
  they have the proper 64-bit contents.

Finally, I had to hack the existing hacky drivers/input/input-compat.h
to add yet another "#ifdef" for INPUT_COMPAT_TEST (same as x86_64).

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> [drivers/input]
30 files changed:
Makefile
arch/tile/configs/tilegx_defconfig [new file with mode: 0644]
arch/tile/include/arch/chip_tilegx.h [new file with mode: 0644]
arch/tile/include/arch/interrupts_64.h [new file with mode: 0644]
arch/tile/include/arch/spr_def_64.h [new file with mode: 0644]
arch/tile/include/asm/atomic_64.h [new file with mode: 0644]
arch/tile/include/asm/bitops.h
arch/tile/include/asm/bitops_32.h
arch/tile/include/asm/bitops_64.h [new file with mode: 0644]
arch/tile/include/asm/compat.h
arch/tile/include/asm/opcode-tile_64.h
arch/tile/include/asm/opcode_constants_64.h
arch/tile/include/asm/pgtable_64.h [new file with mode: 0644]
arch/tile/include/asm/spinlock_64.h [new file with mode: 0644]
arch/tile/kernel/futex_64.S [new file with mode: 0644]
arch/tile/kernel/head_64.S [new file with mode: 0644]
arch/tile/kernel/intvec_64.S [new file with mode: 0644]
arch/tile/kernel/process.c
arch/tile/kernel/regs_64.S [new file with mode: 0644]
arch/tile/kernel/tile-desc_64.c [new file with mode: 0644]
arch/tile/lib/memchr_64.c [new file with mode: 0644]
arch/tile/lib/memcpy_64.c [new file with mode: 0644]
arch/tile/lib/memcpy_user_64.c [new file with mode: 0644]
arch/tile/lib/memset_64.c [new file with mode: 0644]
arch/tile/lib/spinlock_64.c [new file with mode: 0644]
arch/tile/lib/strchr_64.c [new file with mode: 0644]
arch/tile/lib/strlen_64.c [new file with mode: 0644]
arch/tile/lib/usercopy_64.S [new file with mode: 0644]
arch/tile/mm/migrate_64.S [new file with mode: 0644]
drivers/input/input-compat.h