📄 linux-0.11-040327-rh9.diff
字号:
diff -r linux/boot/bootsect.s linux.org/boot/bootsect.s45,46c45,46< entry _start< _start:---> entry start> start:228,232c228,232< !/*< ! * This procedure turns off the floppy drive motor, so< ! * that we enter the kernel in a known state, and< ! * don't have to worry about it later.< ! */---> /*> * This procedure turns off the floppy drive motor, so> * that we enter the kernel in a known state, and> * don't have to worry about it later.> */diff -r linux/boot/head.s linux.org/boot/head.s15,17c15,16< .globl idt,gdt,pg_dir,tmp_floppy_area< pg_dir:< .globl startup_32---> .globl _idt,_gdt,_pg_dir,_tmp_floppy_area> _pg_dir:24c23< lss stack_start,%esp---> lss _stack_start,%esp32c31< lss stack_start,%esp---> lss _stack_start,%esp38d36< 86c84< lea idt,%edi---> lea _idt,%edi134c132< tmp_floppy_area:---> _tmp_floppy_area:142c140< pushl $main---> pushl $_main164c162< call printk---> call _printk205,208c203,206< movl $pg0+7,pg_dir /* set present bit/user r/w */< movl $pg1+7,pg_dir+4 /* --------- " " --------- */< movl $pg2+7,pg_dir+8 /* --------- " " --------- */< movl $pg3+7,pg_dir+12 /* --------- " " --------- */---> movl $pg0+7,_pg_dir /* set present bit/user r/w */> movl $pg1+7,_pg_dir+4 /* --------- " " --------- */> movl $pg2+7,_pg_dir+8 /* --------- " " --------- */> movl $pg3+7,_pg_dir+12 /* --------- " " --------- */226c224< .long idt---> .long _idt231c229< .long gdt # magic number, but it works for me :^)---> .long _gdt # magic number, but it works for me :^)233,234c231,232< .align 8< idt: .fill 256,8,0 # idt is uninitialized---> .align 3> _idt: .fill 256,8,0 # idt is uninitialized236c234< gdt: .quad 0x0000000000000000 /* NULL descriptor */---> _gdt: .quad 0x0000000000000000 /* NULL descriptor */diff -r linux/boot/setup.s linux.org/boot/setup.s41a42> 188a190> diff -r linux/fs/bitmap.c linux.org/fs/bitmap.c14c14< __asm__ __volatile__ ("cld\n\t" \---> __asm__("cld\n\t" \17c17< ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr)))---> ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr)):"cx","di")20c20< register int res ; \---> register int res __asm__("ax"); \26c26< register int res ; \---> register int res __asm__("ax"); \33c33< __asm__ __volatile__ ("cld\n" \---> __asm__("cld\n" \44c44< :"=c" (__res):"c" (0),"S" (addr)); \---> :"=c" (__res):"c" (0),"S" (addr):"ax","dx","si"); \85c85< if ((bh=sb->s_zmap[i]))---> if (bh=sb->s_zmap[i])149c149< if ((bh=sb->s_imap[i]))---> if (bh=sb->s_imap[i])diff -r linux/fs/buffer.c linux.org/fs/buffer.c30,32d29< extern void put_super(int);< extern void invalidate_inodes(int);< 214c211< if ((bh = get_hash_table(dev,block)))---> if (bh = get_hash_table(dev,block))291c288< )---> :"cx","di","si")306c303< if ((bh[i] = getblk(dev,b[i])))---> if (bh[i] = getblk(dev,b[i]))diff -r linux/fs/char_dev.c linux.org/fs/char_dev.c19c19< typedef int (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos);---> typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos);diff -r linux/fs/exec.c linux.org/fs/exec.c80c80< if ((tmp = argv))---> if (tmp = argv)107c107< char *tmp, *pag=NULL;---> char *tmp, *pag;239c239< if ((cp = strchr(buf, '\n'))) {---> if (cp = strchr(buf, '\n')) {diff -r linux/fs/fcntl.c linux.org/fs/fcntl.c7c7< /* #include <string.h> */---> #include <string.h>diff -r linux/fs/file_dev.c linux.org/fs/file_dev.c25c25< if ((nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE))) {---> if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) {diff -r linux/fs/inode.c linux.org/fs/inode.c7c7< #include <string.h> ---> #include <string.h>83c83< if ((inode->i_zone[block]=new_block(inode->i_dev))) {---> if (inode->i_zone[block]=new_block(inode->i_dev)) {92c92< if ((inode->i_zone[7]=new_block(inode->i_dev))) {---> if (inode->i_zone[7]=new_block(inode->i_dev)) {102c102< if ((i=new_block(inode->i_dev))) {---> if (i=new_block(inode->i_dev)) {111c111< if ((inode->i_zone[8]=new_block(inode->i_dev))) {---> if (inode->i_zone[8]=new_block(inode->i_dev)) {121c121< if ((i=new_block(inode->i_dev))) {---> if (i=new_block(inode->i_dev)) {132c132< if ((i=new_block(inode->i_dev))) {---> if (i=new_block(inode->i_dev)) {diff -r linux/fs/ioctl.c linux.org/fs/ioctl.c7c7< /* #include <string.h>*/---> #include <string.h>diff -r linux/fs/Makefile linux.org/fs/Makefile1,6c1,6< AR =ar< AS =as< CC =gcc -mcpu=i386< LD =ld< CFLAGS =-Wall -fstrength-reduce -fomit-frame-pointer \< -nostdinc -I../include---> AR =gar> AS =gas> CC =gcc> LD =gld> CFLAGS =-Wall -O -fstrength-reduce -fcombine-regs -fomit-frame-pointer \> -mstring-insns -nostdinc -I../include35c35< bitmap.o: bitmap.c ../include/string.h ../include/linux/sched.h \---> bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \37,38c37,38< ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h< block_dev.o: block_dev.c ../include/errno.h ../include/linux/sched.h \---> ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h > block_dev.o : block_dev.c ../include/errno.h ../include/linux/sched.h \41,42c41,42< ../include/asm/segment.h ../include/asm/system.h< buffer.o: buffer.c ../include/stdarg.h ../include/linux/config.h \---> ../include/asm/segment.h ../include/asm/system.h > buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \45,46c45,46< ../include/linux/kernel.h ../include/asm/system.h ../include/asm/io.h< char_dev.o: char_dev.c ../include/errno.h ../include/sys/types.h \---> ../include/linux/kernel.h ../include/asm/system.h ../include/asm/io.h > char_dev.o : char_dev.c ../include/errno.h ../include/sys/types.h \49,50c49,50< ../include/asm/segment.h ../include/asm/io.h< exec.o: exec.c ../include/errno.h ../include/string.h \---> ../include/asm/segment.h ../include/asm/io.h > exec.o : exec.c ../include/errno.h ../include/string.h \54,55c54,55< ../include/asm/segment.h< fcntl.o: fcntl.c ../include/string.h ../include/errno.h \---> ../include/asm/segment.h > fcntl.o : fcntl.c ../include/string.h ../include/errno.h \59,60c59,60< ../include/sys/stat.h< file_dev.o: file_dev.c ../include/errno.h ../include/fcntl.h \---> ../include/sys/stat.h > file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \63,65c63,65< ../include/linux/kernel.h ../include/asm/segment.h< file_table.o: file_table.c ../include/linux/fs.h ../include/sys/types.h< inode.o: inode.c ../include/string.h ../include/sys/stat.h \---> ../include/linux/kernel.h ../include/asm/segment.h > file_table.o : file_table.c ../include/linux/fs.h ../include/sys/types.h > inode.o : inode.c ../include/string.h ../include/sys/stat.h \68,69c68,69< ../include/linux/kernel.h ../include/asm/system.h< ioctl.o: ioctl.c ../include/string.h ../include/errno.h \---> ../include/linux/kernel.h ../include/asm/system.h > ioctl.o : ioctl.c ../include/string.h ../include/errno.h \72,73c72,73< ../include/signal.h< namei.o: namei.c ../include/linux/sched.h ../include/linux/head.h \---> ../include/signal.h > namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \77,78c77,78< ../include/const.h ../include/sys/stat.h< open.o: open.c ../include/string.h ../include/errno.h ../include/fcntl.h \---> ../include/const.h ../include/sys/stat.h > open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \82,83c82,83< ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h< pipe.o: pipe.c ../include/signal.h ../include/sys/types.h \---> ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h > pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \85,86c85,86< ../include/linux/mm.h ../include/asm/segment.h< read_write.o: read_write.c ../include/sys/stat.h ../include/sys/types.h \---> ../include/linux/mm.h ../include/asm/segment.h > read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \89,90c89,90< ../include/signal.h ../include/asm/segment.h< stat.o: stat.c ../include/errno.h ../include/sys/stat.h \---> ../include/signal.h ../include/asm/segment.h > stat.o : stat.c ../include/errno.h ../include/sys/stat.h \93,94c93,94< ../include/linux/kernel.h ../include/asm/segment.h< super.o: super.c ../include/linux/config.h ../include/linux/sched.h \---> ../include/linux/kernel.h ../include/asm/segment.h > super.o : super.c ../include/linux/config.h ../include/linux/sched.h \97,98c97,98< ../include/asm/system.h ../include/errno.h ../include/sys/stat.h< truncate.o: truncate.c ../include/linux/sched.h ../include/linux/head.h \---> ../include/asm/system.h ../include/errno.h ../include/sys/stat.h > truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \100c100< ../include/signal.h ../include/sys/stat.h---> ../include/signal.h ../include/sys/stat.h diff -r linux/fs/namei.c linux.org/fs/namei.c15c15< #include <string.h> ---> #include <string.h>65c65< register int same ;---> register int same __asm__("ax");76c76< );---> :"cx","di","si");288c288< while ((c=get_fs_byte(pathname++)))---> while (c=get_fs_byte(pathname++))diff -r linux/fs/open.c linux.org/fs/open.c7c7< /* #include <string.h> */---> #include <string.h>163c163< if (S_ISCHR(inode->i_mode)) {---> if (S_ISCHR(inode->i_mode))176d175< }diff -r linux/fs/super.c linux.org/fs/super.c23c23< register int __res ; \---> register int __res __asm__("ax"); \77c77< /* struct m_inode * inode;*/---> struct m_inode * inode;109c109< if ((s = get_super(dev)))---> if (s = get_super(dev))143c143< if ((s->s_imap[i]=bread(dev,block)))---> if (s->s_imap[i]=bread(dev,block))148c148< if ((s->s_zmap[i]=bread(dev,block)))---> if (s->s_zmap[i]=bread(dev,block))diff -r linux/fs/truncate.c linux.org/fs/truncate.c19c19< if ((bh=bread(dev,block))) {---> if (bh=bread(dev,block)) {37c37< if ((bh=bread(dev,block))) {---> if (bh=bread(dev,block)) {diff -r linux/include/asm/memory.h linux.org/include/asm/memory.h12c12< ); \---> :"di","si","cx"); \diff -r linux/include/asm/segment.h linux.org/include/asm/segment.h1c1< static inline unsigned char get_fs_byte(const char * addr)---> extern inline unsigned char get_fs_byte(const char * addr)9c9< static inline unsigned short get_fs_word(const unsigned short *addr)---> extern inline unsigned short get_fs_word(const unsigned short *addr)17c17< static inline unsigned long get_fs_long(const unsigned long *addr)---> extern inline unsigned long get_fs_long(const unsigned long *addr)25c25< static inline void put_fs_byte(char val,char *addr)---> extern inline void put_fs_byte(char val,char *addr)30c30< static inline void put_fs_word(short val,short * addr)---> extern inline void put_fs_word(short val,short * addr)35c35< static inline void put_fs_long(unsigned long val,unsigned long * addr)---> extern inline void put_fs_long(unsigned long val,unsigned long * addr)47c47< static inline unsigned long get_fs() ---> extern inline unsigned long get_fs() 54c54< static inline unsigned long get_ds() ---> extern inline unsigned long get_ds() 61c61< static inline void set_fs(unsigned long val)---> extern inline void set_fs(unsigned long val)diff -r linux/include/asm/system.h linux.org/include/asm/system.h65,67c65,66< #define set_tss_desc(n,addr) _set_tssldt_desc(((char *) (n)),((int)(addr)),"0x89")< #define set_ldt_desc(n,addr) _set_tssldt_desc(((char *) (n)),((int)(addr)),"0x82")< ---> #define set_tss_desc(n,addr) _set_tssldt_desc(((char *) (n)),addr,"0x89")> #define set_ldt_desc(n,addr) _set_tssldt_desc(((char *) (n)),addr,"0x82")diff -r linux/include/linux/config.h linux.org/include/linux/config.h16c16< #define KBD_US---> /*#define KBD_US */19c19< /*#define KBD_FINNISH */---> #define KBD_FINNISHdiff -r linux/include/linux/sched.h linux.org/include/linux/sched.h35,37c35< #ifndef PANIC< volatile void panic(const char * str);< #endif---> extern void panic(const char * str);175c173< __asm__("cmpl %%ecx,current\n\t" \---> __asm__("cmpl %%ecx,_current\n\t" \178,180c176,178< "xchgl %%ecx,current\n\t" \< "ljmp *%0\n\t" \< "cmpl %%ecx,last_task_used_math\n\t" \---> "xchgl %%ecx,_current\n\t" \> "ljmp %0\n\t" \> "cmpl %%ecx,_last_task_used_math\n\t" \190,192c188,189< #define _set_base(addr,base) \< __asm__ ("push %%edx\n\t" \< "movw %%dx,%0\n\t" \---> #define _set_base(addr,base) \> __asm__("movw %%dx,%0\n\t" \195,196c192< "movb %%dh,%2\n\t" \< "pop %%edx" \---> "movb %%dh,%2" \198,201c194,197< "m" (*((addr)+4)), \< "m" (*((addr)+7)), \< "d" (base) \< )---> "m" (*((addr)+4)), \> "m" (*((addr)+7)), \> "d" (base) \> :"dx")204,205c200< __asm__ ("push %%edx\n\t" \< "movw %%dx,%0\n\t" \---> __asm__("movw %%dx,%0\n\t" \210,211c205< "movb %%dl,%1\n\t" \< "pop %%edx" \---> "movb %%dl,%1" \213,215c207,209< "m" (*((addr)+6)), \< "d" (limit) \< )---> "m" (*((addr)+6)), \> "d" (limit) \> :"dx")217c211< #define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) )---> #define set_base(ldt,base) _set_base( ((char *)&(ldt)) , base )220d213< /**230,231c223< "m" (*((addr)+7)) \< :"memory"); \---> "m" (*((addr)+7))); \233,247d224< **/< < static inline unsigned long _get_base(char * addr)< {< unsigned long __base;< __asm__("movb %3,%%dh\n\t"< "movb %2,%%dl\n\t"< "shll $16,%%edx\n\t"< "movw %1,%%dx"< :"=&d" (__base)< :"m" (*((addr)+2)),< "m" (*((addr)+4)),< "m" (*((addr)+7)));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -