sgi-xp: prepare xpc_rsvd_page to work on either sn2 or uv hardware
[firefly-linux-kernel-4.4.55.git] / drivers / misc / sgi-xp / xpc_uv.c
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (c) 2008 Silicon Graphics, Inc.  All Rights Reserved.
7  */
8
9 /*
10  * Cross Partition Communication (XPC) uv-based functions.
11  *
12  *     Architecture specific implementation of common functions.
13  *
14  */
15
16 #include <linux/kernel.h>
17
18 /* >>> #include <gru/grukservices.h> */
19 /* >>> uv_gpa() is defined in <gru/grukservices.h> */
20 #define uv_gpa(_a)              ((unsigned long)_a)
21
22 /* >>> temporarily define next three items for xpc.h */
23 #define SGI_XPC_ACTIVATE        23
24 #define SGI_XPC_NOTIFY          24
25 #define sn_send_IPI_phys(_a, _b, _c, _d)
26
27 #include "xpc.h"
28
29 static void *xpc_activate_mq;
30
31 static enum xp_retval
32 xpc_rsvd_page_init_uv(struct xpc_rsvd_page *rp)
33 {
34         /* >>> need to have established xpc_activate_mq earlier */
35         rp->sn.activate_mq_gpa = uv_gpa(xpc_activate_mq);
36         return xpSuccess;
37 }
38
39 void
40 xpc_init_uv(void)
41 {
42         xpc_rsvd_page_init = xpc_rsvd_page_init_uv;
43 }
44
45 void
46 xpc_exit_uv(void)
47 {
48 }