--On Thu, Aug 15, 2013 at 8:43 AM, ron minnich <rminnich@gmail.com> wrote:
It seems to me you could improve our memmove?
Also, if we want to define another Kconfig variable this is pretty easy to fix.There is CONFIG_CPU_DMP_VORTEX86EX which might be useful.Maybe Andrew can try something like this:diff --git a/src/arch/x86/lib/Makefile.inc b/src/arch/x86/lib/Makefile.incindex 8588c76..b529d35 100644--- a/src/arch/x86/lib/Makefile.inc+++ b/src/arch/x86/lib/Makefile.inc@@ -6,7 +6,6 @@ ramstage-y += exception.cramstage-$(CONFIG_IOAPIC) += ioapic.cramstage-y += memset.cramstage-y += memcpy.c-ramstage-y += memmove.cramstage-y += ebda.cramstage-y += rom_media.cramstage-$(CONFIG_COOP_MULTITASKING) += thread.c@@ -16,16 +15,26 @@ romstage-$(CONFIG_EARLY_CONSOLE) += romstage_console.cromstage-y += cbfs_and_run.cromstage-y += memset.cromstage-y += memcpy.c-romstage-y += memmove.cromstage-y += rom_media.csmm-y += memset.csmm-y += memcpy.c-smm-y += memmove.csmm-y += rom_media.crmodules-y += memset.crmodules-y += memcpy.crmodules-y += memmove.c+ifeq ($(CONFIG_CPU_DMP_VORTEX86EX),y)+# Old memmove implementation from Linux always use REP MOVSL+# which is much faster on some CPUs.+ramstage-y += memmove_old.c+romstage-y += memmove_old.c+smm-y += memmove_old.c+else+ramstage-y += memmove.c+romstage-y += memmove.c+smm-y += memmove.c+endif+
David Hendricks (dhendrix)
Systems Software Engineer, Google Inc.
--
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot