patch-2.4.21 linux-2.4.21/arch/ia64/sn/io/sgi_io_sim.c
Next file: linux-2.4.21/arch/ia64/sn/io/sn1/Makefile
Previous file: linux-2.4.21/arch/ia64/sn/io/sgi_if.c
Back to the patch index
Back to the overall index
- Lines: 57
- Date:
2003-06-13 07:51:30.000000000 -0700
- Orig file:
linux-2.4.20/arch/ia64/sn/io/sgi_io_sim.c
- Orig date:
2002-08-02 17:39:43.000000000 -0700
diff -urN linux-2.4.20/arch/ia64/sn/io/sgi_io_sim.c linux-2.4.21/arch/ia64/sn/io/sgi_io_sim.c
@@ -4,7 +4,7 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 1992 - 1997, 2000-2001 Silicon Graphics, Inc. All rights reserved.
+ * Copyright (C) 1992-1997,2000-2002 Silicon Graphics, Inc. All rights reserved.
*/
#include <linux/config.h>
@@ -71,6 +71,9 @@
*/
static __psunsigned_t master_bridge_base = (__psunsigned_t)NULL;
nasid_t console_nasid = (nasid_t)-1;
+#if !defined(CONFIG_IA64_SGI_SN1)
+char master_baseio_wid;
+#endif
static char console_wid;
static char console_pcislot;
@@ -92,6 +95,7 @@
return 0;
}
+#if defined(CONFIG_IA64_SGI_SN1)
int
is_master_nasid_widget(nasid_t test_nasid, xwidgetnum_t test_wid)
{
@@ -111,6 +115,29 @@
return 0;
}
}
+#else
+int
+is_master_baseio_nasid_widget(nasid_t test_nasid, xwidgetnum_t test_wid)
+{
+ extern nasid_t master_baseio_nasid;
+
+ /*
+ * If the widget numbers are different, we're not the master.
+ */
+ if (test_wid != (xwidgetnum_t)master_baseio_wid) {
+ return 0;
+ }
+
+ /*
+ * If the NASIDs are the same or equivalent, we're the master.
+ */
+ if (check_nasid_equiv(test_nasid, master_baseio_nasid)) {
+ return 1;
+ } else {
+ return 0;
+ }
+}
+#endif /* CONFIG_IA64_SGI_SN1 */
/*
* Routines provided by ml/SN/nvram.c
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)