diff options
Diffstat (limited to 'com32/gplinclude')
-rw-r--r-- | com32/gplinclude/dmi/dmi.h | 7 | ||||
-rw-r--r-- | com32/gplinclude/dmi/dmi_ipmi.h | 33 |
2 files changed, 35 insertions, 5 deletions
diff --git a/com32/gplinclude/dmi/dmi.h b/com32/gplinclude/dmi/dmi.h index 924ed420..89782a97 100644 --- a/com32/gplinclude/dmi/dmi.h +++ b/com32/gplinclude/dmi/dmi.h @@ -17,11 +17,6 @@ #define PAGE_SIZE 4096 -/*typedef struct { - uint32_t l; - uint32_t h; -} uint64_t;*/ - extern const char *out_of_spec; extern const char *bad_index; @@ -38,6 +33,7 @@ enum {DMI_TABLE_PRESENT = 100, ENODMITABLE}; #include "dmi_processor.h" #include "dmi_memory.h" #include "dmi_battery.h" +#include "dmi_ipmi.h" extern char display_line; #define moreprintf(...) do { display_line++; if (display_line == 24) { char tempbuf[10]; display_line=0; printf("Press enter to continue"); fgets(tempbuf, sizeof tempbuf, stdin);} printf ( __VA_ARGS__); } while (0); @@ -69,6 +65,7 @@ typedef struct { s_processor processor; s_battery battery; s_memory memory[MAX_DMI_MEMORY_ITEMS]; + s_ipmi ipmi; int memory_count; dmi_table dmitable; } s_dmi; diff --git a/com32/gplinclude/dmi/dmi_ipmi.h b/com32/gplinclude/dmi/dmi_ipmi.h new file mode 100644 index 00000000..7dcb71b9 --- /dev/null +++ b/com32/gplinclude/dmi/dmi_ipmi.h @@ -0,0 +1,33 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 2006-2009 Erwan Velu - All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, Inc., 53 Temple Place Ste 330, + * Boston MA 02111-1307, USA; either version 2 of the License, or + * (at your option) any later version; incorporated herein by reference. + * + * ----------------------------------------------------------------------- */ + +#ifndef DMI_IPMI_H +#define DMI_IPMI_H + +#define IPMI_INTERFACE_TYPE_SIZE 32 +#define IPMI_MEMORY_MODEL_SIZE 16 + +typedef struct { +char interface_type[IPMI_INTERFACE_TYPE_SIZE]; +uint8_t major_specification_version; +uint8_t minor_specification_version; +uint8_t I2C_slave_address; +uint16_t nv_address; +uint64_t base_address; + +uint8_t irq; +bool filled; +} s_ipmi; + +void dmi_ipmi_base_address(uint8_t type, const uint8_t *p, s_ipmi *ipmi); +const char *dmi_ipmi_interface_type(uint8_t code); +#endif |