Correct a bug in AsmCpuidEx() to return correct ECX and EDX.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13359 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
niruiyu 2012-05-25 03:02:26 +00:00
parent a974619978
commit de74f0c286
2 changed files with 12 additions and 12 deletions

View File

@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#
# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
# 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)
L3:
movl 32(%ebp), %edx
jecxz L4
movl %edx, (%ecx)
L3:
movl 28(%ebp), %ecx
jecxz L4
popl (%ecx)
L4:
movl 12(%ebp), %eax
leave

View File

@ -1,6 +1,6 @@
;------------------------------------------------------------------------------
;
; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
; Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
; 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]
jecxz @F
pop [ecx]
@@:
mov edx, [ebp + 32]
mov ecx, [ebp + 32]
jecxz @F
mov [ecx], edx
@@:
mov edx, [ebp + 28]
jecxz @F
pop [ecx]
@@:
mov eax, [ebp + 12]
leave