linux/arch/ia64
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
..
configs [IA64] move defconfig to arch/ia64/configs/ 2008-03-04 14:19:06 -08:00
dig [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
hp dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
ia32 flag parameters: pipe 2008-07-24 10:47:28 -07:00
kernel tracehook: wait_task_inactive 2008-07-26 12:00:09 -07:00
kvm KVM: ia64: Fix irq disabling leak in error handling code 2008-07-27 11:35:32 +03:00
lib [IA64] export copy_page() to modules 2007-12-07 16:10:19 -08:00
mm GRU Driver: hardware data structures 2008-07-30 09:41:47 -07:00
oprofile Combine instrumentation menus in kernel/Kconfig.instrumentation 2007-10-19 11:53:54 -07:00
pci PCI: ia64: use generic pci_enable_resources() 2008-04-20 21:47:05 -07:00
scripts [IA64] don't assume that unwcheck.py is executable 2007-12-07 14:42:08 -08:00
sn dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
uv [IA64] Fix CONFIG_IA64_SGI_UV build error 2008-06-16 09:02:03 -07:00
install.sh
Kconfig [IA64] Remove experimental status of kdump 2008-07-17 11:29:46 -07:00
Kconfig.debug
Makefile Pull pvops into release branch 2008-07-17 10:53:37 -07:00
module.lds