patch-2.4.23 linux-2.4.23/arch/ia64/sn/io/sn2/ml_SN_init.c
Next file: linux-2.4.23/arch/ia64/sn/io/sn2/ml_SN_intr.c
Previous file: linux-2.4.23/arch/ia64/sn/io/sn2/l1_command.c
Back to the patch index
Back to the overall index
- Lines: 86
- Date:
2003-11-28 10:26:19.000000000 -0800
- Orig file:
linux-2.4.22/arch/ia64/sn/io/sn2/ml_SN_init.c
- Orig date:
2003-08-25 04:44:39.000000000 -0700
diff -urN linux-2.4.22/arch/ia64/sn/io/sn2/ml_SN_init.c linux-2.4.23/arch/ia64/sn/io/sn2/ml_SN_init.c
@@ -25,49 +25,6 @@
extern xwidgetnum_t hub_widget_id(nasid_t);
-extern void iograph_early_init(void);
-
-nasid_t master_nasid = INVALID_NASID; /* This is the partition master nasid */
-nasid_t master_baseio_nasid = INVALID_NASID; /* This is the master base I/O nasid */
-
-
-/*
- * mlreset(void)
- * very early machine reset - at this point NO interrupts have been
- * enabled; nor is memory, tlb, p0, etc setup.
- *
- * slave is zero when mlreset is called for the master processor and
- * is nonzero thereafter.
- */
-
-
-void
-mlreset(int slave)
-{
- /*
- * We are the master cpu and node.
- */
- master_nasid = get_nasid();
- set_master_bridge_base();
-
- /* We're the master processor */
- master_procid = smp_processor_id();
- master_nasid = cpuid_to_nasid(master_procid);
-
- /*
- * master_nasid we get back better be same as one from
- * get_nasid()
- */
- ASSERT_ALWAYS(master_nasid == get_nasid());
-
- /* early initialization of iograph */
- iograph_early_init();
-
- /* Initialize Hub Pseudodriver Management */
- hubdev_init();
-}
-
-
/* XXX - Move the meat of this to intr.c ? */
/*
* Set up the platform-dependent fields in the nodepda.
@@ -86,11 +43,9 @@
npda->pdinfo = (void *)hubinfo;
hubinfo->h_nodepda = npda;
hubinfo->h_cnodeid = node;
- hubinfo->h_nasid = COMPACT_TO_NASID_NODEID(node);
spin_lock_init(&hubinfo->h_crblock);
- hubinfo->h_widgetid = hub_widget_id(hubinfo->h_nasid);
npda->xbow_peer = INVALID_NASID;
/*
@@ -107,7 +62,22 @@
npda->npda_rip_last = &npda->npda_rip_first;
npda->geoid.any.type = GEO_TYPE_INVALID;
- mutex_init_locked(&npda->xbow_sema); /* init it locked? */
+ init_MUTEX_LOCKED(&npda->xbow_sema); /* init it locked? */
+}
+
+void
+init_platform_hubinfo(nodepda_t **nodepdaindr) {
+ cnodeid_t cnode;
+ hubinfo_t hubinfo;
+ nodepda_t *npda;
+
+ for (cnode = 0; cnode < numionodes; cnode++) {
+ npda = nodepdaindr[cnode];
+ hubinfo = (hubinfo_t)npda->pdinfo;
+ hubinfo->h_nasid = COMPACT_TO_NASID_NODEID(cnode);
+ /* For TIO the following returns -1 */
+ hubinfo->h_widgetid = hub_widget_id(hubinfo->h_nasid);
+ }
}
void
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)