payloads/coreinfo: Use fixed-width integers for cpuid
This function executes the cpuid instruction, which takes a 32 bit input value (idx), and then stores output in eax, ebx, ecx, and edx, which are all 32 bit registers. Update the prototype to use fixed-width integers, and update all usage calls appropriately. Change-Id: I15876fa35628d3a505864fb49be4fdab1fd19f4a Signed-off-by: Jacob Garber <jgarber1@ualberta.ca> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33862 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
This commit is contained in:
committed by
Martin Roth
parent
598af2e2c2
commit
37bec0b397
@@ -85,7 +85,7 @@ static const char *amd_cap_extended_ecx_flags[] = {
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
static unsigned long vendor;
|
||||
static uint32_t vendor;
|
||||
static unsigned int cpu_khz;
|
||||
|
||||
static void decode_flags(WINDOW *win, unsigned long reg, const char **flags,
|
||||
@@ -114,7 +114,7 @@ static void decode_flags(WINDOW *win, unsigned long reg, const char **flags,
|
||||
|
||||
static void get_features(WINDOW *win, int *row)
|
||||
{
|
||||
unsigned long eax, ebx, ecx, edx;
|
||||
uint32_t eax, ebx, ecx, edx;
|
||||
int lrow = *row;
|
||||
|
||||
wmove(win, lrow++, 1);
|
||||
@@ -150,12 +150,12 @@ static void get_features(WINDOW *win, int *row)
|
||||
static void do_name(WINDOW *win, int row)
|
||||
{
|
||||
char name[49], *p;
|
||||
unsigned long eax, ebx, ecx, edx;
|
||||
int i, t;
|
||||
uint32_t eax, ebx, ecx, edx;
|
||||
int t;
|
||||
|
||||
p = name;
|
||||
|
||||
for (i = 0x80000002; i <= 0x80000004; i++) {
|
||||
for (uint32_t i = 0x80000002; i <= 0x80000004; i++) {
|
||||
docpuid(i, &eax, &ebx, &ecx, &edx);
|
||||
|
||||
if (eax == 0)
|
||||
@@ -176,7 +176,7 @@ static void do_name(WINDOW *win, int row)
|
||||
|
||||
static int cpuinfo_module_redraw(WINDOW *win)
|
||||
{
|
||||
unsigned long eax, ebx, ecx, edx;
|
||||
uint32_t eax, ebx, ecx, edx;
|
||||
unsigned int brand;
|
||||
char *vstr;
|
||||
int row = 2;
|
||||
|
Reference in New Issue
Block a user