Speed up copying coreboot to ram by using "movsl" instead of "movsb".
authorJens Rottmann <JRottmann@LiPPERTEmbedded.de>
Wed, 22 Oct 2008 22:24:47 +0000 (22:24 +0000)
committerMarc Jones <marc.jones@amd.com>
Wed, 22 Oct 2008 22:24:47 +0000 (22:24 +0000)
Also use different console messages for copying and uncompressing, like
it's already done in similar code in other places.

Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
Acked-by: Marc Jones <marc.jones@amd.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3688 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/arch/i386/init/crt0.S.lb
src/cpu/amd/model_lx/cache_as_ram.inc

index 6a6c07be0e425f1791a46e70493c69b8069c02e1..de83b6c417e9ae195d7ca2e8629dbfece5967dae 100644 (file)
@@ -74,6 +74,11 @@ __main:
        movl    $_iseg,  %edi
        movl    $_eiseg, %ecx
        subl    %edi, %ecx
+       movb    %cl, %al
+       shrl    $2, %ecx
+       andb    $3, %al
+       rep     movsl
+       movb    %al, %cl
        rep     movsb
 #else
        leal    4+_liseg, %esi
@@ -215,7 +220,11 @@ crt_console_tx_string:
 
 #if defined(CONSOLE_DEBUG_TX_STRING) && (ASM_CONSOLE_LOGLEVEL > BIOS_DEBUG)
 .section ".rom.data"
+#if CONFIG_COMPRESS
+str_copying_to_ram:  .string "Uncompressing coreboot to RAM.\r\n"
+#else
 str_copying_to_ram:  .string "Copying coreboot to RAM.\r\n"
+#endif
 str_pre_main:        .string "Jumping to coreboot.\r\n"
 .previous
 
index a92f474457352846bdc71357fe3135aab7de16bd..57bfc1211f893bb8909383f1d170d5f7d1bc50ce 100644 (file)
@@ -222,6 +222,11 @@ __main:
        movl    $_iseg,  %edi
        movl    $_eiseg, %ecx
        subl    %edi, %ecx
+       movb    %cl, %al
+       shrl    $2, %ecx
+       andb    $3, %al
+       rep     movsl
+       movb    %al, %cl
        rep     movsb
 #else
        leal    4+_liseg, %esi
@@ -363,7 +368,11 @@ crt_console_tx_string:
 
 #if defined(CONSOLE_DEBUG_TX_STRING) && (ASM_CONSOLE_LOGLEVEL > BIOS_DEBUG)
 .section ".rom.data"
+#if CONFIG_COMPRESS
+str_copying_to_ram:  .string "Uncompressing coreboot to ram.\r\n"
+#else
 str_copying_to_ram:  .string "Copying coreboot to ram.\r\n"
+#endif
 str_pre_main:        .string "Jumping to coreboot.\r\n"
 .previous