* Patch by Thomas Frieden, 13 Nov 2002:
  Add code for AmigaOne board
  (preliminary merge to U-Boot, still WIP)

* Patch by Jon Diekema, 12 Nov 2002:
  - Adding URL for IEEE OUI lookup
  - Making the autoboot #defines dependent on CONFIG_AUTOBOOT_KEYED
    being defined.
  - In the CONFIG_EXTRA_ENV_SETTINGS #define, the root-on-initrd and
    root-on-nfs macros are designed to switch how the default boot
    method gets defined.
diff --git a/board/MAI/bios_emulator/scitech/src/pm/tests/memtest.c b/board/MAI/bios_emulator/scitech/src/pm/tests/memtest.c
new file mode 100644
index 0000000..221bfb1
--- /dev/null
+++ b/board/MAI/bios_emulator/scitech/src/pm/tests/memtest.c
@@ -0,0 +1,106 @@
+/****************************************************************************
+*
+*                   SciTech OS Portability Manager Library
+*
+*  ========================================================================
+*
+*    The contents of this file are subject to the SciTech MGL Public
+*    License Version 1.0 (the "License"); you may not use this file
+*    except in compliance with the License. You may obtain a copy of
+*    the License at http://www.scitechsoft.com/mgl-license.txt
+*
+*    Software distributed under the License is distributed on an
+*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+*    implied. See the License for the specific language governing
+*    rights and limitations under the License.
+*
+*    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
+*
+*    The Initial Developer of the Original Code is SciTech Software, Inc.
+*    All Rights Reserved.
+*
+*  ========================================================================
+*
+*
+* Language:     ANSI C
+* Environment:  any
+*
+* Description:  Test program to determine just how much memory can be
+*               allocated with the compiler in use. Compile and link
+*               with the appropriate command line for your DOS extender.
+*
+*               Functions tested:   PM_malloc()
+*                                   PM_availableMemory()
+*
+*
+****************************************************************************/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include "pmapi.h"
+
+#ifdef  __16BIT__
+#define MAXALLOC    64
+#else
+#define MAXALLOC    2000
+#endif
+
+int main(void)
+{
+    int     i;
+    ulong   allocs;
+    ulong   physical,total;
+    char    *p,*pa[MAXALLOC];
+
+    printf("Program running in ");
+    switch (PM_getModeType()) {
+        case PM_realMode:
+            printf("real mode.\n\n");
+            break;
+        case PM_286:
+            printf("16 bit protected mode.\n\n");
+            break;
+        case PM_386:
+            printf("32 bit protected mode.\n\n");
+            break;
+        }
+
+    printf("Memory available at start:\n");
+    PM_availableMemory(&physical,&total);
+    printf("   Physical memory:           %ld Kb\n", physical / 1024);
+    printf("   Total (including virtual): %ld Kb\n", total / 1024);
+    printf("\n");
+    for (allocs = i = 0; i < MAXALLOC; i++) {
+        if ((pa[i] = PM_malloc(10*1024)) != 0) {    /* in 10k blocks    */
+            p = pa[allocs];
+            memset(p, 0, 10*1024); /* touch every byte              */
+            *p = 'x';           /* do something, anything with      */
+            p[1023] = 'y';      /* the allocated memory             */
+            allocs++;
+            printf("Allocated %lu bytes\r", 10*(allocs << 10));
+            }
+        else break;
+        if (PM_kbhit() && (PM_getch() == 0x1B))
+            break;
+        }
+
+    printf("\n\nAllocated total of %lu bytes\n", 10 * (allocs << 10));
+
+    printf("\nMemory available at end:\n");
+    PM_availableMemory(&physical,&total);
+    printf("   Physical memory:           %ld Kb\n", physical / 1024);
+    printf("   Total (including virtual): %ld Kb\n", total / 1024);
+
+    for (i = allocs-1; i >= 0; i--)
+        PM_free(pa[i]);
+
+    printf("\nMemory available after freeing all blocks (note that under protected mode\n");
+    printf("this will most likely not be correct after freeing blocks):\n\n");
+    PM_availableMemory(&physical,&total);
+    printf("   Physical memory:           %ld Kb\n", physical / 1024);
+    printf("   Total (including virtual): %ld Kb\n", total / 1024);
+
+    return 0;
+}