123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #ifndef __ALPHA_SPECIAL_INSNS_H
- #define __ALPHA_SPECIAL_INSNS_H
- enum implver_enum {
- IMPLVER_EV4,
- IMPLVER_EV5,
- IMPLVER_EV6
- };
- #ifdef CONFIG_ALPHA_GENERIC
- #define implver() \
- ({ unsigned long __implver; \
- __asm__ ("implver %0" : "=r"(__implver)); \
- (enum implver_enum) __implver; })
- #else
- /* Try to eliminate some dead code. */
- #ifdef CONFIG_ALPHA_EV4
- #define implver() IMPLVER_EV4
- #endif
- #ifdef CONFIG_ALPHA_EV5
- #define implver() IMPLVER_EV5
- #endif
- #if defined(CONFIG_ALPHA_EV6)
- #define implver() IMPLVER_EV6
- #endif
- #endif
- enum amask_enum {
- AMASK_BWX = (1UL << 0),
- AMASK_FIX = (1UL << 1),
- AMASK_CIX = (1UL << 2),
- AMASK_MAX = (1UL << 8),
- AMASK_PRECISE_TRAP = (1UL << 9),
- };
- #define amask(mask) \
- ({ unsigned long __amask, __input = (mask); \
- __asm__ ("amask %1,%0" : "=r"(__amask) : "rI"(__input)); \
- __amask; })
- #endif /* __ALPHA_SPECIAL_INSNS_H */
|