X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fipmi.h;h=c8ccb466047d3d4c693aa893765b3bed4781e446;hp=83f29107e276ef5545d0288c4acf5f90eabb18bd;hb=f583f0cf35fc227db5f73ecd04daf7702735b740;hpb=6600e73fe891d5006c34f694e97e37eefceb921d;ds=sidebyside diff --git a/discover/ipmi.h b/discover/ipmi.h index 83f2910..c8ccb46 100644 --- a/discover/ipmi.h +++ b/discover/ipmi.h @@ -4,24 +4,23 @@ #include #include +#include + enum ipmi_netfn { IPMI_NETFN_CHASSIS = 0x0, IPMI_NETFN_SE = 0x04, + IPMI_NETFN_APP = 0x06, + IPMI_NETFN_TRANSPORT = 0x0c, + IPMI_NETFN_AMI = 0x3a, }; enum ipmi_cmd { IPMI_CMD_CHASSIS_SET_SYSTEM_BOOT_OPTIONS = 0x08, IPMI_CMD_CHASSIS_GET_SYSTEM_BOOT_OPTIONS = 0x09, IPMI_CMD_SENSOR_SET = 0x30, -}; - -enum ipmi_bootdev { - IPMI_BOOTDEV_NONE = 0x00, - IPMI_BOOTDEV_NETWORK = 0x01, - IPMI_BOOTDEV_DISK = 0x2, - IPMI_BOOTDEV_SAFE = 0x3, - IPMI_BOOTDEV_CDROM = 0x5, - IPMI_BOOTDEV_SETUP = 0x6, + IPMI_CMD_TRANSPORT_GET_LAN_PARAMS = 0x02, + IPMI_CMD_APP_GET_DEVICE_ID = 0x01, + IPMI_CMD_APP_GET_DEVICE_ID_GOLDEN = 0x1a, }; enum ipmi_sensor_ids { @@ -30,6 +29,8 @@ enum ipmi_sensor_ids { struct ipmi; +static const int ipmi_timeout = 10000; /* milliseconds. */ + bool ipmi_present(void); bool ipmi_bootdev_is_valid(int x); struct ipmi *ipmi_open(void *ctx); @@ -39,4 +40,10 @@ int ipmi_transaction(struct ipmi *ipmi, uint8_t netfn, uint8_t cmd, uint8_t *resp_buf, uint16_t *resp_len, int timeout_ms); +int parse_ipmi_interface_override(struct config *config, uint8_t *buf, + uint16_t len); +void ipmi_get_bmc_mac(struct ipmi *ipmi, uint8_t *buf); +void ipmi_get_bmc_versions(struct ipmi *ipmi, struct system_info *info); + + #endif /* _IPMI_H */