aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-xp/xp.h
diff options
context:
space:
mode:
authorDean Nelson <dcn@sgi.com>2008-07-30 01:34:16 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-30 12:41:50 -0400
commit261f3b4979db88d29fc86aad9f76fbc0c2c6d21a (patch)
tree1cd1012b3ab52747a12e47f630b864d27af0bdf5 /drivers/misc/sgi-xp/xp.h
parent81fe7883d2c8a80a7145ad22f8cd8514d05412b9 (diff)
sgi-xp: enable building of XPC/XPNET on x86_64
Get XPC/XPNET to build on x86_64. Trying to modprobe them up on a non-UV or sn2 system will result in a -ENODEV. Signed-off-by: Dean Nelson <dcn@sgi.com> Cc: 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>
Diffstat (limited to 'drivers/misc/sgi-xp/xp.h')
-rw-r--r--drivers/misc/sgi-xp/xp.h32
1 files changed, 21 insertions, 11 deletions
diff --git a/drivers/misc/sgi-xp/xp.h b/drivers/misc/sgi-xp/xp.h
index 3054fae8b023..01bf1a2cd8ed 100644
--- a/drivers/misc/sgi-xp/xp.h
+++ b/drivers/misc/sgi-xp/xp.h
@@ -13,18 +13,17 @@
13#ifndef _DRIVERS_MISC_SGIXP_XP_H 13#ifndef _DRIVERS_MISC_SGIXP_XP_H
14#define _DRIVERS_MISC_SGIXP_XP_H 14#define _DRIVERS_MISC_SGIXP_XP_H
15 15
16#include <linux/cache.h>
17#include <linux/hardirq.h>
18#include <linux/mutex.h> 16#include <linux/mutex.h>
19#include <asm/sn/types.h> 17
20#ifdef CONFIG_IA64 18#ifdef CONFIG_IA64
21#include <asm/sn/arch.h> 19#include <asm/system.h>
20#include <asm/sn/arch.h> /* defines is_shub1() and is_shub2() */
21#define is_shub() ia64_platform_is("sn2")
22#define is_uv() ia64_platform_is("uv")
22#endif 23#endif
23 24#ifdef CONFIG_X86_64
24#ifdef USE_DBUG_ON 25#include <asm/genapic.h>
25#define DBUG_ON(condition) BUG_ON(condition) 26#define is_uv() is_uv_system()
26#else
27#define DBUG_ON(condition)
28#endif 27#endif
29 28
30#ifndef is_shub1 29#ifndef is_shub1
@@ -36,13 +35,19 @@
36#endif 35#endif
37 36
38#ifndef is_shub 37#ifndef is_shub
39#define is_shub() (is_shub1() || is_shub2()) 38#define is_shub() 0
40#endif 39#endif
41 40
42#ifndef is_uv 41#ifndef is_uv
43#define is_uv() 0 42#define is_uv() 0
44#endif 43#endif
45 44
45#ifdef USE_DBUG_ON
46#define DBUG_ON(condition) BUG_ON(condition)
47#else
48#define DBUG_ON(condition)
49#endif
50
46/* 51/*
47 * Define the maximum number of partitions the system can possibly support. 52 * Define the maximum number of partitions the system can possibly support.
48 * It is based on the maximum number of hardware partitionable regions. The 53 * It is based on the maximum number of hardware partitionable regions. The
@@ -200,7 +205,9 @@ enum xp_retval {
200 xpPayloadTooBig, /* 55: payload too large for message slot */ 205 xpPayloadTooBig, /* 55: payload too large for message slot */
201 206
202 xpUnsupported, /* 56: unsupported functionality or resource */ 207 xpUnsupported, /* 56: unsupported functionality or resource */
203 xpUnknownReason /* 57: unknown reason - must be last in enum */ 208 xpNeedMoreInfo, /* 57: more info is needed by SAL */
209
210 xpUnknownReason /* 58: unknown reason - must be last in enum */
204}; 211};
205 212
206/* 213/*
@@ -339,8 +346,11 @@ xpc_partid_to_nasids(short partid, void *nasids)
339} 346}
340 347
341extern short xp_max_npartitions; 348extern short xp_max_npartitions;
349extern short xp_partition_id;
350extern u8 xp_region_size;
342 351
343extern enum xp_retval (*xp_remote_memcpy) (void *, const void *, size_t); 352extern enum xp_retval (*xp_remote_memcpy) (void *, const void *, size_t);
353extern int (*xp_cpu_to_nasid) (int);
344 354
345extern u64 xp_nofault_PIOR_target; 355extern u64 xp_nofault_PIOR_target;
346extern int xp_nofault_PIOR(void *); 356extern int xp_nofault_PIOR(void *);