Hi,

I was trying to fix the Compaq Alphaserver DS10 target for LinuxBIOS.
While doing this, I moved the linuxbios table handling to from the 
i386 directories to src/boot/
I attached a patch, and it doesn't break the other targets, plus it
builds nicely on Alpha again. But I haven't dared testing yet, as
none of the three DS10s I have here comes with a socketed flash and
unlike most other alphas there does not seem to be a built in FSB
(or does anyone know of one? Help on this is greatly appreciated)
I think the one or the other edge needs a bit of fiddling, but I hope
it's ok as a rough path. Eric, can you look into it and point me to
the (hopefully not too) many mistakes I made? 

Stefan  

-- 
The x86 isn't all that complex - it just doesn't make a lot of
sense.          -- Mike Johnson, Leader of 80x86 Design at AMD
                                  Microprocessor Report (1994)
diff --exclude='Entries*' -urN freebios/src/arch/alpha/boot/boot.c 
../freebios/src/arch/alpha/boot/boot.c
--- freebios/src/arch/alpha/boot/boot.c Fri Mar 23 19:41:27 2001
+++ ../freebios/src/arch/alpha/boot/boot.c      Fri Apr 26 18:37:25 2002
@@ -1,4 +1,4 @@
-#include <boot/uniform_boot.h>
+// #include <boot/uniform_boot.h>
 #include <boot/elf.h>
 #include <arch/boot/hwrpb.h>
 
@@ -127,7 +127,7 @@
        },
 };
 
-
+#ifdef OLD_DS10
 static struct {
        struct uniform_boot_header header;
        struct {
@@ -152,7 +152,7 @@
        },
        .command_line = HWRPB_COMMAND_LINE,
 };
-
+#endif
 static unsigned long hwrpb_compute_checksum(struct hwrpb_struct *hwrpb)
 {
        unsigned long sum = 0, *l;
@@ -162,7 +162,7 @@
 
 }
 
-
+#ifdef OLD_DS10
 void *get_ube_pointer(unsigned long totalram)
 {
        /* Set the amount of RAM I have */
@@ -175,7 +175,16 @@
                uniform_boot_compute_header_checksum(&ube_all.header);
        return &ube_all;
 }
-
+#else
+void prepare_hwrpb(unsigned long totalram)
+{
+       /* Set the amount of RAM I have */
+       boot_data.mem_cluster[1].numpages = (totalram >> 3) -
+               boot_data.mem_cluster[1].start_pfn;
+       boot_data.hwrpb.chksum = 0;
+       boot_data.hwrpb.chksum = hwrpb_compute_checksum(&boot_data.hwrpb);
+}
+#endif
 
 int elf_check_arch(Elf_ehdr *ehdr)
 {
@@ -186,12 +195,12 @@
                );
 }
 
-void jmp_to_elf_entry(void *entry, void *ptr)
+void jmp_to_elf_entry(void *entry, unsigned long ptr)
 {
        void (*kernel_entry)(void *ptr);
        kernel_entry = entry;
 
        /* Jump to kernel */
-       kernel_entry(ptr);
+       kernel_entry((void *)ptr);
 }
 
diff --exclude='Entries*' -urN freebios/src/arch/alpha/config/ldscript.base 
../freebios/src/arch/alpha/config/ldscript.base
--- freebios/src/arch/alpha/config/ldscript.base        Sat Apr 14 00:04:20 2001
+++ ../freebios/src/arch/alpha/config/ldscript.base     Fri Apr 26 18:26:40 2002
@@ -19,7 +19,21 @@
                *(.rodata);
                _erodata = .;
        } : kernel
+/* streams starts here */
+        _ltext = LOADADDR(.text);
+        _eltext = LOADADDR(.text) + SIZEOF(.text);
+        .rodata . : AT(_eltext){
+                _rodata = .;
+                . = ALIGN(4);
+                streams = . ;
+                *(.rodata.streams)
+                estreams = .;
+                *(.rodata)
+                *(.rodata.*)
+                _erodata = .;
+        }
 
+/* streams ends here */
        . = _RAMBASE;
        /* Global data */
        .data : {
@@ -66,6 +80,12 @@
                _estack = .;
        }
        
+        /* The ram segment
+        * This is all address of the memory resident copy of linuxBIOS.
+        */
+       _ram_seg = _text; 
+       _eram_seg = _eheap;
+                       
        /DISCARD/ : {
                /* Comment sections */
                *(.mdebug) 
diff --exclude='Entries*' -urN freebios/src/arch/alpha/config/make.base 
../freebios/src/arch/alpha/config/make.base
--- freebios/src/arch/alpha/config/make.base    Sat Nov  3 03:11:48 2001
+++ ../freebios/src/arch/alpha/config/make.base Fri Apr 26 17:36:07 2002
@@ -4,10 +4,15 @@
 option USE_DEFAULT_LAYOUT=1
 ldscript arch/alpha/config/ldscript.base USE_DEFAULT_LAYOUT
 
+option MAX_CPUS=1
+
 makedefine LINK = ld -T ldscript.ld -o $@ crt0.o linuxbios.a
 makerule all : linuxbios.rom ;
 makerule linuxbios.rom: linuxbios.strip makerom ; ./makerom -l0x310000 -i7 -v 
linuxbios.strip -o linuxbios.rom
 
+dir /src/cpu/ev6
+dir /src/config
+dir /src/boot
 
 #makerule makerom: $(TOP)/util/makerom/makerom.c $(TOP)/util/makerom/compress.c ; 
$(CC) -o makerom $(TOP)/util/makerom/makerom.c $(TOP)/util/makerom/compress.c
 
diff --exclude='Entries*' -urN freebios/src/arch/alpha/include/arch/smp/smp.h 
../freebios/src/arch/alpha/include/arch/smp/smp.h
--- freebios/src/arch/alpha/include/arch/smp/smp.h      Thu Jan  1 01:00:00 1970
+++ ../freebios/src/arch/alpha/include/arch/smp/smp.h   Fri Apr 26 17:41:36 2002
@@ -0,0 +1,2 @@
+#define CPU_ENABLED             1       /* Processor is available */
+#define CPU_BOOTPROCESSOR       2       /* Processor is the BP */
diff --exclude='Entries*' -urN freebios/src/arch/alpha/lib/Config 
../freebios/src/arch/alpha/lib/Config
--- freebios/src/arch/alpha/lib/Config  Fri Mar 23 19:41:27 2001
+++ ../freebios/src/arch/alpha/lib/Config       Fri Apr 26 16:25:47 2002
@@ -1,6 +1,7 @@
 object hardwaremain.o
 
 makedefine OBJECTS+= __divqu.o __remqu.o __divlu.o __remlu.o
+makedefine OBJECTS-1+= __divqu.o __remqu.o __divlu.o __remlu.o
 
 makerule __divqu.o: $(TOP)/src/arch/alpha/lib/divide.S; $(CC) $(CFLAGS) -DDIV -c -o 
__divqu.o $<
 makerule __remqu.o: $(TOP)/src/arch/alpha/lib/divide.S; $(CC) $(CFLAGS) -DREM -c -o 
__remqu.o $<
diff --exclude='Entries*' -urN freebios/src/arch/alpha/lib/hardwaremain.c 
../freebios/src/arch/alpha/lib/hardwaremain.c
--- freebios/src/arch/alpha/lib/hardwaremain.c  Wed Aug  8 04:45:08 2001
+++ ../freebios/src/arch/alpha/lib/hardwaremain.c       Fri Apr 26 18:39:50 2002
@@ -2,17 +2,79 @@
 #include <boot/elf.h>
 #include <printk.h>
 #include <subr.h>
+#include <boot/linuxbios_table.h>
+#include <arch/smp/smp.h>
+
+#define LINUXBIOS
+
+static unsigned long processor_map[MAX_CPUS];
+void early_mainboard_init(void);
+
+void write_tables(unsigned long totalram)
+{
+       unsigned long low_table_start, low_table_end;
+       unsigned long rom_table_start, rom_table_end;
+       
+       rom_table_start = 0xf0000;
+       rom_table_end =   0xf0000;
+       /* Start low addr at 16 bytes instead of 0 because of a buglet
+        * in the generic linux bunzip code, as it tests for the a20 line.
+        */
+       low_table_start = 0;
+       low_table_end = 16;
+
+#ifdef ALPHA_SMP
+       /* copy the smp block to address 0 */
+       post_code(0x96);
+       /* The smp table must be in 0-1K, 639K-640K, or 960K-1M */
+       low_table_end = write_smp_table(low_table_end, processor_map);
+
+       /* Don't write anything in the traditional x86 BIOS data segment */
+       if (low_table_end < 0x500) {
+               low_table_end = 0x500;
+       }
+#endif
+       /* The linuxbios table must be in 0-4K or 960K-1M */
+       write_linuxbios_table(
+               processor_map, totalram,
+               low_table_start, low_table_end,
+               rom_table_start, rom_table_end);
+}
+
 
 void hardwaremain(unsigned long signature, unsigned long memsize, 
        unsigned long cpu_speed)
 {
+       extern void linuxbiosmain(unsigned long membase, unsigned long totalram);
+       void prepare_hwrpb(unsigned long totalram);
+               
        early_mainboard_init();
        displayinit();
 
        printk_info("\n\nsignature=0x%016lx memsize=0x%016lx cpu_speed=0x%016lx\n",
                signature, memsize, cpu_speed);
+#ifdef OLD_DS10
        elfboot(memsize >> 10 /* In kilobytes */);
        printk_err("\n after elfboot\n");
+#else
+       processor_map[0] = CPU_ENABLED;
+       
+       /* Set up hwrpb */
+       prepare_hwrpb(memsize);
+       
+       /* Now that we have collected all of our information
+        * write our configuration tables.
+        */
+       write_tables(memsize);
+               
+       
+#ifdef LINUXBIOS
+       printk_info("Jumping to linuxbiosmain()...\n");
+       // we could go to argc, argv, for main but it seems like overkill.
+        post_code(0xed);
+       linuxbiosmain(0, memsize);
+#endif /* LINUXBIOS */
+#endif
 }
 
 void fatal_error(unsigned long exception_handler, unsigned long exception_at, 
diff --exclude='Entries*' -urN freebios/src/arch/i386/boot/Config 
../freebios/src/arch/i386/boot/Config
--- freebios/src/arch/i386/boot/Config  Tue Jan  8 08:04:34 2002
+++ ../freebios/src/arch/i386/boot/Config       Fri Apr 26 16:44:35 2002
@@ -1,2 +1 @@
 object boot.o
-object linuxbios_table.o
diff --exclude='Entries*' -urN freebios/src/arch/i386/boot/linuxbios_table.c 
../freebios/src/arch/i386/boot/linuxbios_table.c
--- freebios/src/arch/i386/boot/linuxbios_table.c       Tue Jan 29 21:28:20 2002
+++ ../freebios/src/arch/i386/boot/linuxbios_table.c    Fri Apr 26 16:43:14 2002
@@ -1,183 +0,0 @@
-#include <ip_checksum.h>
-#include <boot/linuxbios_tables.h>
-#include <boot/linuxbios_table.h>
-#include <printk.h>
-#include <string.h>
-
-struct lb_header *lb_table_init(unsigned long addr)
-{
-       struct lb_header *header;
-
-       /* 16 byte align the address */
-       addr += 15;
-       addr &= ~15;
-
-       header = (void *)addr;
-       header->signature[0] = 'L';
-       header->signature[1] = 'B';
-       header->signature[2] = 'I';
-       header->signature[3] = 'O';
-       header->header_bytes = sizeof(*header);
-       header->header_checksum = 0;
-       header->table_bytes = 0;
-       header->table_checksum = 0;
-       header->table_entries = 0;
-       return header;
-}
-
-struct lb_record *lb_first_record(struct lb_header *header)
-{
-       struct lb_record *rec;
-       rec = (void *)(((char *)header) + sizeof(*header));
-       return rec;
-}
-
-struct lb_record *lb_last_record(struct lb_header *header)
-{
-       struct lb_record *rec;
-       rec = (void *)(((char *)header) + sizeof(*header) + header->table_bytes);
-       return rec;
-}
-
-struct lb_record *lb_next_record(struct lb_record *rec)
-{
-       rec = (void *)(((char *)rec) + rec->size);      
-       return rec;
-}
-
-struct lb_record *lb_new_record(struct lb_header *header)
-{
-       struct lb_record *rec;
-       rec = lb_last_record(header);
-       if (header->table_entries) {
-               header->table_bytes += rec->size;
-       }
-       rec = lb_last_record(header);
-       header->table_entries++;
-       rec->tag = LB_TAG_UNUSED;
-       rec->size = sizeof(*rec);
-       return rec;
-}
-
-
-struct lb_memory *lb_memory(struct lb_header *header)
-{
-       struct lb_record *rec;
-       struct lb_memory *mem;
-       rec = lb_new_record(header);
-       mem = (struct lb_memory *)rec;
-       mem->tag = LB_TAG_MEMORY;
-       mem->size = sizeof(*mem);
-       return mem;
-}
-
-/* Some version of gcc have problems with 64 bit types so
- * take an unsigned long instead of a uint64_t for now.
- */
-void lb_memory_range(struct lb_memory *mem,
-       uint32_t type, unsigned long start, unsigned long size)
-{
-       int entries;
-       entries = (mem->size - sizeof(*mem))/sizeof(mem->map[0]);
-       mem->map[entries].start = start;
-       mem->map[entries].size = size;
-       mem->map[entries].type = type;
-       mem->size += sizeof(mem->map[0]);
-}
-
-static void lb_reserve_table_memory(struct lb_header *head)
-{
-       struct lb_record *last_rec;
-       struct lb_memory *mem;
-       uint64_t start;
-       uint64_t end;
-       int i, entries;
-
-       last_rec = lb_last_record(head);
-       mem = get_lb_mem();
-       start = (unsigned long)head;
-       end = (unsigned long)last_rec;
-       entries = (mem->size - sizeof(*mem))/sizeof(mem->map[0]);
-       /* Resize the right two memory areas so this table is in
-        * a reserved area of memory.  Everything has been carefully
-        * setup so that is all we need to do.
-        */
-       for(i = 0; i < entries; i++ ) {
-               uint64_t map_start = mem->map[i].start;
-               uint64_t map_end = map_start + mem->map[i].size;
-               /* Does this area need to be expanded? */
-               if (map_end == start) {
-                       mem->map[i].size = end - map_start;
-               }
-               /* Does this area need to be contracted? */
-               else if (map_start == start) {
-                       mem->map[i].start = end;
-                       mem->map[i].size = map_end - end;
-               }
-       }
-}
-
-unsigned long lb_table_fini(struct lb_header *head)
-{
-       struct lb_record *rec, *first_rec;
-       rec = lb_last_record(head);
-       if (head->table_entries) {
-               head->table_bytes += rec->size;
-       }
-       lb_reserve_table_memory(head);
-       first_rec = lb_first_record(head);
-       head->table_checksum = compute_ip_checksum(first_rec, head->table_bytes);
-       head->header_checksum = 0;
-       head->header_checksum = compute_ip_checksum(head, sizeof(*head));
-       printk_debug("Wrote linuxbios table at: %p - %p\n",
-               head, rec);
-       return (unsigned long)rec;
-}
-
-
-/* Routines to extract part so the linuxBIOS table or 
- * information from the linuxBIOS table after we have written it.
- * Currently get_lb_mem relies on a global we can change the
- * implementaiton.
- */
-static struct lb_memory *mem_ranges = 0;
-struct lb_memory *get_lb_mem(void)
-{
-       return mem_ranges;
-}
-
-unsigned long write_linuxbios_table( 
-       unsigned long *processor_map, 
-       unsigned long totalram,
-       unsigned long low_table_start, unsigned long low_table_end,
-       unsigned long rom_table_start, unsigned long rom_table_end)
-{
-       struct lb_header *head;
-       struct lb_memory *mem;
-       struct lb_record *rec_dest, *rec_src;
-       
-       head = lb_table_init(low_table_end);
-       low_table_end = (unsigned long)head;
-#if HAVE_OPTION_TABLE == 1
-       /* Write the option config table... */
-       rec_dest = lb_new_record(head);
-       rec_src = (struct lb_record *)&option_table;
-       memcpy(rec_dest,  rec_src, rec_src->size);
-#endif 
-       mem = lb_memory(head);
-       mem_ranges = mem;
-       /* Reserve our tables in low memory */
-       lb_memory_range(mem, LB_MEM_RESERVED, low_table_start, low_table_end - 
low_table_start);
-       lb_memory_range(mem, LB_MEM_RAM,      low_table_end, 640*1024 - low_table_end);
-       /* Reserve the whole dos BIOS reserved area, we can probably do
-        * better but it isn't too important right now
-        */
-       lb_memory_range(mem, LB_MEM_RESERVED, 0x000a0000, 0x00060000);
-       /* Now show all of memory */
-       lb_memory_range(mem, LB_MEM_RAM,      0x00100000, (totalram - 1024) << 10);
-
-       low_table_end = lb_table_fini(head);
-
-       /* Remember where my valid memory ranges are */
-       return low_table_end;
-}
Binary files freebios/src/arch/i386/config/.ldscript.base.swp and 
../freebios/src/arch/i386/config/.ldscript.base.swp differ
diff --exclude='Entries*' -urN freebios/src/arch/i386/config/make.base 
../freebios/src/arch/i386/config/make.base
--- freebios/src/arch/i386/config/make.base     Wed Jan 16 06:54:19 2002
+++ ../freebios/src/arch/i386/config/make.base  Fri Apr 26 17:12:27 2002
@@ -21,6 +21,9 @@
 
 dir /src/config
 
+# We need linuxbios table
+dir /src/boot
+
 makerule all : romimage ;
 makerule floppy : all ; mcopy -o romimage a:
 makerule romimage : linuxbios.rom payload.block ; cat payload.block linuxbios.rom > 
romimage
diff --exclude='Entries*' -urN freebios/src/boot/Config ../freebios/src/boot/Config
--- freebios/src/boot/Config    Tue Jan  8 08:04:35 2002
+++ ../freebios/src/boot/Config Fri Apr 26 17:22:43 2002
@@ -0,0 +1,2 @@
+object linuxbios_table.o
+
diff --exclude='Entries*' -urN freebios/src/boot/linuxbios_table.c 
../freebios/src/boot/linuxbios_table.c
--- freebios/src/boot/linuxbios_table.c Thu Jan  1 01:00:00 1970
+++ ../freebios/src/boot/linuxbios_table.c      Tue Jan 29 21:28:20 2002
@@ -0,0 +1,183 @@
+#include <ip_checksum.h>
+#include <boot/linuxbios_tables.h>
+#include <boot/linuxbios_table.h>
+#include <printk.h>
+#include <string.h>
+
+struct lb_header *lb_table_init(unsigned long addr)
+{
+       struct lb_header *header;
+
+       /* 16 byte align the address */
+       addr += 15;
+       addr &= ~15;
+
+       header = (void *)addr;
+       header->signature[0] = 'L';
+       header->signature[1] = 'B';
+       header->signature[2] = 'I';
+       header->signature[3] = 'O';
+       header->header_bytes = sizeof(*header);
+       header->header_checksum = 0;
+       header->table_bytes = 0;
+       header->table_checksum = 0;
+       header->table_entries = 0;
+       return header;
+}
+
+struct lb_record *lb_first_record(struct lb_header *header)
+{
+       struct lb_record *rec;
+       rec = (void *)(((char *)header) + sizeof(*header));
+       return rec;
+}
+
+struct lb_record *lb_last_record(struct lb_header *header)
+{
+       struct lb_record *rec;
+       rec = (void *)(((char *)header) + sizeof(*header) + header->table_bytes);
+       return rec;
+}
+
+struct lb_record *lb_next_record(struct lb_record *rec)
+{
+       rec = (void *)(((char *)rec) + rec->size);      
+       return rec;
+}
+
+struct lb_record *lb_new_record(struct lb_header *header)
+{
+       struct lb_record *rec;
+       rec = lb_last_record(header);
+       if (header->table_entries) {
+               header->table_bytes += rec->size;
+       }
+       rec = lb_last_record(header);
+       header->table_entries++;
+       rec->tag = LB_TAG_UNUSED;
+       rec->size = sizeof(*rec);
+       return rec;
+}
+
+
+struct lb_memory *lb_memory(struct lb_header *header)
+{
+       struct lb_record *rec;
+       struct lb_memory *mem;
+       rec = lb_new_record(header);
+       mem = (struct lb_memory *)rec;
+       mem->tag = LB_TAG_MEMORY;
+       mem->size = sizeof(*mem);
+       return mem;
+}
+
+/* Some version of gcc have problems with 64 bit types so
+ * take an unsigned long instead of a uint64_t for now.
+ */
+void lb_memory_range(struct lb_memory *mem,
+       uint32_t type, unsigned long start, unsigned long size)
+{
+       int entries;
+       entries = (mem->size - sizeof(*mem))/sizeof(mem->map[0]);
+       mem->map[entries].start = start;
+       mem->map[entries].size = size;
+       mem->map[entries].type = type;
+       mem->size += sizeof(mem->map[0]);
+}
+
+static void lb_reserve_table_memory(struct lb_header *head)
+{
+       struct lb_record *last_rec;
+       struct lb_memory *mem;
+       uint64_t start;
+       uint64_t end;
+       int i, entries;
+
+       last_rec = lb_last_record(head);
+       mem = get_lb_mem();
+       start = (unsigned long)head;
+       end = (unsigned long)last_rec;
+       entries = (mem->size - sizeof(*mem))/sizeof(mem->map[0]);
+       /* Resize the right two memory areas so this table is in
+        * a reserved area of memory.  Everything has been carefully
+        * setup so that is all we need to do.
+        */
+       for(i = 0; i < entries; i++ ) {
+               uint64_t map_start = mem->map[i].start;
+               uint64_t map_end = map_start + mem->map[i].size;
+               /* Does this area need to be expanded? */
+               if (map_end == start) {
+                       mem->map[i].size = end - map_start;
+               }
+               /* Does this area need to be contracted? */
+               else if (map_start == start) {
+                       mem->map[i].start = end;
+                       mem->map[i].size = map_end - end;
+               }
+       }
+}
+
+unsigned long lb_table_fini(struct lb_header *head)
+{
+       struct lb_record *rec, *first_rec;
+       rec = lb_last_record(head);
+       if (head->table_entries) {
+               head->table_bytes += rec->size;
+       }
+       lb_reserve_table_memory(head);
+       first_rec = lb_first_record(head);
+       head->table_checksum = compute_ip_checksum(first_rec, head->table_bytes);
+       head->header_checksum = 0;
+       head->header_checksum = compute_ip_checksum(head, sizeof(*head));
+       printk_debug("Wrote linuxbios table at: %p - %p\n",
+               head, rec);
+       return (unsigned long)rec;
+}
+
+
+/* Routines to extract part so the linuxBIOS table or 
+ * information from the linuxBIOS table after we have written it.
+ * Currently get_lb_mem relies on a global we can change the
+ * implementaiton.
+ */
+static struct lb_memory *mem_ranges = 0;
+struct lb_memory *get_lb_mem(void)
+{
+       return mem_ranges;
+}
+
+unsigned long write_linuxbios_table( 
+       unsigned long *processor_map, 
+       unsigned long totalram,
+       unsigned long low_table_start, unsigned long low_table_end,
+       unsigned long rom_table_start, unsigned long rom_table_end)
+{
+       struct lb_header *head;
+       struct lb_memory *mem;
+       struct lb_record *rec_dest, *rec_src;
+       
+       head = lb_table_init(low_table_end);
+       low_table_end = (unsigned long)head;
+#if HAVE_OPTION_TABLE == 1
+       /* Write the option config table... */
+       rec_dest = lb_new_record(head);
+       rec_src = (struct lb_record *)&option_table;
+       memcpy(rec_dest,  rec_src, rec_src->size);
+#endif 
+       mem = lb_memory(head);
+       mem_ranges = mem;
+       /* Reserve our tables in low memory */
+       lb_memory_range(mem, LB_MEM_RESERVED, low_table_start, low_table_end - 
+low_table_start);
+       lb_memory_range(mem, LB_MEM_RAM,      low_table_end, 640*1024 - low_table_end);
+       /* Reserve the whole dos BIOS reserved area, we can probably do
+        * better but it isn't too important right now
+        */
+       lb_memory_range(mem, LB_MEM_RESERVED, 0x000a0000, 0x00060000);
+       /* Now show all of memory */
+       lb_memory_range(mem, LB_MEM_RAM,      0x00100000, (totalram - 1024) << 10);
+
+       low_table_end = lb_table_fini(head);
+
+       /* Remember where my valid memory ranges are */
+       return low_table_end;
+}
diff --exclude='Entries*' -urN freebios/src/lib/Config ../freebios/src/lib/Config
--- freebios/src/lib/Config     Tue Jan 22 18:51:31 2002
+++ ../freebios/src/lib/Config  Fri Apr 26 16:57:24 2002
@@ -16,4 +16,4 @@
 object floppy_subr.o
 object delay.o
 object fallback_boot.o HAVE_FALLBACK_BOOT
-object compute_ip_checksum.o
\ No newline at end of file
+object compute_ip_checksum.o
diff --exclude='Entries*' -urN freebios/src/mainboard/compaq/ds10/config.example 
../freebios/src/mainboard/compaq/ds10/config.example
--- freebios/src/mainboard/compaq/ds10/config.example   Thu Jan  1 01:00:00 1970
+++ ../freebios/src/mainboard/compaq/ds10/config.example        Fri Apr 26 17:58:43 
+2002
@@ -0,0 +1,27 @@
+# This will make a target directory of ./ds10
+# Note that this is RELATIVE TO WHERE YOU ARE WHEN YOU RUN THE 
+# CONFIG TOOL. Make it absolute if you like
+target ds10
+
+mainboard compaq/ds10
+
+# Enable Serial Console for debugging
+# It will come up at 115200,8n1
+option SERIAL_CONSOLE=1
+
+# Enable SROM_CONSOLE
+# This uses the SROM serial debug port at 9600 baud
+option SROM_CONSOLE
+
+#option USE_CACHE_RAM=0
+option USE_ELF_BOOT=1
+option USE_TSUNAMI_TIGBUS_ROM=1
+option TIG_KERNEL_START=0x20000 
+
+# Path to your kernel (vmlinux)
+# NOTE; you need a path to your test12 kernel here. 
+#linux ~/projects/linux/linux-2.4.0-test9.eb5.4
+
+# Kernel command line parameters
+commandline console=ttyS0,115200 root=/dev/nfs alpha_mv=Webbrick 
+ip=192.168.0.252:192.168.0.253::255.255.255.0:ds10:eth0:off 
+nfsroot=/mnt/hdb/images/alpha-nfs-boot
+

Reply via email to