diff options
author | Dean Nelson <dcn@sgi.com> | 2005-03-21 21:41:00 -0500 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-05-03 15:07:46 -0400 |
commit | 2e34f07ff0c944399a6456e2d91cf0ca1d9a497c (patch) | |
tree | d09796e3f37d7cd809eceb5d931f1e2171a32f5b /include/asm-ia64 | |
parent | ce0a3956b32650e229b68964c4400bbdc5ad3ca1 (diff) |
[PATCH] move cnodeid_to_nasid_table out of pda
Another step in the effort to eliminate the SN pda structure.
This patch moves the cnodeid_to_nasid_table field out of the pda,
making it a standalone per-cpu data item, and exports it so it can
be accessed by kernel modules.
Signed-off-by: Dean Nelson <dcn@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/sn/arch.h | 11 | ||||
-rw-r--r-- | include/asm-ia64/sn/pda.h | 1 | ||||
-rw-r--r-- | include/asm-ia64/sn/sn_cpuid.h | 7 |
3 files changed, 12 insertions, 7 deletions
diff --git a/include/asm-ia64/sn/arch.h b/include/asm-ia64/sn/arch.h index 7c349f07916a..e6d9aa6bb561 100644 --- a/include/asm-ia64/sn/arch.h +++ b/include/asm-ia64/sn/arch.h | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * SGI specific setup. | 6 | * SGI specific setup. |
7 | * | 7 | * |
8 | * Copyright (C) 1995-1997,1999,2001-2004 Silicon Graphics, Inc. All rights reserved. | 8 | * Copyright (C) 1995-1997,1999,2001-2005 Silicon Graphics, Inc. All rights reserved. |
9 | * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) | 9 | * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) |
10 | */ | 10 | */ |
11 | #ifndef _ASM_IA64_SN_ARCH_H | 11 | #ifndef _ASM_IA64_SN_ARCH_H |
@@ -47,6 +47,15 @@ DECLARE_PER_CPU(struct sn_hub_info_s, __sn_hub_info); | |||
47 | #define MAX_COMPACT_NODES 2048 | 47 | #define MAX_COMPACT_NODES 2048 |
48 | #define CPUS_PER_NODE 4 | 48 | #define CPUS_PER_NODE 4 |
49 | 49 | ||
50 | |||
51 | /* | ||
52 | * Compact node ID to nasid mappings kept in the per-cpu data areas of each | ||
53 | * cpu. | ||
54 | */ | ||
55 | DECLARE_PER_CPU(short, __sn_cnodeid_to_nasid[MAX_NUMNODES]); | ||
56 | #define sn_cnodeid_to_nasid (&__get_cpu_var(__sn_cnodeid_to_nasid[0])) | ||
57 | |||
58 | |||
50 | extern void sn_flush_all_caches(long addr, long bytes); | 59 | extern void sn_flush_all_caches(long addr, long bytes); |
51 | 60 | ||
52 | #endif /* _ASM_IA64_SN_ARCH_H */ | 61 | #endif /* _ASM_IA64_SN_ARCH_H */ |
diff --git a/include/asm-ia64/sn/pda.h b/include/asm-ia64/sn/pda.h index cd19f17bf91a..a5340cfe9bab 100644 --- a/include/asm-ia64/sn/pda.h +++ b/include/asm-ia64/sn/pda.h | |||
@@ -49,7 +49,6 @@ typedef struct pda_s { | |||
49 | 49 | ||
50 | unsigned long sn_soft_irr[4]; | 50 | unsigned long sn_soft_irr[4]; |
51 | unsigned long sn_in_service_ivecs[4]; | 51 | unsigned long sn_in_service_ivecs[4]; |
52 | short cnodeid_to_nasid_table[MAX_NUMNODES]; | ||
53 | int sn_lb_int_war_ticks; | 52 | int sn_lb_int_war_ticks; |
54 | int sn_last_irq; | 53 | int sn_last_irq; |
55 | int sn_first_irq; | 54 | int sn_first_irq; |
diff --git a/include/asm-ia64/sn/sn_cpuid.h b/include/asm-ia64/sn/sn_cpuid.h index 685435af170d..6b44290aaab4 100644 --- a/include/asm-ia64/sn/sn_cpuid.h +++ b/include/asm-ia64/sn/sn_cpuid.h | |||
@@ -4,7 +4,7 @@ | |||
4 | * License. See the file "COPYING" in the main directory of this archive | 4 | * License. See the file "COPYING" in the main directory of this archive |
5 | * for more details. | 5 | * for more details. |
6 | * | 6 | * |
7 | * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. | 7 | * Copyright (C) 2000-2005 Silicon Graphics, Inc. All rights reserved. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | 10 | ||
@@ -123,11 +123,8 @@ extern int nasid_slice_to_cpuid(int, int); | |||
123 | 123 | ||
124 | /* | 124 | /* |
125 | * cnodeid_to_nasid - convert a cnodeid to a NASID | 125 | * cnodeid_to_nasid - convert a cnodeid to a NASID |
126 | * Macro relies on pg_data for a node being on the node itself. | ||
127 | * Just extract the NASID from the pointer. | ||
128 | * | ||
129 | */ | 126 | */ |
130 | #define cnodeid_to_nasid(cnodeid) pda->cnodeid_to_nasid_table[cnodeid] | 127 | #define cnodeid_to_nasid(cnodeid) (sn_cnodeid_to_nasid[cnodeid]) |
131 | 128 | ||
132 | /* | 129 | /* |
133 | * nasid_to_cnodeid - convert a NASID to a cnodeid | 130 | * nasid_to_cnodeid - convert a NASID to a cnodeid |