diff options
Diffstat (limited to 'include/asm-ia64/pal.h')
| -rw-r--r-- | include/asm-ia64/pal.h | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h index 4e7e6f23b08c..37e52a2836b0 100644 --- a/include/asm-ia64/pal.h +++ b/include/asm-ia64/pal.h | |||
| @@ -68,6 +68,7 @@ | |||
| 68 | #define PAL_SHUTDOWN 40 /* enter processor shutdown state */ | 68 | #define PAL_SHUTDOWN 40 /* enter processor shutdown state */ |
| 69 | #define PAL_PREFETCH_VISIBILITY 41 /* Make Processor Prefetches Visible */ | 69 | #define PAL_PREFETCH_VISIBILITY 41 /* Make Processor Prefetches Visible */ |
| 70 | #define PAL_LOGICAL_TO_PHYSICAL 42 /* returns information on logical to physical processor mapping */ | 70 | #define PAL_LOGICAL_TO_PHYSICAL 42 /* returns information on logical to physical processor mapping */ |
| 71 | #define PAL_CACHE_SHARED_INFO 43 /* returns information on caches shared by logical processor */ | ||
| 71 | 72 | ||
| 72 | #define PAL_COPY_PAL 256 /* relocate PAL procedures and PAL PMI */ | 73 | #define PAL_COPY_PAL 256 /* relocate PAL procedures and PAL PMI */ |
| 73 | #define PAL_HALT_INFO 257 /* return the low power capabilities of processor */ | 74 | #define PAL_HALT_INFO 257 /* return the low power capabilities of processor */ |
| @@ -130,7 +131,7 @@ typedef u64 pal_cache_line_state_t; | |||
| 130 | #define PAL_CACHE_LINE_STATE_MODIFIED 3 /* Modified */ | 131 | #define PAL_CACHE_LINE_STATE_MODIFIED 3 /* Modified */ |
| 131 | 132 | ||
| 132 | typedef struct pal_freq_ratio { | 133 | typedef struct pal_freq_ratio { |
| 133 | u64 den : 32, num : 32; /* numerator & denominator */ | 134 | u32 den, num; /* numerator & denominator */ |
| 134 | } itc_ratio, proc_ratio; | 135 | } itc_ratio, proc_ratio; |
| 135 | 136 | ||
| 136 | typedef union pal_cache_config_info_1_s { | 137 | typedef union pal_cache_config_info_1_s { |
| @@ -151,10 +152,10 @@ typedef union pal_cache_config_info_1_s { | |||
| 151 | 152 | ||
| 152 | typedef union pal_cache_config_info_2_s { | 153 | typedef union pal_cache_config_info_2_s { |
| 153 | struct { | 154 | struct { |
| 154 | u64 cache_size : 32, /*cache size in bytes*/ | 155 | u32 cache_size; /*cache size in bytes*/ |
| 155 | 156 | ||
| 156 | 157 | ||
| 157 | alias_boundary : 8, /* 39-32 aliased addr | 158 | u32 alias_boundary : 8, /* 39-32 aliased addr |
| 158 | * separation for max | 159 | * separation for max |
| 159 | * performance. | 160 | * performance. |
| 160 | */ | 161 | */ |
| @@ -1647,6 +1648,33 @@ ia64_pal_logical_to_phys(u64 proc_number, pal_logical_to_physical_t *mapping) | |||
| 1647 | 1648 | ||
| 1648 | return iprv.status; | 1649 | return iprv.status; |
| 1649 | } | 1650 | } |
| 1651 | |||
| 1652 | typedef struct pal_cache_shared_info_s | ||
| 1653 | { | ||
| 1654 | u64 num_shared; | ||
| 1655 | pal_proc_n_log_info1_t ppli1; | ||
| 1656 | pal_proc_n_log_info2_t ppli2; | ||
| 1657 | } pal_cache_shared_info_t; | ||
| 1658 | |||
| 1659 | /* Get information on logical to physical processor mappings. */ | ||
| 1660 | static inline s64 | ||
| 1661 | ia64_pal_cache_shared_info(u64 level, | ||
| 1662 | u64 type, | ||
| 1663 | u64 proc_number, | ||
| 1664 | pal_cache_shared_info_t *info) | ||
| 1665 | { | ||
| 1666 | struct ia64_pal_retval iprv; | ||
| 1667 | |||
| 1668 | PAL_CALL(iprv, PAL_CACHE_SHARED_INFO, level, type, proc_number); | ||
| 1669 | |||
| 1670 | if (iprv.status == PAL_STATUS_SUCCESS) { | ||
| 1671 | info->num_shared = iprv.v0; | ||
| 1672 | info->ppli1.ppli1_data = iprv.v1; | ||
| 1673 | info->ppli2.ppli2_data = iprv.v2; | ||
| 1674 | } | ||
| 1675 | |||
| 1676 | return iprv.status; | ||
| 1677 | } | ||
| 1650 | #endif /* __ASSEMBLY__ */ | 1678 | #endif /* __ASSEMBLY__ */ |
| 1651 | 1679 | ||
| 1652 | #endif /* _ASM_IA64_PAL_H */ | 1680 | #endif /* _ASM_IA64_PAL_H */ |
