diff --git a/linux-0.11-lab/1/README b/linux-0.11-lab/1/README old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab/1/Source-Insight/Linux-0.11.IAB old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.IAD b/linux-0.11-lab/1/Source-Insight/Linux-0.11.IAD old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.IMB b/linux-0.11-lab/1/Source-Insight/Linux-0.11.IMB old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.IMD b/linux-0.11-lab/1/Source-Insight/Linux-0.11.IMD old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.PFI b/linux-0.11-lab/1/Source-Insight/Linux-0.11.PFI old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.PO b/linux-0.11-lab/1/Source-Insight/Linux-0.11.PO old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.PR b/linux-0.11-lab/1/Source-Insight/Linux-0.11.PR old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.PS b/linux-0.11-lab/1/Source-Insight/Linux-0.11.PS old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/Source-Insight/Linux-0.11.SearchResults b/linux-0.11-lab/1/Source-Insight/Linux-0.11.SearchResults old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/Image b/linux-0.11-lab/1/linux/Image index 6b21367..f5e2f85 100644 Binary files a/linux-0.11-lab/1/linux/Image and b/linux-0.11-lab/1/linux/Image differ diff --git a/linux-0.11-lab/1/linux/Image.bkp b/linux-0.11-lab/1/linux/Image.bkp old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/Makefile b/linux-0.11-lab/1/linux/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/System.map b/linux-0.11-lab/1/linux/System.map index 3b587ae..4b66331 100644 --- a/linux-0.11-lab/1/linux/System.map +++ b/linux-0.11-lab/1/linux/System.map @@ -480,110 +480,110 @@ 00018e23 t put_fs_byte 00018e3b t put_fs_long 00018e47 T sys_getdents -00018fea T sys_pipe2 -000191fd T sys_sleep -00019236 T sys_getcwd -0001d5c8 d envp_rc -0001d5dc d envp -0001d600 D sys_call_table -0001d770 D NR_syscalls -0001d780 d init_task -0001e780 D current -0001e7a0 D task -0001e8a0 D stack_start -0001e8a8 D current_DOR -0001e8c0 d thisname.1955 -0001e900 d month -0001e940 d last_inode.1935 -0001e944 D start_buffer -0001e960 d crw_table -0001e980 d ioctl_table -0001e9a0 d floppy_type -0001ea60 d cur_spec1 -0001ea64 d cur_rate -0001ea68 d floppy -0001ea6c d current_track -0001ea70 d callable.1844 -0001ea80 D tty_table -00020fa0 D table_list -00020fc0 d quotient -00020fe0 D _ctype -000210e1 B __bss_start -000210e1 D _edata -00021100 b printbuf -00021500 b memory_end -00021504 b buffer_memory_end -00021508 b main_memory_start -00021520 B jiffies -00021524 B startup_time -00021528 B last_task_used_math -0002153c b mon_timer -0002154c b moff_timer -00021560 b timer_list -00021860 b next_timer -00021864 B last_pid -00021880 b buf -00021c80 b HIGH_MEMORY -00021ca0 b mem_map -00022ba0 B inode_table -000232a0 B nr_buffers -000232a4 b free_list -000232a8 b buffer_wait -000232ac B ROOT_DEV -000232e0 B blk_dev -00023318 B do_floppy -0002331c B selected -00023324 b recalibrate -00023328 b reset -0002332c b seek -00023330 b reply_buffer -00023337 b current_drive -00023338 b sector -00023339 b head -0002333a b track -0002333b b seek_track -0002333c b command -00023340 B do_hd -00023360 B hd_info -00023390 b recalibrate -00023394 b reset -00023398 b NR_HD -000233a0 b hd -000233f0 B rd_length -000233f4 b cr_flag.1923 -00023400 B beepcount -00023404 b video_type -00023408 b video_num_columns -0002340c b video_size_row -00023410 b video_num_lines -00023414 b video_page -00023418 b video_mem_start -0002341c b video_mem_end -00023420 b video_port_reg -00023422 b video_port_val -00023424 b video_erase_char -00023428 b origin -0002342c b scr_end -00023430 b pos -00023434 b x -00023438 b y -0002343c b top -00023440 b bottom -00023444 b state -00023448 b npar -00023460 b par -000234a0 b ques -000234a4 b saved_x -000234a8 b saved_y -000234c0 B drive_info -000234e0 B user_stack -000244e0 B hash_table -000249c0 B super_block -00024d20 B file_table -00025120 B request -000255a0 B rd_start -000255a4 B _ctmp -000255a8 B errno -000255ac B ___strtok -000255b0 B end -000255b0 B _end +0001901d T sys_pipe2 +00019230 T sys_sleep +00019269 T sys_getcwd +0001d608 d envp_rc +0001d61c d envp +0001d640 D sys_call_table +0001d7b0 D NR_syscalls +0001d7c0 d init_task +0001e7c0 D current +0001e7e0 D task +0001e8e0 D stack_start +0001e8e8 D current_DOR +0001e900 d thisname.1955 +0001e940 d month +0001e980 d last_inode.1935 +0001e984 D start_buffer +0001e9a0 d crw_table +0001e9c0 d ioctl_table +0001e9e0 d floppy_type +0001eaa0 d cur_spec1 +0001eaa4 d cur_rate +0001eaa8 d floppy +0001eaac d current_track +0001eab0 d callable.1844 +0001eac0 D tty_table +00020fe0 D table_list +00021000 d quotient +00021020 D _ctype +00021121 B __bss_start +00021121 D _edata +00021140 b printbuf +00021540 b memory_end +00021544 b buffer_memory_end +00021548 b main_memory_start +00021560 B jiffies +00021564 B startup_time +00021568 B last_task_used_math +0002157c b mon_timer +0002158c b moff_timer +000215a0 b timer_list +000218a0 b next_timer +000218a4 B last_pid +000218c0 b buf +00021cc0 b HIGH_MEMORY +00021ce0 b mem_map +00022be0 B inode_table +000232e0 B nr_buffers +000232e4 b free_list +000232e8 b buffer_wait +000232ec B ROOT_DEV +00023320 B blk_dev +00023358 B do_floppy +0002335c B selected +00023364 b recalibrate +00023368 b reset +0002336c b seek +00023370 b reply_buffer +00023377 b current_drive +00023378 b sector +00023379 b head +0002337a b track +0002337b b seek_track +0002337c b command +00023380 B do_hd +000233a0 B hd_info +000233d0 b recalibrate +000233d4 b reset +000233d8 b NR_HD +000233e0 b hd +00023430 B rd_length +00023434 b cr_flag.1923 +00023440 B beepcount +00023444 b video_type +00023448 b video_num_columns +0002344c b video_size_row +00023450 b video_num_lines +00023454 b video_page +00023458 b video_mem_start +0002345c b video_mem_end +00023460 b video_port_reg +00023462 b video_port_val +00023464 b video_erase_char +00023468 b origin +0002346c b scr_end +00023470 b pos +00023474 b x +00023478 b y +0002347c b top +00023480 b bottom +00023484 b state +00023488 b npar +000234a0 b par +000234e0 b ques +000234e4 b saved_x +000234e8 b saved_y +00023500 B drive_info +00023520 B user_stack +00024520 B hash_table +00024a00 B super_block +00024d60 B file_table +00025160 B request +000255e0 B rd_start +000255e4 B _ctmp +000255e8 B errno +000255ec B ___strtok +000255f0 B end +000255f0 B _end diff --git a/linux-0.11-lab/1/linux/System.map.2 b/linux-0.11-lab/1/linux/System.map.2 index 54a21c2..856d1ea 100644 --- a/linux-0.11-lab/1/linux/System.map.2 +++ b/linux-0.11-lab/1/linux/System.map.2 @@ -205,7 +205,7 @@ LOAD lib/lib.a *(.iplt) .iplt 0x0000000000000000 0x0 boot/head.o -.text 0x0000000000000000 0x195a8 +.text 0x0000000000000000 0x195db *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) @@ -515,38 +515,38 @@ LOAD lib/lib.a 0x0000000000018d9d memcmp 0x0000000000018dc7 memchr 0x0000000000018dff memset - .text 0x0000000000018e23 0x785 lib/lib.a(update.o) + .text 0x0000000000018e23 0x7b8 lib/lib.a(update.o) 0x0000000000018e47 sys_getdents - 0x0000000000018fea sys_pipe2 - 0x00000000000191fd sys_sleep - 0x0000000000019236 sys_getcwd + 0x000000000001901d sys_pipe2 + 0x0000000000019230 sys_sleep + 0x0000000000019269 sys_getcwd *(.gnu.warning) .fini *(SORT(.fini)) - 0x00000000000195a8 PROVIDE (__etext, .) - 0x00000000000195a8 PROVIDE (_etext, .) - 0x00000000000195a8 PROVIDE (etext, .) + 0x00000000000195db PROVIDE (__etext, .) + 0x00000000000195db PROVIDE (_etext, .) + 0x00000000000195db PROVIDE (etext, .) -.rodata 0x00000000000195a8 0x1422 +.rodata 0x00000000000195dc 0x1422 *(.rodata .rodata.* .gnu.linkonce.r.*) - .rodata 0x00000000000195a8 0xc9 init/main.o - *fill* 0x0000000000019671 0x3 - .rodata 0x0000000000019674 0x438 kernel/kernel.o - .rodata 0x0000000000019aac 0x1b5 mm/mm.o - *fill* 0x0000000000019c61 0x3 - .rodata 0x0000000000019c64 0x640 fs/fs.o - .rodata 0x000000000001a2a4 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - *fill* 0x000000000001a31e 0x2 - .rodata 0x000000000001a320 0x133 kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001a453 0x1 - .rodata 0x000000000001a454 0x19b kernel/blk_drv/blk_drv.a(hd.o) - *fill* 0x000000000001a5ef 0x1 - .rodata 0x000000000001a5f0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) - .rodata 0x000000000001a778 0x17d kernel/chr_drv/chr_drv.a(console.o) - *fill* 0x000000000001a8f5 0x3 - .rodata 0x000000000001a8f8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .rodata 0x000000000001a978 0x52 kernel/math/math.a(math_emulate.o) + .rodata 0x00000000000195dc 0xc9 init/main.o + *fill* 0x00000000000196a5 0x3 + .rodata 0x00000000000196a8 0x438 kernel/kernel.o + .rodata 0x0000000000019ae0 0x1b5 mm/mm.o + *fill* 0x0000000000019c95 0x3 + .rodata 0x0000000000019c98 0x640 fs/fs.o + .rodata 0x000000000001a2d8 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x000000000001a352 0x2 + .rodata 0x000000000001a354 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001a487 0x1 + .rodata 0x000000000001a488 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x000000000001a623 0x1 + .rodata 0x000000000001a624 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a7ac 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a929 0x3 + .rodata 0x000000000001a92c 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a9ac 0x52 kernel/math/math.a(math_emulate.o) .rodata1 *(.rodata1) @@ -554,52 +554,52 @@ LOAD lib/lib.a .eh_frame_hdr *(.eh_frame_hdr) -.eh_frame 0x000000000001a9cc 0x2be8 +.eh_frame 0x000000000001aa00 0x2be8 *(.eh_frame) - .eh_frame 0x000000000001a9cc 0x108 init/main.o - .eh_frame 0x000000000001aad4 0xb04 kernel/kernel.o + .eh_frame 0x000000000001aa00 0x108 init/main.o + .eh_frame 0x000000000001ab08 0xb04 kernel/kernel.o 0xbf4 (size before relaxing) - .eh_frame 0x000000000001b5d8 0x1b0 mm/mm.o + .eh_frame 0x000000000001b60c 0x1b0 mm/mm.o 0x1c8 (size before relaxing) - .eh_frame 0x000000000001b788 0xe78 fs/fs.o + .eh_frame 0x000000000001b7bc 0xe78 fs/fs.o 0x1010 (size before relaxing) - .eh_frame 0x000000000001c600 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .eh_frame 0x000000000001c634 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) 0xb0 (size before relaxing) - .eh_frame 0x000000000001c698 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + .eh_frame 0x000000000001c6cc 0x23c kernel/blk_drv/blk_drv.a(floppy.o) 0x254 (size before relaxing) - .eh_frame 0x000000000001c8d4 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + .eh_frame 0x000000000001c908 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) 0x200 (size before relaxing) - .eh_frame 0x000000000001cabc 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + .eh_frame 0x000000000001caf0 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) 0xc4 (size before relaxing) - .eh_frame 0x000000000001cb68 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + .eh_frame 0x000000000001cb9c 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) 0x144 (size before relaxing) - .eh_frame 0x000000000001cc94 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + .eh_frame 0x000000000001ccc8 0x2c0 kernel/chr_drv/chr_drv.a(console.o) 0x2d8 (size before relaxing) - .eh_frame 0x000000000001cf54 0x54 kernel/chr_drv/chr_drv.a(serial.o) + .eh_frame 0x000000000001cf88 0x54 kernel/chr_drv/chr_drv.a(serial.o) 0x6c (size before relaxing) - .eh_frame 0x000000000001cfa8 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .eh_frame 0x000000000001cfdc 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) 0x160 (size before relaxing) - .eh_frame 0x000000000001d0f0 0x5c kernel/math/math.a(math_emulate.o) + .eh_frame 0x000000000001d124 0x5c kernel/math/math.a(math_emulate.o) 0x74 (size before relaxing) - .eh_frame 0x000000000001d14c 0x1c lib/lib.a(_exit.o) + .eh_frame 0x000000000001d180 0x1c lib/lib.a(_exit.o) 0x34 (size before relaxing) - .eh_frame 0x000000000001d168 0x24 lib/lib.a(open.o) + .eh_frame 0x000000000001d19c 0x24 lib/lib.a(open.o) 0x3c (size before relaxing) - .eh_frame 0x000000000001d18c 0x20 lib/lib.a(close.o) + .eh_frame 0x000000000001d1c0 0x20 lib/lib.a(close.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001d1ac 0x20 lib/lib.a(write.o) + .eh_frame 0x000000000001d1e0 0x20 lib/lib.a(write.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001d1cc 0x20 lib/lib.a(dup.o) + .eh_frame 0x000000000001d200 0x20 lib/lib.a(dup.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001d1ec 0x18 lib/lib.a(setsid.o) + .eh_frame 0x000000000001d220 0x18 lib/lib.a(setsid.o) 0x30 (size before relaxing) - .eh_frame 0x000000000001d204 0x20 lib/lib.a(execve.o) + .eh_frame 0x000000000001d238 0x20 lib/lib.a(execve.o) 0x38 (size before relaxing) - .eh_frame 0x000000000001d224 0x38 lib/lib.a(wait.o) + .eh_frame 0x000000000001d258 0x38 lib/lib.a(wait.o) 0x50 (size before relaxing) - .eh_frame 0x000000000001d25c 0x2b0 lib/lib.a(string.o) + .eh_frame 0x000000000001d290 0x2b0 lib/lib.a(string.o) 0x2c8 (size before relaxing) - .eh_frame 0x000000000001d50c 0xa8 lib/lib.a(update.o) + .eh_frame 0x000000000001d540 0xa8 lib/lib.a(update.o) 0xc0 (size before relaxing) .gcc_except_table @@ -607,7 +607,7 @@ LOAD lib/lib.a .exception_ranges *(.exception_ranges .exception_ranges*) - 0x000000000001d5b4 . = . + 0x000000000001d5e8 . = . .eh_frame *(.eh_frame) @@ -625,22 +625,22 @@ LOAD lib/lib.a *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) -.preinit_array 0x000000000001d5b4 0x0 - 0x000000000001d5b4 PROVIDE (__preinit_array_start, .) +.preinit_array 0x000000000001d5e8 0x0 + 0x000000000001d5e8 PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x000000000001d5b4 PROVIDE (__preinit_array_end, .) + 0x000000000001d5e8 PROVIDE (__preinit_array_end, .) -.init_array 0x000000000001d5b4 0x0 - 0x000000000001d5b4 PROVIDE (__init_array_start, .) +.init_array 0x000000000001d5e8 0x0 + 0x000000000001d5e8 PROVIDE (__init_array_start, .) *(SORT(.init_array.*) SORT(.ctors.*)) *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) - 0x000000000001d5b4 PROVIDE (__init_array_end, .) + 0x000000000001d5e8 PROVIDE (__init_array_end, .) -.fini_array 0x000000000001d5b4 0x0 - 0x000000000001d5b4 PROVIDE (__fini_array_start, .) +.fini_array 0x000000000001d5e8 0x0 + 0x000000000001d5e8 PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*) SORT(.dtors.*)) *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) - 0x000000000001d5b4 PROVIDE (__fini_array_end, .) + 0x000000000001d5e8 PROVIDE (__fini_array_end, .) .ctors *crtbegin.o(.ctors) @@ -670,142 +670,142 @@ LOAD lib/lib.a *(.got) *(.igot) -.got.plt 0x000000000001d5b4 0x0 +.got.plt 0x000000000001d5e8 0x0 *(.got.plt) *(.igot.plt) .igot.plt 0x0000000000000000 0x0 boot/head.o -.data 0x000000000001d5c0 0x3b21 +.data 0x000000000001d600 0x3b21 *(.data .data.* .gnu.linkonce.d.*) - .data 0x000000000001d5c0 0x0 boot/head.o - .data 0x000000000001d5c0 0x28 init/main.o - *fill* 0x000000000001d5e8 0x18 - .data 0x000000000001d600 0x1330 kernel/kernel.o - 0x000000000001d600 sys_call_table - 0x000000000001d770 NR_syscalls - 0x000000000001e780 current - 0x000000000001e7a0 task - 0x000000000001e8a0 stack_start - 0x000000000001e8a8 current_DOR - .data 0x000000000001e930 0x0 mm/mm.o - *fill* 0x000000000001e930 0x10 - .data 0x000000000001e940 0x60 fs/fs.o - 0x000000000001e944 start_buffer - .data 0x000000000001e9a0 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - .data 0x000000000001e9a0 0xcd kernel/blk_drv/blk_drv.a(floppy.o) - *fill* 0x000000000001ea6d 0x3 - .data 0x000000000001ea70 0x4 kernel/blk_drv/blk_drv.a(hd.o) - .data 0x000000000001ea74 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) - *fill* 0x000000000001ea74 0xc - .data 0x000000000001ea80 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) - 0x000000000001ea80 tty_table - 0x0000000000020fa0 table_list - .data 0x0000000000020fb8 0x1 kernel/chr_drv/chr_drv.a(console.o) - .data 0x0000000000020fb9 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .data 0x0000000000020fb9 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .data 0x0000000000020fb9 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - *fill* 0x0000000000020fb9 0x7 - .data 0x0000000000020fc0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .data 0x0000000000020fe0 0x0 kernel/math/math.a(math_emulate.o) - .data 0x0000000000020fe0 0x101 lib/lib.a(ctype.o) - 0x0000000000020fe0 _ctype - .data 0x00000000000210e1 0x0 lib/lib.a(_exit.o) - .data 0x00000000000210e1 0x0 lib/lib.a(open.o) - .data 0x00000000000210e1 0x0 lib/lib.a(close.o) - .data 0x00000000000210e1 0x0 lib/lib.a(errno.o) - .data 0x00000000000210e1 0x0 lib/lib.a(write.o) - .data 0x00000000000210e1 0x0 lib/lib.a(dup.o) - .data 0x00000000000210e1 0x0 lib/lib.a(setsid.o) - .data 0x00000000000210e1 0x0 lib/lib.a(execve.o) - .data 0x00000000000210e1 0x0 lib/lib.a(wait.o) - .data 0x00000000000210e1 0x0 lib/lib.a(string.o) - .data 0x00000000000210e1 0x0 lib/lib.a(update.o) + .data 0x000000000001d600 0x0 boot/head.o + .data 0x000000000001d600 0x28 init/main.o + *fill* 0x000000000001d628 0x18 + .data 0x000000000001d640 0x1330 kernel/kernel.o + 0x000000000001d640 sys_call_table + 0x000000000001d7b0 NR_syscalls + 0x000000000001e7c0 current + 0x000000000001e7e0 task + 0x000000000001e8e0 stack_start + 0x000000000001e8e8 current_DOR + .data 0x000000000001e970 0x0 mm/mm.o + *fill* 0x000000000001e970 0x10 + .data 0x000000000001e980 0x60 fs/fs.o + 0x000000000001e984 start_buffer + .data 0x000000000001e9e0 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e9e0 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001eaad 0x3 + .data 0x000000000001eab0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001eab4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001eab4 0xc + .data 0x000000000001eac0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001eac0 tty_table + 0x0000000000020fe0 table_list + .data 0x0000000000020ff8 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x0000000000020ff9 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x0000000000020ff9 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x0000000000020ff9 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x0000000000020ff9 0x7 + .data 0x0000000000021000 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x0000000000021020 0x0 kernel/math/math.a(math_emulate.o) + .data 0x0000000000021020 0x101 lib/lib.a(ctype.o) + 0x0000000000021020 _ctype + .data 0x0000000000021121 0x0 lib/lib.a(_exit.o) + .data 0x0000000000021121 0x0 lib/lib.a(open.o) + .data 0x0000000000021121 0x0 lib/lib.a(close.o) + .data 0x0000000000021121 0x0 lib/lib.a(errno.o) + .data 0x0000000000021121 0x0 lib/lib.a(write.o) + .data 0x0000000000021121 0x0 lib/lib.a(dup.o) + .data 0x0000000000021121 0x0 lib/lib.a(setsid.o) + .data 0x0000000000021121 0x0 lib/lib.a(execve.o) + .data 0x0000000000021121 0x0 lib/lib.a(wait.o) + .data 0x0000000000021121 0x0 lib/lib.a(string.o) + .data 0x0000000000021121 0x0 lib/lib.a(update.o) .data1 *(.data1) - 0x00000000000210e1 _edata = . - 0x00000000000210e1 PROVIDE (edata, .) - 0x00000000000210e1 . = . - 0x00000000000210e1 __bss_start = . + 0x0000000000021121 _edata = . + 0x0000000000021121 PROVIDE (edata, .) + 0x0000000000021121 . = . + 0x0000000000021121 __bss_start = . -.bss 0x0000000000021100 0x44b0 +.bss 0x0000000000021140 0x44b0 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) - .bss 0x0000000000021100 0x0 boot/head.o - .bss 0x0000000000021100 0x40c init/main.o - *fill* 0x000000000002150c 0x14 - .bss 0x0000000000021520 0x760 kernel/kernel.o - 0x0000000000021520 jiffies - 0x0000000000021524 startup_time - 0x0000000000021528 last_task_used_math - 0x0000000000021864 last_pid - .bss 0x0000000000021c80 0xf20 mm/mm.o - .bss 0x0000000000022ba0 0x710 fs/fs.o - 0x0000000000022ba0 inode_table - 0x00000000000232a0 nr_buffers - 0x00000000000232ac ROOT_DEV - *fill* 0x00000000000232b0 0x10 - .bss 0x00000000000232c0 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x00000000000232c0 wait_for_request - 0x00000000000232e0 blk_dev - .bss 0x0000000000023318 0x25 kernel/blk_drv/blk_drv.a(floppy.o) - 0x0000000000023318 do_floppy - 0x000000000002331c selected - 0x0000000000023320 wait_on_floppy_select - *fill* 0x000000000002333d 0x3 - .bss 0x0000000000023340 0xb0 kernel/blk_drv/blk_drv.a(hd.o) - 0x0000000000023340 do_hd - 0x0000000000023360 hd_info - .bss 0x00000000000233f0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x00000000000233f0 rd_length - .bss 0x00000000000233f4 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) - *fill* 0x00000000000233f8 0x8 - .bss 0x0000000000023400 0xac kernel/chr_drv/chr_drv.a(console.o) - 0x0000000000023400 beepcount - .bss 0x00000000000234ac 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) - .bss 0x00000000000234ac 0x0 kernel/chr_drv/chr_drv.a(serial.o) - .bss 0x00000000000234ac 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) - .bss 0x00000000000234ac 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) - .bss 0x00000000000234ac 0x0 kernel/math/math.a(math_emulate.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(ctype.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(_exit.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(open.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(close.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(errno.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(write.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(dup.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(setsid.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(execve.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(wait.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(string.o) - .bss 0x00000000000234ac 0x0 lib/lib.a(update.o) + .bss 0x0000000000021140 0x0 boot/head.o + .bss 0x0000000000021140 0x40c init/main.o + *fill* 0x000000000002154c 0x14 + .bss 0x0000000000021560 0x760 kernel/kernel.o + 0x0000000000021560 jiffies + 0x0000000000021564 startup_time + 0x0000000000021568 last_task_used_math + 0x00000000000218a4 last_pid + .bss 0x0000000000021cc0 0xf20 mm/mm.o + .bss 0x0000000000022be0 0x710 fs/fs.o + 0x0000000000022be0 inode_table + 0x00000000000232e0 nr_buffers + 0x00000000000232ec ROOT_DEV + *fill* 0x00000000000232f0 0x10 + .bss 0x0000000000023300 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000023300 wait_for_request + 0x0000000000023320 blk_dev + .bss 0x0000000000023358 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000023358 do_floppy + 0x000000000002335c selected + 0x0000000000023360 wait_on_floppy_select + *fill* 0x000000000002337d 0x3 + .bss 0x0000000000023380 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000023380 do_hd + 0x00000000000233a0 hd_info + .bss 0x0000000000023430 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000023430 rd_length + .bss 0x0000000000023434 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000023438 0x8 + .bss 0x0000000000023440 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000023440 beepcount + .bss 0x00000000000234ec 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x00000000000234ec 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x00000000000234ec 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x00000000000234ec 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x00000000000234ec 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(ctype.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(_exit.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(open.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(close.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(errno.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(write.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(dup.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(setsid.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(execve.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(wait.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(string.o) + .bss 0x00000000000234ec 0x0 lib/lib.a(update.o) *(COMMON) - *fill* 0x00000000000234ac 0x14 - COMMON 0x00000000000234c0 0x20 init/main.o - 0x00000000000234c0 drive_info - COMMON 0x00000000000234e0 0x1000 kernel/kernel.o - 0x00000000000234e0 user_stack - COMMON 0x00000000000244e0 0xc40 fs/fs.o - 0x00000000000244e0 hash_table - 0x00000000000249c0 super_block - 0x0000000000024d20 file_table - COMMON 0x0000000000025120 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x0000000000025120 request - COMMON 0x00000000000255a0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x00000000000255a0 rd_start - COMMON 0x00000000000255a4 0x1 lib/lib.a(ctype.o) - 0x00000000000255a4 _ctmp - *fill* 0x00000000000255a5 0x3 - COMMON 0x00000000000255a8 0x4 lib/lib.a(errno.o) - 0x00000000000255a8 errno - COMMON 0x00000000000255ac 0x4 lib/lib.a(string.o) - 0x00000000000255ac ___strtok - 0x00000000000255b0 . = ALIGN ((. != 0x0)?0x4:0x1) - 0x00000000000255b0 . = ALIGN (0x4) - 0x00000000000255b0 . = SEGMENT_START ("ldata-segment", .) - 0x00000000000255b0 . = ALIGN (0x4) - 0x00000000000255b0 _end = . - 0x00000000000255b0 PROVIDE (end, .) + *fill* 0x00000000000234ec 0x14 + COMMON 0x0000000000023500 0x20 init/main.o + 0x0000000000023500 drive_info + COMMON 0x0000000000023520 0x1000 kernel/kernel.o + 0x0000000000023520 user_stack + COMMON 0x0000000000024520 0xc40 fs/fs.o + 0x0000000000024520 hash_table + 0x0000000000024a00 super_block + 0x0000000000024d60 file_table + COMMON 0x0000000000025160 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000025160 request + COMMON 0x00000000000255e0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x00000000000255e0 rd_start + COMMON 0x00000000000255e4 0x1 lib/lib.a(ctype.o) + 0x00000000000255e4 _ctmp + *fill* 0x00000000000255e5 0x3 + COMMON 0x00000000000255e8 0x4 lib/lib.a(errno.o) + 0x00000000000255e8 errno + COMMON 0x00000000000255ec 0x4 lib/lib.a(string.o) + 0x00000000000255ec ___strtok + 0x00000000000255f0 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x00000000000255f0 . = ALIGN (0x4) + 0x00000000000255f0 . = SEGMENT_START ("ldata-segment", .) + 0x00000000000255f0 . = ALIGN (0x4) + 0x00000000000255f0 _end = . + 0x00000000000255f0 PROVIDE (end, .) .stab *(.stab) @@ -978,7 +978,7 @@ LOAD lib/lib.a .debug_abbrev 0x00000000000043b1 0xe9 lib/lib.a(string.o) .debug_abbrev 0x000000000000449a 0x18b lib/lib.a(update.o) -.debug_line 0x0000000000000000 0x4a3f +.debug_line 0x0000000000000000 0x4a50 *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x0000000000000000 0x1e5 init/main.o .debug_line 0x00000000000001e5 0xe86 kernel/kernel.o @@ -1004,62 +1004,62 @@ LOAD lib/lib.a .debug_line 0x00000000000046c2 0x5d lib/lib.a(execve.o) .debug_line 0x000000000000471f 0x7a lib/lib.a(wait.o) .debug_line 0x0000000000004799 0xc6 lib/lib.a(string.o) - .debug_line 0x000000000000485f 0x1e0 lib/lib.a(update.o) + .debug_line 0x000000000000485f 0x1f1 lib/lib.a(update.o) .debug_frame *(.debug_frame) -.debug_str 0x0000000000000000 0x2232 +.debug_str 0x0000000000000000 0x21be *(.debug_str) .debug_str 0x0000000000000000 0x3c8 init/main.o 0x46b (size before relaxing) - .debug_str 0x00000000000003c8 0x8ff kernel/kernel.o - 0x2339 (size before relaxing) - .debug_str 0x0000000000000cc7 0x19a mm/mm.o + .debug_str 0x00000000000003c8 0x8cf kernel/kernel.o + 0x2378 (size before relaxing) + .debug_str 0x0000000000000c97 0x19a mm/mm.o 0x4f5 (size before relaxing) - .debug_str 0x0000000000000e61 0x975 fs/fs.o - 0x4a0c (size before relaxing) - .debug_str 0x00000000000017d6 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) - 0x491 (size before relaxing) - .debug_str 0x00000000000018c6 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) - 0x673 (size before relaxing) - .debug_str 0x0000000000001a95 0x15e kernel/blk_drv/blk_drv.a(hd.o) - 0x5e8 (size before relaxing) - .debug_str 0x0000000000001bf3 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) - 0x58a (size before relaxing) - .debug_str 0x0000000000001c36 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) - 0x4e3 (size before relaxing) - .debug_str 0x0000000000001d31 0x1b9 kernel/chr_drv/chr_drv.a(console.o) - 0x5b7 (size before relaxing) - .debug_str 0x0000000000001eea 0x1a kernel/chr_drv/chr_drv.a(serial.o) - 0x3fc (size before relaxing) - .debug_str 0x0000000000001f04 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) - 0x4a7 (size before relaxing) - .debug_str 0x0000000000001f8f 0x70 kernel/math/math.a(math_emulate.o) - 0x392 (size before relaxing) - .debug_str 0x0000000000001fff 0x8d lib/lib.a(ctype.o) - 0xb6 (size before relaxing) - .debug_str 0x000000000000208c 0x3c lib/lib.a(_exit.o) + .debug_str 0x0000000000000e31 0x949 fs/fs.o + 0x4a75 (size before relaxing) + .debug_str 0x000000000000177a 0xf7 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x498 (size before relaxing) + .debug_str 0x0000000000001871 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x67a (size before relaxing) + .debug_str 0x0000000000001a40 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5ef (size before relaxing) + .debug_str 0x0000000000001b9e 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x591 (size before relaxing) + .debug_str 0x0000000000001be1 0x102 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4ea (size before relaxing) + .debug_str 0x0000000000001ce3 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5be (size before relaxing) + .debug_str 0x0000000000001e9c 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x403 (size before relaxing) + .debug_str 0x0000000000001eb6 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4ae (size before relaxing) + .debug_str 0x0000000000001f41 0x77 kernel/math/math.a(math_emulate.o) + 0x399 (size before relaxing) + .debug_str 0x0000000000001fb8 0x94 lib/lib.a(ctype.o) + 0xbd (size before relaxing) + .debug_str 0x000000000000204c 0x8 lib/lib.a(_exit.o) 0xe9 (size before relaxing) - .debug_str 0x0000000000000000 0x3c lib/lib.a(open.o) + .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) 0xf9 (size before relaxing) - .debug_str 0x00000000000020c8 0x8 lib/lib.a(close.o) + .debug_str 0x0000000000002054 0x8 lib/lib.a(close.o) 0xeb (size before relaxing) - .debug_str 0x00000000000020d0 0x8 lib/lib.a(errno.o) - 0x93 (size before relaxing) + .debug_str 0x000000000000205c 0x8 lib/lib.a(errno.o) + 0x9a (size before relaxing) .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) 0xf7 (size before relaxing) - .debug_str 0x00000000000020d8 0x6 lib/lib.a(dup.o) + .debug_str 0x0000000000002064 0x6 lib/lib.a(dup.o) 0xe3 (size before relaxing) - .debug_str 0x00000000000020de 0x9 lib/lib.a(setsid.o) + .debug_str 0x000000000000206a 0x9 lib/lib.a(setsid.o) 0xf3 (size before relaxing) - .debug_str 0x00000000000020e7 0x9 lib/lib.a(execve.o) + .debug_str 0x0000000000002073 0x9 lib/lib.a(execve.o) 0xfc (size before relaxing) - .debug_str 0x00000000000020f0 0x11 lib/lib.a(wait.o) + .debug_str 0x000000000000207c 0x11 lib/lib.a(wait.o) 0x109 (size before relaxing) - .debug_str 0x0000000000002101 0x93 lib/lib.a(string.o) - 0x147 (size before relaxing) - .debug_str 0x0000000000002194 0x9e lib/lib.a(update.o) + .debug_str 0x000000000000208d 0x93 lib/lib.a(string.o) + 0x14e (size before relaxing) + .debug_str 0x0000000000002120 0x9e lib/lib.a(update.o) 0x4e6 (size before relaxing) .debug_loc diff --git a/linux-0.11-lab/1/linux/boot/bootsect.o b/linux-0.11-lab/1/linux/boot/bootsect.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/boot/bootsect.s b/linux-0.11-lab/1/linux/boot/bootsect.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/boot/head.o b/linux-0.11-lab/1/linux/boot/head.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/boot/head.s b/linux-0.11-lab/1/linux/boot/head.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/boot/setup.o b/linux-0.11-lab/1/linux/boot/setup.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/boot/setup.s b/linux-0.11-lab/1/linux/boot/setup.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/Makefile b/linux-0.11-lab/1/linux/fs/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/bitmap.c b/linux-0.11-lab/1/linux/fs/bitmap.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/bitmap.o b/linux-0.11-lab/1/linux/fs/bitmap.o old mode 100755 new mode 100644 index 6dd74e6..bae26ad Binary files a/linux-0.11-lab/1/linux/fs/bitmap.o and b/linux-0.11-lab/1/linux/fs/bitmap.o differ diff --git a/linux-0.11-lab/1/linux/fs/block_dev.c b/linux-0.11-lab/1/linux/fs/block_dev.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/block_dev.o b/linux-0.11-lab/1/linux/fs/block_dev.o old mode 100755 new mode 100644 index b5f28d7..a7b1ab1 Binary files a/linux-0.11-lab/1/linux/fs/block_dev.o and b/linux-0.11-lab/1/linux/fs/block_dev.o differ diff --git a/linux-0.11-lab/1/linux/fs/buffer.c b/linux-0.11-lab/1/linux/fs/buffer.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/buffer.o b/linux-0.11-lab/1/linux/fs/buffer.o old mode 100755 new mode 100644 index 0d5d840..aba2da5 Binary files a/linux-0.11-lab/1/linux/fs/buffer.o and b/linux-0.11-lab/1/linux/fs/buffer.o differ diff --git a/linux-0.11-lab/1/linux/fs/char_dev.c b/linux-0.11-lab/1/linux/fs/char_dev.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/char_dev.o b/linux-0.11-lab/1/linux/fs/char_dev.o old mode 100755 new mode 100644 index cceb578..9f4c1c5 Binary files a/linux-0.11-lab/1/linux/fs/char_dev.o and b/linux-0.11-lab/1/linux/fs/char_dev.o differ diff --git a/linux-0.11-lab/1/linux/fs/exec.c b/linux-0.11-lab/1/linux/fs/exec.c index 7f69d7b..c3fcb61 100755 --- a/linux-0.11-lab/1/linux/fs/exec.c +++ b/linux-0.11-lab/1/linux/fs/exec.c @@ -360,10 +360,7 @@ exec_error1: /* * 'do_execve2()' executes a new program by using execve2 -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/exec.c * without page fault -======= ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/exec.c */ int do_execve2(unsigned long * eip,long tmp,char * filename, char ** argv, char ** envp) @@ -378,11 +375,7 @@ int do_execve2(unsigned long * eip,long tmp,char * filename, int sh_bang = 0; unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4; unsigned long tmp1; /* by lzh */ -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/exec.c printk("This is do_execve2!\n"); -======= - ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/exec.c if ((0xffff & eip[1]) != 0x000f) panic("execve called from supervisor mode"); for (i=0 ; istart_stack = p & 0xfffff000; current->euid = e_uid; current->egid = e_gid; -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/exec.c /* printk("current->brk=%x, current->start_code=%x\n",current->brk,current->start_code); */ /* by lzh */ for (tmp1 = 0; tmp1 <= ((current->brk - 1) & 0xfffff000); tmp1 += 4096) do_no_page_my(5, tmp1 + current->start_code); /* by lzh */ -======= ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/exec.c i = ex.a_text+ex.a_data; while (i&0xfff) put_fs_byte(0,(char *) (i++)); eip[0] = ex.a_entry; /* eip, magic happens :-) */ eip[3] = p; /* stack pointer */ -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/exec.c -======= - /* printk("current->brk=%x, current->start_code=%x\n",current->brk,current->start_code); */ - /* by lzh */ - for (tmp1 = 0; tmp1 <= ((current->brk - 1) & 0xfffff000); tmp1 += 4096) - do_no_page_my(5, tmp1 + current->start_code); - /* by lzh */ ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/exec.c return 0; exec_error2: iput(inode); diff --git a/linux-0.11-lab/1/linux/fs/exec.o b/linux-0.11-lab/1/linux/fs/exec.o index a93103f..72cf151 100644 Binary files a/linux-0.11-lab/1/linux/fs/exec.o and b/linux-0.11-lab/1/linux/fs/exec.o differ diff --git a/linux-0.11-lab/1/linux/fs/fcntl.c b/linux-0.11-lab/1/linux/fs/fcntl.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/fcntl.o b/linux-0.11-lab/1/linux/fs/fcntl.o index 95ec8b7..93acfec 100644 Binary files a/linux-0.11-lab/1/linux/fs/fcntl.o and b/linux-0.11-lab/1/linux/fs/fcntl.o differ diff --git a/linux-0.11-lab/1/linux/fs/file_dev.c b/linux-0.11-lab/1/linux/fs/file_dev.c old mode 100755 new mode 100644 index 99fd852..0c50eaa --- a/linux-0.11-lab/1/linux/fs/file_dev.c +++ b/linux-0.11-lab/1/linux/fs/file_dev.c @@ -10,14 +10,11 @@ #include #include #include -#include -#include #define MIN(a,b) (((a)<(b))?(a):(b)) #define MAX(a,b) (((a)>(b))?(a):(b)) -#define PATH_MAX 255 -int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) { int left,chars,nr; struct buffer_head * bh; @@ -91,64 +88,3 @@ int file_write(struct m_inode * inode, struct file * filp, char * buf, int count } return (i?i:-1); } - -int sys_getdents(unsigned int fd, struct linux_dirent *d, unsigned int count) -{ - struct linux_dirent tmp; - struct file * file; - struct m_inode * inode; - struct buffer_head * block; - struct dir_entry * ptr; - char * buf; - int bpos; - int dpos; - int ld_size; - int i; - - ld_size = sizeof(struct linux_dirent); /* size of linux_dirent */ - file = current->filp[fd]; /* opened file */ - - if (fd >= NR_OPEN) - return -EINVAL; - if (!count) - return -1; - if (!file) - return ENOTDIR; - - inode = file->f_inode; - block = bread(inode->i_dev,inode->i_zone[0]); - - /* count: size of linux_dirent[], target - * dd_size: size of dir_entry[], block 400? - */ - for (dpos = 0,bpos = 0;bposi_size;bpos += sizeof(struct dir_entry)) { - if (dpos >= (count-ld_size)) - return 0; /* d full */ - ptr = (struct dir_entry *) (bpos + block->b_data); - if (!ptr -> inode) - continue; /* when it 's empty inode, jump it */ - - tmp.d_ino = ptr -> inode; - for (i = 0; i < 14; i++) tmp.d_name[i] = ptr -> name[i]; - tmp.d_reclen = sizeof(tmp); - tmp.d_off = 0; - - buf = &tmp; - for (i = 0; i < tmp.d_reclen; i++){ - put_fs_byte(*(buf+i),((char*)d)+i+dpos); /* move data from kernel to user */ - } - dpos += tmp.d_reclen; - } - return dpos; -} - -long sys_mmap(void *start, size_t len, int prot, int flags, - int fd, off_t off) -{ - return 0; -} - -int sys_munmap(void * start, size_t len) -{ - return 0; -} \ No newline at end of file diff --git a/linux-0.11-lab/1/linux/fs/file_dev.o b/linux-0.11-lab/1/linux/fs/file_dev.o old mode 100755 new mode 100644 index ec1deef..b86ce5c Binary files a/linux-0.11-lab/1/linux/fs/file_dev.o and b/linux-0.11-lab/1/linux/fs/file_dev.o differ diff --git a/linux-0.11-lab/1/linux/fs/file_table.c b/linux-0.11-lab/1/linux/fs/file_table.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/file_table.o b/linux-0.11-lab/1/linux/fs/file_table.o old mode 100755 new mode 100644 index 22e9daf..f962df0 Binary files a/linux-0.11-lab/1/linux/fs/file_table.o and b/linux-0.11-lab/1/linux/fs/file_table.o differ diff --git a/linux-0.11-lab/1/linux/fs/fs.o b/linux-0.11-lab/1/linux/fs/fs.o index 1aaa26b..90dfb66 100644 Binary files a/linux-0.11-lab/1/linux/fs/fs.o and b/linux-0.11-lab/1/linux/fs/fs.o differ diff --git a/linux-0.11-lab/1/linux/fs/inode.c b/linux-0.11-lab/1/linux/fs/inode.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/inode.o b/linux-0.11-lab/1/linux/fs/inode.o old mode 100755 new mode 100644 index 671563c..647eddd Binary files a/linux-0.11-lab/1/linux/fs/inode.o and b/linux-0.11-lab/1/linux/fs/inode.o differ diff --git a/linux-0.11-lab/1/linux/fs/ioctl.c b/linux-0.11-lab/1/linux/fs/ioctl.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/ioctl.o b/linux-0.11-lab/1/linux/fs/ioctl.o old mode 100755 new mode 100644 index 2bbcb62..43191ab Binary files a/linux-0.11-lab/1/linux/fs/ioctl.o and b/linux-0.11-lab/1/linux/fs/ioctl.o differ diff --git a/linux-0.11-lab/1/linux/fs/namei.c b/linux-0.11-lab/1/linux/fs/namei.c index 115233d..05fc764 100755 --- a/linux-0.11-lab/1/linux/fs/namei.c +++ b/linux-0.11-lab/1/linux/fs/namei.c @@ -29,7 +29,6 @@ #define MAY_EXEC 1 #define MAY_WRITE 2 #define MAY_READ 4 -#define PATH_MAX 255 /* * permission() @@ -94,10 +93,7 @@ static int match_kernel(int len,const char * name,struct dir_entry * de) ); return same; } -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/namei.c -======= ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/namei.c /* * find_entry() * @@ -173,11 +169,7 @@ static struct buffer_head * find_entry(struct m_inode ** dir, return NULL; } -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/namei.c struct buffer_head * find_entry_kernel(struct m_inode ** dir, -======= -static struct buffer_head * find_entry_kernel(struct m_inode ** dir, ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/namei.c const char * name, int namelen, struct dir_entry ** res_dir) { int entries; @@ -198,11 +190,7 @@ static struct buffer_head * find_entry_kernel(struct m_inode ** dir, if (!namelen) return NULL; /* check for '..', as we might have to do some "magic" for it */ -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/namei.c if (namelen==2 && *name=='.' && *(name+1)=='.') { -======= - if (namelen==2 && *(name)=='.' && *(name+1)=='.') { ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/namei.c /* '..' in a pseudo-root results in a faked '.' (just change namelen) */ if ((*dir) == current->root) namelen=1; @@ -362,11 +350,7 @@ static struct m_inode * get_dir(const char * pathname) } } -<<<<<<< HEAD:linux-0.11-lab/1/linux/fs/namei.c struct m_inode * get_dir_kernel(const char * pathname) -======= -static struct m_inode * get_dir_kernel(const char * pathname) ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/fs/namei.c { char c; const char * thisname; @@ -922,67 +906,3 @@ int sys_link(const char * oldname, const char * newname) iput(oldinode); return 0; } - -char * sys_getcwd(char * buf, size_t size) -{ - struct m_inode * inode; - struct buffer_head * block; - struct dir_entry * ptr; - char path[PATH_MAX]; - char path_buf[PATH_MAX]; - char back[PATH_MAX]; - int bpos; - int inode_down; - int inode_up; - int i; - - strcpy(back,".."); - if (!(inode = get_dir_kernel(back))) - return NULL; - if (!(block = bread(inode->i_dev,inode->i_zone[0]))) - return NULL; - ptr = (struct dir_entry *) (block->b_data); - inode_down = ptr->inode; - for (i = 0; i < PATH_MAX; i+=3) - { - back[2+i] = '/'; - back[3+i] = '.'; - back[4+i] = '.'; - if (!(inode = get_dir_kernel(back))) - return NULL; - if (!(block = bread(inode->i_dev,inode->i_zone[0]))) - return NULL; - ptr = (struct dir_entry *) (block->b_data); - inode_up = ptr->inode; - for (bpos = 0;bposi_size;bpos += sizeof(struct dir_entry)) - { - ptr = (struct dir_entry *) (bpos + block->b_data); - if (!ptr -> inode) - continue; /* when it 's empty inode, jump it */ - if (ptr->inode == inode_down) - { - strcpy(path_buf,path); - memset(path,0,PATH_MAX); - if (ptr->name[0] == '.') - { - path[0] = '/'; - strcat(path,path_buf); - goto end; - } - strcpy(path,ptr->name); - path[strlen(path)] = '/'; - strcat(path,path_buf); - inode_down = inode_up; - break; - } - } - } - end: - path[strlen(path)-1] = 0; - if (size < strlen(path)) - return NULL; - for (i = 0; i < strlen(path); i++){ - put_fs_byte(*(path+i),buf+i); - } - return buf; -} diff --git a/linux-0.11-lab/1/linux/fs/namei.o b/linux-0.11-lab/1/linux/fs/namei.o index f8c588f..1e92860 100644 Binary files a/linux-0.11-lab/1/linux/fs/namei.o and b/linux-0.11-lab/1/linux/fs/namei.o differ diff --git a/linux-0.11-lab/1/linux/fs/open.c b/linux-0.11-lab/1/linux/fs/open.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/open.o b/linux-0.11-lab/1/linux/fs/open.o index 8e10b18..b7f3441 100644 Binary files a/linux-0.11-lab/1/linux/fs/open.o and b/linux-0.11-lab/1/linux/fs/open.o differ diff --git a/linux-0.11-lab/1/linux/fs/pipe.c b/linux-0.11-lab/1/linux/fs/pipe.c old mode 100755 new mode 100644 index d4715f8..dfc4480 --- a/linux-0.11-lab/1/linux/fs/pipe.c +++ b/linux-0.11-lab/1/linux/fs/pipe.c @@ -109,45 +109,3 @@ int sys_pipe(unsigned long * fildes) put_fs_long(fd[1],1+fildes); return 0; } - -int sys_pipe2(int * fildes, int x) -{ - struct m_inode * inode; - struct file * f[2]; - int fd[2]; - int i,j; - if(x != 0) return 0; /* add condition */ - j=0; - for(i=0;j<2 && if_count++; - if (j==1) - f[0]->f_count=0; - if (j<2) - return -1; - j=0; - for(i=0;j<2 && ifilp[i]) { - current->filp[ fd[j]=i ] = f[j]; - j++; - } - if (j==1) - current->filp[fd[0]]=NULL; - if (j<2) { - f[0]->f_count=f[1]->f_count=0; - return -1; - } - if (!(inode=get_pipe_inode())) { - current->filp[fd[0]] = - current->filp[fd[1]] = NULL; - f[0]->f_count = f[1]->f_count = 0; - return -1; - } - f[0]->f_inode = f[1]->f_inode = inode; - f[0]->f_pos = f[1]->f_pos = 0; - f[0]->f_mode = 1; /* read */ - f[1]->f_mode = 2; /* write */ - put_fs_long(fd[0],0+fildes); - put_fs_long(fd[1],1+fildes); - return 0; -} \ No newline at end of file diff --git a/linux-0.11-lab/1/linux/fs/pipe.o b/linux-0.11-lab/1/linux/fs/pipe.o index 2a7cc92..e57ab16 100644 Binary files a/linux-0.11-lab/1/linux/fs/pipe.o and b/linux-0.11-lab/1/linux/fs/pipe.o differ diff --git a/linux-0.11-lab/1/linux/fs/read_write.c b/linux-0.11-lab/1/linux/fs/read_write.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/read_write.o b/linux-0.11-lab/1/linux/fs/read_write.o old mode 100755 new mode 100644 index ceb1f7b..5c6204f Binary files a/linux-0.11-lab/1/linux/fs/read_write.o and b/linux-0.11-lab/1/linux/fs/read_write.o differ diff --git a/linux-0.11-lab/1/linux/fs/select.c b/linux-0.11-lab/1/linux/fs/select.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/select.o b/linux-0.11-lab/1/linux/fs/select.o old mode 100755 new mode 100644 index bafc394..ef816ca Binary files a/linux-0.11-lab/1/linux/fs/select.o and b/linux-0.11-lab/1/linux/fs/select.o differ diff --git a/linux-0.11-lab/1/linux/fs/stat.c b/linux-0.11-lab/1/linux/fs/stat.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/stat.o b/linux-0.11-lab/1/linux/fs/stat.o old mode 100755 new mode 100644 index 2536557..4054718 Binary files a/linux-0.11-lab/1/linux/fs/stat.o and b/linux-0.11-lab/1/linux/fs/stat.o differ diff --git a/linux-0.11-lab/1/linux/fs/super.c b/linux-0.11-lab/1/linux/fs/super.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/super.o b/linux-0.11-lab/1/linux/fs/super.o old mode 100755 new mode 100644 index 36f9633..637cbc1 Binary files a/linux-0.11-lab/1/linux/fs/super.o and b/linux-0.11-lab/1/linux/fs/super.o differ diff --git a/linux-0.11-lab/1/linux/fs/truncate.c b/linux-0.11-lab/1/linux/fs/truncate.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/fs/truncate.o b/linux-0.11-lab/1/linux/fs/truncate.o old mode 100755 new mode 100644 index 9679661..bab7140 Binary files a/linux-0.11-lab/1/linux/fs/truncate.o and b/linux-0.11-lab/1/linux/fs/truncate.o differ diff --git a/linux-0.11-lab/1/linux/include/linux/sys.h b/linux-0.11-lab/1/linux/include/linux/sys.h index 7ef25a8..6e1ba2e 100755 --- a/linux-0.11-lab/1/linux/include/linux/sys.h +++ b/linux-0.11-lab/1/linux/include/linux/sys.h @@ -94,13 +94,6 @@ extern int sys_getdents(); extern int sys_pipe2(); extern int sys_sleep(); extern int sys_getcwd(); -<<<<<<< HEAD:linux-0.11-lab/1/linux/include/linux/sys.h -======= -extern int sys_mmap(); -extern int sys_munmap(); -extern int sys_clone(); - ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/include/linux/sys.h fn_ptr sys_call_table[] = { sys_setup, sys_exit, sys_fork, sys_read, sys_write, sys_open, sys_close, sys_waitpid, sys_creat, sys_link, @@ -117,13 +110,8 @@ sys_getpgrp, sys_setsid, sys_sigaction, sys_sgetmask, sys_ssetmask, sys_setreuid,sys_setregid, sys_sigsuspend, sys_sigpending, sys_sethostname, sys_setrlimit, sys_getrlimit, sys_getrusage, sys_gettimeofday, sys_settimeofday, sys_getgroups, sys_setgroups, sys_select, sys_symlink, -<<<<<<< HEAD:linux-0.11-lab/1/linux/include/linux/sys.h sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_pipe2, sys_sleep, sys_getcwd }; -======= -sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, -sys_pipe2, sys_sleep, sys_getcwd, sys_mmap, sys_munmap, sys_clone }; ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/include/linux/sys.h /* So we don't have to do any more manual updating.... */ int NR_syscalls = sizeof(sys_call_table)/sizeof(fn_ptr); diff --git a/linux-0.11-lab/1/linux/include/unistd.h b/linux-0.11-lab/1/linux/include/unistd.h index 2199fb1..61dd3fe 100755 --- a/linux-0.11-lab/1/linux/include/unistd.h +++ b/linux-0.11-lab/1/linux/include/unistd.h @@ -144,11 +144,7 @@ #define __NR_lstat 84 #define __NR_readlink 85 #define __NR_uselib 86 -<<<<<<< HEAD:linux-0.11-lab/1/linux/include/unistd.h #define __NR_execve2 87 -======= -#define __NR_execve2 87 /* by lzh */ ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/include/unistd.h #define __NR_getdents 88 #define __NR_pipe2 89 #define __NR_sleep 90 @@ -157,10 +153,6 @@ #define __NR_munmap 93 #define __NR_clone 94 -<<<<<<< HEAD:linux-0.11-lab/1/linux/include/unistd.h -======= - ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/include/unistd.h #define _syscall0(type,name) \ type name(void) \ { \ diff --git a/linux-0.11-lab/1/linux/init/main.c b/linux-0.11-lab/1/linux/init/main.c old mode 100755 new mode 100644 index 4a67222..bd86a68 --- a/linux-0.11-lab/1/linux/init/main.c +++ b/linux-0.11-lab/1/linux/init/main.c @@ -213,8 +213,4 @@ void print_nr(int sid) { if (sid > 86) printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); -<<<<<<< HEAD:linux-0.11-lab/1/linux/init/main.c } -======= -} ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/init/main.c diff --git a/linux-0.11-lab/1/linux/init/main.o b/linux-0.11-lab/1/linux/init/main.o index 76004d9..486c328 100644 Binary files a/linux-0.11-lab/1/linux/init/main.o and b/linux-0.11-lab/1/linux/init/main.o differ diff --git a/linux-0.11-lab/1/linux/kernel/Makefile b/linux-0.11-lab/1/linux/kernel/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/asm.o b/linux-0.11-lab/1/linux/kernel/asm.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/asm.s b/linux-0.11-lab/1/linux/kernel/asm.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/Makefile b/linux-0.11-lab/1/linux/kernel/blk_drv/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/blk.h b/linux-0.11-lab/1/linux/kernel/blk_drv/blk.h old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab/1/linux/kernel/blk_drv/blk_drv.a old mode 100755 new mode 100644 index 59e26e1..cafabed Binary files a/linux-0.11-lab/1/linux/kernel/blk_drv/blk_drv.a and b/linux-0.11-lab/1/linux/kernel/blk_drv/blk_drv.a differ diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/floppy.c b/linux-0.11-lab/1/linux/kernel/blk_drv/floppy.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab/1/linux/kernel/blk_drv/floppy.o old mode 100755 new mode 100644 index 1fbb4c9..11d857a Binary files a/linux-0.11-lab/1/linux/kernel/blk_drv/floppy.o and b/linux-0.11-lab/1/linux/kernel/blk_drv/floppy.o differ diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/hd.c b/linux-0.11-lab/1/linux/kernel/blk_drv/hd.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/hd.o b/linux-0.11-lab/1/linux/kernel/blk_drv/hd.o old mode 100755 new mode 100644 index 52dcd3d..b308c31 Binary files a/linux-0.11-lab/1/linux/kernel/blk_drv/hd.o and b/linux-0.11-lab/1/linux/kernel/blk_drv/hd.o differ diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab/1/linux/kernel/blk_drv/ll_rw_blk.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/ll_rw_blk.o b/linux-0.11-lab/1/linux/kernel/blk_drv/ll_rw_blk.o old mode 100755 new mode 100644 index 38f6c90..9033daf Binary files a/linux-0.11-lab/1/linux/kernel/blk_drv/ll_rw_blk.o and b/linux-0.11-lab/1/linux/kernel/blk_drv/ll_rw_blk.o differ diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/ramdisk.c b/linux-0.11-lab/1/linux/kernel/blk_drv/ramdisk.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab/1/linux/kernel/blk_drv/ramdisk.o old mode 100755 new mode 100644 index 72ffab0..529671e Binary files a/linux-0.11-lab/1/linux/kernel/blk_drv/ramdisk.o and b/linux-0.11-lab/1/linux/kernel/blk_drv/ramdisk.o differ diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/Makefile b/linux-0.11-lab/1/linux/kernel/chr_drv/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab/1/linux/kernel/chr_drv/chr_drv.a old mode 100755 new mode 100644 index ce7817a..8a42d53 Binary files a/linux-0.11-lab/1/linux/kernel/chr_drv/chr_drv.a and b/linux-0.11-lab/1/linux/kernel/chr_drv/chr_drv.a differ diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/console.c b/linux-0.11-lab/1/linux/kernel/chr_drv/console.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/console.o b/linux-0.11-lab/1/linux/kernel/chr_drv/console.o old mode 100755 new mode 100644 index cb2ef0c..3310288 Binary files a/linux-0.11-lab/1/linux/kernel/chr_drv/console.o and b/linux-0.11-lab/1/linux/kernel/chr_drv/console.o differ diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/keyboard.2.o b/linux-0.11-lab/1/linux/kernel/chr_drv/keyboard.2.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/keyboard.2.s b/linux-0.11-lab/1/linux/kernel/chr_drv/keyboard.2.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab/1/linux/kernel/chr_drv/keyboard.S old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab/1/linux/kernel/chr_drv/rs_io.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/rs_io.s b/linux-0.11-lab/1/linux/kernel/chr_drv/rs_io.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/serial.c b/linux-0.11-lab/1/linux/kernel/chr_drv/serial.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/serial.o b/linux-0.11-lab/1/linux/kernel/chr_drv/serial.o old mode 100755 new mode 100644 index a91fd4c..b1bb1cf Binary files a/linux-0.11-lab/1/linux/kernel/chr_drv/serial.o and b/linux-0.11-lab/1/linux/kernel/chr_drv/serial.o differ diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/tty_io.c b/linux-0.11-lab/1/linux/kernel/chr_drv/tty_io.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab/1/linux/kernel/chr_drv/tty_io.o old mode 100755 new mode 100644 index 8d8751f..ad54644 Binary files a/linux-0.11-lab/1/linux/kernel/chr_drv/tty_io.o and b/linux-0.11-lab/1/linux/kernel/chr_drv/tty_io.o differ diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/tty_ioctl.c b/linux-0.11-lab/1/linux/kernel/chr_drv/tty_ioctl.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab/1/linux/kernel/chr_drv/tty_ioctl.o old mode 100755 new mode 100644 index cd1e054..39e320e Binary files a/linux-0.11-lab/1/linux/kernel/chr_drv/tty_ioctl.o and b/linux-0.11-lab/1/linux/kernel/chr_drv/tty_ioctl.o differ diff --git a/linux-0.11-lab/1/linux/kernel/exit.c b/linux-0.11-lab/1/linux/kernel/exit.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/exit.o b/linux-0.11-lab/1/linux/kernel/exit.o old mode 100755 new mode 100644 index 91e1dd9..22940f2 Binary files a/linux-0.11-lab/1/linux/kernel/exit.o and b/linux-0.11-lab/1/linux/kernel/exit.o differ diff --git a/linux-0.11-lab/1/linux/kernel/fork.c b/linux-0.11-lab/1/linux/kernel/fork.c old mode 100755 new mode 100644 index 77f9efa..816fdba --- a/linux-0.11-lab/1/linux/kernel/fork.c +++ b/linux-0.11-lab/1/linux/kernel/fork.c @@ -146,115 +146,3 @@ int find_empty_process(void) return i; return -EAGAIN; } - -int copy_mem_clone(int nr,struct task_struct * p) -{ - unsigned long old_data_base,new_data_base,data_limit; - unsigned long old_code_base,new_code_base,code_limit; - long stack_floor,stack_ceil; - - code_limit=get_limit(0x0f); - data_limit=get_limit(0x17); - old_code_base = get_base(current->ldt[1]); - old_data_base = get_base(current->ldt[2]); - if (old_data_base != old_code_base) - panic("We don't support separate I&D"); - if (data_limit < code_limit) - panic("Bad data_limit"); - new_data_base = new_code_base = nr * 0x4000000; - p->start_code = new_code_base; - set_base(p->ldt[1],new_code_base); - set_base(p->ldt[2],new_data_base); - - stack_floor = (p->start_stack / 0x4000000) * 0x4000000; - stack_ceil = ((p->start_stack + 0x3ffffff) / 0x4000000) * 0x4000000; - - if (copy_page_tables_clone(old_data_base,new_data_base,stack_floor)) - { - free_page_tables(new_data_base,stack_floor); - return -ENOMEM; - } - - if (stack_floor != stack_ceil) - if (copy_page_tables_fixed(old_data_base + stack_floor,new_data_base + stack_floor,p->start_stack)) - { - free_page_tables(new_data_base + stack_floor,0x4000000); - return -ENOMEM; - } - - if (copy_page_tables(old_data_base + stack_ceil,new_data_base + stack_ceil,data_limit - stack_ceil)) - { - free_page_tables(new_data_base + stack_ceil,data_limit - stack_ceil); - return -ENOMEM; - } - - return 0; -} - -int copy_process_clone(int nr,long ebp,long edi,long esi,long gs,long none, - long ebx,long ecx,long edx, - long fs,long es,long ds, - long eip,long cs,long eflags,long esp,long ss) -{ - struct task_struct *p; - int i; - struct file *f; - p = (struct task_struct *) get_free_page(); - if (!p) - return -EAGAIN; - task[nr] = p; - __asm__ volatile ("cld"); /* by wyj */ - *p = *current; /* NOTE! this doesn't copy the supervisor stack */ - p->state = TASK_UNINTERRUPTIBLE; - p->pid = last_pid; - p->father = current->pid; - p->counter = p->priority; - p->signal = 0; - p->alarm = 0; - p->leader = 0; /* process leadership doesn't inherit */ - p->utime = p->stime = 0; - p->cutime = p->cstime = 0; - p->start_time = jiffies; - p->start_stack = ecx - 4096; /* by lzh */ - p->tss.back_link = 0; - p->tss.esp0 = PAGE_SIZE + (long) p; - p->tss.ss0 = 0x10; - p->tss.eip = ebx; /* by lzh */ - p->tss.eflags = eflags; - p->tss.eax = 0; - p->tss.ecx = ecx; - p->tss.edx = edx; - p->tss.ebx = ebx; - p->tss.esp = ecx; /* by lzh */ - p->tss.ebp = ebp; - p->tss.esi = esi; - p->tss.edi = edi; - p->tss.es = es & 0xffff; - p->tss.cs = cs & 0xffff; - p->tss.ss = ss & 0xffff; - p->tss.ds = ds & 0xffff; - p->tss.fs = fs & 0xffff; - p->tss.gs = gs & 0xffff; - p->tss.ldt = _LDT(nr); - p->tss.trace_bitmap = 0x80000000; - if (last_task_used_math == current) - __asm__("clts ; fnsave %0"::"m" (p->tss.i387)); - if (copy_mem_clone(nr,p)) { - task[nr] = NULL; - free_page((long) p); - return -EAGAIN; - } - for (i=0; ifilp[i]) - f->f_count++; - if (current->pwd) - current->pwd->i_count++; - if (current->root) - current->root->i_count++; - if (current->executable) - current->executable->i_count++; - set_tss_desc(gdt+(nr<<1)+FIRST_TSS_ENTRY,&(p->tss)); - set_ldt_desc(gdt+(nr<<1)+FIRST_LDT_ENTRY,&(p->ldt)); - p->state = TASK_RUNNING; /* do this last, just in case */ - return last_pid; -} \ No newline at end of file diff --git a/linux-0.11-lab/1/linux/kernel/fork.o b/linux-0.11-lab/1/linux/kernel/fork.o old mode 100755 new mode 100644 index 50b46a2..a987742 Binary files a/linux-0.11-lab/1/linux/kernel/fork.o and b/linux-0.11-lab/1/linux/kernel/fork.o differ diff --git a/linux-0.11-lab/1/linux/kernel/kernel.o b/linux-0.11-lab/1/linux/kernel/kernel.o index db9db11..2f43b66 100644 Binary files a/linux-0.11-lab/1/linux/kernel/kernel.o and b/linux-0.11-lab/1/linux/kernel/kernel.o differ diff --git a/linux-0.11-lab/1/linux/kernel/math/Makefile b/linux-0.11-lab/1/linux/kernel/math/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/math/math.a b/linux-0.11-lab/1/linux/kernel/math/math.a old mode 100755 new mode 100644 index 28f3b4e..706aa81 Binary files a/linux-0.11-lab/1/linux/kernel/math/math.a and b/linux-0.11-lab/1/linux/kernel/math/math.a differ diff --git a/linux-0.11-lab/1/linux/kernel/math/math_emulate.c b/linux-0.11-lab/1/linux/kernel/math/math_emulate.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/math/math_emulate.o b/linux-0.11-lab/1/linux/kernel/math/math_emulate.o old mode 100755 new mode 100644 index ce89c6b..645d42c Binary files a/linux-0.11-lab/1/linux/kernel/math/math_emulate.o and b/linux-0.11-lab/1/linux/kernel/math/math_emulate.o differ diff --git a/linux-0.11-lab/1/linux/kernel/mktime.c b/linux-0.11-lab/1/linux/kernel/mktime.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/mktime.o b/linux-0.11-lab/1/linux/kernel/mktime.o old mode 100755 new mode 100644 index 24891cd..e3472d3 Binary files a/linux-0.11-lab/1/linux/kernel/mktime.o and b/linux-0.11-lab/1/linux/kernel/mktime.o differ diff --git a/linux-0.11-lab/1/linux/kernel/panic.c b/linux-0.11-lab/1/linux/kernel/panic.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/panic.o b/linux-0.11-lab/1/linux/kernel/panic.o old mode 100755 new mode 100644 index 1c04011..e5f81dc Binary files a/linux-0.11-lab/1/linux/kernel/panic.o and b/linux-0.11-lab/1/linux/kernel/panic.o differ diff --git a/linux-0.11-lab/1/linux/kernel/printk.c b/linux-0.11-lab/1/linux/kernel/printk.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/printk.o b/linux-0.11-lab/1/linux/kernel/printk.o old mode 100755 new mode 100644 index e10dad7..caf8da4 Binary files a/linux-0.11-lab/1/linux/kernel/printk.o and b/linux-0.11-lab/1/linux/kernel/printk.o differ diff --git a/linux-0.11-lab/1/linux/kernel/sched.c b/linux-0.11-lab/1/linux/kernel/sched.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/sched.o b/linux-0.11-lab/1/linux/kernel/sched.o old mode 100755 new mode 100644 index f865958..0985bd3 Binary files a/linux-0.11-lab/1/linux/kernel/sched.o and b/linux-0.11-lab/1/linux/kernel/sched.o differ diff --git a/linux-0.11-lab/1/linux/kernel/signal.c b/linux-0.11-lab/1/linux/kernel/signal.c old mode 100755 new mode 100644 index 2daf6e6..8d5a65f --- a/linux-0.11-lab/1/linux/kernel/signal.c +++ b/linux-0.11-lab/1/linux/kernel/signal.c @@ -127,11 +127,3 @@ void do_signal(long signr,long eax, long ebx, long ecx, long edx, put_fs_long(old_eip,tmp_esp++); current->blocked |= sa->sa_mask; } - -unsigned int sys_sleep(unsigned int seconds) -{ - sys_signal(SIGALRM,SIG_IGN,NULL); - sys_alarm(seconds); - sys_pause(); - return 0; -} \ No newline at end of file diff --git a/linux-0.11-lab/1/linux/kernel/signal.o b/linux-0.11-lab/1/linux/kernel/signal.o old mode 100755 new mode 100644 index 3fc350c..80a005d Binary files a/linux-0.11-lab/1/linux/kernel/signal.o and b/linux-0.11-lab/1/linux/kernel/signal.o differ diff --git a/linux-0.11-lab/1/linux/kernel/sys.c b/linux-0.11-lab/1/linux/kernel/sys.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/sys.o b/linux-0.11-lab/1/linux/kernel/sys.o old mode 100755 new mode 100644 index 5a02413..d99724b Binary files a/linux-0.11-lab/1/linux/kernel/sys.o and b/linux-0.11-lab/1/linux/kernel/sys.o differ diff --git a/linux-0.11-lab/1/linux/kernel/system_call.s b/linux-0.11-lab/1/linux/kernel/system_call.s index 2017e91..18e762b 100755 --- a/linux-0.11-lab/1/linux/kernel/system_call.s +++ b/linux-0.11-lab/1/linux/kernel/system_call.s @@ -58,21 +58,13 @@ sa_mask = 4 sa_flags = 8 sa_restorer = 12 -<<<<<<< HEAD:linux-0.11-lab/1/linux/kernel/system_call.s nr_system_calls = 93 /* 72 */ -======= -nr_system_calls = 95 /* 72 */ ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/kernel/system_call.s /* * Ok, I get parallel printer interrupts while using the floppy for some * strange reason. Urgel. Now I just ignore them. */ -<<<<<<< HEAD:linux-0.11-lab/1/linux/kernel/system_call.s .globl system_call,sys_fork,timer_interrupt,sys_execve,sys_execve2 -======= -.globl system_call,sys_fork,timer_interrupt,sys_execve,sys_execve2,sys_clone ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/kernel/system_call.s .globl hd_interrupt,floppy_interrupt,parallel_interrupt .globl device_not_available, coprocessor_error @@ -239,20 +231,6 @@ sys_fork: addl $20,%esp 1: ret -.align 4 -sys_clone: - call find_empty_process - testl %eax,%eax - js 1f - push %gs - pushl %esi - pushl %edi - pushl %ebp - pushl %eax - call copy_process_clone - addl $20,%esp -1: ret - hd_interrupt: pushl %eax pushl %ecx diff --git a/linux-0.11-lab/1/linux/kernel/traps.c b/linux-0.11-lab/1/linux/kernel/traps.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/traps.o b/linux-0.11-lab/1/linux/kernel/traps.o old mode 100755 new mode 100644 index 58ecd07..b45a59b Binary files a/linux-0.11-lab/1/linux/kernel/traps.o and b/linux-0.11-lab/1/linux/kernel/traps.o differ diff --git a/linux-0.11-lab/1/linux/kernel/vsprintf.c b/linux-0.11-lab/1/linux/kernel/vsprintf.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/kernel/vsprintf.o b/linux-0.11-lab/1/linux/kernel/vsprintf.o old mode 100755 new mode 100644 index d3b6211..ed857a2 Binary files a/linux-0.11-lab/1/linux/kernel/vsprintf.o and b/linux-0.11-lab/1/linux/kernel/vsprintf.o differ diff --git a/linux-0.11-lab/1/linux/mm/Makefile b/linux-0.11-lab/1/linux/mm/Makefile old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/mm/memory.c b/linux-0.11-lab/1/linux/mm/memory.c index 7d0160b..e4494dd 100755 --- a/linux-0.11-lab/1/linux/mm/memory.c +++ b/linux-0.11-lab/1/linux/mm/memory.c @@ -189,92 +189,6 @@ int copy_page_tables(unsigned long from,unsigned long to,long size) return 0; } -int copy_page_tables_clone(unsigned long from,unsigned long to,long size) -{ - unsigned long * from_page_table; - unsigned long * to_page_table; - unsigned long this_page; - unsigned long * from_dir, * to_dir; - unsigned long nr; - - if ((from&0x3fffff) || (to&0x3fffff)) - panic("copy_page_tables_clone called with wrong alignment"); - from_dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ - to_dir = (unsigned long *) ((to>>20) & 0xffc); - size = ((unsigned) (size+0x3fffff)) >> 22; - for( ; size-->0 ; from_dir++,to_dir++) { - if (1 & *to_dir) - panic("copy_page_tables_clone: already exist"); - if (!(1 & *from_dir)) - continue; - from_page_table = (unsigned long *) (0xfffff000 & *from_dir); - if (!(to_page_table = (unsigned long *) get_free_page())) - return -1; /* Out of memory, see freeing */ - *to_dir = ((unsigned long) to_page_table) | 7; - nr = (from==0)?0xA0:1024; - for ( ; nr-- > 0 ; from_page_table++,to_page_table++) { - this_page = *from_page_table; - if (!(1 & this_page)) - continue; - *to_page_table = this_page; - if (this_page > LOW_MEM) { - *from_page_table = this_page; - this_page -= LOW_MEM; - this_page >>= 12; - mem_map[this_page]++; - } - } - } - invalidate(); - return 0; -} - -int copy_page_tables_fixed(unsigned long from,unsigned long to,long pos) -{ - unsigned long * from_page_table; - unsigned long * to_page_table; - unsigned long this_page; - unsigned long * from_dir, * to_dir; - unsigned long nr; - long size; - long count; - - if ((from&0x3fffff) || (to&0x3fffff)) - panic("copy_page_tables_fixed called with wrong alignment"); - from_dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ - to_dir = (unsigned long *) ((to>>20) & 0xffc); - size = 1; - for( ; size-->0 ; from_dir++,to_dir++) { - if (1 & *to_dir) - panic("copy_page_tables_fixed: already exist"); - if (!(1 & *from_dir)) - continue; - from_page_table = (unsigned long *) (0xfffff000 & *from_dir); - if (!(to_page_table = (unsigned long *) get_free_page())) - return -1; /* Out of memory, see freeing */ - *to_dir = ((unsigned long) to_page_table) | 7; - nr = (from==0)?0xA0:1024; - count = -1; - for ( ; nr-- > 0 ; from_page_table++,to_page_table++) { - count++; - this_page = *from_page_table; - if (!(1 & this_page)) - continue; - if(count >= (pos / 0x1000)) - this_page &= ~2; - *to_page_table = this_page; - if (this_page > LOW_MEM) { - *from_page_table = this_page; - this_page -= LOW_MEM; - this_page >>= 12; - mem_map[this_page]++; - } - } - } - invalidate(); - return 0; -} - /* * This function puts a page in memory at the wanted address. * It returns the physical address of the page gotten, 0 if @@ -458,45 +372,7 @@ void do_no_page(unsigned long error_code,unsigned long address) if (current->pid > 5) printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); -<<<<<<< HEAD:linux-0.11-lab/1/linux/mm/memory.c -======= - - address &= 0xfffff000; - tmp = address - current->start_code; - if (!current->executable || tmp >= current->end_data) { - get_empty_page(address); - return; - } - if (share_page(tmp)) - return; - if (!(page = get_free_page())) - oom(); -/* remember that 1 block is used for header */ - block = 1 + tmp/BLOCK_SIZE; - for (i=0 ; i<4 ; block++,i++) - nr[i] = bmap(current->executable,block); - bread_page(page,current->executable->i_dev,nr); - i = tmp + 4096 - current->end_data; - tmp = page + 4096; - while (i-- > 0) { - tmp--; - *(char *)tmp = 0; - } - if (put_page(page,address)) - return; - free_page(page); - oom(); -} - -void do_no_page_my(unsigned long error_code,unsigned long address) -{ - int nr[4]; - unsigned long tmp; - unsigned long page; - int block,i; - ->>>>>>> 5fa5668828e5effb6ddee83634da390ce88f4aa9:linux-0.11-lab/0/linux/mm/memory.c address &= 0xfffff000; tmp = address - current->start_code; if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab/1/linux/mm/memory.o b/linux-0.11-lab/1/linux/mm/memory.o index 6c6a82c..3c8b55d 100644 Binary files a/linux-0.11-lab/1/linux/mm/memory.o and b/linux-0.11-lab/1/linux/mm/memory.o differ diff --git a/linux-0.11-lab/1/linux/mm/mm.o b/linux-0.11-lab/1/linux/mm/mm.o index 1874ff6..5ee305d 100644 Binary files a/linux-0.11-lab/1/linux/mm/mm.o and b/linux-0.11-lab/1/linux/mm/mm.o differ diff --git a/linux-0.11-lab/1/linux/mm/page.o b/linux-0.11-lab/1/linux/mm/page.o old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/mm/page.s b/linux-0.11-lab/1/linux/mm/page.s old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/tools/build b/linux-0.11-lab/1/linux/tools/build index e5456c9..0396325 100755 Binary files a/linux-0.11-lab/1/linux/tools/build and b/linux-0.11-lab/1/linux/tools/build differ diff --git a/linux-0.11-lab/1/linux/tools/build.c b/linux-0.11-lab/1/linux/tools/build.c old mode 100755 new mode 100644 diff --git a/linux-0.11-lab/1/linux/tools/system b/linux-0.11-lab/1/linux/tools/system index cead7ad..6d50154 100755 Binary files a/linux-0.11-lab/1/linux/tools/system and b/linux-0.11-lab/1/linux/tools/system differ