diff options
Diffstat (limited to 'include/platform.h')
-rw-r--r-- | include/platform.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/include/platform.h b/include/platform.h index ff75adf..9133204 100644 --- a/include/platform.h +++ b/include/platform.h @@ -1,4 +1,4 @@ -/* Copyright 2013-2014 IBM Corp. +/* Copyright 2013-2016 IBM Corp. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,6 +31,17 @@ enum resource_id { #define RESOURCE_SUBID_NONE 0 #define RESOURCE_SUBID_SUPPORTED 1 +struct bmc_platform { + const char *name; + + /* + * Map IPMI_OEM_X to vendor commands for this BMC + * 0 = unimplimented + */ + uint32_t ipmi_oem_partial_add_esel; + uint32_t ipmi_oem_pnor_access_status; +}; + /* * Each platform can provide a set of hooks * that can affect the generic code @@ -39,6 +50,13 @@ struct platform { const char *name; /* + * If BMC is constant, bmc platform specified here. + * Platforms can also call set_bmc_platform() if BMC platform is + * not a constant. + */ + const struct bmc_platform *bmc; + + /* * Probe platform, return true on a match, called before * any allocation has been performed outside of the heap * so the platform can perform additional memory reservations @@ -174,6 +192,7 @@ extern struct platform __platforms_start; extern struct platform __platforms_end; extern struct platform platform; +extern const struct bmc_platform *bmc_platform; extern bool manufacturing_mode; @@ -189,4 +208,6 @@ extern int resource_loaded(enum resource_id id, uint32_t idx); extern int wait_for_resource_loaded(enum resource_id id, uint32_t idx); +extern void set_bmc_platform(const struct bmc_platform *bmc); + #endif /* __PLATFORM_H */ |