HVM SMBIOS v3 [1/5]
PATCH 1/1 HVM SMBIOS v3 [1/5]
[HVM] Cleanup: move cpuid function to util.c .
Signed-off-by Andrew D. Ball <[email protected]>
tools/firmware/hvmloader/hvmloader.c +0 -9
@@ -116,15 +116,6 @@ check_amd(void) }static void -cpuid (uint32_t idx,uint32_t *eax,uint32_t *ebx,uint32_t *ecx,uint32_t *edx) -{ - __asm__ __volatile__( -"cpuid" - :"=a" (*eax),"=b" (*ebx),"=c" (*ecx),"=d" (*edx) - :"0" (idx) ); -} - -static void wrmsr (uint32_t idx,uint64_t v) { __asm__ __volatile__(
tools/firmware/hvmloader/util.c +9 -0
@@ -94,3 +94,12 @@ void puts(const char *s)while (*s)outb (0xE9 , *s++); } + +void +cpuid (uint32_t idx,uint32_t *eax,uint32_t *ebx,uint32_t *ecx,uint32_t *edx) +{ + __asm__ __volatile__( +"cpuid" + :"=a" (*eax),"=b" (*ebx),"=c" (*ecx),"=d" (*edx) + :"0" (idx) ); +}
tools/firmware/hvmloader/util.h +4 -0
@@ -8,6 +8,10 @@ void outb(uint16_t addr, uint8_t val);/* I/O input */ uint8_t inb (uint16_t addr); +/* Do cpuid instruction, with operation 'idx' */ +void +cpuid (uint32_t idx,uint32_t *eax,uint32_t *ebx,uint32_t *ecx,uint32_t *edx); +/* String and memory functions */ int strcmp (const char *cs,const char *ct);void *memcpy (void *dest,const void *src,unsigned n);