diff -ur --new-file linux-2.2.11.dist/init/main.c linux/init/main.c --- linux-2.2.11.dist/init/main.c Mon Aug 9 19:04:41 1999 +++ linux/init/main.c Tue Oct 3 20:53:30 2000 @@ -361,6 +361,15 @@ int rows, cols; +//--------------------------------------------------------------------------- +// MJ Wyrick +// Reserve two major chunks of memory for a VME Kernel Module 1 & 2 VKM1 and VKM2 +//--------------------------------------------------------------------------- +unsigned long VKM1_SHM_Size = (128 * 0x100000); // Reserve this much +unsigned long VKM1_SHM_Start = 0; // This is the start of SHM +unsigned long VKM2_SHM_Size = 0x00100000; // Reserve this much +unsigned long VKM2_SHM_Start = 0; // This is the start of SHM + #ifdef CONFIG_BLK_DEV_RAM extern int rd_doload; /* 1 = load ramdisk, 0 = don't load 2 = dual disk */ extern int rd_prompt; /* 1 = prompt for ramdisk, 0 = don't prompt */ @@ -1052,7 +1061,9 @@ args = 0; envs = 1; /* TERM is set to 'linux' by default */ next = line; + printk("Cmd Line: "); while ((line = next) != NULL) { + printk("%s ",line); if ((next = strchr(line,' ')) != NULL) *next++ = 0; /* @@ -1163,6 +1174,31 @@ printk(linux_banner); setup_arch(&command_line, &memory_start, &memory_end); memory_start = paging_init(memory_start,memory_end); + + //------------------------------------------------------ + // Reserve a Major Block of memory for the VKM1 + // MJ Wyrick + //------------------------------------------------------ + // Lets Allign to the Next Page, Needed if User Space is to map to us + // Replace the 4096 with the Page size. 99-06-16 + printk("Major Shared Memory Block Version 1.0 by MJ Wyrick\n"); + memory_start += 4096 - (memory_start % 4096); + VKM2_SHM_Start = memory_start; + memory_start += VKM2_SHM_Size; + + // Warning, VKM2_SHM_Size MUST Page aligned the VKM1_SHM Start + VKM1_SHM_Start = memory_start; + memory_start += VKM1_SHM_Size; + + printk(" VKM2_SHM_Start = 0x%08lX\n", VKM2_SHM_Start); + printk(" VKM2_SHM_Size = %lu\n", VKM2_SHM_Size); + + printk(" VKM1_SHM_Start = 0x%08lX\n", VKM1_SHM_Start); + printk(" VKM1_SHM_Size = %lu\n", VKM1_SHM_Size); + + printk(" Memory Start = 0x%08lX\n", memory_start); + //------------------------------------------------------ + trap_init(); init_IRQ(); sched_init(); @@ -1190,13 +1226,18 @@ memory_start = kmem_cache_init(memory_start, memory_end); sti(); calibrate_delay(); + +// +// Disabled for CIC Booting +// MJ Wyrick 00/6/21 #ifdef CONFIG_BLK_DEV_INITRD - if (initrd_start && !initrd_below_start_ok && initrd_start < memory_start) { - printk(KERN_CRIT "initrd overwritten (0x%08lx < 0x%08lx) - " - "disabling it.\n",initrd_start,memory_start); - initrd_start = 0; - } +// if (initrd_start && !initrd_below_start_ok && initrd_start < memory_start) { +// printk(KERN_CRIT "initrd overwritten (0x%08lx < 0x%08lx) - " +// "disabling it.\n",initrd_start,memory_start); +// initrd_start = 0; +// } #endif + mem_init(memory_start,memory_end); kmem_cache_sizes_init(); #ifdef CONFIG_PROC_FS diff -ur --new-file linux-2.2.11.dist/kernel/ksyms.c linux/kernel/ksyms.c --- linux-2.2.11.dist/kernel/ksyms.c Mon Aug 9 19:04:41 1999 +++ linux/kernel/ksyms.c Tue Oct 3 20:53:53 2000 @@ -407,3 +407,15 @@ /* init task, for moving kthread roots - ought to export a function ?? */ EXPORT_SYMBOL(init_task_union); + +/* MJ Wyrick Symbols for Shared memory Block */ +extern unsigned long VKM2_SHM_Start; +extern unsigned long VKM2_SHM_Size; +EXPORT_SYMBOL(VKM2_SHM_Start); +EXPORT_SYMBOL(VKM2_SHM_Size); + +extern unsigned long VKM1_SHM_Start; +extern unsigned long VKM1_SHM_Size; +EXPORT_SYMBOL(VKM1_SHM_Start); +EXPORT_SYMBOL(VKM1_SHM_Size); +