diff --git a/elks/arch/i86/boot/crt0.S b/elks/arch/i86/boot/crt0.S index 89bca71d5..f51bbc9d0 100644 --- a/elks/arch/i86/boot/crt0.S +++ b/elks/arch/i86/boot/crt0.S @@ -47,7 +47,7 @@ _start: mov %ax,%ss // SS=ES=DS mov $tstack,%sp // can't use kernel interrupt stack, must have temp stack - call start_kernel // fall through into breakpoint if returns + call start_kernel // no return .global int3 int3: int $3 // C breakpoint for emu86 diff --git a/elks/arch/i86/drivers/block/bios.c b/elks/arch/i86/drivers/block/bios.c index 97ff09954..fff716710 100644 --- a/elks/arch/i86/drivers/block/bios.c +++ b/elks/arch/i86/drivers/block/bios.c @@ -225,6 +225,7 @@ int INITPROC bios_gethdinfo(struct drive_infot *drivep) { void BFPROC bios_disk_park_all(void) { +#ifdef CONFIG_ARCH_IBMPC struct drive_infot *drivep; unsigned int cyl; @@ -232,11 +233,12 @@ void BFPROC bios_disk_park_all(void) if (drivep->fdtype != -1) /* hard drives only */ continue; cyl = drivep->cylinders - 1; /* expects zero-based cylinder */ - BD_AX = 0x0C << 8; + BD_AX = BIOSHD_SEEK; BD_CX = ((cyl & 0xFF) << 8) | ((cyl & 0x300) >> 2) | 1; /* 1 = sector */ BD_DX = bios_drive_map[drivep - drive_info]; call_bios(&bdt); } +#endif } #endif diff --git a/elks/arch/i86/drivers/block/init.c b/elks/arch/i86/drivers/block/init.c index 024129bf1..ed1d96d94 100644 --- a/elks/arch/i86/drivers/block/init.c +++ b/elks/arch/i86/drivers/block/init.c @@ -35,13 +35,11 @@ int boot_rootdev; /* set by /bootopts options if configured*/ void INITPROC device_init(void) { - register struct gendisk *p; + struct gendisk *p; chr_dev_init(); blk_dev_init(); - set_irq(); - for (p = gendisk_head; p; p = p->next) setup_dev(p); diff --git a/elks/fs/Makefile b/elks/fs/Makefile index e3e120ad2..5ba973d11 100644 --- a/elks/fs/Makefile +++ b/elks/fs/Makefile @@ -36,7 +36,7 @@ include $(BASEDIR)/Makefile-rules # Objects to be compiled. OBJS = buffer.o super.o devices.o fcntl.o stat.o inode.o file_table.o \ - block_dev.o namei.o ioctl.o filesystems.o open.o read_write.o \ + block_dev.o namei.o ioctl.o open.o read_write.o \ readdir.o exec.o select.o pipe.o ifdef CONFIG_EXEC_COMPRESS OBJS += exodecr.o diff --git a/elks/fs/filesystems.c b/elks/fs/filesystems.c deleted file mode 100644 index 9478c453a..000000000 --- a/elks/fs/filesystems.c +++ /dev/null @@ -1,28 +0,0 @@ -/* - * linux/fs/filesystems.c - * - * Copyright (C) 1991, 1992 Linus Torvalds - * - * table of configured filesystems - */ - -#include -#include -#include -#include - -#include -#include -#include -#include - -void INITPROC fs_init(void) -{ -#ifdef CONFIG_MINIX_FS - init_minix_fs(); -#endif - -#ifdef CONFIG_FS_FAT - init_msdos_fs(); -#endif -} diff --git a/elks/fs/minix/inode.c b/elks/fs/minix/inode.c index 8c21dbe56..9e218c8af 100644 --- a/elks/fs/minix/inode.c +++ b/elks/fs/minix/inode.c @@ -438,8 +438,3 @@ struct file_system_type minix_fs_type = { minix_read_super, FST_MINIX }; - -int init_minix_fs(void) -{ - return 1; -} diff --git a/elks/fs/msdos/inode.c b/elks/fs/msdos/inode.c index c55f8e57b..0f775a4e6 100644 --- a/elks/fs/msdos/inode.c +++ b/elks/fs/msdos/inode.c @@ -408,8 +408,3 @@ struct file_system_type msdos_fs_type = { msdos_read_super, FST_MSDOS }; - -int init_msdos_fs(void) -{ - return 1; -} diff --git a/elks/include/linuxmt/biosparm.h b/elks/include/linuxmt/biosparm.h index ed41ff693..2bc292c03 100644 --- a/elks/include/linuxmt/biosparm.h +++ b/elks/include/linuxmt/biosparm.h @@ -75,6 +75,7 @@ struct biosparms { #define BIOSHD_WRITE 0x0300 #define BIOSHD_READ 0x0200 #define BIOSHD_DRIVE_PARMS 0x0800 +#define BIOSHD_SEEK 0x0C00 #endif int call_bios(struct biosparms *); diff --git a/elks/include/linuxmt/init.h b/elks/include/linuxmt/init.h index 1a1e0a817..e691470c5 100644 --- a/elks/include/linuxmt/init.h +++ b/elks/include/linuxmt/init.h @@ -22,7 +22,6 @@ struct drive_infot; /* kernel init routines*/ extern int INITPROC buffer_init(void); extern void INITPROC console_init(void); -extern void INITPROC fs_init(void); extern void INITPROC inode_init(void); extern void INITPROC irq_init(void); extern void save_timer_irq(void); diff --git a/elks/include/linuxmt/minix_fs.h b/elks/include/linuxmt/minix_fs.h index ed5426b3b..695ccadbd 100644 --- a/elks/include/linuxmt/minix_fs.h +++ b/elks/include/linuxmt/minix_fs.h @@ -108,8 +108,6 @@ extern int minix_unlink(struct inode *,char *,size_t); extern void minix_write_inode(register struct inode *); extern void minix_write_super(register struct super_block *); -extern int init_minix_fs(void); - extern struct inode_operations minix_file_inode_operations; extern struct inode_operations minix_dir_inode_operations; extern struct inode_operations minix_symlink_inode_operations; diff --git a/elks/include/linuxmt/msdos_fs.h b/elks/include/linuxmt/msdos_fs.h index 0135de500..eccfe7a96 100644 --- a/elks/include/linuxmt/msdos_fs.h +++ b/elks/include/linuxmt/msdos_fs.h @@ -158,7 +158,6 @@ extern int msdos_rename(struct inode *old_dir,const char *old_name,int old_len, /* inode.c */ extern void msdos_read_inode(struct inode *inode); -extern int init_msdos_fs(void); /* dir.c */ diff --git a/elks/init/main.c b/elks/init/main.c index 713219d66..1ede1bf1c 100644 --- a/elks/init/main.c +++ b/elks/init/main.c @@ -190,8 +190,6 @@ static void INITPROC kernel_init(void) sock_init(); #endif - fs_init(); - #ifdef CONFIG_BOOTOPTS finalize_options(); if (!opts) printk("/bootopts not found or bad format/size\n"); diff --git a/elkscmd/Applications b/elkscmd/Applications index e9d44ab18..ef32fd37c 100644 --- a/elkscmd/Applications +++ b/elkscmd/Applications @@ -212,7 +212,7 @@ nano-X/bin/nxworld.map ::lib/nxworld.map :nanox :1232c :1440k basic/basic :basic :1200k advent/advent :other :1440c advent/advent.db ::lib/advent.db :other :1440c -debug/disasm :other :1440c +debug/disasm :other :1440k debug/nm :other :1440c debug/system.sym ::lib/system.sym :other :1440c debug/testsym :other :1440c