Stefan Reinauer ([email protected]) just uploaded a new patch set to 
gerrit, which you can find at http://review.coreboot.org/755

-gerrit

commit fb665036abbbaf8face05df7d70fce4d0247bf0b
Author: Stefan Reinauer <[email protected]>
Date:   Thu Nov 17 13:03:38 2011 -0800

    use movsl for copying resume memory back
    
    It's not significantly faster, but easier to read and smaller.
    
    Change-Id: Ibab0b478873912d67bf1f07743f628586353368a
    Signed-off-by: Stefan Reinauer <[email protected]>
---
 src/arch/x86/boot/wakeup.S |   20 ++++----------------
 1 files changed, 4 insertions(+), 16 deletions(-)

diff --git a/src/arch/x86/boot/wakeup.S b/src/arch/x86/boot/wakeup.S
index a1df4d5..f12b176 100644
--- a/src/arch/x86/boot/wakeup.S
+++ b/src/arch/x86/boot/wakeup.S
@@ -38,23 +38,11 @@ __wakeup:
        movw    %ax, (__wakeup_segment)
 
        /* Then overwrite coreboot with our backed up memory */
-       movl 8(%esp), %esi
-       movl 12(%esp), %edi
-       movl 16(%esp), %ecx
+       movl    8(%esp), %esi
+       movl    12(%esp), %edi
+       movl    16(%esp), %ecx
        shrl    $4, %ecx
-1:
-       movl    0(%esi),%eax
-       movl    4(%esi),%edx
-       movl    8(%esi),%ebx
-       movl    12(%esi),%ebp
-       addl    $16,%esi
-       subl    $1,%ecx
-       movl    %eax,0(%edi)
-       movl    %edx,4(%edi)
-       movl    %ebx,8(%edi)
-       movl    %ebp,12(%edi)
-       leal    16(%edi),%edi
-       jne     1b
+       rep     movsl
 
        /* Activate the right segment descriptor real mode. */
        ljmp    $0x28, $RELOCATED(1f)

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to