.. | .. |
---|
37 | 37 | #define UATTR_MSPEC 2 |
---|
38 | 38 | #define UATTR_UNCAC 3 |
---|
39 | 39 | |
---|
| 40 | +#ifdef __ASSEMBLY__ |
---|
| 41 | +/* |
---|
| 42 | + * Returns the local nasid into res. |
---|
| 43 | + */ |
---|
| 44 | + .macro GET_NASID_ASM res |
---|
| 45 | + dli \res, LOCAL_HUB_ADDR(NI_STATUS_REV_ID) |
---|
| 46 | + ld \res, (\res) |
---|
| 47 | + and \res, NSRI_NODEID_MASK |
---|
| 48 | + dsrl \res, NSRI_NODEID_SHFT |
---|
| 49 | + .endm |
---|
| 50 | +#else |
---|
| 51 | + |
---|
| 52 | +/* |
---|
| 53 | + * get_nasid() returns the physical node id number of the caller. |
---|
| 54 | + */ |
---|
| 55 | +static inline nasid_t get_nasid(void) |
---|
| 56 | +{ |
---|
| 57 | + return (nasid_t)((LOCAL_HUB_L(NI_STATUS_REV_ID) & NSRI_NODEID_MASK) |
---|
| 58 | + >> NSRI_NODEID_SHFT); |
---|
| 59 | +} |
---|
| 60 | +#endif |
---|
| 61 | + |
---|
40 | 62 | #endif /* _ASM_SN_SN0_HUB_H */ |
---|