summaryrefslogtreecommitdiffstats
path: root/xorg
diff options
context:
space:
mode:
Diffstat (limited to 'xorg')
-rw-r--r--xorg/server/module/x86/cpuid_x86.asm18
1 files changed, 12 insertions, 6 deletions
diff --git a/xorg/server/module/x86/cpuid_x86.asm b/xorg/server/module/x86/cpuid_x86.asm
index 45b81b09..6f9e8c2d 100644
--- a/xorg/server/module/x86/cpuid_x86.asm
+++ b/xorg/server/module/x86/cpuid_x86.asm
@@ -15,16 +15,22 @@ PROC cpuid_x86
push ebx
push ecx
push edx
+ push edi
; cpuid
- mov eax, [esp + 16]
- mov ecx, [esp + 20]
+ mov eax, [esp + 20]
+ mov ecx, [esp + 24]
cpuid
- mov [esp + 24], eax
- mov [esp + 28], ebx
- mov [esp + 32], ecx
- mov [esp + 36], edx
+ mov edi, [esp + 28]
+ mov [edi], eax
+ mov edi, [esp + 32]
+ mov [edi], ebx
+ mov edi, [esp + 36]
+ mov [edi], ecx
+ mov edi, [esp + 40]
+ mov [edi], edx
mov eax, 0
; restore registers
+ pop edi
pop edx
pop ecx
pop ebx