summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-08 16:41:20 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:12:02 -0800
commit1d2f1f90a1e004b0c1b8a73ed4394a93f09104b3 (patch)
tree2fcc0840b52218631020311d7b6d785e9a15db6a /include
parent5b0c0572fcd6204675c5f7ddfa572b5017f817dd (diff)
downloadlinux-1d2f1f90a1e004b0c1b8a73ed4394a93f09104b3.tar.gz
linux-1d2f1f90a1e004b0c1b8a73ed4394a93f09104b3.tar.bz2
linux-1d2f1f90a1e004b0c1b8a73ed4394a93f09104b3.zip
[SPARC64]: Sun4v cross-call sending support.
Technically the hypervisor call supports sending in a list of all cpus to get the cross-call, but I only pass in one cpu at a time for now. The multi-cpu support is there, just ifdef'd out so it's easy to enable or delete it later. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc64/cpudata.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/include/asm-sparc64/cpudata.h b/include/asm-sparc64/cpudata.h
index 7f0a74ec47f6..338b0ca5b519 100644
--- a/include/asm-sparc64/cpudata.h
+++ b/include/asm-sparc64/cpudata.h
@@ -65,8 +65,16 @@ struct trap_per_cpu {
unsigned long nonresum_mondo_pa;
unsigned long nonresum_kernel_buf_pa;
-/* Dcache lines 3 and 4: Hypervisor Fault Status */
+/* Dcache lines 3, 4, 5, and 6: Hypervisor Fault Status */
struct hv_fault_status fault_info;
+
+/* Dcache line 7: Physical addresses of CPU send mondo block and CPU list. */
+ unsigned long cpu_mondo_block_pa;
+ unsigned long cpu_list_pa;
+ unsigned long __pad1[2];
+
+/* Dcache line 8: Unused, needed to keep trap_block a power-of-2 in size. */
+ unsigned long __pad2[4];
} __attribute__((aligned(64)));
extern struct trap_per_cpu trap_block[NR_CPUS];
extern void init_cur_cpu_trap(void);
@@ -108,8 +116,10 @@ extern struct sun4v_2insn_patch_entry __sun4v_2insn_patch,
#define TRAP_PER_CPU_NONRESUM_MONDO_PA 0x30
#define TRAP_PER_CPU_NONRESUM_KBUF_PA 0x38
#define TRAP_PER_CPU_FAULT_INFO 0x40
+#define TRAP_PER_CPU_CPU_MONDO_BLOCK_PA 0xc0
+#define TRAP_PER_CPU_CPU_LIST_PA 0xc8
-#define TRAP_BLOCK_SZ_SHIFT 7
+#define TRAP_BLOCK_SZ_SHIFT 8
#include <asm/scratchpad.h>