linux/arch
Jack Steiner 34d8a380d7 GRU Driver: hardware data structures
This series of patches adds a driver for the SGI UV GRU.  The driver is
still in development but it currently compiles for both x86_64 & IA64.
All simple regression tests pass on IA64.  Although features remain to be
added, I'd like to start the process of getting the driver into the
kernel.  Additional kernel drivers will depend on services provide by the
GRU driver.

The GRU is a hardware resource located in the system chipset.  The GRU
contains memory that is mmaped into the user address space.  This memory
is used to communicate with the GRU to perform functions such as
load/store, scatter/gather, bcopy, AMOs, etc.  The GRU is directly
accessed by user instructions using user virtual addresses.  GRU
instructions (ex., bcopy) use user virtual addresses for operands.

The GRU contains a large TLB that is functionally very similar to
processor TLBs.  Because the external contains a TLB with user virtual
address, it requires callouts from the core VM system when certain types
of changes are made to the process page tables.  There are several MMUOPS
patches currently being discussed but none has been accepted into the
kernel.  The GRU driver is built using version V18 from Andrea Arcangeli.

This patch:

Contains the definitions of the hardware GRU data structures that are used
by the driver to manage the GRU.

[akpm@linux-foundation;org: export hpage_shift]
Signed-off-by: Jack Steiner <steiner@sgi.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-30 09:41:47 -07:00
..
alpha [PATCH] sanitize __user_walk_fd() et.al. 2008-07-26 20:53:34 -04:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-28 18:14:24 -07:00
avr32 avr32: some mmc/sd cleanups 2008-07-27 13:57:36 +02:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 2008-07-26 13:23:17 -07:00
cris Merge branch 'linus' into core/generic-dma-coherent 2008-07-29 00:07:55 +02:00
frv frv: use generic show_mem() 2008-07-26 12:00:11 -07:00
h8300 h8300: use generic show_mem() 2008-07-26 12:00:11 -07:00
ia64 GRU Driver: hardware data structures 2008-07-30 09:41:47 -07:00
m32r m32r: use generic show_mem() 2008-07-26 12:00:11 -07:00
m68k m68k: use generic show_mem() 2008-07-26 12:00:11 -07:00
m68knommu m68knommu: use generic show_mem() 2008-07-26 12:00:11 -07:00
mips mips: use generic show_mem() 2008-07-26 12:00:11 -07:00
mn10300 mn10300: use generic show_mem() 2008-07-26 12:00:11 -07:00
parisc [PATCH] sanitize __user_walk_fd() et.al. 2008-07-26 20:53:34 -04:00
powerpc cpufreq acpi: only call _PPC after cpufreq ACPI init funcs got called already 2008-07-30 09:41:43 -07:00
s390 stop_machine: Wean existing callers off stop_machine_run() 2008-07-28 12:16:31 +10:00
sh Merge branch 'linus' into core/generic-dma-coherent 2008-07-29 00:07:55 +02:00
sparc sparc: Set CONFIG_HAVE_ARCH_TRACEHOOK 2008-07-27 17:34:02 -07:00
sparc64 sparc64: tracehook: CONFIG_HAVE_ARCH_TRACEHOOK 2008-07-27 17:33:07 -07:00
um uml: fix tty-related build error 2008-07-30 09:41:45 -07:00
x86 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-07-28 18:16:26 -07:00
xtensa xtensa: use generic show_mem() 2008-07-26 12:00:10 -07:00
.gitignore
Kconfig tracehook: CONFIG_HAVE_ARCH_TRACEHOOK 2008-07-26 12:00:09 -07:00