|
@@ -55,7 +55,6 @@
|
|
|
#define SN_SAL_BUS_CONFIG 0x02000037
|
|
|
#define SN_SAL_SYS_SERIAL_GET 0x02000038
|
|
|
#define SN_SAL_PARTITION_SERIAL_GET 0x02000039
|
|
|
-#define SN_SAL_SYSCTL_PARTITION_GET 0x0200003a
|
|
|
#define SN_SAL_SYSTEM_POWER_DOWN 0x0200003b
|
|
|
#define SN_SAL_GET_MASTER_BASEIO_NASID 0x0200003c
|
|
|
#define SN_SAL_COHERENCE 0x0200003d
|
|
@@ -586,35 +585,6 @@ sn_partition_serial_number_val(void) {
|
|
|
return sn_partition_serial_number;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Returns the partition id of the nasid passed in as an argument,
|
|
|
- * or INVALID_PARTID if the partition id cannot be retrieved.
|
|
|
- */
|
|
|
-static inline partid_t
|
|
|
-ia64_sn_sysctl_partition_get(nasid_t nasid)
|
|
|
-{
|
|
|
- struct ia64_sal_retval ret_stuff;
|
|
|
- ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_SYSCTL_PARTITION_GET, nasid,
|
|
|
- 0, 0, 0, 0, 0, 0);
|
|
|
- if (ret_stuff.status != 0)
|
|
|
- return INVALID_PARTID;
|
|
|
- return ((partid_t)ret_stuff.v0);
|
|
|
-}
|
|
|
-
|
|
|
-/*
|
|
|
- * Returns the partition id of the current processor.
|
|
|
- */
|
|
|
-
|
|
|
-extern partid_t sn_partid;
|
|
|
-
|
|
|
-static inline partid_t
|
|
|
-sn_local_partid(void) {
|
|
|
- if (unlikely(sn_partid < 0)) {
|
|
|
- sn_partid = ia64_sn_sysctl_partition_get(cpuid_to_nasid(smp_processor_id()));
|
|
|
- }
|
|
|
- return sn_partid;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Returns the physical address of the partition's reserved page through
|
|
|
* an iterative number of calls.
|
|
@@ -1020,24 +990,6 @@ ia64_sn_get_sn_info(int fc, u8 *shubtype, u16 *nasid_bitmask, u8 *nasid_shift,
|
|
|
ret_stuff.v2 = 0;
|
|
|
SAL_CALL_NOLOCK(ret_stuff, SN_SAL_GET_SN_INFO, fc, 0, 0, 0, 0, 0, 0);
|
|
|
|
|
|
-/***** BEGIN HACK - temp til old proms no longer supported ********/
|
|
|
- if (ret_stuff.status == SALRET_NOT_IMPLEMENTED) {
|
|
|
- int nasid = get_sapicid() & 0xfff;;
|
|
|
-#define SH_SHUB_ID_NODES_PER_BIT_MASK 0x001f000000000000UL
|
|
|
-#define SH_SHUB_ID_NODES_PER_BIT_SHFT 48
|
|
|
- if (shubtype) *shubtype = 0;
|
|
|
- if (nasid_bitmask) *nasid_bitmask = 0x7ff;
|
|
|
- if (nasid_shift) *nasid_shift = 38;
|
|
|
- if (systemsize) *systemsize = 11;
|
|
|
- if (sharing_domain_size) *sharing_domain_size = 9;
|
|
|
- if (partid) *partid = ia64_sn_sysctl_partition_get(nasid);
|
|
|
- if (coher) *coher = nasid >> 9;
|
|
|
- if (reg) *reg = (HUB_L((u64 *) LOCAL_MMR_ADDR(SH1_SHUB_ID)) & SH_SHUB_ID_NODES_PER_BIT_MASK) >>
|
|
|
- SH_SHUB_ID_NODES_PER_BIT_SHFT;
|
|
|
- return 0;
|
|
|
- }
|
|
|
-/***** END HACK *******/
|
|
|
-
|
|
|
if (ret_stuff.status < 0)
|
|
|
return ret_stuff.status;
|
|
|
|