X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fipmi.h;h=c8ccb466047d3d4c693aa893765b3bed4781e446;hp=e60ff619215984c58da52293df3315ad9de773ce;hb=e4e0bfd13106a562c4ef5be1c3129ccf6bb97bd0;hpb=2e05b1dd0490ce7ecdd15f522e6c700bc6522062 diff --git a/discover/ipmi.h b/discover/ipmi.h index e60ff61..c8ccb46 100644 --- a/discover/ipmi.h +++ b/discover/ipmi.h @@ -4,26 +4,33 @@ #include #include +#include + enum ipmi_netfn { - IPMI_NETFN_CHASSIS = 0x0, + 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, + IPMI_CMD_TRANSPORT_GET_LAN_PARAMS = 0x02, + IPMI_CMD_APP_GET_DEVICE_ID = 0x01, + IPMI_CMD_APP_GET_DEVICE_ID_GOLDEN = 0x1a, }; -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, +enum ipmi_sensor_ids { + IPMI_SENSOR_ID_OS_BOOT = 0x1F, }; 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); @@ -33,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 */