34,24 → 34,27 |
#include <arch/types.h> |
|
typedef __u16 asid_t; |
typedef __u32 rid_t; |
|
#endif /* __ASM__ */ |
|
/** |
* Number of ia64 RIDs (Region Identifiers) per kernel ASID. |
* Note that some architectures may support more bits, |
* but those extra bits are not used by the kernel. |
*/ |
#endif |
|
#define RIDS_PER_ASID 7 |
|
#define RID_MAX 262143 /* 2^18 - 1 */ |
#define RID_KERNEL 0 |
#define RID_INVALID 1 |
|
#define ASID2RID(asid, vrn) (((asid)>RIDS_PER_ASID)?(((asid)*RIDS_PER_ASID)+(vrn)):(asid)) |
#define ASID2RID(asid, vrn) (((asid)*RIDS_PER_ASID)+(vrn)) |
#define RID2ASID(rid) ((rid)/RIDS_PER_ASID) |
|
#ifndef __ASM__ |
|
|
typedef __u32 rid_t; |
|
#endif |
|
#define ASID_MAX_ARCH (RID_MAX/RIDS_PER_ASID) |
|
#endif |