X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fipmi.h;h=c8ccb466047d3d4c693aa893765b3bed4781e446;hp=eb2a1831638ed9c8350db4b4b11e1789df3661f4;hb=refs%2Ftags%2Fv1.9.1;hpb=0dae90626e54e46372c9feddc2f9ac82f046547d diff --git a/discover/ipmi.h b/discover/ipmi.h index eb2a183..c8ccb46 100644 --- a/discover/ipmi.h +++ b/discover/ipmi.h @@ -9,7 +9,9 @@ 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 { @@ -17,6 +19,8 @@ enum ipmi_cmd { IPMI_CMD_CHASSIS_GET_SYSTEM_BOOT_OPTIONS = 0x09, IPMI_CMD_SENSOR_SET = 0x30, 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 { @@ -25,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); @@ -34,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 */