I use a dual PPro for my devel work on plex86--enough said. (OK, I'll
fill some people in: the PPro main core is the same as the PII,
_without_the_MMX_.)
On Fri, 25 May 2001, Martin wrote:
> I implemented the mmx fastmemcpy function from the linux kernel sources.
> I haven't implemented the fastclear function yet because the kernel only
> has a page clear. If I have the time I will rewrite this so it can clear
> any memory range.
> I have added a configure option --enable-mmx/--disable-mmx to be able to
> use plex86 on non-mmx processors although I doubt anyone would want to
> run it an old non-mmx processor. For some reason the diff includes all
> code that shifted some lines down because of the few lines I added. I
> don't know how to avoid this (should be possible).
> Freedos boots with this code and I also started my win95 diskimage.
> Win95 starts but I didn't wait the full boot. (takes some time you know
> ;-)
> If you have any more of these mini projects please tell.
> Greetings,
> Martin DvH
> The patch is below:
>
> ? kernel/util-nexus-mmx.c
> Index: config.h.in
> ===================================================================
> RCS file: /cvsroot-plex86/plex86/config.h.in,v
> retrieving revision 1.8
> diff -u -r1.8 config.h.in
> --- config.h.in 2001/05/15 16:49:56 1.8
> +++ config.h.in 2001/05/25 01:02:52
> @@ -135,6 +135,8 @@
> /* limited i440FX PCI support */
> #define BX_PCI_SUPPORT 0
>
> +#define USE_MMX 0
> +
> #define BX_SUPPORT_CDROM 0
> #if BX_SUPPORT_CDROM
> /* This is the C++ class name to use if we are supporting */
> Index: configure
> ===================================================================
> RCS file: /cvsroot-plex86/plex86/configure,v
> retrieving revision 1.23
> diff -u -r1.23 configure
> --- configure 2001/05/15 16:49:56 1.23
> +++ configure 2001/05/25 01:02:56
> @@ -20,6 +20,8 @@
> ac_help="$ac_help
> --enable-instrumentation instrumentation support"
> ac_help="$ac_help
> + --enable-mmx enable use of mmx instructions"
> +ac_help="$ac_help
> --with-WinNT WinNT host"
> ac_help="$ac_help
> --with-BeOS BeOS host"
> @@ -555,7 +557,7 @@
> # Extract the first word of "gcc", so it can be a program name with
> args.
> set dummy gcc; ac_word=$2
> echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> -echo "configure:559: checking for $ac_word" >&5
> +echo "configure:561: checking for $ac_word" >&5
> if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
> echo $ac_n "(cached) $ac_c" 1>&6
> else
> @@ -585,7 +587,7 @@
> # Extract the first word of "cc", so it can be a program name with
> args.
> set dummy cc; ac_word=$2
> echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> -echo "configure:589: checking for $ac_word" >&5
> +echo "configure:591: checking for $ac_word" >&5
> if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
> echo $ac_n "(cached) $ac_c" 1>&6
> else
> @@ -636,7 +638,7 @@
> # Extract the first word of "cl", so it can be a program name
> with args.
> set dummy cl; ac_word=$2
> echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
> -echo "configure:640: checking for $ac_word" >&5
> +echo "configure:642: checking for $ac_word" >&5
> if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
> echo $ac_n "(cached) $ac_c" 1>&6
> else
> @@ -668,7 +670,7 @@
> fi
>
> echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS)
> works""... $ac_c" 1>&6
> -echo "configure:672: checking whether the C compiler ($CC $CFLAGS
> $LDFLAGS) works" >&5
> +echo "configure:674: checking whether the C compiler ($CC $CFLAGS
> $LDFLAGS) works" >&5
>
> ac_ext=c
> # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp
> options.
> @@ -679,12 +681,12 @@
>
> cat > conftest.$ac_ext << EOF
>
> -#line 683 "configure"
> +#line 685 "configure"
> #include "confdefs.h"
>
> main(){return(0);}
> EOF
> -if { (eval echo configure:688: \"$ac_link\") 1>&5; (eval $ac_link)
> 2>&5; } && test -s conftest${ac_exeext}; then
> +if { (eval echo configure:690: \"$ac_link\") 1>&5; (eval $ac_link)
> 2>&5; } && test -s conftest${ac_exeext}; then
> ac_cv_prog_cc_works=yes
> # If we can't run a trivial program, we are probably using a cross
> compiler.
> if (./conftest; exit) 2>/dev/null; then
> @@ -710,12 +712,12 @@
> { echo "configure: error: installation or configuration problem: C
> compiler cannot create executables." 1>&2; exit 1; }
> fi
> echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a
> cross-compiler""... $ac_c" 1>&6
> -echo "configure:714: checking whether the C compiler ($CC $CFLAGS
> $LDFLAGS) is a cross-compiler" >&5
> +echo "configure:716: checking whether the C compiler ($CC $CFLAGS
> $LDFLAGS) is a cross-compiler" >&5
> echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
> cross_compiling=$ac_cv_prog_cc_cross
>
> echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
> -echo "configure:719: checking whether we are using GNU C" >&5
> +echo "configure:721: checking whether we are using GNU C" >&5
> if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
> echo $ac_n "(cached) $ac_c" 1>&6
> else
> @@ -724,7 +726,7 @@
> yes;
> #endif
>
Drew Northup, N1XIM