aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/firmware.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc/firmware.h')
-rw-r--r--include/asm-powerpc/firmware.h26
1 files changed, 8 insertions, 18 deletions
diff --git a/include/asm-powerpc/firmware.h b/include/asm-powerpc/firmware.h
index f804b34cf06a..77069df92bf8 100644
--- a/include/asm-powerpc/firmware.h
+++ b/include/asm-powerpc/firmware.h
@@ -41,6 +41,7 @@
41#define FW_FEATURE_MULTITCE (1UL<<19) 41#define FW_FEATURE_MULTITCE (1UL<<19)
42#define FW_FEATURE_SPLPAR (1UL<<20) 42#define FW_FEATURE_SPLPAR (1UL<<20)
43#define FW_FEATURE_ISERIES (1UL<<21) 43#define FW_FEATURE_ISERIES (1UL<<21)
44#define FW_FEATURE_LPAR (1UL<<22)
44 45
45enum { 46enum {
46#ifdef CONFIG_PPC64 47#ifdef CONFIG_PPC64
@@ -51,10 +52,10 @@ enum {
51 FW_FEATURE_MIGRATE | FW_FEATURE_PERFMON | FW_FEATURE_CRQ | 52 FW_FEATURE_MIGRATE | FW_FEATURE_PERFMON | FW_FEATURE_CRQ |
52 FW_FEATURE_VIO | FW_FEATURE_RDMA | FW_FEATURE_LLAN | 53 FW_FEATURE_VIO | FW_FEATURE_RDMA | FW_FEATURE_LLAN |
53 FW_FEATURE_BULK | FW_FEATURE_XDABR | FW_FEATURE_MULTITCE | 54 FW_FEATURE_BULK | FW_FEATURE_XDABR | FW_FEATURE_MULTITCE |
54 FW_FEATURE_SPLPAR, 55 FW_FEATURE_SPLPAR | FW_FEATURE_LPAR,
55 FW_FEATURE_PSERIES_ALWAYS = 0, 56 FW_FEATURE_PSERIES_ALWAYS = 0,
56 FW_FEATURE_ISERIES_POSSIBLE = FW_FEATURE_ISERIES, 57 FW_FEATURE_ISERIES_POSSIBLE = FW_FEATURE_ISERIES | FW_FEATURE_LPAR,
57 FW_FEATURE_ISERIES_ALWAYS = FW_FEATURE_ISERIES, 58 FW_FEATURE_ISERIES_ALWAYS = FW_FEATURE_ISERIES | FW_FEATURE_LPAR,
58 FW_FEATURE_POSSIBLE = 59 FW_FEATURE_POSSIBLE =
59#ifdef CONFIG_PPC_PSERIES 60#ifdef CONFIG_PPC_PSERIES
60 FW_FEATURE_PSERIES_POSSIBLE | 61 FW_FEATURE_PSERIES_POSSIBLE |
@@ -81,22 +82,11 @@ enum {
81/* This is used to identify firmware features which are available 82/* This is used to identify firmware features which are available
82 * to the kernel. 83 * to the kernel.
83 */ 84 */
84extern unsigned long ppc64_firmware_features; 85extern unsigned long powerpc_firmware_features;
85 86
86static inline unsigned long firmware_has_feature(unsigned long feature) 87#define firmware_has_feature(feature) \
87{ 88 ((FW_FEATURE_ALWAYS & (feature)) || \
88 return (FW_FEATURE_ALWAYS & feature) || 89 (FW_FEATURE_POSSIBLE & powerpc_firmware_features & (feature)))
89 (FW_FEATURE_POSSIBLE & ppc64_firmware_features & feature);
90}
91
92#ifdef CONFIG_PPC_PSERIES
93typedef struct {
94 unsigned long val;
95 char * name;
96} firmware_feature_t;
97
98extern firmware_feature_t firmware_features_table[];
99#endif
100 90
101extern void system_reset_fwnmi(void); 91extern void system_reset_fwnmi(void);
102extern void machine_check_fwnmi(void); 92extern void machine_check_fwnmi(void);