Annotation to Linux:

Thanks to Michael Harwerth (Michael_Harwerth@hg.maus.de) there is
a patch for the boot loader, so that Linux recognizes the FX RAM.

/usr/src/linux-0.9.11/tools/atari/bootstrap.c   Sat Sep  9 09:45:14 1995
+++ bootstrap.c Sun Oct 15 07:30:18 1995
@@ -248,6 +248,7 @@
     int load_to_stram = 0;
     char *ramdisk_name, *kernel_name, *memptr;
     u_long ST_ramsize, TT_ramsize, memreq;
+    u_long TT_ramstart, fx_cookie, fx_memsize;
     u_long cpu_type, fpu_type, mch_type, mint;
     struct exec kexec;
     u_long start_mem, mem_size, rd_size, text_offset;
@@ -383,14 +384,25 @@
    if (!test_medusa()) {

        TT_ramsize = 0;
+       TT_ramstart = TT_RAM_BASE;
+       /* check if FX card is present */
+       if(getcookie("BPFX",&fx_cookie)!=-1)
+       {
+         /* Yep. Get its size and addresses and adjust
+             ramtop and TT_ramstart */
+          fx_cookie += 8;
+          fx_memsize = *((u_long *)fx_cookie);
+          TT_ramstart = *phystop;
+          *ramtop = TT_ramstart + fx_memsize;
+       }
        if (!ignore_ttram && *ramtop) {
            /* the 'ramtop' variable at 0x05a4 is not
             * officially documented. We use it anyway
             * because it is the only way to get the TTram size.         * (It is zero if there is no TTram.)
             */
-           bi.memory[i].addr = TT_RAM_BASE;
-           bi.memory[i].size = (*ramtop - TT_RAM_BASE) & ~(MB - 1);
+           bi.memory[i].addr = TT_ramstart;
+           bi.memory[i].size = (*ramtop - TT_ramstart) & ~(MB - 1);
            TT_ramsize = bi.memory[i].size / MB;
            i++;
            printf("TT-RAM: %ld Mb; ", TT_ramsize);

In newer versions of the boot loader this should already be implemented.

Georg Acher/BlowUP 11.11.95

