source: bootcd/isolinux/syslinux-6.03/com32/gplinclude/dmi/dmi_processor.h

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 3.3 KB
Line 
1/* ----------------------------------------------------------------------- *
2 *
3 *   Copyright 2006 Erwan Velu - All Rights Reserved
4 *
5 *   This program is free software; you can redistribute it and/or modify
6 *   it under the terms of the GNU General Public License as published by
7 *   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8 *   Boston MA 02111-1307, USA; either version 2 of the License, or
9 *   (at your option) any later version; incorporated herein by reference.
10 *
11 * ----------------------------------------------------------------------- */
12
13#ifndef DMI_PROCESSOR_H
14#define DMI_PROCESSOR_H
15
16#include "stdbool.h"
17#include "string.h"
18#define PROCESSOR_SOCKET_DESIGNATION_SIZE               65
19#define PROCESSOR_TYPE_SIZE             32
20#define PROCESSOR_FAMILY_SIZE           32
21#define PROCESSOR_MANUFACTURER_SIZE     65
22#define PROCESSOR_VERSION_SIZE          65     
23#define PROCESSOR_VOLTAGE_SIZE          16
24#define PROCESSOR_STATUS_SIZE           16
25#define PROCESSOR_UPGRADE_SIZE          16
26#define PROCESSOR_CACHE_SIZE            16
27#define PROCESSOR_SERIAL_SIZE           65
28#define PROCESSOR_ASSET_TAG_SIZE        65
29#define PROCESSOR_PART_NUMBER_SIZE      65
30#define PROCESSOR_ID_SIZE               32
31
32#define PROCESSOR_FLAGS_ELEMENTS        32
33/* Intel AP-485 revision 28, table 5 */
34extern const char *cpu_flags_strings[PROCESSOR_FLAGS_ELEMENTS];
35
36/* this struct have PROCESSOR_FLAGS_ELEMENTS */
37/* each bool is associated to the relevant message above */
38typedef struct {
39    bool fpu;
40    bool vme;
41    bool de;
42    bool pse;
43    bool tsc;
44    bool msr;
45    bool pae;
46    bool mce;
47    bool cx8;
48    bool apic;
49    bool null_10;
50    bool sep;
51    bool mtrr;
52    bool pge;
53    bool mca;
54    bool cmov;
55    bool pat;
56    bool pse_36;
57    bool psn;
58    bool clfsh;
59    bool null_20;
60    bool ds;
61    bool acpi;
62    bool mmx;
63    bool fxsr;
64    bool sse;
65    bool sse2;
66    bool ss;
67    bool htt;
68    bool tm;
69    bool null_30;
70    bool pbe;
71} __attribute__ ((__packed__)) s_dmi_cpu_flags;
72
73typedef struct {
74    uint8_t type;
75    uint8_t family;
76    uint8_t model;
77    uint8_t stepping;
78    uint8_t minor_stepping;
79} __attribute__ ((__packed__)) s_signature;
80
81typedef struct {
82    char socket_designation[PROCESSOR_SOCKET_DESIGNATION_SIZE];
83    char type[PROCESSOR_TYPE_SIZE];
84    char family[PROCESSOR_FAMILY_SIZE];
85    char manufacturer[PROCESSOR_MANUFACTURER_SIZE];
86    char version[PROCESSOR_VERSION_SIZE];
87    uint16_t voltage_mv;
88    uint16_t external_clock;
89    uint16_t max_speed;
90    uint16_t current_speed;
91    char status[PROCESSOR_STATUS_SIZE];
92    char upgrade[PROCESSOR_UPGRADE_SIZE];
93    char cache1[PROCESSOR_CACHE_SIZE];
94    char cache2[PROCESSOR_CACHE_SIZE];
95    char cache3[PROCESSOR_CACHE_SIZE];
96    char serial[PROCESSOR_SERIAL_SIZE];
97    char asset_tag[PROCESSOR_ASSET_TAG_SIZE];
98    char part_number[PROCESSOR_PART_NUMBER_SIZE];
99    char id[PROCESSOR_ID_SIZE];
100    uint16_t core_count;
101    uint16_t core_enabled;
102    uint16_t thread_count;
103    s_dmi_cpu_flags cpu_flags;
104    s_signature signature;
105/* The filled field have to be set to true when the dmitable implement that item */
106    bool filled;
107} s_processor;
108
109const char *dmi_processor_type(uint8_t code);
110const char *dmi_processor_family(uint8_t code, char *manufacturer);
111const char *dmi_processor_status(uint8_t code);
112const char *dmi_processor_upgrade(uint8_t code);
113void dmi_processor_cache(uint16_t code, const char *level, uint16_t ver,
114                         char *cache);
115#endif
Note: See TracBrowser for help on using the repository browser.