From de74f0c2860b839b4a11a1ba13f28b643a2ff29b Mon Sep 17 00:00:00 2001 From: niruiyu Date: Fri, 25 May 2012 03:02:26 +0000 Subject: Correct a bug in AsmCpuidEx() to return correct ECX and EDX. Signed-off-by: Ruiyu Ni Reviewed-by: Jeff Fan git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13359 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/BaseLib/Ia32/CpuIdEx.S | 10 +++++----- MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'MdePkg/Library') diff --git a/MdePkg/Library/BaseLib/Ia32/CpuIdEx.S b/MdePkg/Library/BaseLib/Ia32/CpuIdEx.S index 80fb510798..67b54926d6 100644 --- a/MdePkg/Library/BaseLib/Ia32/CpuIdEx.S +++ b/MdePkg/Library/BaseLib/Ia32/CpuIdEx.S @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ # -# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -53,13 +53,13 @@ L1: jecxz L2 movl %ebx, (%ecx) L2: - movl 28(%ebp), %ecx + movl 32(%ebp), %ecx jecxz L3 - popl (%ecx) + movl %edx, (%ecx) L3: - movl 32(%ebp), %edx + movl 28(%ebp), %ecx jecxz L4 - movl %edx, (%ecx) + popl (%ecx) L4: movl 12(%ebp), %eax leave diff --git a/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm b/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm index 879dd76ba2..4e54d0c360 100644 --- a/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm +++ b/MdePkg/Library/BaseLib/Ia32/CpuIdEx.asm @@ -1,6 +1,6 @@ ;------------------------------------------------------------------------------ ; -; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.
; This program and the accompanying materials ; are licensed and made available under the terms and conditions of the BSD License ; which accompanies this distribution. The full text of the license may be found at @@ -52,13 +52,13 @@ AsmCpuidEx PROC USES ebx jecxz @F mov [ecx], ebx @@: - mov ecx, [ebp + 28] + mov ecx, [ebp + 32] jecxz @F - pop [ecx] + mov [ecx], edx @@: - mov edx, [ebp + 32] + mov edx, [ebp + 28] jecxz @F - mov [ecx], edx + pop [ecx] @@: mov eax, [ebp + 12] leave -- cgit v1.2.3