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 # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # 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 # which accompanies this distribution. The full text of the license may be found at
@ -53,13 +53,13 @@ L1:
jecxz L2 jecxz L2
movl %ebx, (%ecx) movl %ebx, (%ecx)
L2: L2:
movl 28(%ebp), %ecx movl 32(%ebp), %ecx
jecxz L3 jecxz L3
popl (%ecx)
L3:
movl 32(%ebp), %edx
jecxz L4
movl %edx, (%ecx) movl %edx, (%ecx)
L3:
movl 28(%ebp), %ecx
jecxz L4
popl (%ecx)
L4: L4:
movl 12(%ebp), %eax movl 12(%ebp), %eax
leave 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 ; This program and the accompanying materials
; are licensed and made available under the terms and conditions of the BSD License ; 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 ; which accompanies this distribution. The full text of the license may be found at
@ -52,13 +52,13 @@ AsmCpuidEx PROC USES ebx
jecxz @F jecxz @F
mov [ecx], ebx mov [ecx], ebx
@@: @@:
mov ecx, [ebp + 28] mov ecx, [ebp + 32]
jecxz @F
pop [ecx]
@@:
mov edx, [ebp + 32]
jecxz @F jecxz @F
mov [ecx], edx mov [ecx], edx
@@:
mov edx, [ebp + 28]
jecxz @F
pop [ecx]
@@: @@:
mov eax, [ebp + 12] mov eax, [ebp + 12]
leave leave