It wouldn't be terrible to have a generally better memmove implementation either.
Gabe On Thu, Aug 15, 2013 at 6:23 PM, David Hendricks <[email protected]>wrote: > > > > On Thu, Aug 15, 2013 at 8:43 AM, ron minnich <[email protected]> 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.inc > index 8588c76..b529d35 100644 > --- a/src/arch/x86/lib/Makefile.inc > +++ b/src/arch/x86/lib/Makefile.inc > @@ -6,7 +6,6 @@ ramstage-y += exception.c > ramstage-$(CONFIG_IOAPIC) += ioapic.c > ramstage-y += memset.c > ramstage-y += memcpy.c > -ramstage-y += memmove.c > ramstage-y += ebda.c > ramstage-y += rom_media.c > ramstage-$(CONFIG_COOP_MULTITASKING) += thread.c > @@ -16,16 +15,26 @@ romstage-$(CONFIG_EARLY_CONSOLE) += romstage_console.c > romstage-y += cbfs_and_run.c > romstage-y += memset.c > romstage-y += memcpy.c > -romstage-y += memmove.c > romstage-y += rom_media.c > > smm-y += memset.c > smm-y += memcpy.c > -smm-y += memmove.c > smm-y += rom_media.c > > rmodules-y += memset.c > rmodules-y += memcpy.c > rmodules-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: [email protected] > http://www.coreboot.org/mailman/listinfo/coreboot >
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

