403 lines
13 KiB
Diff
403 lines
13 KiB
Diff
diff -ur linux-oem-109/config.in linux/config.in
|
|
--- linux-oem-109/config.in Tue Aug 29 14:26:40 1995
|
|
+++ linux/config.in Wed Aug 30 11:10:34 1995
|
|
@@ -7,11 +7,13 @@
|
|
*
|
|
bool 'Kernel math emulation' CONFIG_MATH_EMULATION y
|
|
bool 'Normal harddisk support' CONFIG_BLK_DEV_HD y
|
|
+bool 'RAM disk support' CONFIG_BLK_DEV_RAM n
|
|
bool 'XT harddisk support' CONFIG_BLK_DEV_XD n
|
|
bool 'TCP/IP networking' CONFIG_INET y
|
|
bool 'Limit memory to low 16MB' CONFIG_MAX_16M n
|
|
bool 'System V IPC' CONFIG_SYSVIPC y
|
|
bool 'Use -m486 flag for 486-specific optimizations' CONFIG_M486 y
|
|
+bool 'Loadable Module support' CONFIG_MODULES n
|
|
*
|
|
* Program binary formats
|
|
*
|
|
diff -ur linux-oem-109/drivers/block/Makefile linux/drivers/block/Makefile
|
|
--- linux-oem-109/drivers/block/Makefile Mon Mar 7 00:08:21 1994
|
|
+++ linux/drivers/block/Makefile Wed Aug 30 10:59:41 1995
|
|
@@ -21,8 +21,8 @@
|
|
# In the future, some of these should be built conditionally.
|
|
#
|
|
|
|
-OBJS := ll_rw_blk.o floppy.o ramdisk.o genhd.o
|
|
-SRCS := ll_rw_blk.c floppy.c ramdisk.c genhd.c
|
|
+OBJS := ll_rw_blk.o floppy.o genhd.o
|
|
+SRCS := ll_rw_blk.c floppy.c genhd.c
|
|
|
|
ifdef CONFIG_CDU31A
|
|
OBJS := $(OBJS) cdu31a.o
|
|
@@ -42,6 +42,11 @@
|
|
ifdef CONFIG_BLK_DEV_HD
|
|
OBJS := $(OBJS) hd.o
|
|
SRCS := $(SRCS) hd.c
|
|
+endif
|
|
+
|
|
+ifdef CONFIG_BLK_DEV_RAM
|
|
+OBJS := $(OBJS) ramdisk.o
|
|
+SRCS := $(SRCS) ramdisk.c
|
|
endif
|
|
|
|
ifdef CONFIG_BLK_DEV_XD
|
|
diff -ur linux-oem-109/drivers/block/genhd.c linux/drivers/block/genhd.c
|
|
--- linux-oem-109/drivers/block/genhd.c Wed Dec 1 23:44:15 1993
|
|
+++ linux/drivers/block/genhd.c Wed Aug 30 10:59:41 1995
|
|
@@ -19,8 +19,10 @@
|
|
|
|
static int current_minor = 0;
|
|
extern int *blk_size[];
|
|
+#ifdef CONFIG_BLK_DEV_RAM
|
|
extern void rd_load(void);
|
|
extern int ramdisk_size;
|
|
+#endif
|
|
|
|
/*
|
|
* Create devices for each logical partition in an extended partition.
|
|
@@ -209,8 +211,10 @@
|
|
nr += p->nr_real;
|
|
}
|
|
|
|
+#ifdef CONFIG_BLK_DEV_RAM
|
|
if (ramdisk_size)
|
|
rd_load();
|
|
+#endif
|
|
mount_root();
|
|
return (0);
|
|
}
|
|
diff -ur linux-oem-109/drivers/block/ll_rw_blk.c linux/drivers/block/ll_rw_blk.c
|
|
--- linux-oem-109/drivers/block/ll_rw_blk.c Tue Feb 1 18:03:51 1994
|
|
+++ linux/drivers/block/ll_rw_blk.c Wed Aug 30 10:59:40 1995
|
|
@@ -497,7 +497,9 @@
|
|
#ifdef CONFIG_SBPCD
|
|
mem_start = sbpcd_init(mem_start, mem_end);
|
|
#endif CONFIG_SBPCD
|
|
+#ifdef CONFIG_BLK_DEV_RAM
|
|
if (ramdisk_size)
|
|
mem_start += rd_init(mem_start, ramdisk_size*1024);
|
|
+#endif
|
|
return mem_start;
|
|
}
|
|
diff -ur linux-oem-109/drivers/char/serial.c linux/drivers/char/serial.c
|
|
--- linux-oem-109/drivers/char/serial.c Mon Mar 14 06:20:21 1994
|
|
+++ linux/drivers/char/serial.c Wed Aug 30 10:59:46 1995
|
|
@@ -145,56 +145,6 @@
|
|
/* UART CLK PORT IRQ FLAGS */
|
|
{ BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */
|
|
{ BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */
|
|
- { BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */
|
|
- { BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */
|
|
-
|
|
- { BASE_BAUD, 0x1A0, 9, FOURPORT_FLAGS }, /* ttyS4 */
|
|
- { BASE_BAUD, 0x1A8, 9, FOURPORT_FLAGS }, /* ttyS5 */
|
|
- { BASE_BAUD, 0x1B0, 9, FOURPORT_FLAGS }, /* ttyS6 */
|
|
- { BASE_BAUD, 0x1B8, 9, FOURPORT_FLAGS }, /* ttyS7 */
|
|
-
|
|
- { BASE_BAUD, 0x2A0, 5, FOURPORT_FLAGS }, /* ttyS8 */
|
|
- { BASE_BAUD, 0x2A8, 5, FOURPORT_FLAGS }, /* ttyS9 */
|
|
- { BASE_BAUD, 0x2B0, 5, FOURPORT_FLAGS }, /* ttyS10 */
|
|
- { BASE_BAUD, 0x2B8, 5, FOURPORT_FLAGS }, /* ttyS11 */
|
|
-
|
|
- { BASE_BAUD, 0x330, 4, ACCENT_FLAGS }, /* ttyS12 */
|
|
- { BASE_BAUD, 0x338, 4, ACCENT_FLAGS }, /* ttyS13 */
|
|
- { BASE_BAUD, 0x000, 0, 0 }, /* ttyS14 (spare; user configurable) */
|
|
- { BASE_BAUD, 0x000, 0, 0 }, /* ttyS15 (spare; user configurable) */
|
|
-
|
|
- { BASE_BAUD, 0x100, 12, BOCA_FLAGS }, /* ttyS16 */
|
|
- { BASE_BAUD, 0x108, 12, BOCA_FLAGS }, /* ttyS17 */
|
|
- { BASE_BAUD, 0x110, 12, BOCA_FLAGS }, /* ttyS18 */
|
|
- { BASE_BAUD, 0x118, 12, BOCA_FLAGS }, /* ttyS19 */
|
|
- { BASE_BAUD, 0x120, 12, BOCA_FLAGS }, /* ttyS20 */
|
|
- { BASE_BAUD, 0x128, 12, BOCA_FLAGS }, /* ttyS21 */
|
|
- { BASE_BAUD, 0x130, 12, BOCA_FLAGS }, /* ttyS22 */
|
|
- { BASE_BAUD, 0x138, 12, BOCA_FLAGS }, /* ttyS23 */
|
|
- { BASE_BAUD, 0x140, 12, BOCA_FLAGS }, /* ttyS24 */
|
|
- { BASE_BAUD, 0x148, 12, BOCA_FLAGS }, /* ttyS25 */
|
|
- { BASE_BAUD, 0x150, 12, BOCA_FLAGS }, /* ttyS26 */
|
|
- { BASE_BAUD, 0x158, 12, BOCA_FLAGS }, /* ttyS27 */
|
|
- { BASE_BAUD, 0x160, 12, BOCA_FLAGS }, /* ttyS28 */
|
|
- { BASE_BAUD, 0x168, 12, BOCA_FLAGS }, /* ttyS29 */
|
|
- { BASE_BAUD, 0x170, 12, BOCA_FLAGS }, /* ttyS30 */
|
|
- { BASE_BAUD, 0x178, 12, BOCA_FLAGS }, /* ttyS31 */
|
|
-
|
|
-/* You can have up to four HUB6's in the system, but I've only
|
|
- * included two cards here for a total of twelve ports.
|
|
- */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(0,0) }, /* ttyS32 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(0,1) }, /* ttyS33 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(0,2) }, /* ttyS34 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(0,3) }, /* ttyS35 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(0,4) }, /* ttyS36 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(0,5) }, /* ttyS37 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(1,0) }, /* ttyS32 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(1,1) }, /* ttyS33 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(1,2) }, /* ttyS34 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(1,3) }, /* ttyS35 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(1,4) }, /* ttyS36 */
|
|
- { BASE_BAUD, 0x302, 3, HUB6_FLAGS, C_P(1,5) }, /* ttyS37 */
|
|
};
|
|
|
|
#define NR_PORTS (sizeof(rs_table)/sizeof(struct async_struct))
|
|
diff -ur linux-oem-109/drivers/net/ne.c linux/drivers/net/ne.c
|
|
--- linux-oem-109/drivers/net/ne.c Mon Mar 7 00:12:04 1994
|
|
+++ linux/drivers/net/ne.c Wed Aug 30 10:59:36 1995
|
|
@@ -175,29 +175,15 @@
|
|
}
|
|
#endif
|
|
|
|
- neX000 = (SA_prom[14] == 0x57 && SA_prom[15] == 0x57);
|
|
- ctron = (SA_prom[0] == 0x00 && SA_prom[1] == 0x00 && SA_prom[2] == 0x1d);
|
|
- dlink = (SA_prom[0] == 0x00 && SA_prom[1] == 0xDE && SA_prom[2] == 0x01);
|
|
- dfi = (SA_prom[0] == 'D' && SA_prom[1] == 'F' && SA_prom[2] == 'I');
|
|
-
|
|
/* Set up the rest of the parameters. */
|
|
- if (neX000 || dlink || dfi) {
|
|
- if (wordlength == 2) {
|
|
- name = dlink ? "DE200" : "NE2000";
|
|
- start_page = NESM_START_PG;
|
|
- stop_page = NESM_STOP_PG;
|
|
- } else {
|
|
- name = dlink ? "DE100" : "NE1000";
|
|
- start_page = NE1SM_START_PG;
|
|
- stop_page = NE1SM_STOP_PG;
|
|
- }
|
|
- } else if (ctron) {
|
|
- name = "Cabletron";
|
|
- start_page = 0x01;
|
|
- stop_page = (wordlength == 2) ? 0x40 : 0x20;
|
|
+ if (wordlength == 2) {
|
|
+ name = "NE2000";
|
|
+ start_page = NESM_START_PG;
|
|
+ stop_page = NESM_STOP_PG;
|
|
} else {
|
|
- printk(" not found.\n");
|
|
- return 0;
|
|
+ name = "NE1000";
|
|
+ start_page = NE1SM_START_PG;
|
|
+ stop_page = NE1SM_STOP_PG;
|
|
}
|
|
|
|
if (dev->irq < 2) {
|
|
diff -ur linux-oem-109/fs/proc/array.c linux/fs/proc/array.c
|
|
--- linux-oem-109/fs/proc/array.c Wed Aug 30 10:57:42 1995
|
|
+++ linux/fs/proc/array.c Wed Aug 30 10:58:17 1995
|
|
@@ -464,7 +464,9 @@
|
|
return sz;
|
|
}
|
|
|
|
+#ifdef CONFIG_MODULES
|
|
extern int get_module_list(char *);
|
|
+#endif
|
|
|
|
static int array_read(struct inode * inode, struct file * file,char * buf, int count)
|
|
{
|
|
@@ -516,9 +518,11 @@
|
|
case 15:
|
|
length = get_maps(pid, page);
|
|
break;
|
|
+#ifdef CONFIG_MODULES
|
|
case 16:
|
|
length = get_module_list(page);
|
|
break;
|
|
+#endif
|
|
case 17:
|
|
length = get_kstat(page);
|
|
break;
|
|
diff -ur linux-oem-109/fs/proc/root.c linux/fs/proc/root.c
|
|
--- linux-oem-109/fs/proc/root.c Wed Aug 30 10:57:42 1995
|
|
+++ linux/fs/proc/root.c Wed Aug 30 10:58:16 1995
|
|
@@ -65,7 +65,9 @@
|
|
{13,6,"malloc" },
|
|
#endif
|
|
{14,5,"kcore" },
|
|
+#ifdef CONFIG_MODULES
|
|
{16,7,"modules" },
|
|
+#endif
|
|
{17,4,"stat" },
|
|
};
|
|
|
|
diff -ur linux-oem-109/init/main.c linux/init/main.c
|
|
--- linux-oem-109/init/main.c Wed Aug 30 10:57:48 1995
|
|
+++ linux/init/main.c Wed Aug 30 10:58:37 1995
|
|
@@ -63,8 +63,6 @@
|
|
return waitpid(-1,wait_stat,0);
|
|
}
|
|
|
|
-static char printbuf[1024];
|
|
-
|
|
extern int console_loglevel;
|
|
|
|
extern char empty_zero_page[PAGE_SIZE];
|
|
@@ -135,17 +133,15 @@
|
|
static char * argv_init[MAX_INIT_ARGS+2] = { "init", NULL, };
|
|
static char * envp_init[MAX_INIT_ENVS+2] = { "HOME=/", term, NULL, };
|
|
|
|
-static char * argv_rc[] = { "/bin/sh", NULL };
|
|
-static char * envp_rc[] = { "HOME=/", term, NULL };
|
|
-
|
|
-static char * argv[] = { "-/bin/sh",NULL };
|
|
-static char * envp[] = { "HOME=/usr/root", term, NULL };
|
|
-
|
|
struct drive_info_struct { char dummy[32]; } drive_info;
|
|
struct screen_info screen_info;
|
|
|
|
unsigned char aux_device_present;
|
|
+
|
|
+#ifdef CONFIG_BLK_DEV_RAM
|
|
int ramdisk_size;
|
|
+#endif
|
|
+
|
|
int root_mountflags = 0;
|
|
|
|
static char fpu_error = 0;
|
|
@@ -369,7 +365,9 @@
|
|
aux_device_present = AUX_DEVICE_INFO;
|
|
memory_end = (1<<20) + (EXT_MEM_K<<10);
|
|
memory_end &= PAGE_MASK;
|
|
+#ifdef CONFIG_BLK_DEV_RAM
|
|
ramdisk_size = RAMDISK_SIZE;
|
|
+#endif
|
|
copy_options(command_line,COMMAND_LINE);
|
|
#ifdef CONFIG_MAX_16M
|
|
if (memory_end > 16*1024*1024)
|
|
@@ -474,20 +472,8 @@
|
|
idle();
|
|
}
|
|
|
|
-static int printf(const char *fmt, ...)
|
|
-{
|
|
- va_list args;
|
|
- int i;
|
|
-
|
|
- va_start(args, fmt);
|
|
- write(1,printbuf,i=vsprintf(printbuf, fmt, args));
|
|
- va_end(args);
|
|
- return i;
|
|
-}
|
|
-
|
|
void init(void)
|
|
{
|
|
- int pid,i;
|
|
|
|
setup((void *) &drive_info);
|
|
sprintf(term, "TERM=con%dx%d", ORIG_VIDEO_COLS, ORIG_VIDEO_LINES);
|
|
@@ -498,36 +484,4 @@
|
|
execve("/etc/init",argv_init,envp_init);
|
|
execve("/bin/init",argv_init,envp_init);
|
|
execve("/sbin/init",argv_init,envp_init);
|
|
- /* if this fails, fall through to original stuff */
|
|
-
|
|
- if (!(pid=fork())) {
|
|
- close(0);
|
|
- if (open("/etc/rc",O_RDONLY,0))
|
|
- _exit(1);
|
|
- execve("/bin/sh",argv_rc,envp_rc);
|
|
- _exit(2);
|
|
- }
|
|
- if (pid>0)
|
|
- while (pid != wait(&i))
|
|
- /* nothing */;
|
|
- while (1) {
|
|
- if ((pid = fork()) < 0) {
|
|
- printf("Fork failed in init\n\r");
|
|
- continue;
|
|
- }
|
|
- if (!pid) {
|
|
- close(0);close(1);close(2);
|
|
- setsid();
|
|
- (void) open("/dev/tty1",O_RDWR,0);
|
|
- (void) dup(0);
|
|
- (void) dup(0);
|
|
- _exit(execve("/bin/sh",argv,envp));
|
|
- }
|
|
- while (1)
|
|
- if (pid == wait(&i))
|
|
- break;
|
|
- printf("\n\rchild %d died with code %04x\n\r",pid,i);
|
|
- sync();
|
|
- }
|
|
- _exit(0);
|
|
}
|
|
diff -ur linux-oem-109/kernel/Makefile linux/kernel/Makefile
|
|
--- linux-oem-109/kernel/Makefile Wed Aug 30 10:57:48 1995
|
|
+++ linux/kernel/Makefile Wed Aug 30 10:58:38 1995
|
|
@@ -17,9 +17,13 @@
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
OBJS = sched.o sys_call.o traps.o irq.o dma.o fork.o \
|
|
- panic.o printk.o vsprintf.o sys.o module.o ksyms.o exit.o \
|
|
+ panic.o printk.o vsprintf.o sys.o module.o exit.o \
|
|
signal.o mktime.o ptrace.o ioport.o itimer.o \
|
|
info.o ldt.o time.o
|
|
+
|
|
+ifdef CONFIG_MODULES
|
|
+OBJS := $(OBJS) ksyms.o
|
|
+endif
|
|
|
|
all: kernel.o
|
|
|
|
diff -ur linux-oem-109/kernel/module.c linux/kernel/module.c
|
|
--- linux-oem-109/kernel/module.c Wed Aug 30 10:57:50 1995
|
|
+++ linux/kernel/module.c Wed Aug 30 10:58:41 1995
|
|
@@ -7,6 +7,13 @@
|
|
#include <linux/sched.h>
|
|
#include <linux/malloc.h>
|
|
|
|
+/*
|
|
+ * Reduce kernel bloat. Use dummy syscall functions for users
|
|
+ * who disable all module support. Similar to kernel/sys.c
|
|
+ */
|
|
+
|
|
+#ifdef CONFIG_MODULES /* a *big* #ifdef block... */
|
|
+
|
|
struct module *module_list = NULL;
|
|
int freeing_modules; /* true if some modules are marked for deletion */
|
|
|
|
@@ -274,3 +281,30 @@
|
|
}
|
|
return p - buf;
|
|
}
|
|
+
|
|
+#else /* CONFIG_MODULES */
|
|
+
|
|
+/* Dummy syscalls for people who don't want modules */
|
|
+
|
|
+asmlinkage unsigned long sys_create_module(void)
|
|
+{
|
|
+ return -ENOSYS;
|
|
+}
|
|
+
|
|
+asmlinkage int sys_init_module(void)
|
|
+{
|
|
+ return -ENOSYS;
|
|
+}
|
|
+
|
|
+asmlinkage int sys_delete_module(void)
|
|
+{
|
|
+ return -ENOSYS;
|
|
+}
|
|
+
|
|
+asmlinkage int sys_get_kernel_syms(void)
|
|
+{
|
|
+ return -ENOSYS;
|
|
+}
|
|
+
|
|
+#endif /* CONFIG_MODULES */
|
|
+
|
|
diff -ur linux-oem-109/kernel/printk.c linux/kernel/printk.c
|
|
--- linux-oem-109/kernel/printk.c Wed Aug 30 10:57:49 1995
|
|
+++ linux/kernel/printk.c Wed Aug 30 10:58:39 1995
|
|
@@ -20,9 +20,9 @@
|
|
#include <linux/sched.h>
|
|
#include <linux/kernel.h>
|
|
|
|
-#define LOG_BUF_LEN 4096
|
|
+#define LOG_BUF_LEN 1024
|
|
|
|
-static char buf[1024];
|
|
+static char buf[256];
|
|
|
|
extern int vsprintf(char * buf, const char * fmt, va_list args);
|
|
extern void console_print(const char *);
|