MCPcopy Create free account
hub / github.com/coreboot/coreboot / cpuinfo_module_redraw

Function cpuinfo_module_redraw

payloads/coreinfo/cpuinfo_module.c:163–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

161}
162
163static int cpuinfo_module_redraw(WINDOW *win)
164{
165 uint32_t eax, ebx, ecx, edx;
166 unsigned int brand;
167 char *vstr;
168 int row = 2;
169
170 print_module_title(win, "CPU Information");
171
172 docpuid(0, NULL, &vendor, NULL, NULL);
173
174 switch (vendor) {
175 case VENDOR_INTEL:
176 vstr = "Intel";
177 break;
178 case VENDOR_AMD:
179 vstr = "AMD";
180 break;
181 case VENDOR_CYRIX:
182 vstr = "Cyrix";
183 break;
184 case VENDOR_IDT:
185 vstr = "IDT";
186 break;
187 case VENDOR_GEODE:
188 vstr = "NatSemi Geode";
189 break;
190 case VENDOR_RISE:
191 case VENDOR_RISE2:
192 vstr = "RISE";
193 break;
194 case VENDOR_SIS:
195 vstr = "SiS";
196 break;
197 default:
198 vstr = "Unknown";
199 break;
200 }
201
202 mvwprintw(win, row++, 1, "Vendor: %s", vstr);
203
204 do_name(win, row++);
205
206 docpuid(0x00000001, &eax, &ebx, &ecx, &edx);
207
208 mvwprintw(win, row++, 1, "Family: %X", (eax >> 8) & 0x0f);
209 mvwprintw(win, row++, 1, "Model: %X",
210 ((eax >> 4) & 0xf) | ((eax >> 16) & 0xf) << 4);
211
212 mvwprintw(win, row++, 1, "Stepping: %X", eax & 0xf);
213
214 if (vendor == VENDOR_AMD) {
215 docpuid(0x80000001, &eax, &ebx, &ecx, &edx);
216 brand = ((ebx >> 9) & 0x1f);
217
218 mvwprintw(win, row++, 1, "Brand: %X", brand);
219 }
220

Callers

nothing calls this directly

Calls 4

print_module_titleFunction · 0.85
do_nameFunction · 0.85
get_featuresFunction · 0.85
mvwprintwFunction · 0.50

Tested by

no test coverage detected