From e7eb79883f3f01fbcbd023dbf0899118952ca7a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= <2064227687@qq.com> Date: Thu, 8 Jul 2021 21:43:10 +0800 Subject: [PATCH] second --- linux-0.11-lab - 副本/0.gdb | 5 + linux-0.11-lab - 副本/0/README | 6 + .../0/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../0/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../0/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../0/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../0/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes .../0/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes .../0/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../0/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes .../0/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../0/Source-Insight/Linux-0.11.SearchResults | 2 + .../0/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes linux-0.11-lab - 副本/0/linux/Image | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/0/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/0/linux/Makefile | 125 ++ linux-0.11-lab - 副本/0/linux/System.map | 576 +++++++++ linux-0.11-lab - 副本/0/linux/System.map.2 | 1075 ++++++++++++++++ linux-0.11-lab - 副本/0/linux/boot/bootsect | Bin 0 -> 544 bytes .../0/linux/boot/bootsect.o | Bin 0 -> 923 bytes .../0/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab - 副本/0/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab - 副本/0/linux/boot/head.s | 240 ++++ linux-0.11-lab - 副本/0/linux/boot/setup | Bin 0 -> 344 bytes linux-0.11-lab - 副本/0/linux/boot/setup.o | Bin 0 -> 596 bytes linux-0.11-lab - 副本/0/linux/boot/setup.s | 231 ++++ linux-0.11-lab - 副本/0/linux/fs/Makefile | 101 ++ linux-0.11-lab - 副本/0/linux/fs/bitmap.c | 168 +++ linux-0.11-lab - 副本/0/linux/fs/bitmap.o | Bin 0 -> 10280 bytes .../0/linux/fs/block_dev.c | 73 ++ .../0/linux/fs/block_dev.o | Bin 0 -> 7296 bytes linux-0.11-lab - 副本/0/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab - 副本/0/linux/fs/buffer.o | Bin 0 -> 13348 bytes linux-0.11-lab - 副本/0/linux/fs/char_dev.c | 104 ++ linux-0.11-lab - 副本/0/linux/fs/char_dev.o | Bin 0 -> 8288 bytes linux-0.11-lab - 副本/0/linux/fs/exec.c | 359 ++++++ linux-0.11-lab - 副本/0/linux/fs/exec.o | Bin 0 -> 14936 bytes linux-0.11-lab - 副本/0/linux/fs/fcntl.c | 75 ++ linux-0.11-lab - 副本/0/linux/fs/fcntl.o | Bin 0 -> 6748 bytes linux-0.11-lab - 副本/0/linux/fs/file_dev.c | 90 ++ linux-0.11-lab - 副本/0/linux/fs/file_dev.o | Bin 0 -> 7828 bytes .../0/linux/fs/file_table.c | 9 + .../0/linux/fs/file_table.o | Bin 0 -> 2644 bytes linux-0.11-lab - 副本/0/linux/fs/fs.o | Bin 0 -> 142937 bytes linux-0.11-lab - 副本/0/linux/fs/inode.c | 340 ++++++ linux-0.11-lab - 副本/0/linux/fs/inode.o | Bin 0 -> 14072 bytes linux-0.11-lab - 副本/0/linux/fs/ioctl.c | 46 + linux-0.11-lab - 副本/0/linux/fs/ioctl.o | Bin 0 -> 5828 bytes linux-0.11-lab - 副本/0/linux/fs/namei.c | 783 ++++++++++++ linux-0.11-lab - 副本/0/linux/fs/namei.o | Bin 0 -> 20756 bytes linux-0.11-lab - 副本/0/linux/fs/open.c | 208 ++++ linux-0.11-lab - 副本/0/linux/fs/open.o | Bin 0 -> 11184 bytes linux-0.11-lab - 副本/0/linux/fs/pipe.c | 111 ++ linux-0.11-lab - 副本/0/linux/fs/pipe.o | Bin 0 -> 8104 bytes .../0/linux/fs/read_write.c | 103 ++ .../0/linux/fs/read_write.o | Bin 0 -> 7520 bytes linux-0.11-lab - 副本/0/linux/fs/select.c | 10 + linux-0.11-lab - 副本/0/linux/fs/select.o | Bin 0 -> 1776 bytes linux-0.11-lab - 副本/0/linux/fs/stat.c | 66 + linux-0.11-lab - 副本/0/linux/fs/stat.o | Bin 0 -> 7212 bytes linux-0.11-lab - 副本/0/linux/fs/super.c | 282 +++++ linux-0.11-lab - 副本/0/linux/fs/super.o | Bin 0 -> 12284 bytes linux-0.11-lab - 副本/0/linux/fs/truncate.c | 65 + linux-0.11-lab - 副本/0/linux/fs/truncate.o | Bin 0 -> 6848 bytes .../0/linux/include/a.out.h | 220 ++++ .../0/linux/include/asm/io.h | 24 + .../0/linux/include/asm/memory.h | 15 + .../0/linux/include/asm/segment.h | 65 + .../0/linux/include/asm/system.h | 66 + .../0/linux/include/const.h | 15 + .../0/linux/include/ctype.h | 34 + .../0/linux/include/errno.h | 60 + .../0/linux/include/fcntl.h | 55 + .../0/linux/include/linux/config.h | 48 + .../0/linux/include/linux/fdreg.h | 71 ++ .../0/linux/include/linux/fs.h | 202 +++ .../0/linux/include/linux/hdreg.h | 65 + .../0/linux/include/linux/head.h | 20 + .../0/linux/include/linux/kernel.h | 22 + .../0/linux/include/linux/mm.h | 10 + .../0/linux/include/linux/sched.h | 239 ++++ .../0/linux/include/linux/sys.h | 111 ++ .../0/linux/include/linux/tty.h | 77 ++ .../0/linux/include/signal.h | 68 ++ .../0/linux/include/stdarg.h | 28 + .../0/linux/include/stddef.h | 19 + .../0/linux/include/string.h | 405 ++++++ .../0/linux/include/sys/stat.h | 60 + .../0/linux/include/sys/times.h | 15 + .../0/linux/include/sys/types.h | 46 + .../0/linux/include/sys/utsname.h | 16 + .../0/linux/include/sys/wait.h | 23 + .../0/linux/include/termios.h | 228 ++++ .../0/linux/include/time.h | 42 + .../0/linux/include/unistd.h | 269 ++++ .../0/linux/include/utime.h | 13 + linux-0.11-lab - 副本/0/linux/init/main.c | 210 ++++ linux-0.11-lab - 副本/0/linux/init/main.o | Bin 0 -> 9040 bytes .../0/linux/kernel/Makefile | 83 ++ linux-0.11-lab - 副本/0/linux/kernel/asm.o | Bin 0 -> 1740 bytes linux-0.11-lab - 副本/0/linux/kernel/asm.s | 146 +++ .../0/linux/kernel/blk_drv/Makefile | 58 + .../0/linux/kernel/blk_drv/blk.h | 140 +++ .../0/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52212 bytes .../0/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../0/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16612 bytes .../0/linux/kernel/blk_drv/hd.c | 351 ++++++ .../0/linux/kernel/blk_drv/hd.o | Bin 0 -> 15520 bytes .../0/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../0/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8740 bytes .../0/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../0/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10664 bytes .../0/linux/kernel/chr_drv/Makefile | 68 ++ .../0/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68902 bytes .../0/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../0/linux/kernel/chr_drv/console.o | Bin 0 -> 20896 bytes .../0/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../0/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../0/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ .../0/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes .../0/linux/kernel/chr_drv/rs_io.s | 147 +++ .../0/linux/kernel/chr_drv/serial.c | 59 + .../0/linux/kernel/chr_drv/serial.o | Bin 0 -> 6752 bytes .../0/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../0/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22504 bytes .../0/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../0/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10648 bytes linux-0.11-lab - 副本/0/linux/kernel/exit.c | 197 +++ linux-0.11-lab - 副本/0/linux/kernel/exit.o | Bin 0 -> 11164 bytes linux-0.11-lab - 副本/0/linux/kernel/fork.c | 148 +++ linux-0.11-lab - 副本/0/linux/kernel/fork.o | Bin 0 -> 9640 bytes .../0/linux/kernel/kernel.o | Bin 0 -> 84086 bytes .../0/linux/kernel/math/Makefile | 43 + .../0/linux/kernel/math/math.a | Bin 0 -> 6628 bytes .../0/linux/kernel/math/math_emulate.c | 42 + .../0/linux/kernel/math/math_emulate.o | Bin 0 -> 6464 bytes .../0/linux/kernel/mktime.c | 58 + .../0/linux/kernel/mktime.o | Bin 0 -> 2872 bytes .../0/linux/kernel/panic.c | 24 + .../0/linux/kernel/panic.o | Bin 0 -> 5424 bytes .../0/linux/kernel/printk.c | 41 + .../0/linux/kernel/printk.o | Bin 0 -> 2424 bytes .../0/linux/kernel/sched.c | 412 +++++++ .../0/linux/kernel/sched.o | Bin 0 -> 22732 bytes .../0/linux/kernel/signal.c | 129 ++ .../0/linux/kernel/signal.o | Bin 0 -> 8960 bytes linux-0.11-lab - 副本/0/linux/kernel/sys.c | 292 +++++ linux-0.11-lab - 副本/0/linux/kernel/sys.o | Bin 0 -> 13088 bytes .../0/linux/kernel/system_call.o | Bin 0 -> 2520 bytes .../0/linux/kernel/system_call.s | 285 +++++ .../0/linux/kernel/traps.c | 208 ++++ .../0/linux/kernel/traps.o | Bin 0 -> 12972 bytes .../0/linux/kernel/vsprintf.c | 233 ++++ .../0/linux/kernel/vsprintf.o | Bin 0 -> 6156 bytes linux-0.11-lab - 副本/0/linux/lib/Makefile | 73 ++ linux-0.11-lab - 副本/0/linux/lib/_exit.c | 13 + linux-0.11-lab - 副本/0/linux/lib/_exit.o | Bin 0 -> 1992 bytes linux-0.11-lab - 副本/0/linux/lib/close.c | 10 + linux-0.11-lab - 副本/0/linux/lib/close.o | Bin 0 -> 2224 bytes linux-0.11-lab - 副本/0/linux/lib/ctype.c | 35 + linux-0.11-lab - 副本/0/linux/lib/ctype.o | Bin 0 -> 1908 bytes linux-0.11-lab - 副本/0/linux/lib/dup.c | 10 + linux-0.11-lab - 副本/0/linux/lib/dup.o | Bin 0 -> 2200 bytes linux-0.11-lab - 副本/0/linux/lib/errno.c | 7 + linux-0.11-lab - 副本/0/linux/lib/errno.o | Bin 0 -> 1472 bytes linux-0.11-lab - 副本/0/linux/lib/execve.c | 10 + linux-0.11-lab - 副本/0/linux/lib/execve.o | Bin 0 -> 2340 bytes linux-0.11-lab - 副本/0/linux/lib/lib.a | Bin 0 -> 34170 bytes linux-0.11-lab - 副本/0/linux/lib/malloc.c | 232 ++++ linux-0.11-lab - 副本/0/linux/lib/malloc.o | Bin 0 -> 4880 bytes linux-0.11-lab - 副本/0/linux/lib/open.c | 25 + linux-0.11-lab - 副本/0/linux/lib/open.o | Bin 0 -> 2368 bytes linux-0.11-lab - 副本/0/linux/lib/setsid.c | 10 + linux-0.11-lab - 副本/0/linux/lib/setsid.o | Bin 0 -> 2244 bytes linux-0.11-lab - 副本/0/linux/lib/string.c | 14 + linux-0.11-lab - 副本/0/linux/lib/string.o | Bin 0 -> 6380 bytes linux-0.11-lab - 副本/0/linux/lib/wait.c | 16 + linux-0.11-lab - 副本/0/linux/lib/wait.o | Bin 0 -> 2584 bytes linux-0.11-lab - 副本/0/linux/lib/write.c | 10 + linux-0.11-lab - 副本/0/linux/lib/write.o | Bin 0 -> 2376 bytes linux-0.11-lab - 副本/0/linux/mm/Makefile | 38 + linux-0.11-lab - 副本/0/linux/mm/memory.c | 431 +++++++ linux-0.11-lab - 副本/0/linux/mm/memory.o | Bin 0 -> 12924 bytes linux-0.11-lab - 副本/0/linux/mm/mm.o | Bin 0 -> 13048 bytes linux-0.11-lab - 副本/0/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab - 副本/0/linux/mm/page.s | 40 + linux-0.11-lab - 副本/0/linux/tools/build | Bin 0 -> 15144 bytes linux-0.11-lab - 副本/0/linux/tools/build.c | 171 +++ linux-0.11-lab - 副本/0/linux/tools/system | Bin 0 -> 286057 bytes linux-0.11-lab - 副本/1/README | 6 + .../1/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../1/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../1/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../1/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../1/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes .../1/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes .../1/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../1/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes .../1/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../1/Source-Insight/Linux-0.11.SearchResults | 2 + .../1/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes linux-0.11-lab - 副本/1/linux/Image | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/1/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/1/linux/Makefile | 125 ++ linux-0.11-lab - 副本/1/linux/System.map | 576 +++++++++ linux-0.11-lab - 副本/1/linux/System.map.2 | 1075 ++++++++++++++++ linux-0.11-lab - 副本/1/linux/boot/bootsect | Bin 0 -> 544 bytes .../1/linux/boot/bootsect.o | Bin 0 -> 923 bytes .../1/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab - 副本/1/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab - 副本/1/linux/boot/head.s | 240 ++++ linux-0.11-lab - 副本/1/linux/boot/setup | Bin 0 -> 344 bytes linux-0.11-lab - 副本/1/linux/boot/setup.o | Bin 0 -> 596 bytes linux-0.11-lab - 副本/1/linux/boot/setup.s | 231 ++++ linux-0.11-lab - 副本/1/linux/fs/Makefile | 101 ++ linux-0.11-lab - 副本/1/linux/fs/bitmap.c | 168 +++ linux-0.11-lab - 副本/1/linux/fs/bitmap.o | Bin 0 -> 10280 bytes .../1/linux/fs/block_dev.c | 73 ++ .../1/linux/fs/block_dev.o | Bin 0 -> 7296 bytes linux-0.11-lab - 副本/1/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab - 副本/1/linux/fs/buffer.o | Bin 0 -> 13348 bytes linux-0.11-lab - 副本/1/linux/fs/char_dev.c | 104 ++ linux-0.11-lab - 副本/1/linux/fs/char_dev.o | Bin 0 -> 8288 bytes linux-0.11-lab - 副本/1/linux/fs/exec.c | 359 ++++++ linux-0.11-lab - 副本/1/linux/fs/exec.o | Bin 0 -> 14936 bytes linux-0.11-lab - 副本/1/linux/fs/fcntl.c | 75 ++ linux-0.11-lab - 副本/1/linux/fs/fcntl.o | Bin 0 -> 6748 bytes linux-0.11-lab - 副本/1/linux/fs/file_dev.c | 90 ++ linux-0.11-lab - 副本/1/linux/fs/file_dev.o | Bin 0 -> 7828 bytes .../1/linux/fs/file_table.c | 9 + .../1/linux/fs/file_table.o | Bin 0 -> 2644 bytes linux-0.11-lab - 副本/1/linux/fs/fs.o | Bin 0 -> 142937 bytes linux-0.11-lab - 副本/1/linux/fs/inode.c | 340 ++++++ linux-0.11-lab - 副本/1/linux/fs/inode.o | Bin 0 -> 14072 bytes linux-0.11-lab - 副本/1/linux/fs/ioctl.c | 46 + linux-0.11-lab - 副本/1/linux/fs/ioctl.o | Bin 0 -> 5828 bytes linux-0.11-lab - 副本/1/linux/fs/namei.c | 783 ++++++++++++ linux-0.11-lab - 副本/1/linux/fs/namei.o | Bin 0 -> 20756 bytes linux-0.11-lab - 副本/1/linux/fs/open.c | 208 ++++ linux-0.11-lab - 副本/1/linux/fs/open.o | Bin 0 -> 11184 bytes linux-0.11-lab - 副本/1/linux/fs/pipe.c | 111 ++ linux-0.11-lab - 副本/1/linux/fs/pipe.o | Bin 0 -> 8104 bytes .../1/linux/fs/read_write.c | 103 ++ .../1/linux/fs/read_write.o | Bin 0 -> 7520 bytes linux-0.11-lab - 副本/1/linux/fs/select.c | 10 + linux-0.11-lab - 副本/1/linux/fs/select.o | Bin 0 -> 1776 bytes linux-0.11-lab - 副本/1/linux/fs/stat.c | 66 + linux-0.11-lab - 副本/1/linux/fs/stat.o | Bin 0 -> 7212 bytes linux-0.11-lab - 副本/1/linux/fs/super.c | 282 +++++ linux-0.11-lab - 副本/1/linux/fs/super.o | Bin 0 -> 12284 bytes linux-0.11-lab - 副本/1/linux/fs/truncate.c | 65 + linux-0.11-lab - 副本/1/linux/fs/truncate.o | Bin 0 -> 6848 bytes .../1/linux/include/a.out.h | 220 ++++ .../1/linux/include/asm/io.h | 24 + .../1/linux/include/asm/memory.h | 15 + .../1/linux/include/asm/segment.h | 65 + .../1/linux/include/asm/system.h | 66 + .../1/linux/include/const.h | 15 + .../1/linux/include/ctype.h | 34 + .../1/linux/include/errno.h | 60 + .../1/linux/include/fcntl.h | 55 + .../1/linux/include/linux/config.h | 48 + .../1/linux/include/linux/fdreg.h | 71 ++ .../1/linux/include/linux/fs.h | 202 +++ .../1/linux/include/linux/hdreg.h | 65 + .../1/linux/include/linux/head.h | 20 + .../1/linux/include/linux/kernel.h | 22 + .../1/linux/include/linux/mm.h | 10 + .../1/linux/include/linux/sched.h | 239 ++++ .../1/linux/include/linux/sys.h | 111 ++ .../1/linux/include/linux/tty.h | 77 ++ .../1/linux/include/signal.h | 68 ++ .../1/linux/include/stdarg.h | 28 + .../1/linux/include/stddef.h | 19 + .../1/linux/include/string.h | 405 ++++++ .../1/linux/include/sys/stat.h | 60 + .../1/linux/include/sys/times.h | 15 + .../1/linux/include/sys/types.h | 46 + .../1/linux/include/sys/utsname.h | 16 + .../1/linux/include/sys/wait.h | 23 + .../1/linux/include/termios.h | 228 ++++ .../1/linux/include/time.h | 42 + .../1/linux/include/unistd.h | 269 ++++ .../1/linux/include/utime.h | 13 + linux-0.11-lab - 副本/1/linux/init/main.c | 210 ++++ linux-0.11-lab - 副本/1/linux/init/main.o | Bin 0 -> 9040 bytes .../1/linux/kernel/Makefile | 83 ++ linux-0.11-lab - 副本/1/linux/kernel/asm.o | Bin 0 -> 1740 bytes linux-0.11-lab - 副本/1/linux/kernel/asm.s | 146 +++ .../1/linux/kernel/blk_drv/Makefile | 58 + .../1/linux/kernel/blk_drv/blk.h | 140 +++ .../1/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52212 bytes .../1/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../1/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16612 bytes .../1/linux/kernel/blk_drv/hd.c | 351 ++++++ .../1/linux/kernel/blk_drv/hd.o | Bin 0 -> 15520 bytes .../1/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../1/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8740 bytes .../1/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../1/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10664 bytes .../1/linux/kernel/chr_drv/Makefile | 68 ++ .../1/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68902 bytes .../1/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../1/linux/kernel/chr_drv/console.o | Bin 0 -> 20896 bytes .../1/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../1/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../1/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ .../1/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes .../1/linux/kernel/chr_drv/rs_io.s | 147 +++ .../1/linux/kernel/chr_drv/serial.c | 59 + .../1/linux/kernel/chr_drv/serial.o | Bin 0 -> 6752 bytes .../1/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../1/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22504 bytes .../1/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../1/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10648 bytes linux-0.11-lab - 副本/1/linux/kernel/exit.c | 197 +++ linux-0.11-lab - 副本/1/linux/kernel/exit.o | Bin 0 -> 11164 bytes linux-0.11-lab - 副本/1/linux/kernel/fork.c | 148 +++ linux-0.11-lab - 副本/1/linux/kernel/fork.o | Bin 0 -> 9640 bytes .../1/linux/kernel/kernel.o | Bin 0 -> 84086 bytes .../1/linux/kernel/math/Makefile | 43 + .../1/linux/kernel/math/math.a | Bin 0 -> 6628 bytes .../1/linux/kernel/math/math_emulate.c | 42 + .../1/linux/kernel/math/math_emulate.o | Bin 0 -> 6464 bytes .../1/linux/kernel/mktime.c | 58 + .../1/linux/kernel/mktime.o | Bin 0 -> 2872 bytes .../1/linux/kernel/panic.c | 24 + .../1/linux/kernel/panic.o | Bin 0 -> 5424 bytes .../1/linux/kernel/printk.c | 41 + .../1/linux/kernel/printk.o | Bin 0 -> 2424 bytes .../1/linux/kernel/sched.c | 412 +++++++ .../1/linux/kernel/sched.o | Bin 0 -> 22732 bytes .../1/linux/kernel/signal.c | 129 ++ .../1/linux/kernel/signal.o | Bin 0 -> 8960 bytes linux-0.11-lab - 副本/1/linux/kernel/sys.c | 292 +++++ linux-0.11-lab - 副本/1/linux/kernel/sys.o | Bin 0 -> 13088 bytes .../1/linux/kernel/system_call.o | Bin 0 -> 2520 bytes .../1/linux/kernel/system_call.s | 285 +++++ .../1/linux/kernel/traps.c | 208 ++++ .../1/linux/kernel/traps.o | Bin 0 -> 12972 bytes .../1/linux/kernel/vsprintf.c | 233 ++++ .../1/linux/kernel/vsprintf.o | Bin 0 -> 6156 bytes linux-0.11-lab - 副本/1/linux/lib/Makefile | 73 ++ linux-0.11-lab - 副本/1/linux/lib/_exit.c | 13 + linux-0.11-lab - 副本/1/linux/lib/_exit.o | Bin 0 -> 1992 bytes linux-0.11-lab - 副本/1/linux/lib/close.c | 10 + linux-0.11-lab - 副本/1/linux/lib/close.o | Bin 0 -> 2224 bytes linux-0.11-lab - 副本/1/linux/lib/ctype.c | 35 + linux-0.11-lab - 副本/1/linux/lib/ctype.o | Bin 0 -> 1908 bytes linux-0.11-lab - 副本/1/linux/lib/dup.c | 10 + linux-0.11-lab - 副本/1/linux/lib/dup.o | Bin 0 -> 2200 bytes linux-0.11-lab - 副本/1/linux/lib/errno.c | 7 + linux-0.11-lab - 副本/1/linux/lib/errno.o | Bin 0 -> 1472 bytes linux-0.11-lab - 副本/1/linux/lib/execve.c | 10 + linux-0.11-lab - 副本/1/linux/lib/execve.o | Bin 0 -> 2340 bytes linux-0.11-lab - 副本/1/linux/lib/lib.a | Bin 0 -> 34170 bytes linux-0.11-lab - 副本/1/linux/lib/malloc.c | 232 ++++ linux-0.11-lab - 副本/1/linux/lib/malloc.o | Bin 0 -> 4880 bytes linux-0.11-lab - 副本/1/linux/lib/open.c | 25 + linux-0.11-lab - 副本/1/linux/lib/open.o | Bin 0 -> 2368 bytes linux-0.11-lab - 副本/1/linux/lib/setsid.c | 10 + linux-0.11-lab - 副本/1/linux/lib/setsid.o | Bin 0 -> 2244 bytes linux-0.11-lab - 副本/1/linux/lib/string.c | 14 + linux-0.11-lab - 副本/1/linux/lib/string.o | Bin 0 -> 6380 bytes linux-0.11-lab - 副本/1/linux/lib/wait.c | 16 + linux-0.11-lab - 副本/1/linux/lib/wait.o | Bin 0 -> 2584 bytes linux-0.11-lab - 副本/1/linux/lib/write.c | 10 + linux-0.11-lab - 副本/1/linux/lib/write.o | Bin 0 -> 2376 bytes linux-0.11-lab - 副本/1/linux/mm/Makefile | 38 + linux-0.11-lab - 副本/1/linux/mm/memory.c | 431 +++++++ linux-0.11-lab - 副本/1/linux/mm/memory.o | Bin 0 -> 12924 bytes linux-0.11-lab - 副本/1/linux/mm/mm.o | Bin 0 -> 13048 bytes linux-0.11-lab - 副本/1/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab - 副本/1/linux/mm/page.s | 40 + linux-0.11-lab - 副本/1/linux/tools/build | Bin 0 -> 15144 bytes linux-0.11-lab - 副本/1/linux/tools/build.c | 171 +++ linux-0.11-lab - 副本/1/linux/tools/system | Bin 0 -> 286057 bytes linux-0.11-lab - 副本/2/README | 6 + .../2/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../2/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../2/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../2/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../2/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes .../2/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes .../2/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../2/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes .../2/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../2/Source-Insight/Linux-0.11.SearchResults | 2 + .../2/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes linux-0.11-lab - 副本/2/linux/Image | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/2/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/2/linux/Makefile | 125 ++ linux-0.11-lab - 副本/2/linux/System.map | 576 +++++++++ linux-0.11-lab - 副本/2/linux/System.map.2 | 1075 ++++++++++++++++ linux-0.11-lab - 副本/2/linux/boot/bootsect | Bin 0 -> 544 bytes .../2/linux/boot/bootsect.o | Bin 0 -> 923 bytes .../2/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab - 副本/2/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab - 副本/2/linux/boot/head.s | 240 ++++ linux-0.11-lab - 副本/2/linux/boot/setup | Bin 0 -> 344 bytes linux-0.11-lab - 副本/2/linux/boot/setup.o | Bin 0 -> 596 bytes linux-0.11-lab - 副本/2/linux/boot/setup.s | 231 ++++ linux-0.11-lab - 副本/2/linux/fs/Makefile | 101 ++ linux-0.11-lab - 副本/2/linux/fs/bitmap.c | 168 +++ linux-0.11-lab - 副本/2/linux/fs/bitmap.o | Bin 0 -> 10280 bytes .../2/linux/fs/block_dev.c | 73 ++ .../2/linux/fs/block_dev.o | Bin 0 -> 7296 bytes linux-0.11-lab - 副本/2/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab - 副本/2/linux/fs/buffer.o | Bin 0 -> 13348 bytes linux-0.11-lab - 副本/2/linux/fs/char_dev.c | 104 ++ linux-0.11-lab - 副本/2/linux/fs/char_dev.o | Bin 0 -> 8288 bytes linux-0.11-lab - 副本/2/linux/fs/exec.c | 359 ++++++ linux-0.11-lab - 副本/2/linux/fs/exec.o | Bin 0 -> 14936 bytes linux-0.11-lab - 副本/2/linux/fs/fcntl.c | 75 ++ linux-0.11-lab - 副本/2/linux/fs/fcntl.o | Bin 0 -> 6748 bytes linux-0.11-lab - 副本/2/linux/fs/file_dev.c | 90 ++ linux-0.11-lab - 副本/2/linux/fs/file_dev.o | Bin 0 -> 7828 bytes .../2/linux/fs/file_table.c | 9 + .../2/linux/fs/file_table.o | Bin 0 -> 2644 bytes linux-0.11-lab - 副本/2/linux/fs/fs.o | Bin 0 -> 142937 bytes linux-0.11-lab - 副本/2/linux/fs/inode.c | 340 ++++++ linux-0.11-lab - 副本/2/linux/fs/inode.o | Bin 0 -> 14072 bytes linux-0.11-lab - 副本/2/linux/fs/ioctl.c | 46 + linux-0.11-lab - 副本/2/linux/fs/ioctl.o | Bin 0 -> 5828 bytes linux-0.11-lab - 副本/2/linux/fs/namei.c | 783 ++++++++++++ linux-0.11-lab - 副本/2/linux/fs/namei.o | Bin 0 -> 20756 bytes linux-0.11-lab - 副本/2/linux/fs/open.c | 208 ++++ linux-0.11-lab - 副本/2/linux/fs/open.o | Bin 0 -> 11184 bytes linux-0.11-lab - 副本/2/linux/fs/pipe.c | 111 ++ linux-0.11-lab - 副本/2/linux/fs/pipe.o | Bin 0 -> 8104 bytes .../2/linux/fs/read_write.c | 103 ++ .../2/linux/fs/read_write.o | Bin 0 -> 7520 bytes linux-0.11-lab - 副本/2/linux/fs/select.c | 10 + linux-0.11-lab - 副本/2/linux/fs/select.o | Bin 0 -> 1776 bytes linux-0.11-lab - 副本/2/linux/fs/stat.c | 66 + linux-0.11-lab - 副本/2/linux/fs/stat.o | Bin 0 -> 7212 bytes linux-0.11-lab - 副本/2/linux/fs/super.c | 282 +++++ linux-0.11-lab - 副本/2/linux/fs/super.o | Bin 0 -> 12284 bytes linux-0.11-lab - 副本/2/linux/fs/truncate.c | 65 + linux-0.11-lab - 副本/2/linux/fs/truncate.o | Bin 0 -> 6848 bytes .../2/linux/include/a.out.h | 220 ++++ .../2/linux/include/asm/io.h | 24 + .../2/linux/include/asm/memory.h | 15 + .../2/linux/include/asm/segment.h | 65 + .../2/linux/include/asm/system.h | 66 + .../2/linux/include/const.h | 15 + .../2/linux/include/ctype.h | 34 + .../2/linux/include/errno.h | 60 + .../2/linux/include/fcntl.h | 55 + .../2/linux/include/linux/config.h | 48 + .../2/linux/include/linux/fdreg.h | 71 ++ .../2/linux/include/linux/fs.h | 202 +++ .../2/linux/include/linux/hdreg.h | 65 + .../2/linux/include/linux/head.h | 20 + .../2/linux/include/linux/kernel.h | 22 + .../2/linux/include/linux/mm.h | 10 + .../2/linux/include/linux/sched.h | 239 ++++ .../2/linux/include/linux/sys.h | 111 ++ .../2/linux/include/linux/tty.h | 77 ++ .../2/linux/include/signal.h | 68 ++ .../2/linux/include/stdarg.h | 28 + .../2/linux/include/stddef.h | 19 + .../2/linux/include/string.h | 405 ++++++ .../2/linux/include/sys/stat.h | 60 + .../2/linux/include/sys/times.h | 15 + .../2/linux/include/sys/types.h | 46 + .../2/linux/include/sys/utsname.h | 16 + .../2/linux/include/sys/wait.h | 23 + .../2/linux/include/termios.h | 228 ++++ .../2/linux/include/time.h | 42 + .../2/linux/include/unistd.h | 269 ++++ .../2/linux/include/utime.h | 13 + linux-0.11-lab - 副本/2/linux/init/main.c | 210 ++++ linux-0.11-lab - 副本/2/linux/init/main.o | Bin 0 -> 9040 bytes .../2/linux/kernel/Makefile | 83 ++ linux-0.11-lab - 副本/2/linux/kernel/asm.o | Bin 0 -> 1740 bytes linux-0.11-lab - 副本/2/linux/kernel/asm.s | 146 +++ .../2/linux/kernel/blk_drv/Makefile | 58 + .../2/linux/kernel/blk_drv/blk.h | 140 +++ .../2/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52212 bytes .../2/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../2/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16612 bytes .../2/linux/kernel/blk_drv/hd.c | 351 ++++++ .../2/linux/kernel/blk_drv/hd.o | Bin 0 -> 15520 bytes .../2/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../2/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8740 bytes .../2/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../2/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10664 bytes .../2/linux/kernel/chr_drv/Makefile | 68 ++ .../2/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68902 bytes .../2/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../2/linux/kernel/chr_drv/console.o | Bin 0 -> 20896 bytes .../2/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../2/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../2/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ .../2/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes .../2/linux/kernel/chr_drv/rs_io.s | 147 +++ .../2/linux/kernel/chr_drv/serial.c | 59 + .../2/linux/kernel/chr_drv/serial.o | Bin 0 -> 6752 bytes .../2/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../2/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22504 bytes .../2/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../2/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10648 bytes linux-0.11-lab - 副本/2/linux/kernel/exit.c | 197 +++ linux-0.11-lab - 副本/2/linux/kernel/exit.o | Bin 0 -> 11164 bytes linux-0.11-lab - 副本/2/linux/kernel/fork.c | 148 +++ linux-0.11-lab - 副本/2/linux/kernel/fork.o | Bin 0 -> 9640 bytes .../2/linux/kernel/kernel.o | Bin 0 -> 84086 bytes .../2/linux/kernel/math/Makefile | 43 + .../2/linux/kernel/math/math.a | Bin 0 -> 6628 bytes .../2/linux/kernel/math/math_emulate.c | 42 + .../2/linux/kernel/math/math_emulate.o | Bin 0 -> 6464 bytes .../2/linux/kernel/mktime.c | 58 + .../2/linux/kernel/mktime.o | Bin 0 -> 2872 bytes .../2/linux/kernel/panic.c | 24 + .../2/linux/kernel/panic.o | Bin 0 -> 5424 bytes .../2/linux/kernel/printk.c | 41 + .../2/linux/kernel/printk.o | Bin 0 -> 2424 bytes .../2/linux/kernel/sched.c | 412 +++++++ .../2/linux/kernel/sched.o | Bin 0 -> 22732 bytes .../2/linux/kernel/signal.c | 129 ++ .../2/linux/kernel/signal.o | Bin 0 -> 8960 bytes linux-0.11-lab - 副本/2/linux/kernel/sys.c | 292 +++++ linux-0.11-lab - 副本/2/linux/kernel/sys.o | Bin 0 -> 13088 bytes .../2/linux/kernel/system_call.o | Bin 0 -> 2520 bytes .../2/linux/kernel/system_call.s | 285 +++++ .../2/linux/kernel/traps.c | 208 ++++ .../2/linux/kernel/traps.o | Bin 0 -> 12972 bytes .../2/linux/kernel/vsprintf.c | 233 ++++ .../2/linux/kernel/vsprintf.o | Bin 0 -> 6156 bytes linux-0.11-lab - 副本/2/linux/lib/Makefile | 73 ++ linux-0.11-lab - 副本/2/linux/lib/_exit.c | 13 + linux-0.11-lab - 副本/2/linux/lib/_exit.o | Bin 0 -> 1992 bytes linux-0.11-lab - 副本/2/linux/lib/close.c | 10 + linux-0.11-lab - 副本/2/linux/lib/close.o | Bin 0 -> 2224 bytes linux-0.11-lab - 副本/2/linux/lib/ctype.c | 35 + linux-0.11-lab - 副本/2/linux/lib/ctype.o | Bin 0 -> 1908 bytes linux-0.11-lab - 副本/2/linux/lib/dup.c | 10 + linux-0.11-lab - 副本/2/linux/lib/dup.o | Bin 0 -> 2200 bytes linux-0.11-lab - 副本/2/linux/lib/errno.c | 7 + linux-0.11-lab - 副本/2/linux/lib/errno.o | Bin 0 -> 1472 bytes linux-0.11-lab - 副本/2/linux/lib/execve.c | 10 + linux-0.11-lab - 副本/2/linux/lib/execve.o | Bin 0 -> 2340 bytes linux-0.11-lab - 副本/2/linux/lib/lib.a | Bin 0 -> 34170 bytes linux-0.11-lab - 副本/2/linux/lib/malloc.c | 232 ++++ linux-0.11-lab - 副本/2/linux/lib/malloc.o | Bin 0 -> 4880 bytes linux-0.11-lab - 副本/2/linux/lib/open.c | 25 + linux-0.11-lab - 副本/2/linux/lib/open.o | Bin 0 -> 2368 bytes linux-0.11-lab - 副本/2/linux/lib/setsid.c | 10 + linux-0.11-lab - 副本/2/linux/lib/setsid.o | Bin 0 -> 2244 bytes linux-0.11-lab - 副本/2/linux/lib/string.c | 14 + linux-0.11-lab - 副本/2/linux/lib/string.o | Bin 0 -> 6380 bytes linux-0.11-lab - 副本/2/linux/lib/wait.c | 16 + linux-0.11-lab - 副本/2/linux/lib/wait.o | Bin 0 -> 2584 bytes linux-0.11-lab - 副本/2/linux/lib/write.c | 10 + linux-0.11-lab - 副本/2/linux/lib/write.o | Bin 0 -> 2376 bytes linux-0.11-lab - 副本/2/linux/mm/Makefile | 38 + linux-0.11-lab - 副本/2/linux/mm/memory.c | 431 +++++++ linux-0.11-lab - 副本/2/linux/mm/memory.o | Bin 0 -> 12924 bytes linux-0.11-lab - 副本/2/linux/mm/mm.o | Bin 0 -> 13048 bytes linux-0.11-lab - 副本/2/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab - 副本/2/linux/mm/page.s | 40 + linux-0.11-lab - 副本/2/linux/tools/build | Bin 0 -> 15144 bytes linux-0.11-lab - 副本/2/linux/tools/build.c | 171 +++ linux-0.11-lab - 副本/2/linux/tools/system | Bin 0 -> 286057 bytes linux-0.11-lab - 副本/3/README | 6 + .../3/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../3/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../3/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../3/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../3/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes .../3/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes .../3/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../3/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes .../3/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../3/Source-Insight/Linux-0.11.SearchResults | 2 + .../3/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes .../3/linux/.vscode/settings.json | 5 + linux-0.11-lab - 副本/3/linux/Image | Bin 0 -> 136580 bytes linux-0.11-lab - 副本/3/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/3/linux/Makefile | 125 ++ linux-0.11-lab - 副本/3/linux/System.map | 587 +++++++++ linux-0.11-lab - 副本/3/linux/System.map.2 | 1085 +++++++++++++++++ linux-0.11-lab - 副本/3/linux/boot/bootsect | Bin 0 -> 544 bytes .../3/linux/boot/bootsect.o | Bin 0 -> 923 bytes .../3/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab - 副本/3/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab - 副本/3/linux/boot/head.s | 240 ++++ linux-0.11-lab - 副本/3/linux/boot/setup | Bin 0 -> 344 bytes linux-0.11-lab - 副本/3/linux/boot/setup.o | Bin 0 -> 596 bytes linux-0.11-lab - 副本/3/linux/boot/setup.s | 231 ++++ linux-0.11-lab - 副本/3/linux/execve2.patch | 41 + linux-0.11-lab - 副本/3/linux/fs/Makefile | 101 ++ linux-0.11-lab - 副本/3/linux/fs/bitmap.c | 168 +++ linux-0.11-lab - 副本/3/linux/fs/bitmap.o | Bin 0 -> 10280 bytes .../3/linux/fs/block_dev.c | 73 ++ .../3/linux/fs/block_dev.o | Bin 0 -> 7296 bytes linux-0.11-lab - 副本/3/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab - 副本/3/linux/fs/buffer.o | Bin 0 -> 13348 bytes linux-0.11-lab - 副本/3/linux/fs/char_dev.c | 104 ++ linux-0.11-lab - 副本/3/linux/fs/char_dev.o | Bin 0 -> 8288 bytes linux-0.11-lab - 副本/3/linux/fs/exec.c | 695 +++++++++++ linux-0.11-lab - 副本/3/linux/fs/exec.o | Bin 0 -> 23260 bytes linux-0.11-lab - 副本/3/linux/fs/fcntl.c | 75 ++ linux-0.11-lab - 副本/3/linux/fs/fcntl.o | Bin 0 -> 6748 bytes linux-0.11-lab - 副本/3/linux/fs/file_dev.c | 90 ++ linux-0.11-lab - 副本/3/linux/fs/file_dev.o | Bin 0 -> 7828 bytes .../3/linux/fs/file_table.c | 9 + .../3/linux/fs/file_table.o | Bin 0 -> 2644 bytes linux-0.11-lab - 副本/3/linux/fs/fs.o | Bin 0 -> 151449 bytes linux-0.11-lab - 副本/3/linux/fs/inode.c | 340 ++++++ linux-0.11-lab - 副本/3/linux/fs/inode.o | Bin 0 -> 14072 bytes linux-0.11-lab - 副本/3/linux/fs/ioctl.c | 46 + linux-0.11-lab - 副本/3/linux/fs/ioctl.o | Bin 0 -> 5828 bytes linux-0.11-lab - 副本/3/linux/fs/namei.c | 783 ++++++++++++ linux-0.11-lab - 副本/3/linux/fs/namei.o | Bin 0 -> 20756 bytes linux-0.11-lab - 副本/3/linux/fs/open.c | 208 ++++ linux-0.11-lab - 副本/3/linux/fs/open.o | Bin 0 -> 11184 bytes linux-0.11-lab - 副本/3/linux/fs/pipe.c | 128 ++ linux-0.11-lab - 副本/3/linux/fs/pipe.o | Bin 0 -> 8300 bytes .../3/linux/fs/read_write.c | 103 ++ .../3/linux/fs/read_write.o | Bin 0 -> 7520 bytes linux-0.11-lab - 副本/3/linux/fs/select.c | 10 + linux-0.11-lab - 副本/3/linux/fs/select.o | Bin 0 -> 1776 bytes linux-0.11-lab - 副本/3/linux/fs/stat.c | 66 + linux-0.11-lab - 副本/3/linux/fs/stat.o | Bin 0 -> 7212 bytes linux-0.11-lab - 副本/3/linux/fs/super.c | 282 +++++ linux-0.11-lab - 副本/3/linux/fs/super.o | Bin 0 -> 12284 bytes linux-0.11-lab - 副本/3/linux/fs/truncate.c | 65 + linux-0.11-lab - 副本/3/linux/fs/truncate.o | Bin 0 -> 6848 bytes .../3/linux/include/a.out.h | 220 ++++ .../3/linux/include/asm/io.h | 24 + .../3/linux/include/asm/memory.h | 15 + .../3/linux/include/asm/segment.h | 65 + .../3/linux/include/asm/system.h | 66 + .../3/linux/include/const.h | 15 + .../3/linux/include/ctype.h | 34 + .../3/linux/include/errno.h | 60 + .../3/linux/include/fcntl.h | 55 + .../3/linux/include/linux/config.h | 48 + .../3/linux/include/linux/fdreg.h | 71 ++ .../3/linux/include/linux/fs.h | 202 +++ .../3/linux/include/linux/hdreg.h | 65 + .../3/linux/include/linux/head.h | 20 + .../3/linux/include/linux/kernel.h | 22 + .../3/linux/include/linux/mm.h | 10 + .../3/linux/include/linux/sched.h | 239 ++++ .../3/linux/include/linux/sys.h | 123 ++ .../3/linux/include/linux/tty.h | 77 ++ .../3/linux/include/signal.h | 68 ++ .../3/linux/include/stdarg.h | 28 + .../3/linux/include/stddef.h | 19 + .../3/linux/include/string.h | 405 ++++++ .../3/linux/include/sys/stat.h | 60 + .../3/linux/include/sys/times.h | 15 + .../3/linux/include/sys/types.h | 46 + .../3/linux/include/sys/utsname.h | 16 + .../3/linux/include/sys/wait.h | 23 + .../3/linux/include/termios.h | 228 ++++ .../3/linux/include/time.h | 42 + .../3/linux/include/unistd.h | 287 +++++ .../3/linux/include/utime.h | 13 + linux-0.11-lab - 副本/3/linux/init/main.c | 216 ++++ linux-0.11-lab - 副本/3/linux/init/main.o | Bin 0 -> 12208 bytes .../3/linux/kernel/Makefile | 83 ++ linux-0.11-lab - 副本/3/linux/kernel/asm.o | Bin 0 -> 1740 bytes linux-0.11-lab - 副本/3/linux/kernel/asm.s | 146 +++ .../3/linux/kernel/blk_drv/Makefile | 58 + .../3/linux/kernel/blk_drv/blk.h | 140 +++ .../3/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52212 bytes .../3/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../3/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16612 bytes .../3/linux/kernel/blk_drv/hd.c | 351 ++++++ .../3/linux/kernel/blk_drv/hd.o | Bin 0 -> 15520 bytes .../3/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../3/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8740 bytes .../3/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../3/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10664 bytes .../3/linux/kernel/chr_drv/Makefile | 68 ++ .../3/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68902 bytes .../3/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../3/linux/kernel/chr_drv/console.o | Bin 0 -> 20896 bytes .../3/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../3/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../3/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ .../3/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes .../3/linux/kernel/chr_drv/rs_io.s | 147 +++ .../3/linux/kernel/chr_drv/serial.c | 59 + .../3/linux/kernel/chr_drv/serial.o | Bin 0 -> 6752 bytes .../3/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../3/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22504 bytes .../3/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../3/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10648 bytes linux-0.11-lab - 副本/3/linux/kernel/exit.c | 197 +++ linux-0.11-lab - 副本/3/linux/kernel/exit.o | Bin 0 -> 11164 bytes linux-0.11-lab - 副本/3/linux/kernel/fork.c | 148 +++ linux-0.11-lab - 副本/3/linux/kernel/fork.o | Bin 0 -> 9640 bytes .../3/linux/kernel/kernel.o | Bin 0 -> 84488 bytes .../3/linux/kernel/math/Makefile | 43 + .../3/linux/kernel/math/math.a | Bin 0 -> 6628 bytes .../3/linux/kernel/math/math_emulate.c | 42 + .../3/linux/kernel/math/math_emulate.o | Bin 0 -> 6464 bytes .../3/linux/kernel/mktime.c | 58 + .../3/linux/kernel/mktime.o | Bin 0 -> 2872 bytes .../3/linux/kernel/panic.c | 24 + .../3/linux/kernel/panic.o | Bin 0 -> 5424 bytes .../3/linux/kernel/printk.c | 41 + .../3/linux/kernel/printk.o | Bin 0 -> 2424 bytes .../3/linux/kernel/sched.c | 412 +++++++ .../3/linux/kernel/sched.o | Bin 0 -> 23040 bytes .../3/linux/kernel/signal.c | 129 ++ .../3/linux/kernel/signal.o | Bin 0 -> 8960 bytes linux-0.11-lab - 副本/3/linux/kernel/sys.c | 324 +++++ linux-0.11-lab - 副本/3/linux/kernel/sys.o | Bin 0 -> 13084 bytes .../3/linux/kernel/system_call.o | Bin 0 -> 2640 bytes .../3/linux/kernel/system_call.s | 299 +++++ .../3/linux/kernel/system_call.s.orig | 294 +++++ .../3/linux/kernel/traps.c | 208 ++++ .../3/linux/kernel/traps.o | Bin 0 -> 12972 bytes .../3/linux/kernel/vsprintf.c | 233 ++++ .../3/linux/kernel/vsprintf.o | Bin 0 -> 6156 bytes linux-0.11-lab - 副本/3/linux/lib/Makefile | 73 ++ linux-0.11-lab - 副本/3/linux/lib/_exit.c | 13 + linux-0.11-lab - 副本/3/linux/lib/_exit.o | Bin 0 -> 1988 bytes linux-0.11-lab - 副本/3/linux/lib/close.c | 10 + linux-0.11-lab - 副本/3/linux/lib/close.o | Bin 0 -> 2220 bytes linux-0.11-lab - 副本/3/linux/lib/ctype.c | 35 + linux-0.11-lab - 副本/3/linux/lib/ctype.o | Bin 0 -> 1908 bytes linux-0.11-lab - 副本/3/linux/lib/dup.c | 10 + linux-0.11-lab - 副本/3/linux/lib/dup.o | Bin 0 -> 2196 bytes linux-0.11-lab - 副本/3/linux/lib/errno.c | 7 + linux-0.11-lab - 副本/3/linux/lib/errno.o | Bin 0 -> 1472 bytes linux-0.11-lab - 副本/3/linux/lib/execve.c | 10 + linux-0.11-lab - 副本/3/linux/lib/execve.o | Bin 0 -> 2336 bytes linux-0.11-lab - 副本/3/linux/lib/lib.a | Bin 0 -> 34138 bytes linux-0.11-lab - 副本/3/linux/lib/malloc.c | 232 ++++ linux-0.11-lab - 副本/3/linux/lib/malloc.o | Bin 0 -> 4880 bytes linux-0.11-lab - 副本/3/linux/lib/open.c | 25 + linux-0.11-lab - 副本/3/linux/lib/open.o | Bin 0 -> 2364 bytes linux-0.11-lab - 副本/3/linux/lib/setsid.c | 10 + linux-0.11-lab - 副本/3/linux/lib/setsid.o | Bin 0 -> 2240 bytes linux-0.11-lab - 副本/3/linux/lib/string.c | 14 + linux-0.11-lab - 副本/3/linux/lib/string.o | Bin 0 -> 6380 bytes linux-0.11-lab - 副本/3/linux/lib/wait.c | 16 + linux-0.11-lab - 副本/3/linux/lib/wait.o | Bin 0 -> 2580 bytes linux-0.11-lab - 副本/3/linux/lib/write.c | 10 + linux-0.11-lab - 副本/3/linux/lib/write.o | Bin 0 -> 2372 bytes linux-0.11-lab - 副本/3/linux/mm/Makefile | 38 + linux-0.11-lab - 副本/3/linux/mm/memory.c | 468 +++++++ linux-0.11-lab - 副本/3/linux/mm/memory.o | Bin 0 -> 13816 bytes linux-0.11-lab - 副本/3/linux/mm/mm.o | Bin 0 -> 13936 bytes linux-0.11-lab - 副本/3/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab - 副本/3/linux/mm/page.s | 40 + linux-0.11-lab - 副本/3/linux/new.patch | 11 + linux-0.11-lab - 副本/3/linux/tools/build | Bin 0 -> 15144 bytes linux-0.11-lab - 副本/3/linux/tools/build.c | 171 +++ linux-0.11-lab - 副本/3/linux/tools/system | Bin 0 -> 295975 bytes linux-0.11-lab - 副本/b/011/.DS_Store | Bin 0 -> 6148 bytes .../b/011/.vscode/c_cpp_properties.json | 18 + .../b/011/.vscode/settings.json | 5 + linux-0.11-lab - 副本/b/011/Makefile | 27 + linux-0.11-lab - 副本/b/011/README | 19 + linux-0.11-lab - 副本/b/011/clone.c | 66 + linux-0.11-lab - 副本/b/011/echo.c | 12 + linux-0.11-lab - 副本/b/011/execve.c | 21 + linux-0.11-lab - 副本/b/011/execve2.c | 24 + linux-0.11-lab - 副本/b/011/getcwd.c | 39 + linux-0.11-lab - 副本/b/011/getdents.c | 43 + .../b/011/include/.DS_Store | Bin 0 -> 6148 bytes .../b/011/include/assert.h | 34 + linux-0.11-lab - 副本/b/011/include/fcntl.h | 56 + .../b/011/include/signal.h | 69 ++ .../b/011/include/stdarg.h | 28 + linux-0.11-lab - 副本/b/011/include/stdio.h | 256 ++++ .../b/011/include/stdlib.h | 43 + .../b/011/include/string.h | 405 ++++++ .../b/011/include/sys/stat.h | 58 + .../b/011/include/sys/times.h | 15 + .../b/011/include/sys/types.h | 46 + .../b/011/include/sys/utsname.h | 16 + .../b/011/include/unistd.h | 278 +++++ linux-0.11-lab - 副本/b/011/include/utime.h | 13 + linux-0.11-lab - 副本/b/011/mmap.c | 62 + linux-0.11-lab - 副本/b/011/munmap.c | 70 ++ linux-0.11-lab - 副本/b/011/new.h | 30 + .../b/011/oscomp_syscalls.html | 414 +++++++ .../b/011/oscomp_syscalls.md | 111 ++ linux-0.11-lab - 副本/b/011/pipe.c | 44 + linux-0.11-lab - 副本/b/011/sleep.c | 36 + linux-0.11-lab - 副本/b/execve2.patch | 41 + linux-0.11-lab - 副本/b/test-011.tgz | Bin 0 -> 15560 bytes linux-0.11-lab - 副本/bochsout.txt | 322 +++++ .../conf/0.11-gdbstub.bxrc | 33 + linux-0.11-lab - 副本/conf/0.11.bxrc | 31 + linux-0.11-lab - 副本/cur/README | 6 + .../cur/Source-Insight/Linux-0.11.IAB | Bin 0 -> 102400 bytes .../cur/Source-Insight/Linux-0.11.IAD | Bin 0 -> 1328 bytes .../cur/Source-Insight/Linux-0.11.IMB | Bin 0 -> 81920 bytes .../cur/Source-Insight/Linux-0.11.IMD | Bin 0 -> 1128 bytes .../cur/Source-Insight/Linux-0.11.PFI | Bin 0 -> 412 bytes .../cur/Source-Insight/Linux-0.11.PO | Bin 0 -> 776 bytes .../cur/Source-Insight/Linux-0.11.PR | Bin 0 -> 32648 bytes .../cur/Source-Insight/Linux-0.11.PRI | Bin 0 -> 208984 bytes .../cur/Source-Insight/Linux-0.11.PS | Bin 0 -> 623496 bytes .../Source-Insight/Linux-0.11.SearchResults | 2 + .../cur/Source-Insight/Linux-0.11.WK3 | Bin 0 -> 8851 bytes .../cur/linux/.vscode/settings.json | 5 + linux-0.11-lab - 副本/cur/linux/Image | Bin 0 -> 136580 bytes linux-0.11-lab - 副本/cur/linux/Image.bkp | Bin 0 -> 131556 bytes linux-0.11-lab - 副本/cur/linux/Makefile | 125 ++ linux-0.11-lab - 副本/cur/linux/System.map | 587 +++++++++ .../cur/linux/System.map.2 | 1085 +++++++++++++++++ .../cur/linux/boot/bootsect | Bin 0 -> 544 bytes .../cur/linux/boot/bootsect.o | Bin 0 -> 923 bytes .../cur/linux/boot/bootsect.s | 260 ++++ linux-0.11-lab - 副本/cur/linux/boot/head.o | Bin 0 -> 27012 bytes linux-0.11-lab - 副本/cur/linux/boot/head.s | 240 ++++ linux-0.11-lab - 副本/cur/linux/boot/setup | Bin 0 -> 344 bytes .../cur/linux/boot/setup.o | Bin 0 -> 596 bytes .../cur/linux/boot/setup.s | 231 ++++ .../cur/linux/execve2.patch | 41 + linux-0.11-lab - 副本/cur/linux/fs/Makefile | 101 ++ linux-0.11-lab - 副本/cur/linux/fs/bitmap.c | 168 +++ linux-0.11-lab - 副本/cur/linux/fs/bitmap.o | Bin 0 -> 10280 bytes .../cur/linux/fs/block_dev.c | 73 ++ .../cur/linux/fs/block_dev.o | Bin 0 -> 7296 bytes linux-0.11-lab - 副本/cur/linux/fs/buffer.c | 384 ++++++ linux-0.11-lab - 副本/cur/linux/fs/buffer.o | Bin 0 -> 13348 bytes .../cur/linux/fs/char_dev.c | 104 ++ .../cur/linux/fs/char_dev.o | Bin 0 -> 8288 bytes linux-0.11-lab - 副本/cur/linux/fs/exec.c | 695 +++++++++++ linux-0.11-lab - 副本/cur/linux/fs/exec.o | Bin 0 -> 23260 bytes linux-0.11-lab - 副本/cur/linux/fs/fcntl.c | 75 ++ linux-0.11-lab - 副本/cur/linux/fs/fcntl.o | Bin 0 -> 6748 bytes .../cur/linux/fs/file_dev.c | 90 ++ .../cur/linux/fs/file_dev.o | Bin 0 -> 7828 bytes .../cur/linux/fs/file_table.c | 9 + .../cur/linux/fs/file_table.o | Bin 0 -> 2644 bytes linux-0.11-lab - 副本/cur/linux/fs/fs.o | Bin 0 -> 151449 bytes linux-0.11-lab - 副本/cur/linux/fs/inode.c | 340 ++++++ linux-0.11-lab - 副本/cur/linux/fs/inode.o | Bin 0 -> 14072 bytes linux-0.11-lab - 副本/cur/linux/fs/ioctl.c | 46 + linux-0.11-lab - 副本/cur/linux/fs/ioctl.o | Bin 0 -> 5828 bytes linux-0.11-lab - 副本/cur/linux/fs/namei.c | 783 ++++++++++++ linux-0.11-lab - 副本/cur/linux/fs/namei.o | Bin 0 -> 20756 bytes linux-0.11-lab - 副本/cur/linux/fs/open.c | 208 ++++ linux-0.11-lab - 副本/cur/linux/fs/open.o | Bin 0 -> 11184 bytes linux-0.11-lab - 副本/cur/linux/fs/pipe.c | 128 ++ linux-0.11-lab - 副本/cur/linux/fs/pipe.o | Bin 0 -> 8300 bytes .../cur/linux/fs/read_write.c | 103 ++ .../cur/linux/fs/read_write.o | Bin 0 -> 7520 bytes linux-0.11-lab - 副本/cur/linux/fs/select.c | 10 + linux-0.11-lab - 副本/cur/linux/fs/select.o | Bin 0 -> 1776 bytes linux-0.11-lab - 副本/cur/linux/fs/stat.c | 66 + linux-0.11-lab - 副本/cur/linux/fs/stat.o | Bin 0 -> 7212 bytes linux-0.11-lab - 副本/cur/linux/fs/super.c | 282 +++++ linux-0.11-lab - 副本/cur/linux/fs/super.o | Bin 0 -> 12284 bytes .../cur/linux/fs/truncate.c | 65 + .../cur/linux/fs/truncate.o | Bin 0 -> 6848 bytes .../cur/linux/include/a.out.h | 220 ++++ .../cur/linux/include/asm/io.h | 24 + .../cur/linux/include/asm/memory.h | 15 + .../cur/linux/include/asm/segment.h | 65 + .../cur/linux/include/asm/system.h | 66 + .../cur/linux/include/const.h | 15 + .../cur/linux/include/ctype.h | 34 + .../cur/linux/include/errno.h | 60 + .../cur/linux/include/fcntl.h | 55 + .../cur/linux/include/linux/config.h | 48 + .../cur/linux/include/linux/fdreg.h | 71 ++ .../cur/linux/include/linux/fs.h | 202 +++ .../cur/linux/include/linux/hdreg.h | 65 + .../cur/linux/include/linux/head.h | 20 + .../cur/linux/include/linux/kernel.h | 22 + .../cur/linux/include/linux/mm.h | 10 + .../cur/linux/include/linux/sched.h | 239 ++++ .../cur/linux/include/linux/sys.h | 123 ++ .../cur/linux/include/linux/tty.h | 77 ++ .../cur/linux/include/signal.h | 68 ++ .../cur/linux/include/stdarg.h | 28 + .../cur/linux/include/stddef.h | 19 + .../cur/linux/include/string.h | 405 ++++++ .../cur/linux/include/sys/stat.h | 60 + .../cur/linux/include/sys/times.h | 15 + .../cur/linux/include/sys/types.h | 46 + .../cur/linux/include/sys/utsname.h | 16 + .../cur/linux/include/sys/wait.h | 23 + .../cur/linux/include/termios.h | 228 ++++ .../cur/linux/include/time.h | 42 + .../cur/linux/include/unistd.h | 287 +++++ .../cur/linux/include/utime.h | 13 + linux-0.11-lab - 副本/cur/linux/init/main.c | 216 ++++ linux-0.11-lab - 副本/cur/linux/init/main.o | Bin 0 -> 12208 bytes .../cur/linux/kernel/Makefile | 83 ++ .../cur/linux/kernel/asm.o | Bin 0 -> 1740 bytes .../cur/linux/kernel/asm.s | 146 +++ .../cur/linux/kernel/blk_drv/Makefile | 58 + .../cur/linux/kernel/blk_drv/blk.h | 140 +++ .../cur/linux/kernel/blk_drv/blk_drv.a | Bin 0 -> 52212 bytes .../cur/linux/kernel/blk_drv/floppy.c | 463 +++++++ .../cur/linux/kernel/blk_drv/floppy.o | Bin 0 -> 16612 bytes .../cur/linux/kernel/blk_drv/hd.c | 351 ++++++ .../cur/linux/kernel/blk_drv/hd.o | Bin 0 -> 15520 bytes .../cur/linux/kernel/blk_drv/ll_rw_blk.c | 165 +++ .../cur/linux/kernel/blk_drv/ll_rw_blk.o | Bin 0 -> 8740 bytes .../cur/linux/kernel/blk_drv/ramdisk.c | 126 ++ .../cur/linux/kernel/blk_drv/ramdisk.o | Bin 0 -> 10664 bytes .../cur/linux/kernel/chr_drv/Makefile | 68 ++ .../cur/linux/kernel/chr_drv/chr_drv.a | Bin 0 -> 68902 bytes .../cur/linux/kernel/chr_drv/console.c | 710 +++++++++++ .../cur/linux/kernel/chr_drv/console.o | Bin 0 -> 20896 bytes .../cur/linux/kernel/chr_drv/keyboard.2.o | Bin 0 -> 6024 bytes .../cur/linux/kernel/chr_drv/keyboard.2.s | 466 +++++++ .../cur/linux/kernel/chr_drv/keyboard.S | 588 +++++++++ .../cur/linux/kernel/chr_drv/rs_io.o | Bin 0 -> 1320 bytes .../cur/linux/kernel/chr_drv/rs_io.s | 147 +++ .../cur/linux/kernel/chr_drv/serial.c | 59 + .../cur/linux/kernel/chr_drv/serial.o | Bin 0 -> 6752 bytes .../cur/linux/kernel/chr_drv/tty_io.c | 349 ++++++ .../cur/linux/kernel/chr_drv/tty_io.o | Bin 0 -> 22504 bytes .../cur/linux/kernel/chr_drv/tty_ioctl.c | 204 ++++ .../cur/linux/kernel/chr_drv/tty_ioctl.o | Bin 0 -> 10648 bytes .../cur/linux/kernel/exit.c | 197 +++ .../cur/linux/kernel/exit.o | Bin 0 -> 11164 bytes .../cur/linux/kernel/fork.c | 148 +++ .../cur/linux/kernel/fork.o | Bin 0 -> 9640 bytes .../cur/linux/kernel/kernel.o | Bin 0 -> 84488 bytes .../cur/linux/kernel/math/Makefile | 43 + .../cur/linux/kernel/math/math.a | Bin 0 -> 6628 bytes .../cur/linux/kernel/math/math_emulate.c | 42 + .../cur/linux/kernel/math/math_emulate.o | Bin 0 -> 6464 bytes .../cur/linux/kernel/mktime.c | 58 + .../cur/linux/kernel/mktime.o | Bin 0 -> 2872 bytes .../cur/linux/kernel/panic.c | 24 + .../cur/linux/kernel/panic.o | Bin 0 -> 5424 bytes .../cur/linux/kernel/printk.c | 41 + .../cur/linux/kernel/printk.o | Bin 0 -> 2424 bytes .../cur/linux/kernel/sched.c | 412 +++++++ .../cur/linux/kernel/sched.o | Bin 0 -> 23040 bytes .../cur/linux/kernel/signal.c | 129 ++ .../cur/linux/kernel/signal.o | Bin 0 -> 8960 bytes .../cur/linux/kernel/sys.c | 324 +++++ .../cur/linux/kernel/sys.o | Bin 0 -> 13084 bytes .../cur/linux/kernel/system_call.o | Bin 0 -> 2640 bytes .../cur/linux/kernel/system_call.s | 299 +++++ .../cur/linux/kernel/system_call.s.orig | 294 +++++ .../cur/linux/kernel/traps.c | 208 ++++ .../cur/linux/kernel/traps.o | Bin 0 -> 12972 bytes .../cur/linux/kernel/vsprintf.c | 233 ++++ .../cur/linux/kernel/vsprintf.o | Bin 0 -> 6156 bytes .../cur/linux/lib/Makefile | 73 ++ linux-0.11-lab - 副本/cur/linux/lib/_exit.c | 13 + linux-0.11-lab - 副本/cur/linux/lib/_exit.o | Bin 0 -> 1988 bytes linux-0.11-lab - 副本/cur/linux/lib/close.c | 10 + linux-0.11-lab - 副本/cur/linux/lib/close.o | Bin 0 -> 2220 bytes linux-0.11-lab - 副本/cur/linux/lib/ctype.c | 35 + linux-0.11-lab - 副本/cur/linux/lib/ctype.o | Bin 0 -> 1908 bytes linux-0.11-lab - 副本/cur/linux/lib/dup.c | 10 + linux-0.11-lab - 副本/cur/linux/lib/dup.o | Bin 0 -> 2196 bytes linux-0.11-lab - 副本/cur/linux/lib/errno.c | 7 + linux-0.11-lab - 副本/cur/linux/lib/errno.o | Bin 0 -> 1472 bytes .../cur/linux/lib/execve.c | 10 + .../cur/linux/lib/execve.o | Bin 0 -> 2336 bytes linux-0.11-lab - 副本/cur/linux/lib/lib.a | Bin 0 -> 34138 bytes .../cur/linux/lib/malloc.c | 232 ++++ .../cur/linux/lib/malloc.o | Bin 0 -> 4880 bytes linux-0.11-lab - 副本/cur/linux/lib/open.c | 25 + linux-0.11-lab - 副本/cur/linux/lib/open.o | Bin 0 -> 2364 bytes .../cur/linux/lib/setsid.c | 10 + .../cur/linux/lib/setsid.o | Bin 0 -> 2240 bytes .../cur/linux/lib/string.c | 14 + .../cur/linux/lib/string.o | Bin 0 -> 6380 bytes linux-0.11-lab - 副本/cur/linux/lib/wait.c | 16 + linux-0.11-lab - 副本/cur/linux/lib/wait.o | Bin 0 -> 2580 bytes linux-0.11-lab - 副本/cur/linux/lib/write.c | 10 + linux-0.11-lab - 副本/cur/linux/lib/write.o | Bin 0 -> 2372 bytes linux-0.11-lab - 副本/cur/linux/mm/Makefile | 38 + linux-0.11-lab - 副本/cur/linux/mm/memory.c | 468 +++++++ linux-0.11-lab - 副本/cur/linux/mm/memory.o | Bin 0 -> 13816 bytes linux-0.11-lab - 副本/cur/linux/mm/mm.o | Bin 0 -> 13936 bytes linux-0.11-lab - 副本/cur/linux/mm/page.o | Bin 0 -> 640 bytes linux-0.11-lab - 副本/cur/linux/mm/page.s | 40 + linux-0.11-lab - 副本/cur/linux/new.patch | 11 + linux-0.11-lab - 副本/cur/linux/tools/build | Bin 0 -> 15144 bytes .../cur/linux/tools/build.c | 171 +++ .../cur/linux/tools/system | Bin 0 -> 295975 bytes linux-0.11-lab - 副本/images/rootimage-0.11 | Bin 0 -> 10485760 bytes .../images/rootimage-0.11.1 | Bin 0 -> 10485760 bytes .../images/rootimage-0.11.lock | 0 linux-0.11-lab - 副本/linux-0.11-lab.zip | Bin 0 -> 2916982 bytes linux-0.11-lab - 副本/mygdb | 3 + linux-0.11-lab - 副本/run | 3 + linux-0.11-lab - 副本/rundbg | 2 + linux-0.11-lab - 副本/rungdb | 3 + linux-0.11-lab - 副本/runtest | 3 + linux-0.11-lab - 副本/test-ubuntu.tgz | Bin 0 -> 2268 bytes linux-0.11-lab - 副本/ubuntu/Makefile | 16 + linux-0.11-lab - 副本/ubuntu/clone | Bin 0 -> 7692 bytes linux-0.11-lab - 副本/ubuntu/clone.c | 48 + linux-0.11-lab - 副本/ubuntu/execve | Bin 0 -> 7399 bytes linux-0.11-lab - 副本/ubuntu/execve.c | 21 + linux-0.11-lab - 副本/ubuntu/getcwd | Bin 0 -> 7485 bytes linux-0.11-lab - 副本/ubuntu/getcwd.c | 27 + linux-0.11-lab - 副本/ubuntu/getdents | Bin 0 -> 7685 bytes linux-0.11-lab - 副本/ubuntu/getdents.c | 50 + linux-0.11-lab - 副本/ubuntu/mmap | Bin 0 -> 7723 bytes linux-0.11-lab - 副本/ubuntu/mmap.c | 42 + linux-0.11-lab - 副本/ubuntu/munmap | Bin 0 -> 7725 bytes linux-0.11-lab - 副本/ubuntu/munmap.c | 50 + linux-0.11-lab - 副本/ubuntu/pipe | Bin 0 -> 7805 bytes linux-0.11-lab - 副本/ubuntu/pipe.c | 39 + linux-0.11-lab - 副本/ubuntu/sleep | Bin 0 -> 7556 bytes linux-0.11-lab - 副本/ubuntu/sleep.c | 32 + 1013 files changed, 85482 insertions(+) create mode 100644 linux-0.11-lab - 副本/0.gdb create mode 100644 linux-0.11-lab - 副本/0/README create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab - 副本/0/linux/Image create mode 100644 linux-0.11-lab - 副本/0/linux/Image.bkp create mode 100644 linux-0.11-lab - 副本/0/linux/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/System.map create mode 100644 linux-0.11-lab - 副本/0/linux/System.map.2 create mode 100644 linux-0.11-lab - 副本/0/linux/boot/bootsect create mode 100644 linux-0.11-lab - 副本/0/linux/boot/bootsect.o create mode 100644 linux-0.11-lab - 副本/0/linux/boot/bootsect.s create mode 100644 linux-0.11-lab - 副本/0/linux/boot/head.o create mode 100644 linux-0.11-lab - 副本/0/linux/boot/head.s create mode 100644 linux-0.11-lab - 副本/0/linux/boot/setup create mode 100644 linux-0.11-lab - 副本/0/linux/boot/setup.o create mode 100644 linux-0.11-lab - 副本/0/linux/boot/setup.s create mode 100644 linux-0.11-lab - 副本/0/linux/fs/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/fs/bitmap.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/bitmap.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/block_dev.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/block_dev.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/buffer.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/buffer.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/char_dev.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/char_dev.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/exec.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/exec.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/fcntl.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/fcntl.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/file_dev.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/file_dev.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/file_table.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/file_table.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/fs.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/inode.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/inode.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/ioctl.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/ioctl.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/namei.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/namei.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/open.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/open.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/pipe.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/pipe.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/read_write.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/read_write.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/select.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/select.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/stat.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/stat.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/super.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/super.o create mode 100644 linux-0.11-lab - 副本/0/linux/fs/truncate.c create mode 100644 linux-0.11-lab - 副本/0/linux/fs/truncate.o create mode 100644 linux-0.11-lab - 副本/0/linux/include/a.out.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/asm/io.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/asm/memory.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/asm/segment.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/asm/system.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/const.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/ctype.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/errno.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/fcntl.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/config.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/fs.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/head.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/mm.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/sched.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/sys.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/linux/tty.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/signal.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/stdarg.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/stddef.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/string.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/sys/stat.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/sys/times.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/sys/types.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/sys/wait.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/termios.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/time.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/unistd.h create mode 100644 linux-0.11-lab - 副本/0/linux/include/utime.h create mode 100644 linux-0.11-lab - 副本/0/linux/init/main.c create mode 100644 linux-0.11-lab - 副本/0/linux/init/main.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/asm.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/asm.s create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/exit.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/exit.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/fork.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/fork.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/kernel.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/math/math.a create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/mktime.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/mktime.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/panic.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/panic.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/printk.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/printk.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/sched.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/sched.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/signal.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/signal.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/sys.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/sys.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/system_call.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/system_call.s create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/traps.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/traps.o create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab - 副本/0/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/lib/_exit.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/_exit.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/close.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/close.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/ctype.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/ctype.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/dup.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/dup.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/errno.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/errno.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/execve.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/execve.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/lib.a create mode 100644 linux-0.11-lab - 副本/0/linux/lib/malloc.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/malloc.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/open.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/open.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/setsid.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/setsid.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/string.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/string.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/wait.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/wait.o create mode 100644 linux-0.11-lab - 副本/0/linux/lib/write.c create mode 100644 linux-0.11-lab - 副本/0/linux/lib/write.o create mode 100644 linux-0.11-lab - 副本/0/linux/mm/Makefile create mode 100644 linux-0.11-lab - 副本/0/linux/mm/memory.c create mode 100644 linux-0.11-lab - 副本/0/linux/mm/memory.o create mode 100644 linux-0.11-lab - 副本/0/linux/mm/mm.o create mode 100644 linux-0.11-lab - 副本/0/linux/mm/page.o create mode 100644 linux-0.11-lab - 副本/0/linux/mm/page.s create mode 100644 linux-0.11-lab - 副本/0/linux/tools/build create mode 100644 linux-0.11-lab - 副本/0/linux/tools/build.c create mode 100644 linux-0.11-lab - 副本/0/linux/tools/system create mode 100644 linux-0.11-lab - 副本/1/README create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab - 副本/1/linux/Image create mode 100644 linux-0.11-lab - 副本/1/linux/Image.bkp create mode 100644 linux-0.11-lab - 副本/1/linux/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/System.map create mode 100644 linux-0.11-lab - 副本/1/linux/System.map.2 create mode 100644 linux-0.11-lab - 副本/1/linux/boot/bootsect create mode 100644 linux-0.11-lab - 副本/1/linux/boot/bootsect.o create mode 100644 linux-0.11-lab - 副本/1/linux/boot/bootsect.s create mode 100644 linux-0.11-lab - 副本/1/linux/boot/head.o create mode 100644 linux-0.11-lab - 副本/1/linux/boot/head.s create mode 100644 linux-0.11-lab - 副本/1/linux/boot/setup create mode 100644 linux-0.11-lab - 副本/1/linux/boot/setup.o create mode 100644 linux-0.11-lab - 副本/1/linux/boot/setup.s create mode 100644 linux-0.11-lab - 副本/1/linux/fs/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/fs/bitmap.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/bitmap.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/block_dev.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/block_dev.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/buffer.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/buffer.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/char_dev.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/char_dev.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/exec.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/exec.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/fcntl.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/fcntl.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/file_dev.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/file_dev.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/file_table.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/file_table.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/fs.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/inode.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/inode.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/ioctl.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/ioctl.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/namei.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/namei.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/open.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/open.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/pipe.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/pipe.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/read_write.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/read_write.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/select.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/select.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/stat.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/stat.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/super.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/super.o create mode 100644 linux-0.11-lab - 副本/1/linux/fs/truncate.c create mode 100644 linux-0.11-lab - 副本/1/linux/fs/truncate.o create mode 100644 linux-0.11-lab - 副本/1/linux/include/a.out.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/asm/io.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/asm/memory.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/asm/segment.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/asm/system.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/const.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/ctype.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/errno.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/fcntl.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/config.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/fs.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/head.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/mm.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/sched.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/sys.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/linux/tty.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/signal.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/stdarg.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/stddef.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/string.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/sys/stat.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/sys/times.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/sys/types.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/sys/wait.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/termios.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/time.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/unistd.h create mode 100644 linux-0.11-lab - 副本/1/linux/include/utime.h create mode 100644 linux-0.11-lab - 副本/1/linux/init/main.c create mode 100644 linux-0.11-lab - 副本/1/linux/init/main.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/asm.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/asm.s create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/exit.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/exit.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/fork.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/fork.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/kernel.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/math/math.a create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/mktime.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/mktime.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/panic.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/panic.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/printk.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/printk.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/sched.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/sched.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/signal.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/signal.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/sys.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/sys.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/system_call.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/system_call.s create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/traps.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/traps.o create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab - 副本/1/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/lib/_exit.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/_exit.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/close.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/close.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/ctype.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/ctype.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/dup.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/dup.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/errno.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/errno.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/execve.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/execve.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/lib.a create mode 100644 linux-0.11-lab - 副本/1/linux/lib/malloc.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/malloc.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/open.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/open.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/setsid.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/setsid.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/string.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/string.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/wait.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/wait.o create mode 100644 linux-0.11-lab - 副本/1/linux/lib/write.c create mode 100644 linux-0.11-lab - 副本/1/linux/lib/write.o create mode 100644 linux-0.11-lab - 副本/1/linux/mm/Makefile create mode 100644 linux-0.11-lab - 副本/1/linux/mm/memory.c create mode 100644 linux-0.11-lab - 副本/1/linux/mm/memory.o create mode 100644 linux-0.11-lab - 副本/1/linux/mm/mm.o create mode 100644 linux-0.11-lab - 副本/1/linux/mm/page.o create mode 100644 linux-0.11-lab - 副本/1/linux/mm/page.s create mode 100644 linux-0.11-lab - 副本/1/linux/tools/build create mode 100644 linux-0.11-lab - 副本/1/linux/tools/build.c create mode 100644 linux-0.11-lab - 副本/1/linux/tools/system create mode 100644 linux-0.11-lab - 副本/2/README create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab - 副本/2/linux/Image create mode 100644 linux-0.11-lab - 副本/2/linux/Image.bkp create mode 100644 linux-0.11-lab - 副本/2/linux/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/System.map create mode 100644 linux-0.11-lab - 副本/2/linux/System.map.2 create mode 100644 linux-0.11-lab - 副本/2/linux/boot/bootsect create mode 100644 linux-0.11-lab - 副本/2/linux/boot/bootsect.o create mode 100644 linux-0.11-lab - 副本/2/linux/boot/bootsect.s create mode 100644 linux-0.11-lab - 副本/2/linux/boot/head.o create mode 100644 linux-0.11-lab - 副本/2/linux/boot/head.s create mode 100644 linux-0.11-lab - 副本/2/linux/boot/setup create mode 100644 linux-0.11-lab - 副本/2/linux/boot/setup.o create mode 100644 linux-0.11-lab - 副本/2/linux/boot/setup.s create mode 100644 linux-0.11-lab - 副本/2/linux/fs/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/fs/bitmap.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/bitmap.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/block_dev.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/block_dev.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/buffer.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/buffer.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/char_dev.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/char_dev.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/exec.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/exec.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/fcntl.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/fcntl.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/file_dev.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/file_dev.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/file_table.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/file_table.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/fs.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/inode.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/inode.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/ioctl.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/ioctl.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/namei.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/namei.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/open.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/open.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/pipe.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/pipe.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/read_write.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/read_write.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/select.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/select.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/stat.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/stat.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/super.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/super.o create mode 100644 linux-0.11-lab - 副本/2/linux/fs/truncate.c create mode 100644 linux-0.11-lab - 副本/2/linux/fs/truncate.o create mode 100644 linux-0.11-lab - 副本/2/linux/include/a.out.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/asm/io.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/asm/memory.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/asm/segment.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/asm/system.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/const.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/ctype.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/errno.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/fcntl.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/config.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/fs.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/head.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/mm.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/sched.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/sys.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/linux/tty.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/signal.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/stdarg.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/stddef.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/string.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/sys/stat.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/sys/times.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/sys/types.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/sys/wait.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/termios.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/time.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/unistd.h create mode 100644 linux-0.11-lab - 副本/2/linux/include/utime.h create mode 100644 linux-0.11-lab - 副本/2/linux/init/main.c create mode 100644 linux-0.11-lab - 副本/2/linux/init/main.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/asm.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/asm.s create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/exit.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/exit.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/fork.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/fork.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/kernel.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/math/math.a create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/mktime.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/mktime.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/panic.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/panic.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/printk.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/printk.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/sched.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/sched.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/signal.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/signal.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/sys.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/sys.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/system_call.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/system_call.s create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/traps.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/traps.o create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab - 副本/2/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/lib/_exit.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/_exit.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/close.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/close.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/ctype.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/ctype.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/dup.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/dup.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/errno.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/errno.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/execve.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/execve.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/lib.a create mode 100644 linux-0.11-lab - 副本/2/linux/lib/malloc.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/malloc.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/open.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/open.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/setsid.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/setsid.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/string.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/string.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/wait.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/wait.o create mode 100644 linux-0.11-lab - 副本/2/linux/lib/write.c create mode 100644 linux-0.11-lab - 副本/2/linux/lib/write.o create mode 100644 linux-0.11-lab - 副本/2/linux/mm/Makefile create mode 100644 linux-0.11-lab - 副本/2/linux/mm/memory.c create mode 100644 linux-0.11-lab - 副本/2/linux/mm/memory.o create mode 100644 linux-0.11-lab - 副本/2/linux/mm/mm.o create mode 100644 linux-0.11-lab - 副本/2/linux/mm/page.o create mode 100644 linux-0.11-lab - 副本/2/linux/mm/page.s create mode 100644 linux-0.11-lab - 副本/2/linux/tools/build create mode 100644 linux-0.11-lab - 副本/2/linux/tools/build.c create mode 100644 linux-0.11-lab - 副本/2/linux/tools/system create mode 100644 linux-0.11-lab - 副本/3/README create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab - 副本/3/linux/.vscode/settings.json create mode 100644 linux-0.11-lab - 副本/3/linux/Image create mode 100644 linux-0.11-lab - 副本/3/linux/Image.bkp create mode 100644 linux-0.11-lab - 副本/3/linux/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/System.map create mode 100644 linux-0.11-lab - 副本/3/linux/System.map.2 create mode 100644 linux-0.11-lab - 副本/3/linux/boot/bootsect create mode 100644 linux-0.11-lab - 副本/3/linux/boot/bootsect.o create mode 100644 linux-0.11-lab - 副本/3/linux/boot/bootsect.s create mode 100644 linux-0.11-lab - 副本/3/linux/boot/head.o create mode 100644 linux-0.11-lab - 副本/3/linux/boot/head.s create mode 100644 linux-0.11-lab - 副本/3/linux/boot/setup create mode 100644 linux-0.11-lab - 副本/3/linux/boot/setup.o create mode 100644 linux-0.11-lab - 副本/3/linux/boot/setup.s create mode 100644 linux-0.11-lab - 副本/3/linux/execve2.patch create mode 100644 linux-0.11-lab - 副本/3/linux/fs/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/fs/bitmap.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/bitmap.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/block_dev.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/block_dev.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/buffer.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/buffer.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/char_dev.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/char_dev.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/exec.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/exec.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/fcntl.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/fcntl.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/file_dev.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/file_dev.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/file_table.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/file_table.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/fs.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/inode.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/inode.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/ioctl.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/ioctl.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/namei.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/namei.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/open.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/open.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/pipe.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/pipe.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/read_write.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/read_write.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/select.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/select.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/stat.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/stat.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/super.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/super.o create mode 100644 linux-0.11-lab - 副本/3/linux/fs/truncate.c create mode 100644 linux-0.11-lab - 副本/3/linux/fs/truncate.o create mode 100644 linux-0.11-lab - 副本/3/linux/include/a.out.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/asm/io.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/asm/memory.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/asm/segment.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/asm/system.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/const.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/ctype.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/errno.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/fcntl.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/config.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/fs.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/head.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/mm.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/sched.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/sys.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/linux/tty.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/signal.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/stdarg.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/stddef.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/string.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/sys/stat.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/sys/times.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/sys/types.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/sys/wait.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/termios.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/time.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/unistd.h create mode 100644 linux-0.11-lab - 副本/3/linux/include/utime.h create mode 100644 linux-0.11-lab - 副本/3/linux/init/main.c create mode 100644 linux-0.11-lab - 副本/3/linux/init/main.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/asm.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/asm.s create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/exit.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/exit.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/fork.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/fork.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/kernel.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/math/math.a create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/mktime.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/mktime.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/panic.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/panic.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/printk.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/printk.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/sched.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/sched.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/signal.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/signal.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/sys.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/sys.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/system_call.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/system_call.s create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/system_call.s.orig create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/traps.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/traps.o create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab - 副本/3/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/lib/_exit.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/_exit.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/close.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/close.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/ctype.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/ctype.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/dup.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/dup.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/errno.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/errno.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/execve.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/execve.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/lib.a create mode 100644 linux-0.11-lab - 副本/3/linux/lib/malloc.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/malloc.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/open.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/open.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/setsid.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/setsid.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/string.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/string.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/wait.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/wait.o create mode 100644 linux-0.11-lab - 副本/3/linux/lib/write.c create mode 100644 linux-0.11-lab - 副本/3/linux/lib/write.o create mode 100644 linux-0.11-lab - 副本/3/linux/mm/Makefile create mode 100644 linux-0.11-lab - 副本/3/linux/mm/memory.c create mode 100644 linux-0.11-lab - 副本/3/linux/mm/memory.o create mode 100644 linux-0.11-lab - 副本/3/linux/mm/mm.o create mode 100644 linux-0.11-lab - 副本/3/linux/mm/page.o create mode 100644 linux-0.11-lab - 副本/3/linux/mm/page.s create mode 100644 linux-0.11-lab - 副本/3/linux/new.patch create mode 100644 linux-0.11-lab - 副本/3/linux/tools/build create mode 100644 linux-0.11-lab - 副本/3/linux/tools/build.c create mode 100644 linux-0.11-lab - 副本/3/linux/tools/system create mode 100644 linux-0.11-lab - 副本/b/011/.DS_Store create mode 100644 linux-0.11-lab - 副本/b/011/.vscode/c_cpp_properties.json create mode 100644 linux-0.11-lab - 副本/b/011/.vscode/settings.json create mode 100644 linux-0.11-lab - 副本/b/011/Makefile create mode 100644 linux-0.11-lab - 副本/b/011/README create mode 100644 linux-0.11-lab - 副本/b/011/clone.c create mode 100644 linux-0.11-lab - 副本/b/011/echo.c create mode 100644 linux-0.11-lab - 副本/b/011/execve.c create mode 100644 linux-0.11-lab - 副本/b/011/execve2.c create mode 100644 linux-0.11-lab - 副本/b/011/getcwd.c create mode 100644 linux-0.11-lab - 副本/b/011/getdents.c create mode 100644 linux-0.11-lab - 副本/b/011/include/.DS_Store create mode 100644 linux-0.11-lab - 副本/b/011/include/assert.h create mode 100644 linux-0.11-lab - 副本/b/011/include/fcntl.h create mode 100644 linux-0.11-lab - 副本/b/011/include/signal.h create mode 100644 linux-0.11-lab - 副本/b/011/include/stdarg.h create mode 100644 linux-0.11-lab - 副本/b/011/include/stdio.h create mode 100644 linux-0.11-lab - 副本/b/011/include/stdlib.h create mode 100644 linux-0.11-lab - 副本/b/011/include/string.h create mode 100644 linux-0.11-lab - 副本/b/011/include/sys/stat.h create mode 100644 linux-0.11-lab - 副本/b/011/include/sys/times.h create mode 100644 linux-0.11-lab - 副本/b/011/include/sys/types.h create mode 100644 linux-0.11-lab - 副本/b/011/include/sys/utsname.h create mode 100644 linux-0.11-lab - 副本/b/011/include/unistd.h create mode 100644 linux-0.11-lab - 副本/b/011/include/utime.h create mode 100644 linux-0.11-lab - 副本/b/011/mmap.c create mode 100644 linux-0.11-lab - 副本/b/011/munmap.c create mode 100644 linux-0.11-lab - 副本/b/011/new.h create mode 100644 linux-0.11-lab - 副本/b/011/oscomp_syscalls.html create mode 100644 linux-0.11-lab - 副本/b/011/oscomp_syscalls.md create mode 100644 linux-0.11-lab - 副本/b/011/pipe.c create mode 100644 linux-0.11-lab - 副本/b/011/sleep.c create mode 100644 linux-0.11-lab - 副本/b/execve2.patch create mode 100644 linux-0.11-lab - 副本/b/test-011.tgz create mode 100644 linux-0.11-lab - 副本/bochsout.txt create mode 100644 linux-0.11-lab - 副本/conf/0.11-gdbstub.bxrc create mode 100644 linux-0.11-lab - 副本/conf/0.11.bxrc create mode 100644 linux-0.11-lab - 副本/cur/README create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.IAB create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.IAD create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.IMB create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.IMD create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PFI create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PO create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PR create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PRI create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PS create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.SearchResults create mode 100644 linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.WK3 create mode 100644 linux-0.11-lab - 副本/cur/linux/.vscode/settings.json create mode 100644 linux-0.11-lab - 副本/cur/linux/Image create mode 100644 linux-0.11-lab - 副本/cur/linux/Image.bkp create mode 100644 linux-0.11-lab - 副本/cur/linux/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/System.map create mode 100644 linux-0.11-lab - 副本/cur/linux/System.map.2 create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/bootsect create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/bootsect.o create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/bootsect.s create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/head.o create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/head.s create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/setup create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/setup.o create mode 100644 linux-0.11-lab - 副本/cur/linux/boot/setup.s create mode 100644 linux-0.11-lab - 副本/cur/linux/execve2.patch create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/bitmap.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/bitmap.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/block_dev.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/block_dev.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/buffer.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/buffer.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/char_dev.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/char_dev.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/exec.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/exec.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/fcntl.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/fcntl.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/file_dev.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/file_dev.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/file_table.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/file_table.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/fs.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/inode.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/inode.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/ioctl.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/ioctl.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/namei.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/namei.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/open.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/open.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/pipe.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/pipe.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/read_write.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/read_write.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/select.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/select.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/stat.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/stat.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/super.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/super.o create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/truncate.c create mode 100644 linux-0.11-lab - 副本/cur/linux/fs/truncate.o create mode 100644 linux-0.11-lab - 副本/cur/linux/include/a.out.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/asm/io.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/asm/memory.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/asm/segment.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/asm/system.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/const.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/ctype.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/errno.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/fcntl.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/config.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/fdreg.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/fs.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/hdreg.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/head.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/kernel.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/mm.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/sched.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/sys.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/linux/tty.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/signal.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/stdarg.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/stddef.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/string.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/sys/stat.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/sys/times.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/sys/types.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/sys/utsname.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/sys/wait.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/termios.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/time.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/unistd.h create mode 100644 linux-0.11-lab - 副本/cur/linux/include/utime.h create mode 100644 linux-0.11-lab - 副本/cur/linux/init/main.c create mode 100644 linux-0.11-lab - 副本/cur/linux/init/main.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/asm.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/asm.s create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk.h create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk_drv.a create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/floppy.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/floppy.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ll_rw_blk.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ll_rw_blk.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ramdisk.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ramdisk.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/chr_drv.a create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/keyboard.2.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/keyboard.2.s create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/keyboard.S create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/rs_io.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/rs_io.s create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/serial.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/serial.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_io.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_io.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/exit.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/exit.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/fork.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/fork.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/kernel.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/math/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/math/math.a create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/math/math_emulate.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/math/math_emulate.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/mktime.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/mktime.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/panic.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/panic.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/printk.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/printk.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/sched.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/sched.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/signal.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/signal.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/sys.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/sys.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/system_call.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/system_call.s create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/system_call.s.orig create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/traps.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/traps.o create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/vsprintf.c create mode 100644 linux-0.11-lab - 副本/cur/linux/kernel/vsprintf.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/_exit.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/_exit.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/close.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/close.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/ctype.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/ctype.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/dup.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/dup.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/errno.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/errno.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/execve.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/execve.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/lib.a create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/malloc.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/malloc.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/open.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/open.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/setsid.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/setsid.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/string.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/string.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/wait.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/wait.o create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/write.c create mode 100644 linux-0.11-lab - 副本/cur/linux/lib/write.o create mode 100644 linux-0.11-lab - 副本/cur/linux/mm/Makefile create mode 100644 linux-0.11-lab - 副本/cur/linux/mm/memory.c create mode 100644 linux-0.11-lab - 副本/cur/linux/mm/memory.o create mode 100644 linux-0.11-lab - 副本/cur/linux/mm/mm.o create mode 100644 linux-0.11-lab - 副本/cur/linux/mm/page.o create mode 100644 linux-0.11-lab - 副本/cur/linux/mm/page.s create mode 100644 linux-0.11-lab - 副本/cur/linux/new.patch create mode 100644 linux-0.11-lab - 副本/cur/linux/tools/build create mode 100644 linux-0.11-lab - 副本/cur/linux/tools/build.c create mode 100644 linux-0.11-lab - 副本/cur/linux/tools/system create mode 100644 linux-0.11-lab - 副本/images/rootimage-0.11 create mode 100644 linux-0.11-lab - 副本/images/rootimage-0.11.1 create mode 100644 linux-0.11-lab - 副本/images/rootimage-0.11.lock create mode 100644 linux-0.11-lab - 副本/linux-0.11-lab.zip create mode 100644 linux-0.11-lab - 副本/mygdb create mode 100644 linux-0.11-lab - 副本/run create mode 100644 linux-0.11-lab - 副本/rundbg create mode 100644 linux-0.11-lab - 副本/rungdb create mode 100644 linux-0.11-lab - 副本/runtest create mode 100644 linux-0.11-lab - 副本/test-ubuntu.tgz create mode 100644 linux-0.11-lab - 副本/ubuntu/Makefile create mode 100644 linux-0.11-lab - 副本/ubuntu/clone create mode 100644 linux-0.11-lab - 副本/ubuntu/clone.c create mode 100644 linux-0.11-lab - 副本/ubuntu/execve create mode 100644 linux-0.11-lab - 副本/ubuntu/execve.c create mode 100644 linux-0.11-lab - 副本/ubuntu/getcwd create mode 100644 linux-0.11-lab - 副本/ubuntu/getcwd.c create mode 100644 linux-0.11-lab - 副本/ubuntu/getdents create mode 100644 linux-0.11-lab - 副本/ubuntu/getdents.c create mode 100644 linux-0.11-lab - 副本/ubuntu/mmap create mode 100644 linux-0.11-lab - 副本/ubuntu/mmap.c create mode 100644 linux-0.11-lab - 副本/ubuntu/munmap create mode 100644 linux-0.11-lab - 副本/ubuntu/munmap.c create mode 100644 linux-0.11-lab - 副本/ubuntu/pipe create mode 100644 linux-0.11-lab - 副本/ubuntu/pipe.c create mode 100644 linux-0.11-lab - 副本/ubuntu/sleep create mode 100644 linux-0.11-lab - 副本/ubuntu/sleep.c diff --git a/linux-0.11-lab - 副本/0.gdb b/linux-0.11-lab - 副本/0.gdb new file mode 100644 index 0000000..6c2dbf1 --- /dev/null +++ b/linux-0.11-lab - 副本/0.gdb @@ -0,0 +1,5 @@ +target remote localhost:1234 +handle SIGSEGV nostop noprint ignore +b main +display current->pid +c diff --git a/linux-0.11-lab - 副本/0/README b/linux-0.11-lab - 副本/0/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab - 副本/0/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + diff --git a/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.IAB new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PO b/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PO new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 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 >LdwT?$NcJnp;7Il?Z10x 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 ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PS b/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.PS new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 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

gTMo^M<*{ia#Sx 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"s":""); diff --git a/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab - 副本/0/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/Image b/linux-0.11-lab - 副本/0/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/Image.bkp b/linux-0.11-lab - 副本/0/linux/Image.bkp new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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

6)D{%45iSNSq&64CS|7De&pK!a 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 GefK}=>%zGJ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/README b/linux-0.11-lab - 副本/1/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab - 副本/1/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + 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 new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 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 >LdwT?$NcJnp;7Il?Z10x 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 ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 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

gTMo^M<*{ia#Sx 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"s":""); diff --git a/linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab - 副本/1/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/Image b/linux-0.11-lab - 副本/1/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/Image.bkp b/linux-0.11-lab - 副本/1/linux/Image.bkp new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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

6)D{%45iSNSq&64CS|7De&pK!a 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 GefK}=>%zGJ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/README b/linux-0.11-lab - 副本/2/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab - 副本/2/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + diff --git a/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.IAB new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PO b/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PO new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 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 >LdwT?$NcJnp;7Il?Z10x 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 ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PS b/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.PS new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 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

gTMo^M<*{ia#Sx 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"s":""); diff --git a/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab - 副本/2/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/Image b/linux-0.11-lab - 副本/2/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/Image.bkp b/linux-0.11-lab - 副本/2/linux/Image.bkp new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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

6)D{%45iSNSq&64CS|7De&pK!a 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 GefK}=>%zGJ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/README b/linux-0.11-lab - 副本/3/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab - 副本/3/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + diff --git a/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.IAB new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PO b/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PO new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 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 >LdwT?$NcJnp;7Il?Z10x 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 ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PS b/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.PS new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 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

gTMo^M<*{ia#Sx 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"s":""); diff --git a/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab - 副本/3/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/.vscode/settings.json b/linux-0.11-lab - 副本/3/linux/.vscode/settings.json new file mode 100644 index 0000000..cc134d0 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "cstdlib": "c" + } +} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/3/linux/Image b/linux-0.11-lab - 副本/3/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..644282e9262977875cc72cb2e42a55301d71cb6f GIT binary patch literal 136580 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 au0^M`{!elKVR(5FYoI&JC-P`?`Tqd&z8wYt literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/Image.bkp b/linux-0.11-lab - 副本/3/linux/Image.bkp new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 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

DB5)yTqeob34-RwL8)S?H_|K+WmEY z%#7$5bO*tBA`=Xa3B}N9b12|-il}sUVsD?$aDRPZZqMg+d0rof7z@!}(Ua}l$Nf;> zhV$a(G2X4wd=hAq_<2w)61;5Ku$;cmUQ%I2aqSMy*Rk!VKf`%mlVDyXQFEqO&1#v^h;KZdl(^LIh-Mt!;z*tjb>^(*!Eq3+l%6!+2-Un5{ zj*<4$ec7JI-Qu!6n6GnUHYF<94;F2)+~iVxUr(jU?>$0VT@`!JB+|1!Dx9hQ^~H9cR;hhjwsvVa6qLdWA7RNwT|bTdOA%(`BC+CF z2J;}C8Tzp~mM)DYF#(o{c@NOGAhNeVf1k=H*V+%veE9y)d)gH1-hLhu87H5xF+49% z2feumCM25Slgv+BP4%o^oJv$Ak-sk5q?>KP9D|(>uyb@elybMtTEjLRLJ`$HX5(q0 zFs3y3KY<4y6)se-PtR~7(m##IP?9D1ILD3ZC^3VDxyL%^?U->j*Wi1W3nS&{BI8dZRPQ1>}-PmjTt&#Tq;pi*OMxfo#v`G<)Ls1rdACfYrRC{epBb% z9qW;5v7KMGGiJH7cnG*WInFC_W=*0f5~{Qgh(zVQ-&+;a1z&dVC)<=VB{BOp(oO8` zZyc$7FRa8gBL^Sp&JuTFMMIbXv+w$R6M?p)a4{bEUA0n0v(Kzwk!=@sk7}8S3e{^p z9dq52T7z6B7*(Mn9V(6*P8qt3tb6R6y&K~!RG>7RxXcTK)5C+;>xP42>zhv|Zjj>dg7sLQmc{JNEmq zoxwC;%@p6iIlfod$LfHZqW2miOANOM^zvhj-u~N$#Zs@M1FUP_59QChxL$0aez-Sb zb##w+XZi2cHn*4fjpP{Uo6;LOkGdtnJDs7 zuR;@eOM!Qmd?Vq#oIp9_PVz72_3V>5tFFdRvEn59DSX+b*D$EVe2alj94~eL^RcAu zxon@Ay;tsMWckzfUv>3X2i`T=&K|E-gSebJ-`u+XM(^}|FB348XkWJccgJzAcd6q6 zzt&)dFQDp|u1K@08$GmmeMenA2K#xwujH#wj(E6ufp5-0!&*BgbUg-LP}chnerzwH z1mH`1qc@?hXR*&AKRm5~-buaCflM%@Lu2p?8!M>R8uHZi5dK~!JGS8%#-{D1?`;t*pw1P3e0>~|<|NaGDUJ;(IoizolI?HjR`Bq~zIeMb;< zi7}N?yxhj2SUQ4_9)4_N$ktDU;DuDqOEq27mF2kKfOyGcS>o+spwuCFAwgE+~Q!HMT zFkRh#sIV}Fj~#qR?fq3pku-cnbYL5n%CMgiV+jGf@$;k3r%M3%LeFkTxF%W z?}az(EG&$TpX_*>7amu1^M}_xFJQ(YAclt@y=BAek9~&6IJnKf0P6$b_kZ4&ubp#1 ze|U=;228%f!|E~F@Nl}lZZEuTR~s{m9<=3)7lVwqyEOeRpo2E<^6v`KyROM2?S!W7k3Z!z*bL zFdw&d;o)~y+3@bbzIP6Txb8PtK@;`G+q`3Q;o$A_*q?uE%&iPan|Ev$v_IY@qZ z+;|-=@W=dO{ab`Tp5x_n_zhTBKM@Yvc#MBM$15`)nucWypW%)+FJ98CdptCs@#5qo zus;-kjJG-dm^OcSyUz|_Nd!1*^TO*29YBEin9!EBY0 zxc>eiuYaW6X&#LJTcA%0v<#S|#C);6*cGfd&6qQ&Q9c)o?8|t5Oso*O(ktDkiN6%* zi@z3^lDMw5V7)Jmd4n3^a|tf;3%a8m*?6gsAW<*RlpZBLLHc%ahWN1fjJQVpz4(Fn zu~;7sH826~RXjvIOgvINR%}b6toun15HA!j5ib*miz7*#ccb(S678y86Y$TtPm0!- z_y_14rAx$evf7wml4zSRg7x0Pl6}-Gj9Et_zqX1WkO==U^f~p`VNGL@=LN;FbVn!h zKh((I$EhDcxa7-Ne~mmiVBRI)!zz;GB!q{XL;#)sG2|=8Ttv1Cn9InO2oLeH{LZ8Q zFwCElS0P*;M}1ravR}jM8&+c#8>`z&pCo-2HLhp4+(*hiEj>mm*j)8hT&^Ws*qT5Qn*=YN9sLgIRRk_hi|v4liDD;HBF?&-Hl-znZh zPBrEc>Bq&zBvuMrEB%JJo@^d4+ogAkyT~cH2et$eZ)5Rba=J12IjeO)N$gDCX3V+L z1I3HT&v8GHj*8cke?WVZo-9rwcN#NK+8W$L{MMY_449IT`)cu3avs`^^!wrta=S6# zNpmSQUPl8mg|&;Mj~DSM7kv z`hD^nV`$T@-lteWpf$J=i*|zSzs@5Oew4feKM#`5I}#fG*41r5)cX(#f46}3UdMQa z8s{&d9*g^mj^`ca{2d{3(Q=;GM;s(($O$MPah~{$_?oy?JnCrYznfSf4j1F%P2yq_ z*Rx7|MWhV`y8lt!MdCXCDK4e-RsWRQgDy@8=-XcR4lEml5w37mKfwTd{<*^!wu1V#7}E{A0vZ z#LGz3hp>2^c)$1{iFj8^|4sU9vEk3$@#DmDUUg9lcMD{Mt$V1jY~DoX!W?PxY3*L^?u^bf(1{bo@T)MdDHs zzc{wx=XFPTmtkB5GQJb2$6>8S>0V-gxt}k6g&39lwbGU1?cz-FY4To-!^lrC4wL)u zr2i!SiTI^hzlTd#YmnvDn_LLV0=UcLul!wPPQ#uh>s45YHC}i$lcA#4E+CMf*IA@FUVCVwso} zGa~1@n4SsZL~*isyLhKKU7R7#66cEZ#RcLb@i*dPajCdmTp_L!Ulv~z*NGd%KZu*e zt>QLuyZEvAskmGGLd?e_WIbFzipO$@7!fCmGsNGBFN>SR-C|>e#qf?1PZfuVCE`SJ zhPX&vA#M=2i{FUN(DyL>h&Wl~d<)%Q6Ss-qh|O`mJl;|4CtfKg#oI-eBmJ{{Naj1q z{3JPnMII^I`4i|e={v;*;s&vK19x6Ou}tLr1;bk>?iSlMbndjR$>W!aCE^5ey0}2( zGUhfsahv#s*tn59-cIZz4i-6o!SgfX?IPzX=)PS1gZPcuys^R+`-(7iW6z6-$mXow!Z>LTr4H3+EVduvjKe6laM`#dYGxqG_UZihaeTc&E5PTrP6{fY-lW{6=in zRN;vQ;yCd);x-XA$ONj~JZNB#oyIYNVmG%ONV~bw02*5>`kRk>MqY+?MZRH7J~|#hE+Xp(%wTd9OcRlq zqehe_P=V(%auuE<$koP-BBN-B}Ch$1!Z{)48 z4NY!FeI@6>!V5VJ&lBVrV_qh&N54VdjP^%jt{<0T0uN#-ee#dSY$D&pxQE zn80|HKlu>KpNzYHHGoXYr>;c#lZd<{`FoT<`4P&WT!Z^8`5nriL}L1qSD^e!TvP%1 z7RsOe%9z00s$!AdhWEskz`~}LN{3UI>fqy~yleeS%$s1Ar zWU1>PIS!bNzrYsMgBBq6=X-1ky$p+>GmFqxo0B-VgLHT4fzm^yi=>f6>;G2i>C%r# zFP45qdV};1>D|(JZRO%88Nam6SL`>WKeYX3B>qG4Ee{v*7;Voxfkd0{AomNzi$!FK zJufAqNUgq2yi2@KoG&gEpB6DBwCAB~u>6zwfw)UVRj|ixeM7nr=XHT?MO#0hFP9FB zwmji}z4T0Rf%u~MrnpJ`tGGw37I`0Mylun|Vn5NoPr>nG>5Mo@d`Wy$d`J9H{7n2# zY=rwZ<2y_|UOZXk`xGAUFJ2;!5Q{~=SE0Wf#i`;<@nLbXXvcN%|C+QNw?S`{w&OBr z+S6vZP1r6#n$IKKie1GsL>gG+@$upok?&XNUcZ4O#~aigMUFeDlj6@%k*Rx&mEx`9 zJ>uKqCh@Q0_u}!5TsZc<2+Fufx{QS8_<`}_8$MS`cA4 zr%8vTi>0Sa-!DB^`XT8TrC*cYF8!JKy=dQeAU@iJV|*u(&;`==JqC1CIwOvkzdNL# z6<5f8v-A#em)sknFJU|_NyaPPPrOL(mrIAFX|4&AClzv|NW$E?O zf05oLeku3k(1$Ty_WcOryMP*XZ6pbOEr~jHqx4ki>C$thmq_#d3H`5;-XOh0x;4UN zxF?e6+&W61N`8X*W9b1TI>8I2FDG%69wl8yhA=N8J&nX5;9lu@vi3Q?Fu~Zx<-Xg9M*Na<3``!rY{am_QY}(w#+gdzP>?WQm z4iblnL9tXEE8Z;LEzS`i6_<*u#C75(al5!%%;R_n={`g}O6(w>BAzXV#WmtK@l){| zu{pvq*eaTrJx7WjOwobl%aWZy-%H|paSM5eF*``K^H1eoC4MRXgACxWE&kBX8wKo7kY8i~o4Bvv|5VP@F7I7w3wL#HHdYahuUzSS_~e;LneiHS3j@+LVpA}b#|0}*p z;=G;GojO6I9L^vc;JYXi@m?hNA)4S!cs|8GfelFs`X z+!0<2@p!R|I7keO*OLh6R_R6J6XG%*|3JFO$u9hJ#Gi{J#F&^M5$<^DX=D?8M zoGZ>J;orU=Z)(gFa^E1nBhn&0ukS-~xA?u-ptC#PL~Jd#6}yRNii5;qVo)p<$BDOy z_lmy~pBLX2w~2ojzZF|`ap^iiJX1Vh{DoL3Cd3Ki6!CuXVR5DSj<{W{62BMwc6ITe zFJ2~&63fJK;$(5UI9FUGE)`da>%>jsc5%13SH#+{w*0W-xFx?MV0m^CPZtM>mx|Yj zF>!);n`pl;KsZ>3*oODGxJ=wC_U-PD4;T5}0OKDmP7xmzH;PkxIDa$69pWDGd$GwW z&R=WsM6sKArZ`9(CgSI2HXYZIXa`fI7mLry{cY(F#E<3PprXQJM?&|MK2IDh_Yu-b@jAIr zk)9Zy)((C z#>|uZLh&*2MRBe8hWL*77x6=Jm-wyNu#Zb`OYu0dzgQ&RB;GB~5g!$w5nmGD6gP=~ z759kMVw=-l{5{2f;?Kpa#EdveoFgt0pA}b&>&30&PVp--?+h33vEpfBfq1DnQk*L; z5|@gr#C75(al5!%+$%Od)5Y6L%ojV0eZ&HBhP7&`H9}=Gw zUl3mre=oi#)<4I^e+Y?ob*%Ks;u&H;9lu68C61H(eCfxe-^0N+QR2cq9%@1(9pdNW!TnwOP7+TQ&lN8gOT-HCZgH;oYwv)D&05Qm6YizQ-4oFq;YXNwEP zCE`kPgSbWfNc>!^7Ml)q>Fh2}7oQNH7uSk^7QYnR4|3r&=SjaJZjk$X z(tj7f6OX)5@so(Rhx9q(&&BcLBoh9nOCNcWJO5nq67gDboOqi!i)@1NiuA+cqvGQv z!heQriuWpV|6g&V_-Apa_@x*a?9y|v*hXwG_7De%myn3BQhL6)P+UUR$Md*x{yOA2 z&Vw7z`>KKCB@G>)6~ArlbepD*y$*J~;t)p!x8E(#AYk8?XAr4x%QJ}7x8<2eKE>Y= zAC#k!;l3@;AW^<8&wjmAc^S=dy-43- z*lp${^g-r0>>uOP9kJipr|}qM`r(h4PXD+~n||0wwp)$ro81`S6;Lg*E>+c|visbr zs*d1)p6j-%>Jsdrh_qEzmtl|Tb6Zt)5<5t`wyNqh_F8!o;f=xmkv?6CeO`~-s;aNY zPQDc5pNRc-K7AYZdChLCs=f<5yneS;RnPEtEvu^k2lS`^A!vX4ABXm*|7mD{`d3ib z!+&9gF!9Sw0HjRp*aV5BTiy?TcEG$Y|K^CA43;o zuIUcxFQC1R;r|mlf=0-mfaf#4DQJIs?|}B=I|$dk8G4xfw}kF;sxkefkAn6#hJPaU zVfsEdr~l&dPB^{=f6T9zh`%THpGJjbou)pU=WCf+Ue-8Ab<59;^AE*~V{|Wn;F0=Yc=oX0YUFjE~pHO{l z4*zSQ2l?~{Xm4ZsH$x*h`_}^Xjq4#Cg!CdyZTM9={`W%jn+-3$4N+I`L;f5p|6DJj zVF&k}GShn$^rogbh>htv5!%}re;4S7ec|=h@mp|==MT*BKO{$A1I;uB<-Z8J5b=K? z&F=-z@P$7q=lnZ!G`}M}9PO1G)B9M?@n@i4@rCzB&T)QUSdRKP8Rs+o@8uldnWJ|> zb1u%SAOFlbo`=G@AIDkW8D4W1mNw>JD`teJ!>O$z%zVeMjcV=R+F@J7^_BN(r3iQ40YT~~a`d7aC_dt&SN1*wQ z2{(rK6m$XdfZkXimt$vw@A!+*v)UQ+JdQJcZ_=YS#{W)^ejj=x(vK=_{eJ>I%NJf1 zbSGTv)4JYobI#{?oEM`$6zhC`&uJHL0hr!nd_y9}-vN5QuRZt8IX(c|{>B@ATcH2B zH0SsT=p8u!H5}*lg`qEPkNGy~ICN8_k$nV@Pl7%e!?4e!?|^RPtH1N0zinSr9*;nK z8`Jv~^e*4=<3vbhC*XY6pWo&9-w8dR15zE| z#p4}n^79`#{_CSGX@~bxh2Ipq;3WJ$Qu+w!zx}M{eEwd^+n7GCzrwV5`Nefuyp6|) z@;J_qVW0VZH8j5=mST>s88+Qs}dLAjzsvW1+o`;c@+z?|R`o2>G9yb9@%` z7+-oHfxZRj4a6VgUkrVnuY7)+bN=hlfAyXJZqD)T(ER3&8`EC}{YCql{P`Aox39i5 zV#CqK^z-*wNniNKLAUey?+(4bBYr0izf5l*Xm8{B=SaK!KFAEpIet-&z8reR(e8IV z3@-*<=IF2f7)AI!MA-?|Qx6t0k^zplHZ=>dVHdVgs z-3I-Z?|#Scz8~@BXVZgRU*lch@zA{I--oc6{@&2u#_$K_=%G1!1oWN0@-Bj2?z_Ix zIsW01l^?n(GP2lg4>`kdq2 zpg%ed?`2e<`8|3AgvWE~{~yp_`{Ltw>JxF$E3XdFdy$9Jbbb%$FMR#US-%^c^_U#Z@89_?>~^(ZKAY|IrT2jx|BIkM_O+iS(BpAE ztfIXB70@^P>c=YR+kD5@L3u^UX2M+pXEX>3@-DQek+ZY=}fdd7=|^)t_d^jfan#@c#uvOn+eD;ByBJGnWi57%*%I0Xt%D4Qp>5 z;p`IiTAvfpx~5rskhK=xv`cGdE#CN7;*7&oVNEL2Sfd*2hGXq!rWvaZThoCwr-{X| zv4Ug*%WHZEJ?m>VYfMLCus516$EC)xt}%@XYQ_4RT^W?}?7%o%99W8!OQrjaSkxGz z@T_rI!wFjZ)Y>8NFE{I7PTN~qziW@vd-d`xLc>~`TMoU}iqQTgjkAlQ`qx*@E@|p5 zv6@|H)Gb5Gyl|Evxd%^NEZ=4j?RnZg8eu)fEpb|F4fmQg@#){KP@ik|tPYc`ULIx5 zSvq^2SpQa*C}g3nmK8z9Q07ci(8_^lguzB^Yle-;78qBgmI*u_#wB?xwA!Wb>Bb_o z7gSz~IVzVjW&AwXKk_+&vAGc&0n)Y7HYW21M&w&4cwg9)f+%vRI+r zg;fli=c>c9Aw6>abe>bZlwwKgGSm=w#@q6A?7(TpRk!dA|;?%i7Eev4^d z?6hZS^N~f!E8b6uScAV>3)z~^wK1cdYAg-fU|f5t!(20hwjC;L(pqbp)&Qhu^pK}| z_Baw)RN3VcO`h05y``Y-TH+`s+L7h~XOI{n+XdHITz*5F^bv-A?zCr4mX0-DJ+FbQ@!B{Mxp6kU=!w0z3bF$Cqog$r?AgPvscG4EDyuR)wZgR* z*E8Fok)vKGfI2I4CpIIQ`dZePeUX(!(4zfSTE;O_qkHs(`Ag5BAY$~)1TgkkBAh9+ zt=Y9z*E5w@lvzv5@PNd47HeqEI$J`rY=Q*hHs!T%n_tmPEps9j*3vhk@Y$E7KWk>B zR-$bd1hL9D4gMtP@($40QA_dW&(lUQ20tSnmQ%PHh* z*371D1GSIU5xKLMF0-@F)P!riHu9oy92u&NP}x~kv-Z9}Os~OthIi|-evmEJ+Lns5 z+3qS{8r8AbGvH}stc=41F|tbbh`8$-fR{W}Vdog5>G!%Uzq*28zBm&+$SrlB>M!8I zH6a%!U0r3fiLqT@;w${L?dZ}`mi#t6e3^I_1ID)Txh8e?bp zsdC;mxmS^`yfr(O<+kIfG3JV(aTHe6RWkO>aEY^Vh(N5xD5aaWHoU$Imtifk<9x4| kp|5ZWWB05_qa=IU0Lx2ZjmFS+v@ tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab - 副本/3/linux/kernel/math/math.a b/linux-0.11-lab - 副本/3/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..f92fb43a9c019f8e75bf744c65f88b59c8d4ba88 GIT binary patch literal 6628 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 + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/math/math_emulate.o b/linux-0.11-lab - 副本/3/linux/kernel/math/math_emulate.o new file mode 100644 index 0000000000000000000000000000000000000000..8a98b22720edd26bc9b196e2d1b86549665ddef0 GIT binary patch literal 6464 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 + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/mktime.o b/linux-0.11-lab - 副本/3/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6694bf8258168567f68b2aba8bfc5ed630e30698 GIT binary patch literal 2872 zcma)8U1%It6h3!mHraGH+f8=c=BL9R=z+QC zJLlZh2X+aMEv_t>trhe7 zs=+FMvsh7H_c`1WH#v6H&lF#_7Ezv9*R)o}g{=tMS}|I;&BYZj{7N|;Z9Xl?_laJb zy7!+sbi64(04lkZ^z#JEw@~X^<|*sGoj9@%qYI3-zKwt5w^gpqUj~T!PEd383^f<8 z5*2O|-T9N6-}eamWL(gJl4$n6A(|h2E>b)kOL|%2Nt}5PFW*T8(P1??!wQYF%COpD zFue+;jqZ;aTKk|*0Ft#II4RZEhrnBa!&WCpF}4Cntxo8-0mrQn^gX~ys}K5K;2vui za3An?3&%40fm0N+LM7Luwrebj!QH%qP@{PFZ$|B0mly;xE>pPX)Jg2cF5~jqj<1=E zhY-iO?9nD!cLZXD-J@6{INm?3=}2O4-(6lqCNC^>iQTb8#EkXFxcneQzY^j ztGFErVTL1-{gDF^k>ECTk{N?AnHY_52(>Xx)Mkr=y}s?i-pK?)jrF|qcrU!#Lu7`1 zFQbQ>HnKtNU{S?{b<<`}KFMAYAtn=WkM5+&M3&Rhc76;Lt)>d3#|T{J#~|E3A@0UH zd6kzHO|T+#TCCnYx$DpU%wJs-Bbgsx@RQRvR@s?bKYSJna`l3rj$BF>73&&%scXkDpCbUrK1xQ`%?p_ zW*V;7@Q;*vxFMzC3&SJ!(8!>#<*R`SFo|;~Nt_Rh{-|ZW&eP)8K+YOAIp2v`(i|5t zd6(__LdDC?kX`p`J}+uibIP{oob|{qJbHHN9lg{A-$Y1?s@gL!-S zBN1mE^5T3tFW>nM@!sQj^Q_aP`$J4UrLA^zH?rA;v#(!9l zgBc)OgxP>F5Bw(!k}2Q7b&W~#cYaM_$_cND?5(5uI+LR7MnXh#w zG`P#%nAqCq-~V;k_#GyCi}wmH8{YxJ+xEdL7= CPoF&i literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/panic.c b/linux-0.11-lab - 副本/3/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/panic.o b/linux-0.11-lab - 副本/3/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..da42b57864ffc04172b2020b3f3f9096af53eb86 GIT binary patch literal 5424 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 D&gTd! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/printk.c b/linux-0.11-lab - 副本/3/linux/kernel/printk.c new file mode 100644 index 0000000..0daa097 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/printk.c @@ -0,0 +1,41 @@ +/* + * linux/kernel/printk.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * When in kernel-mode, we cannot use printf, as fs is liable to + * point to 'interesting' things. Make a printf with fs-saving, and + * all is well. + */ +#include +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/printk.o b/linux-0.11-lab - 副本/3/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..93ce6e40ca451b8b2b024367e2fd7f575b694368 GIT binary patch literal 2424 zcma)7&2Jk;6o2DgCr+F=bwa44L}e?vC4jtkz$&FcNl74zT1BEwQKbUW+Fsk+*lV-9 zPLry@Ap#ObAoTzO!66j~E?kfhSCAS$gv5Ou_hxtEEfNw>nt8wXJ@aOE z_N^B#y(okrMS?WyOGHgQw3H>Ar3WZWSGNC{eQz;e-d)Vk>@DU?d#m}G-PL>wvi^gf zXV2gNK0G{xoZEXPpBvjhF?RP#ll3=3%l1L)`q*8>=C%)Juisi90ly z>aykdDJiyw91=P9O5ADEu%2|>07X85BF&XXc={4!l&3=tH3#1S8mjc_B(nQ}NevS+ zX2q$@L|V&CXR=~^;Mj4be2}!vx%AWNhz0-DrLfy04cA?ur zdfS82aa)dS7wSE?8aN%-hsx~~{J^TN7rI_2u&Y7GqgKal7(Lf_8m?V4_zbZkpEj(u zmg5KHJGbm$t7}uS*=gHFw^s{_9lzk(H;c&L+bopKxw%5isuWA1qPT8*uH6dra=N4a zR-2X=NkmHv3+Ig4tCgM`^uoOr9`8wM?#;QfSt>sgY6;&}NaEII61P)gdPLWE&{P9z zJ`yH*3>Pw~?ZiT+l(?8lUAUK#--hXLwF9d{rXP4AZz|;3Eiec z$O^M5i?7IF5RtO2K#teF2H_ZVT$lH!>e|3629V~E?;3-Ml+A)1&)0;&c{txNhRXLk zFvsw|nRb!ymk`RCZ9HyAT=~6`G|KE@(H-d7eQUg`kCXV589b>lVJwlj!6Ly5PP@Nmnz+;^@S&-W3E%tEI~ z@kn{1j;@ME+C(083(}ch`{!E#R3zOA&vW cIpTsy{wm_%F-Lt_7ZcwB_FIU!0iJ;T4?BzyrvLx| literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/sched.c b/linux-0.11-lab - 副本/3/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/sched.o b/linux-0.11-lab - 副本/3/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..992a0a38b6c61417b3ad6f40fea4cd53662b3518 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/signal.c b/linux-0.11-lab - 副本/3/linux/kernel/signal.c new file mode 100644 index 0000000..8d5a65f --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/signal.c @@ -0,0 +1,129 @@ +/* + * linux/kernel/signal.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/signal.o b/linux-0.11-lab - 副本/3/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..1970f39f72c6b0c63a277c6955a88089975ca4d3 GIT binary patch literal 8960 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/sys.c b/linux-0.11-lab - 副本/3/linux/kernel/sys.c new file mode 100644 index 0000000..c692e4a --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/sys.c @@ -0,0 +1,324 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include +#include +#include + +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} +// struct linux_dirent +// { +// long d_ino; +// off_t d_off; +// unsigned short d_reclen; +// char d_name[14]; +// }; +// int sys_getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) +// { +// struct m_inode *inode = current->filp[fd]->f_inode; +// struct buffer_head *dir_head = bread(inode->i_dev,inode->i_zone[0]); +// struct dir_entry *dir_getdents = (struct dir_entry *)dir_head->b_data; +// unsigned int c=0; +// int length = sizeof(struct linux_dirent); +// struct linux_dirent dirp2; +// int i; +// while(c*length < count && dir_getdents->inode !=0) +// { +// dirp2.d_ino = (long)dir_getdents->inode; +// dirp2.d_off = length; +// dirp2.d_reclen = length; +// for(i=0;i<14;i++) +// dirp2.d_name[i]=dir_getdents->name[i]; +// for(i=0;i<24;i++) +// { +// put_fs_byte(((char *)(&dirp2))[i],(char *)(dirp+c)+i); +// } +// c++; +// dir_getdents++; +// } +// return c*length; +// } diff --git a/linux-0.11-lab - 副本/3/linux/kernel/sys.o b/linux-0.11-lab - 副本/3/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..7e8ef02ba60bfc59ac50c5485688e2f21070578e GIT binary patch literal 13084 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 T@W*~1Ao_suVWJ-y`-uJqaq<*u literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/system_call.s b/linux-0.11-lab - 副本/3/linux/kernel/system_call.s new file mode 100644 index 0000000..11044b3 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/system_call.s @@ -0,0 +1,299 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 94 /* 72 86->94 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error +.globl sys_execve2 + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + + pushl %eax #by wyj + call print_nr + popl %eax + + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_execve2: + lea EIP(%esp),%eax + pushl %eax + call do_execve2 + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/3/linux/kernel/system_call.s.orig b/linux-0.11-lab - 副本/3/linux/kernel/system_call.s.orig new file mode 100644 index 0000000..626efef --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/system_call.s.orig @@ -0,0 +1,294 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 90 /* 72 86->90 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error +.globl sys_execve2 + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_execve2: + lea EIP(%esp),%eax + pushl %eax + call do_execve2 + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/3/linux/kernel/traps.c b/linux-0.11-lab - 副本/3/linux/kernel/traps.c new file mode 100644 index 0000000..f9bd8f1 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/traps.c @@ -0,0 +1,208 @@ +/* + * linux/kernel/traps.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'Traps.c' handles hardware traps and faults after we have saved some + * state in 'asm.s'. Currently mostly a debugging-aid, will be extended + * to mainly kill the offending process (probably by giving it a signal, + * but possibly by killing it outright if necessary). + */ +#include + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/traps.o b/linux-0.11-lab - 副本/3/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..51de46fe88ac98ea479385c2c283bf030d1f46cd GIT binary patch literal 12972 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 +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/vsprintf.o b/linux-0.11-lab - 副本/3/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..5acfe6576413e77d5a31e400e048fdd1e4ad4bf8 GIT binary patch literal 6156 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab - 副本/3/linux/lib/_exit.c b/linux-0.11-lab - 副本/3/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab - 副本/3/linux/lib/_exit.o b/linux-0.11-lab - 副本/3/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..8806b98ed15bbe09d6e67f211a6803e39f1a89a2 GIT binary patch literal 1988 zcma)7&2QX96n|syCQCM5ngm3nRLGHv8X)#2WI?60d?io;Z6pd62ZSQ;uCr?q+mY>s zv_gD{3y4z>hzk;z@)y7XiQXz9A=DFh#J|9q1N?sDnT>OTC(XRy` zN-43V#Fb-7WXG*6Jx6ie{{Qdr?@7^mQHMG5p84kGWszo6D(!1a&KU$e z%g7jZH$=94;-@hjc@(o!e|Jt{){R3mlm0{z2I9ZdD4*eJSEwQF-$)k}JD6ylt-+TnKue zpM?2fd^z5_@Qmk=Jbyn+;?m#G!zA(#GvtYKDB~1yBY%IA4$3%73#ih}FUoN6zJHi! zWi%+W{J6ZqILzfBOGmm;?rU$54I|O|Vw~lrcVa7YWqbRgw|1jHNy|x9nE%v7OPe2W z_JWPx;Hw)B4=mz1QI}2#T9Y8TP@;yy9bv z%IK(+U>KI61pT6rAde1$Vbq_D_TqFugGuAC-_N5D>eet1(@}I{0lQ=uAie~HEJ-4K ztRO{`0yMsAS`{W5@99Rf;{Qjy61+LQ2PEF9`uU=bw2DD&uAcBx)XDmthZ4v8Km9h~ zW7jYa<9$eA$lBH+KVX&M>$4(9;0qZ13>?gN3B#@dl%Fx)Brs%cyO1rWX&!<{V945D zhg{El2YJ~S<^`PQ4T0?%Kv{?IEP)|wdk=Cw-j4{vx*3mpyN?8zYuF!B1mTYg>X|kU z_Mq;!jqCk{_NXT7_nGmtrlfjItT?UxYvX6lhXB?4TDh`5(rt|TKJM1`ffsJN5AMsJ z6+pRzc;68iVtpiXo0IY-9K=7t7cov@FfaSgob`BTk@rF9EZKNgw!E%y$Y1|hJ^9JM z3gvnwlz9HbBD*|3OjgAuFOv(um_9mmVKnF_ghz> z(6f2i6`I7plRs=Yekr1`tyOXyxHY5i8h+XE9mC%+{JP=q7|!#{IAbI8y->~S+fe_c Kv3ub7zsSFCPs_6a literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/lib/close.c b/linux-0.11-lab - 副本/3/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab - 副本/3/linux/lib/close.o b/linux-0.11-lab - 副本/3/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..588a584a7176445084b91c22ec2a1737d34184f8 GIT binary patch literal 2220 zcma)7&2Jl35TCcZ{%GPFCn*psNEj&Ej`A1PD?)I*^H2}HEE*Y>LRZn__k zRskwSNL1;iLMTG&t^5tB2X5tr!~uFif&+JY;N!pnQ2EW<_w3CHM&6nE&CHv5Z=T%*BKpb9JS{1f=n&1&>pS;qw~H|BzOgue?e4c%ubp13>})SqXsfsj z^_Lp+KYzHzV{YFE?R;H(`_8987MsWt?}CeOz?zIf&t-xPtHhdN6%Im}R>2PvGK|tA zY!v0Mq_6b7M8zK=tcSqF)G9a==Mgt|!3({vvKu$3_$Aw?o&q;+Bvg8fmG9&rF(VFF z=cdi-LUl&W7Hbc~vq;m^FT#WwD7B1AjyPU7t4F7wpMJc4c8-Hj%I< z8HTavba+G>_;J#82HEZv47QmE#4Bi}D3;Mf%jo@X6p$$mV!t1F-3GUI7zTZ*$W#;$ z!YFC%i)aqQk=G2;Zqf|n=Fkt)EqmEnS+R$1ySbVfz}w_SQ4rFZa~B%xjh3_Kv>Nuv zjXHy4{_5JZ4ZGj4d*R4W>|W%KJbN=lc`t&|50KQeduh-~{4j`N3PL+h+|EUNGYS*0 zlY|j%Y(!p+RjRpn25vN7e(YcIlFOSONh_UMUq9Mdy3kI8B+X`GKb=an^5II$S#BN4 ztlXkQ%s}GGc@o=Yu~4zBPta!GApV%-#+n1Ka?Kmcfja{#u_BZ^X7s4fVx807s_wrsha)Ulrnj66F(F0I}oK83z zdDuKBKzAH;JnL3A#v5$N4rg=!Km1Vy@tNl%&BSLt|7X8$^tga5a2%IOK?@1Ur{=edQK6(u2;e30nDAK-V;Qah5NPZPIo?iiy!^DAK<3z*=Y5`v47A6lvc%;C$Wds9S@L>+7 + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab - 副本/3/linux/lib/ctype.o b/linux-0.11-lab - 副本/3/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..acd65e6a3869dcf4ecb16245dcd9f21e6856c20c GIT binary patch literal 1908 zcmcgtOK;Oa5Z;Yl`bZlRr97$%luE4#2s;S`RJF8FBB+9@9*}xLf?_*PViDVs<3Ni9 z`~q(L0B%U!xbSDVaN!4lxFJ-&+4Ux_=z$X>&CcuFnf2_$Z|?2f=bSS|oM~)qG4@WA zk-89NmS=McD&>@-GLbUI@_qg|=_5+~TY|8Lzeob^3d)>76rVc2n*VRvD5;CGI)4bs z*HdfA+<;+%H5$-ZU7u_~(fO1CG4YX{GZ#n|eV*7M$MlntL+7VH!C<_=S8~OymRro_ z&oP$ayjkQ$?>nnU-72u4kLY+Y6cVm^}~9P?}_=LdCEQ&ajIZ zIscWL!zfMy_MbB+KJ2@uBcPRT=)09**orIRzzEzIm7W(24~(i=s~J7Zu2iK1qs@lF z!0QBVtK@X8Xq0B)y>uxf+jnBW&$f5>N{v$8Ts7+@!?z-*yWw45y;(9kC8HhsUTm}@ z%Xf`_=moJG!RZC4=^E`};KW`S4B!evV-Q=;Gov4cvFpTPMA@l`D9yGTjkQvF&mIQx zP}VZ84TV*EU8|eb`eo_G77Y&l*s>wxNXo9#V)r0sX3L5#X4-=RGb6WWwp@GI+4q8W zh>*}N+m77l>8KT1LC3`e382+09l4q5gud?v$Q@wuCK@6?Ml}52hDF*q@TmkY@9220 zy2nciF1gC=4%sRQy#yw@1g86>a9b%1#g$o2>EtI|o0NnU?kenQ<%FD_Wb7#<&Zszu zbZw~KEwGvcm3@G*NlHR0whLS76#52(j<+HedjLneZVz>-4%LM!YLopKtmZ&vzhRU~ zNl3*!*rd~U6RqGbeU_>iDMlP8QsKS;cSRuNpm47eoC?XiudMN!3UH~tpeW(qj$xy< zQ(k$!WpEw`;w#kC;8`&BIS;0ur1Sj*?ks$YD9=fh_Ur8XQ5tjnZ$bIfD + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab - 副本/3/linux/lib/dup.o b/linux-0.11-lab - 副本/3/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..ffad520a6e0ad2e5e6e1b9bdd750f18cea5be2f0 GIT binary patch literal 2196 zcma)7O>7%g5T3WY{%M>VCkBxyNEj)F1iI^lSP&ITQ&Ol3s7QryfJ3yl*Y>LRZn{5^ zR^dkqNL1;iLMTGw)-xwAy`pjf2?^9okKEzVLM09$m2cj@7jI55(t9)C%)FU-^Y*>{ z_?0(a6+)0EK_-n6(a&aPX-T#~57QLAwflSR<{}h(Z_m$Mz5UZCSI^8(?(WP_(spqV z;%_yc|GIO7*W7#n+Wo%v-mNcyELM>vHZY5$n4V+|dOl-hSS6MWtMDC|X%+k+A;T!u zSt-ijN?YkiiHf(utZuqRVqyg%6UPx>?_nRfe7Oc!g9!ZJ^l%1cn80wtD_$q}b!&GL!L3zes4&(+y^ZD#-FSy4x_0%ewS zbz_F8*dnvaju|YC;i=gdXOa6c&X1ux!jf(Q%kN+q#PtdBcl9V{c}6%H;W$k{=nT`Y zM})mQ9rjNHKTf*NAUnH)3~e3}uc48mSVjjeqxXkVK%6v){eIwe8{F7zeLM)Gq;bg5 z9E2mU8Km8$8OF__AEev%lC!*Q58ZZiB~xH-lNUunNN3M)G}ap}XVqyn?2#LF1}FWM z)#n;^zhU>nk)PPT$Q^n1R*0-#1f?G!sAu=mpp*Dv5JMG&cAU7Ki}qF&CSE5ABih`I zycnBPC3gmHM8h!X%i?4IikDp8@<^)b?E3nN#==HB4U#k~#eO!GX!)b%mb27a%(R4W zI3sc80*Rfnn47e$&(T^w6dp|SFiuy?yT*ET=2EqM`c~BW=mp3@PA43VJRF%5 zpg9g2o;535;|(@tgR|QI&-^%?_?{P)GvDw02go+2IgBGx%BK6cp12D%jln*Ap&1`j zSUneX5jame-ZN0L|9|;$J$ent;duKjDAKki;Cy}mpuTPBxV{30u5S&pUIP(t2`&u_ zinQ$lu$I~M0YHNVMcQ^AIG;DcrfSe}Uf!S1i%WVa-aZ1n3!Nq%&xIl%?^6WfI2>;R zL&v)Wnb+{XneGAH$wWD`jmM7S+V2NE2~SIpY|?(8DL-xcGkcXZJgEIE<)_W}A*>#F zW%V)q5+lElYq@f04m|FN zQzg#)0?zylPW%tJawy;IdK)8wV5HfZ`R3c5eT@C~{^JKi2y!CGqe(;*G;F4COq*tD zhF0J=P23c#u;RT5?9d1qnU)x*JchjHRFY|6bK+WS-uGIIt=UUNjXrs;4gZ$^aQ@yx z<1%g4zI(q1Z~h2j6(cu&0sWJ$A$%|qR4VNU>bGy@>F%Qa;Q7` zILy?`&VG`WhhbOtdf|Q)ce)n97~6@owY?K;27S3M`$3pS#bEDFvbw$&gu6jF%F{%L zqasRGc#z{XssNZ|SX70hG8^b5&&GhVJRIw2@H{*ya;*kBFDBdC+T7d-+BC)B- zS4tE0-t_vi+h4XQksQBDbri$u!rDFOX?3Vc4kI0rjK^b=h1!=x6_>kDlWdeDW&9|P z3-zL&jfyDSRhVE2ymRMcZIXjLO%oAA%n@OM*0>xf%W?lD%bcN^;Fz@=wUp6kTr zwgEVwb048-;uCSXM?mUzzo0JH;kwgMSN92gHwP|#hPK(M#N`si?DM%dHD^0`P{Vn9=cGS3H+G;zUhcI0wwV1*e(!;SW6KSHBFC{e%O4g?Ao$4$9}9h4P)$ z*E_(yFvp3j>tbi?c$2;#JDlzBe=d&eJK?xqkz?M?M7)#kwU}pKsGhICB+oxPNy78Y z2`7+8zBwmXVV$EN$0z>-^SiR&i@-<2cO$So-!t2bm0e(qhB5y<;QWRHWd6 + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab - 副本/3/linux/lib/execve.o b/linux-0.11-lab - 副本/3/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..036c7dcc99956f9c995b9055b41d8185153aaf4f GIT binary patch literal 2336 zcma)7O>7%Q6n?Y2{z;s=PEsIIDzQi|gr8j}#HymwUs5QAsz`+jDvH9|9@{JI-LPJV zw2BH+gair~BoII91@*!S4qVC&C=y5rAtVl5IKZ_WC>IVK%J*h>;>`)3Jny~l{msl9 z@62nDoq1dcL7D`aG(tqnR^q8EF;DwwlAhW6qq2RmI{ErZ-q8ML-%EWcV)la~4S6Llr)p&<;zbf>(LRRk13@YYt zD)f-@#Z<69g;snTtYCeiIO}5-FykjRk(d+*%F`vYJXf9+Q~AnW@KmW(Itmk3ovKBw z&K1XI&GMnrBc=OhPfv63@tOA@ofXqqV2%>c>1ktzC|}Z&2{NEIb|65gSh2( zlRrXERX4}PlQ<8NFMbDMwEr@4D3xT5l4TSHA<1BUjZU3CZ?D*OciFAmPTz}~-6Q_e z@6&D^JQl(3S-%f!-#6# zurF)Duoc(BK@Azh4QIh!Ty%O~qqdY7z#G)|dlFk2_?}J=CXwVI#*xs@6pK2FK zg8a)ezO*LEi#qGn3xkf$fvc;L91xvaSvh3SpKlC1n4Cb8BfG2W)RMLTAAUE2_&&*}!F-Qo|DNn);;UdxX$gA?pACLAg~2iWfipgk zViS_-l|<}tUGG6yIR3xlcs)9Yi*UW~SxHIz7J#$s>!SDvu<`nG7*H-{GD=BH;S>Wuv4EPG-d3k?&UVOs4>ivcSFT$ot*YjY=)~f(;9j-Ty zq3dxUIEVMmbQHJ1twdFveLOZ(spD#B_yZ~;VLFa`z`CXj`e0In_I(J8)LBdMl~lf+%8yd{Wh&LW@B#B4IBzAD IHlzXkFT6(wcmMzZ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/lib/lib.a b/linux-0.11-lab - 副本/3/linux/lib/lib.a new file mode 100644 index 0000000000000000000000000000000000000000..1e30f0c04834f95d6b13257ed1437b5ef05d3b88 GIT binary patch literal 34138 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 +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab - 副本/3/linux/lib/malloc.o b/linux-0.11-lab - 副本/3/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..83667757057ff0915c7c4ad6ae9f4d0c0160ea5d GIT binary patch literal 4880 zcma)AS!`Ta89sOBdNTId@?Fn#g3%ipE_#~_of1bL9E?Nob`ab!I zi+!(7T-}TyePri5q3N3vn|36JywH3rg7ig|=;VdqFN>4|Y6uD0$b_k=Ozh-m4gGIv zI%LD9cRm58cWNkl@`4|l?@)}?Ahli*ydk0WLLZY-Bqxr*atWsx2y&Iz zQ1g(^z4->@t0pdP##;1&99S)`$%Svb1UW~T9|qN>$66&9Xz+Mw{to(0$ucMAd%z^5 zsx45e1P1PsQe}d~6C!wxTZ1Ve4odw4tl?9LEbGU0OQ?zs$Z02#;(*FHF*VeDKiCAS z-K?TEkDk2Hdh$HH5xPtGEf9AhAMBq*z}?ygU-|`*FUMK ztQwMHeY;T9`P+36j^gt$ylB#2GF+vqk9thnNjbH}1CY=vxtnf0Gl3(3^_R`jIHd8* z8W#_1NDFL@QH>^mWin7}?XuCyX7W@C@xE~mx?b5WIx02> zLEA>-eBN_wHK&@X)i9V}akSy6=ei>`X{hs2NjkalOrczJauv@Ds=k{SJ(#+hwQa3M zSSyK3=UF}9VptKO1z?*sSO$bsFtF|*DZ*bMeP}EFgIxg~u_Au} z6Mq+-b?$9Q4&$><&7*IwWFLi44Io-&J8t<=Zfh zuznSU0PRfU2DBaQ8kyeDA?b9`Sr0OU2D#py6BO)cJS7lTyR|yr84Jf(#@nrqNZYL_ zL8ldt$6^~}n_^ZcR;)#Y<79SrZouN(ts(|!Anb%Xk_5380fbngNgT0g8Zqd^phJo0 zwskX9Cju zNweIX?UuE(lL>Y7h@GANm`>+XX7_Z{UhooUY0ViTWeyGLH}QqUZRjoQM!W^R{I!7S zmOl0A9PLml87BOOu!f?Y!K?_`p&53U+3iDTMRrAw%}qZTZrnUG+b0DNM^4W~x4zOd zcUJLdB42u8`jP3`nak1Z!OL`vZdvM2=^#gDF8}!K-1VLZ!cDuj{c`4s+5WlN{u5Gp zCQ_03a3mc2&dZ2<{T<2s=tIAV1aot9W~9TxTXVCoU7q`DPfy6kyhbZQIWKC3$6VpL zqd6SdEH6aCo2cr0!d#LCPu%yZhn(%sV0uG(&`FgtUT%C#;S(F~bW&qZYP3=+_^DAZ zQ*u+)3eLUjL0Bjk3uQMo8kBQ>p@RD>HCnEuYJMhnFje&`zMJzao*b(FG8X;gm6F?E z4)T6~rIsqYhx-vGIFcGjuUnTYX0rVQN`O9#bdehK_m5UN2mer}C~#eR;^s?UEDiz> zb<-|Rk5iU+tf-AwJl_e*wZd2#cQdarbroa9tC=y^xX6-KJ@=4UW;)r#jsR(Dn0prXBggk@H{;7>{|~kFP%76)3yw1cv>#(bDMt54>`qijVOamt&f}2U75-!=og0Gw}>>uwHJ9zw?*k zVq5;#Fyq&cK;Fz+xr9Z7Fy$*i6k1kU+M82p?76~AExfF9wCBn%wXkSeVnBsu1(rl% zS&4c+F3&k7!}!|a@iDDt=IzM;F3l5I$9r$$9{|s}@Luh}eD>U=e+0a_Td6;AlYZ&d zc;7oz_om8c$nboG#_$)36w0@znkg4@I+Cb*c#IC3mutyL?S&9F)`yXU)gZ)2fg$X_ z&ydIDG8(HyY@X+dusaJ3VMD#B`IpGU@1Nx1XJhWfE{*Ge9Ov`o;eUWU>>IIB8MjD; z{EI-!*J9g{9{`fyP5gimdniZTtVZq*-Z%J91Yu$6c}9r*KN4a$5ixs+*l1i!%GYb$ zs&SV_-ci(NHOjjK{NtMcipJ+O{!rr!M2z!_=6|j6ipGCveJkgWcpuWZR^#17_>XAb z( +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab - 副本/3/linux/lib/open.o b/linux-0.11-lab - 副本/3/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..eb31744a2581df6994fb557ed7b87e903201c0a5 GIT binary patch literal 2364 zcma)7U1%It6h3!mlHFvJZGNgIB;W|C#-Eu@%p#>fHZ{=_(nM&jB8qW#cXoGhcP7rv zmbBCwi3LLx&4U!7Z}rs|pDG9nu`g0V@xg#TDhP_`lMg=B@7$T&oj&Pd?)lE&J@?*o z@16VR)2E*iLXaXsI(0RoSB=C|mM~2RX_(G#{XX>G;?(5Um&W$u)WFVZh(KcpZ0lEJ zXXr)`qIX`N8vAB*d+*AR8^-qjZ^iBXzxS_mmK(Q0TVD;mw08?ylHU*$kVO$JLStG= zfHWibHAKzm`30aGJ)R$vrsY0mqsV_OeYu~c*82m%xF$^wc#rWccrO}>!W;vL6N_t~ zf#-OhqQIiIOSzj;<1lU4$oGYAL}HLtakkG18<^hn(ibD|7m)fndEp)~{X3al42wg> z(Slx_C=QE}-l6-DX^IMkCt*TRD&{f8dr2=IDI6^yQ>Y>_ZKQ@lINi+>j6`LhhU6x-#(`X)C zh<}QM;POD=7zo=gd49FkskubKy6f9jL{SviP!GGwC#BltEvHHo%_qUdp zcVExzPllep5O9(*Q$5?YU~Am1d|_FQS4M-v)02PcB^p^QmGlV-ICv_#ibxBp+{%K znz3hRt(H?M%_Ro#3Y~Y>T37-W5_t{Zt(n!P6H?R+!q~iH<1<%pIgM@)MhWwmhGAH!-*B8JjnF~iHm1QT*`}y0mFC) zWi?^rePfb)b+VY>(iVziX!(pEJ%CHfPNfpM=d)fXbo>TRf2ISMTy?-0WLJZB+r?sS9~HN;i^&coeca}n z+_hx>|A*g?AS^q%t3dwWWX~x3nD{r*C#8hFjoXBeM$kBh>%#h>RM&w_ZzOPst9*~b z!twtV$MaErI0@(bmW7m*Zw7jHe(xgr2e9${_-~`;HxF6$fk-P*uCkDl@|}UMWOn@w z#bhBRte6K_1KD=(G zI`aLIh?299+ocp$+;b@SBQhdkD(*@er(BoS#-s+0WBLe}g&`PNZ9j!~rYDP3XK zZqQ%1m7VeKmznkK2&}7BC%tre;<_1h!eld~%N^|+bh)!xeW0sA(uv>aF6qP-?2?WO z@EKuRLL0#jaZMC)UDVHCz6i++Ku2Nbr=QW6p;6XkzZIwe#-9SCDc(#`&Igy4=gn~|DVjhH`oC2c6IcKM literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/lib/setsid.c b/linux-0.11-lab - 副本/3/linux/lib/setsid.c new file mode 100644 index 0000000..68516c7 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/lib/setsid.c @@ -0,0 +1,10 @@ +/* + * linux/lib/setsid.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab - 副本/3/linux/lib/setsid.o b/linux-0.11-lab - 副本/3/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..10321b0d5b2d6945c2802081cb34b2d7487e002c GIT binary patch literal 2240 zcma)7&5ImG6o1v-J2TnYjI$pmJFH?W8(crSXV)Dh#F&I^Obmo5fq0XlXQpSS*_rOO zKXf-PDl9@`PC1AO9)#RH<+vv=3Z4XW5d0H@dQdM0JjCCtu9|7_ppUNiUGG)BS5^Jt zYgaA`AxMKDlco~U12ea@Bw3>+nx}(b>xbtdfB(^~3#)Sn`>S)bTe=PQmpbD=f4a-g zhmQaU-`2mm1HobqS>hV7I12P6%YbH1$gs-H8P?3#Am&BpkDmdyteGH8$uP=4vQAX) zF|o?uNvZS$$jmVyF}n%Oz#+vKw}4AuF+2MruyJRX%2&Xc_czOxe{r5{5Xgb3|B{VeRJK@=uXg^`n_UU%EsiKEo-rcq4o zcI+qEnObjm=*2XO!a=_B;D*opC#g<`QJmTnSKb<3+S)p0uU+qCVVdQub6(1%wDG}4 z%Uy3hmuqpxa}YPKk=U<@l{w40iJG#Wo5&y=w^du(uHk6A$=*2iI-qHs)1l^Kf8?hA zZc1*?OFeQs3EIcXp5Ms^?I7$&FiGC)bYlPAqScGNaDXirCUBkf1mqyM8;!?4w&#W@ zlZ(>lWy|OI!?rASzUKdfpMn$L|B`a%dtW@HY-3o#I3l?m)p0xU(E; zNcA z{RDKpi9#_&y+yx2D%$_~hvfLh3@mf@DVXxa6=nIan diff --git a/linux-0.11-lab - 副本/3/linux/lib/string.o b/linux-0.11-lab - 副本/3/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..840f038b2beb337cf418b004cd61fe5f8badc3b6 GIT binary patch literal 6380 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 b$T5+-MNW%6E;57|# +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab - 副本/3/linux/lib/wait.o b/linux-0.11-lab - 副本/3/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..11ec9eb33d1ba72ca2a5b6c73817eef3ab1c9272 GIT binary patch literal 2580 zcma)8U5Hdw96#sYJG0}??l`NayC^i#NLJ1rHD#yc~2cZPQE-R`~P z7t#kykSsk2l?1+tk3tZH^b}~=i-hzNy+l138DuXKE!ppP?m5mCg8IYx|Nh_Soc}rZ z%)ImLfxS{nVMq#F3^XBrcT&%kf(>Go7!xlo+$t{~sII#_1moiC)$zrbtCj2Tp4n3! zSvXxC5hwDC5PvO`-}(LmGcVr-EnF=hxw3F;&Owv@(x%VgLG7JAuMO;Iz-FK-2~Wq%4>FjJ5H_}B*LE~GiuIOc|`OHeIL-KQ>Fj=5NT_}?mi zl2$AZa&}H^o4~5qVOU(gJ}62@$uu1UTH+wMlz){*!POnZ&62KL?*^^8e%r6dCu1>C zg*fhY6Su_@$;o*?c00U^{h%8sZOCfAoZ|Mdd>&^i^M!8!*32LIBijp?EC=)WQ51v% z=h#TZzJrG=)0HWAi#t`R^}MLn+1}l}<;hBIwo;o3d)=fq6L~$qHXq`~_z{fVV6GeZ zwV8gM?M@IidZIe4WS)22k_06dP zys0+SKz4#%#NFAzZ&z9!FB0LrsxIPA7$uc^KHgjQKrvp$`#dT$?w<1595ELLvlS*Z z8j&C0Yu&!->8+IwhnxK%>8CrdJ<(U%?K|km_#Xdj1>8EZsMOv zgxmHKPq@t(M^9thZ}w*!-C!n!OUYid8TrSuUN7>3S!^MgUk<~pZx>{f15vyO)KZ_*9a`#TjCr;p>bMicif8vdAyNSTRyU&k5OpXOk+fpMfyF(|9&3Alu~7lDSj zKGMe+*?l-zd>JyP|#~9@7R0rU=0GlB*Z+1@l%4`aZc+tfu2J5jt=gihC!@#?1 z$ka2s!K~d8x9=J|@&11b)Uz{CH@i-=Y<1%X6>Pyj5CgK+iDq@4?0{^+e**)u1%4qj zWUCGi3^qEzc98gvtw3Yg3qzDwW0>D+`prYiXP7T=`g5WlWl=}0#FVcAEi{*Jg9KCm zQP5AGnFKzdkw26Y7vdoz7P3LxRUO2sZy5NTw!fh96^(CbY-*e%qTU&;^N$VZyQuL? djaP|?`%ddWYgFsSN6&rJe?(&iXhGkl@gFXUI&S~~ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/lib/write.c b/linux-0.11-lab - 副本/3/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab - 副本/3/linux/lib/write.o b/linux-0.11-lab - 副本/3/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..fcabefb4c549f70e732a384e8bbcbc9dd3a0c78b GIT binary patch literal 2372 zcma)7&2QXP5T9r7SF-6gAABTAC5*I%@L_L4RwxQBZAqb|s)|%72WS;}cfDD|uASQ6 zHmM>&3W%a`AmU3%T&nUHAPx}+RH-09f&&L6BqUDU=mEHJ=%M`PJ-@7bg3->$Z)V=S z_hxMG>rbD0MhHQg1er8IM6H~P)TNrCyJ(D_-?}-veX4q3mt))Ks*~FRwqUqFcAc}ONMDL(xive0g&eq)CUjeZ-5 z{l-qNSm3PTXC*3?ev?R+-brXEw+lS{5=40f!u(0r7GvUIWuk0WrYmD&yfAt%Dpjdm zeiAMurDh2yy@$-oV)=>k@&r!jh$B-9J~*{J!7GnWe*DywK&+4_v!oJ@NunZPx{hI~ zeg_=dkG;6!@B_rEJP03|Iy8lI9snC)-EX#ZgV~P220aHU#I4FcNckLK`oeK)e$edp zTV5^Rh-m?lNg~Wl)i&9+J75)>=Cxx zD+x8jJ|^l#Q4rFJ(`T(EtL`i~b<6I#QL}T{pI>;~vR5s;9rpahZbxpYWUw!lHo`4a{|qu2F3@$yv77GT~KOI>UxjB!}<_vF}{MWR2U@fD_hV6Mk~=RLFa5;X5__%!Ky8f%^P=jgB7+RysVe`m(o9T@9d zt5v3a;szB=!eKLH%83pfrkrdR^IzV8Ov0aAhD_oP4#-3Ybg%i{9mj;S8Qhn>@1y#z zs(%5vYhZ!$^3NE8cNQqdb79TBW6ghV0zW?3{Nl)fTh?{4YD%5qSUr literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/mm/Makefile b/linux-0.11-lab - 副本/3/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab - 副本/3/linux/mm/memory.c b/linux-0.11-lab - 副本/3/linux/mm/memory.c new file mode 100644 index 0000000..494e147 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/mm/memory.c @@ -0,0 +1,468 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(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 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: 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; + 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 + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + if (current->pid > 5) + printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); + + 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_page2(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + // printk(" --do_no_page2: address=%x, pid=%d\n", address, current->pid); + 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 mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; i 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 VA3M(b*okQ;yExX+?DFH4{{-R;EwKOq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/mm/page.o b/linux-0.11-lab - 副本/3/linux/mm/page.o new file mode 100644 index 0000000000000000000000000000000000000000..da4852668a6d8b88d91c428ae8572bb3d4d2090d GIT binary patch literal 640 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 N^|Cbi(V*L${{d;jp)>#h literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/tools/build.c b/linux-0.11-lab - 副本/3/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab - 副本/3/linux/tools/system b/linux-0.11-lab - 副本/3/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..0efd31151c0c689ac176950372c2b025212bb364 GIT binary patch literal 295975 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

%7R~@nO5$;$%}?VSaYR$*W|OdFA70 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

S~UX|geUcAP6RD}?6s_LY{rox@{_rc?fAp> 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 DuB2TL literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/b/011/.vscode/c_cpp_properties.json b/linux-0.11-lab - 副本/b/011/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..420edf5 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "Mac", + "includePath": [ + "${default}", + "${workspaceFolder}/include/**" + ], + "defines": [], + "macFrameworkPath": [], + "compilerPath": "/usr/local/bin/gcc", + "cStandard": "gnu11", + "cppStandard": "c++17", + "intelliSenseMode": "gcc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/b/011/.vscode/settings.json b/linux-0.11-lab - 副本/b/011/.vscode/settings.json new file mode 100644 index 0000000..3ae3fab --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "new.h": "c" + } +} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/b/011/Makefile b/linux-0.11-lab - 副本/b/011/Makefile new file mode 100644 index 0000000..da59521 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/Makefile @@ -0,0 +1,27 @@ +FILES =execve2 execve getdents pipe sleep getcwd mmap munmap clone + +INC =-nostdinc -I./include + +.PHONY: all test clean +all: echo + for i in $(FILES); \ + do \ + (gcc $(INC) $$i.c -o $$i); \ + done + +${FILES}: echo + gcc $(INC) $@.c -o $@ + +echo: echo.c + gcc $(INC) $@.c -o $@ + +test: echo + @for i in $(FILES); \ + do \ + (echo "--------------testing " $$i":"); \ + (./$$i); \ + done + +clean: + -(rm ${FILES}; \ + rm *.o a.out *.log echo test_mmap.txt) > /dev/null 2>&1 diff --git a/linux-0.11-lab - 副本/b/011/README b/linux-0.11-lab - 副本/b/011/README new file mode 100644 index 0000000..859a3a6 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/README @@ -0,0 +1,19 @@ +1.新的系统调用号定义在../include/unistd.h中。 + +2.为了在Linux 0.11中顺利进行make,需要在bochs虚拟机中对硬盘作一些调整,如下: +cd /bin +mv sh sh.old +ln bash sh + +3.编译 +编译所有文件: + make + +编译某个文件,如: + make execve2 + +4.测试 +make test + +4.清除中间文件 +make clean \ No newline at end of file diff --git a/linux-0.11-lab - 副本/b/011/clone.c b/linux-0.11-lab - 副本/b/011/clone.c new file mode 100644 index 0000000..a2cd72c --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/clone.c @@ -0,0 +1,66 @@ +/* + * 测试成功时输出: + * "clone success." + * 测试失败时输出: + * "clone error." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include "new.h" + +int clone(int (*fn)(void *), void *child_stack, ...) +{ + register int res; + va_list arg; + + va_start(arg,child_stack); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (fn),"c" (child_stack), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} + +size_t stack[1024] = {0}; +static int child_pid; +int g_shared = 0; + +static int child_func(void * arg){ + g_shared = 1; + printf(" Child says hello.\n"); + return 0; +} + +void test_clone(void){ + int wstatus, ret; + child_pid = clone(child_func, stack+1024, SIGCHLD|CLONE_VM); + assert(child_pid != -1); + + if (child_pid == 0){ + exit(0); + } + printf("child pid: %d\n", child_pid); + + ret = wait(&wstatus); + if(ret == child_pid) { + if (g_shared == 1) { + printf("clone success.\n"); + } + } + else { + printf("clone error.\n"); + } +} + +int main(void){ + test_clone(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/echo.c b/linux-0.11-lab - 副本/b/011/echo.c new file mode 100644 index 0000000..23670e5 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/echo.c @@ -0,0 +1,12 @@ +#include +#include +#include + +int main(int argc, char **argv) +{ + if (argc == 1) + return EXIT_FAILURE; + + write(1, argv[1], strlen(argv[1])); + return EXIT_SUCCESS; +} diff --git a/linux-0.11-lab - 副本/b/011/execve.c b/linux-0.11-lab - 副本/b/011/execve.c new file mode 100644 index 0000000..ee04556 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/execve.c @@ -0,0 +1,21 @@ +/* + * 测试成功则输出: + * "I am test_echo." + * 测试失败则输出: + * "execve error." + */ +#include +#include +#include + +void test_execve(void){ + char *argv[] = {"./echo", "I am test_echo.\n", NULL}; + char *env[] = {NULL}; + execve("./echo", argv, env); + printf("execve error.\n"); +} + +int main(void){ + test_execve(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/execve2.c b/linux-0.11-lab - 副本/b/011/execve2.c new file mode 100644 index 0000000..58b0026 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/execve2.c @@ -0,0 +1,24 @@ +/* + * 测试成功则输出: + * "I am test_echo." + * 测试失败则输出: + * "execve2 error." + */ +#define __LIBRARY__ +#include +#include +#include + +_syscall3(int,execve2,const char *,file,char **,argv,char **,envp) + +void test_execve2(void){ + char *argv[] = {"./echo", "I am test_echo.\n", NULL}; + char *env[] = {NULL}; + execve2("./echo", argv, env); + printf("execve2 error.\n"); +} + +int main(void){ + test_execve2(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/getcwd.c b/linux-0.11-lab - 副本/b/011/getcwd.c new file mode 100644 index 0000000..4d01263 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/getcwd.c @@ -0,0 +1,39 @@ +/* + * 测试通过时输出: + * "getcwd OK." + * 测试失败时输出: + * "getcwd ERROR." + */ +#define __LIBRARY__ +#include +#include +#include +#include + +char * getcwd(char * buf, size_t size) +{ + long __res; + __asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_getcwd),"b" ((long)(buf)),"c" ((long)(size))); \ + if (__res > 0) + return (char *) __res; + errno = -__res; + return NULL; +} + +void test_getcwd(void){ + char *cwd = NULL; + char buf[128] = {0}; + cwd = getcwd(buf, 128); + if(cwd != NULL) { + printf("current dir: %s\n", buf); + printf("getcwd OK.\n"); + } + else printf("getcwd ERROR.\n"); +} + +int main(void){ + test_getcwd(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/getdents.c b/linux-0.11-lab - 副本/b/011/getdents.c new file mode 100644 index 0000000..cd47a65 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/getdents.c @@ -0,0 +1,43 @@ +/* + * 成功测试时的输出: + * "getdents success." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include "new.h" + +_syscall3(int,getdents,int,fd,struct linux_dirent *,dirp,unsigned long,len) + +char buf[512]; +void test_getdents(void){ + int fd, nread, bpos; + struct linux_dirent *dirp, *tmp; + dirp = (struct linux_dirent *)buf; + fd = open(".", O_RDONLY); + printf("open fd: %d\n", fd); + + nread = getdents(fd, dirp, 512); + printf("getdents fd: %d\n", nread); + assert(nread != -1); + + for(bpos = 0; bpos < nread;){ + tmp = (struct linux_dirent *)(buf + bpos); + printf( "%s\t", tmp->d_name); + bpos += tmp->d_reclen; + printf("%d\n",bpos); + } + printf("\n"); + + printf("getdents success.\n"); + close(fd); +} + +int main(void){ + test_getdents(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/include/.DS_Store b/linux-0.11-lab - 副本/b/011/include/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b7d4bb16244f79c20edeec49d891fe89f30ff307 GIT binary patch literal 6148 zcmeHKJ5Iwu5S<|@f@mVqQ0^5{(XJwMf?NP8mY~3Lq>zHn9jD|9oPjqVKG7;EDd3GX z`@A#r*7hqr9ud*?pdpm>JCnV<$o}b} z;b&$TyRJVxZ$;kp{r2+un=_34iOlY?IqlqYFh>Qb02QDDRN%iTfSzr(xC-P-1*iZO z_)@^W4+U;m6Q@A`bYSrj0BFDQZn*YY0$3~ntcg<~A}|dqFsPa%h6Ww+l65t43Jkhv z4j-C#)|^n(?~e0}my6awu2g^u94j!3?b7=H9sI=ne@x x&U$Tu-@`u*wO)?JTQSgEF*eqUZ+_GjyGFhyPJvEG-04962$(K3D)1W$d;pa~BPRd= literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/b/011/include/assert.h b/linux-0.11-lab - 副本/b/011/include/assert.h new file mode 100644 index 0000000..26b5d13 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/assert.h @@ -0,0 +1,34 @@ +/* Allow this file to be included multiple times + with different settings of NDEBUG. */ +#undef assert +#undef __assert + +#ifdef NDEBUG +#define assert(ignore) ((void)0) +#else + +void __eprintf (); /* Defined in gnulib */ + +#ifdef __STDC__ + +#define assert(expression) \ + ((expression) ? 0 : (__assert (#expression, __FILE__, __LINE__), 0)) + +#define __assert(expression, file, line) \ + (__eprintf ("Failed assertion `%s' at line %d of `%s'.\n", \ + expression, line, file), \ + abort ()) + +#else /* no __STDC__; i.e. -traditional. */ + +#define assert(expression) \ + ((expression) ? 0 : __assert (expression, __FILE__, __LINE__)) + +#define __assert(expression, file, lineno) \ + (__eprintf ("Failed assertion `%s' at line %d of `%s'.\n", \ + "expression", lineno, file), \ + abort ()) + +#endif /* no __STDC__; i.e. -traditional. */ + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/fcntl.h b/linux-0.11-lab - 副本/b/011/include/fcntl.h new file mode 100644 index 0000000..0eadd32 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/fcntl.h @@ -0,0 +1,56 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +/* I don't think this should be included like this, but it's easier */ +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/signal.h b/linux-0.11-lab - 副本/b/011/include/signal.h new file mode 100644 index 0000000..ad599f0 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/signal.h @@ -0,0 +1,69 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ +#define SIG_ERR ((void (*)(int))-1) /* error return from signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab - 副本/b/011/include/stdarg.h b/linux-0.11-lab - 副本/b/011/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab - 副本/b/011/include/stdio.h b/linux-0.11-lab - 副本/b/011/include/stdio.h new file mode 100644 index 0000000..a779059 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/stdio.h @@ -0,0 +1,256 @@ +#ifndef _STDIO_H +#define _STDIO_H + +/* s t d i o + * + * Author: C. E. Chew + * Date: August 1989 + * + * (C) Copyright C E Chew + * + * Feel free to copy, use and distribute this software provided: + * + * 1. you do not pretend that you wrote it + * 2. you leave this copyright notice intact. + * + * Definitions and user interface for the stream io package. + * + * Patchlevel 2.0 + * + * Edit History: + */ + +/* Site specific definitions */ +/*@*/ +#ifndef NULL +# define NULL ((void *)0) +#endif +#define _STDIO_UCHAR_ 0 +#define _STDIO_VA_LIST_ char * +#define _STDIO_SIZE_T_ unsigned int /* type returned by sizeof */ +#define _STDIO_USIZE_T_ unsigned int +/*=*/ + +/* Definitions based on ANSI compiler */ +#ifdef __STDC__ +# ifndef _STDIO_P_ +# define _STDIO_P_(x) x +# endif +# ifndef _STDIO_VA_ +# define _STDIO_VA_ , ... +# endif +# ifndef _STDIO_UCHAR_ +# define _STDIO_UCHAR_ 0 +# endif +#else +# ifndef _STDIO_P_ +# define _STDIO_P_(x) () +# endif +# ifndef _STDIO_VA_ +# define _STDIO_VA_ +# endif +# ifndef _STDIO_UCHAR_ +# define _STDIO_UCHAR_ (0xff) +# endif +#endif + +#ifndef _STDIO_VA_LIST_ +# define _STDIO_VA_LIST_ void * +#endif + +#ifndef _STDIO_SIZE_T_ +# define _STDIO_SIZE_T_ unsigned int +#endif + +#ifndef _STDIO_USIZE_T_ +# define _STDIO_USIZE_T_ unsigned int +#endif + +/* ANSI Definitions */ +#define BUFSIZ 1024 /* default buffer size */ + +#ifndef NULL +# define NULL ((void *) 0) /* null pointer */ +#endif + +#define EOF (-1) /* eof flag */ +#define FOPEN_MAX 16 /* minimum guarantee */ +#define FILENAME_MAX 127 /* maximum length of file name */ + +#define SEEK_SET 0 /* seek from beginning */ +#define SEEK_CUR 1 /* seek from here */ +#define SEEK_END 2 /* seek from end */ + +#define TMP_MAX (0xffff) /* maximum number of temporaries */ + +#define L_tmpnam (5 + 8 + 4 + 1 + 1) /* length of temporary file name */ + +#ifndef _FPOS_T +# define _FPOS_T + typedef long fpos_t; /* stream positioning */ +#endif + +#ifndef _SIZE_T +# define _SIZE_T + typedef _STDIO_SIZE_T_ size_t; /* sizeof type */ +#endif + +#define _IOFBF 000000 /* fully buffered io */ +#define _IOREAD 000001 /* opened for reading */ +#define _IOWRITE 000002 /* opened for writing */ +#define _IONBF 000004 /* unbuffered */ +#define _IOMYBUF 000010 /* allocated buffer */ +#define _IOPOOLBUF 000020 /* buffer belongs to pool */ +#define _IOEOF 000040 /* eof encountered */ +#define _IOERR 000100 /* error encountered */ +#define _IOSTRING 000200 /* strings */ +#define _IOLBF 000400 /* line buffered */ +#define _IORW 001000 /* opened for reading and writing */ +#define _IOAPPEND 002000 /* append mode */ +#define _IOINSERT 004000 /* insert into __iop chain */ +#define _IOSTDX 030000 /* standard stream */ + +#define _IOSTDIN 010000 /* stdin indication */ +#define _IOSTDOUT 020000 /* stdout indication */ +#define _IOSTDERR 030000 /* stderr indication */ + +#define _IORETAIN (_IOSTDX | _IOINSERT) /* flags to be retained */ + +/* Implementation Definitions */ + +typedef char __stdiobuf_t; /* stdio buffer type */ +typedef _STDIO_USIZE_T_ __stdiosize_t; /* unsigned size_t */ + +typedef struct __iobuf { + __stdiobuf_t *__rptr; /* pointer into read buffer */ + __stdiobuf_t *__rend; /* point at end of read buffer */ + __stdiobuf_t *__wptr; /* pointer into write buffer */ + __stdiobuf_t *__wend; /* point at end of write buffer */ + __stdiobuf_t *__base; /* base of buffer */ + __stdiosize_t __bufsiz; /* size of buffer */ + short __flag; /* flags */ + char __file; /* channel number */ + __stdiobuf_t __buf; /* small buffer */ + int (*__filbuf) _STDIO_P_((struct __iobuf *)); /* fill input buffer */ + int (*__flsbuf) _STDIO_P_((int, struct __iobuf *)); /* flush output buffer */ + int (*__flush) _STDIO_P_((struct __iobuf *)); /* flush buffer */ + struct __iobuf *__next; /* next in chain */ +} FILE; + +extern FILE __stdin; /* stdin */ +extern FILE __stdout; /* stdout */ +extern FILE __stderr; /* stderr */ + +#define stdin (&__stdin) +#define stdout (&__stdout) +#define stderr (&__stderr) + +/* ANSI Stdio Requirements */ + +int getc _STDIO_P_((FILE *)); +#if _STDIO_UCHAR_ +# define getc(p) ((p)->__rptr>=(p)->__rend\ + ?(*(p)->__filbuf)(p)\ + :(int)(*(p)->__rptr++&_STDIO_UCHAR_)) +#else +# define getc(p) ((p)->__rptr>=(p)->__rend\ + ?(*(p)->__filbuf)(p)\ + :(int)((unsigned char)(*(p)->__rptr++))) +#endif + +int getchar _STDIO_P_((void)); +#define getchar() getc(stdin) + +int putc _STDIO_P_((int, FILE *)); +#if _STDIO_UCHAR_ +# define putc(x,p) ((p)->__wptr>=(p)->__wend\ + ?(*(p)->__flsbuf)((x),(p))\ + :(int)(*(p)->__wptr++=(x)&_STDIO_UCHAR_)) +#else +# define putc(x,p) ((p)->__wptr>=(p)->__wend\ + ?(*(p)->__flsbuf)((x),(p))\ + :(int)((unsigned char)(*(p)->__wptr++=(x)))) +#endif + +int putchar _STDIO_P_((int)); +#define putchar(x) putc(x,stdout) + +int feof _STDIO_P_((FILE *)); +#define feof(p) (((p)->__flag&_IOEOF)!=0) + +int ferror _STDIO_P_((FILE *)); +#define ferror(p) (((p)->__flag&_IOERR)!=0) + +void clearerr _STDIO_P_((FILE *)); +#define clearerr(p) ((p)->__flag&=~(_IOEOF|_IOERR)) + +FILE *fopen _STDIO_P_((const char *, const char *)); +FILE *freopen _STDIO_P_((const char *, const char *, FILE *)); +int fflush _STDIO_P_((FILE *)); +int fclose _STDIO_P_((FILE *)); + +int fgetpos _STDIO_P_((FILE *, fpos_t *)); +int fsetpos _STDIO_P_((FILE *, fpos_t *)); +long ftell _STDIO_P_((FILE *)); +int fseek _STDIO_P_((FILE *, long, int)); +void rewind _STDIO_P_((FILE *)); + +int fgetc _STDIO_P_((FILE *)); +int fputc _STDIO_P_((int, FILE *)); +__stdiosize_t fread _STDIO_P_((void *, __stdiosize_t, + __stdiosize_t, FILE *)); +__stdiosize_t fwrite _STDIO_P_((void *, __stdiosize_t, + __stdiosize_t, FILE *)); + +int getw _STDIO_P_((FILE *)); +int putw _STDIO_P_((int, FILE *)); +char *gets _STDIO_P_((char *)); +char *fgets _STDIO_P_((char *, int, FILE *)); +int puts _STDIO_P_((const char *)); +int fputs _STDIO_P_((const char *, FILE *)); + +int ungetc _STDIO_P_((int, FILE *)); + +int printf _STDIO_P_((const char * _STDIO_VA_)); +int fprintf _STDIO_P_((FILE *, const char * _STDIO_VA_)); +int sprintf _STDIO_P_((char *, const char * _STDIO_VA_)); +int vprintf _STDIO_P_((const char *, _STDIO_VA_LIST_)); +int vfprintf _STDIO_P_((FILE *, const char *, _STDIO_VA_LIST_)); +int vsprintf _STDIO_P_((char *, const char *, _STDIO_VA_LIST_)); +int scanf _STDIO_P_((const char * _STDIO_VA_)); +int fscanf _STDIO_P_((FILE *, const char * _STDIO_VA_)); +int sscanf _STDIO_P_((const char *, const char * _STDIO_VA_)); + +void setbuf _STDIO_P_((FILE *, char *)); +int setvbuf _STDIO_P_((FILE *, char *, int, __stdiosize_t)); + +int rename _STDIO_P_((const char *, const char *)); +int remove _STDIO_P_((const char *)); + +void perror _STDIO_P_((const char *)); + +char * tmpnam _STDIO_P_((char *)); +FILE * tmpfile _STDIO_P_((void)); + +/* Posix Definitions */ +int unlink _STDIO_P_((const char *)); +#define remove(x) unlink((x)) + +#define L_ctermid 9 +char * ctermid _STDIO_P_((char *s)); + +#define L_cuserid 9 +char * cuserid _STDIO_P_((char *s)); + +FILE *fdopen _STDIO_P_((int, const char *)); + +int fileno _STDIO_P_((FILE *)); +#define fileno(p) ((p)->__file) + +#undef _STDIO_P_ +#undef _STDIO_VA_ +#undef _STDIO_VA_LIST_ +/*ndef _STDIO_UCHAR_*/ +#undef _STDIO_SIZE_T_ +#undef _STDIO_USIZE_T_ +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/stdlib.h b/linux-0.11-lab - 副本/b/011/include/stdlib.h new file mode 100644 index 0000000..7880598 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/stdlib.h @@ -0,0 +1,43 @@ +#ifndef _STDLIB_H +#define _STDLIB_H + +#include + +#define EXIT_SUCCESS 0 +#define EXIT_FAILURE 1 + +extern double atof(const char * s); +extern int atoi(const char *s); +extern long atol(const char *s); +extern double strtod(const char *s, char **endp); +extern long strtol(const char *s, char **endp, int base); +extern unsigned long strtoul(const char *s, char **endp, int base); +extern int rand(void); +extern void srand(unsigned int seed); +extern void * calloc(size_t nobj, size_t size); +extern void * malloc(size_t size); +extern void * realloc(void * p, size_t size); +extern void free(void * p); +extern void abort(void); +extern volatile void exit(int status); +extern int atexit(void (*fcn)(void)); +extern int system(const char *s); +extern char * getenv(const char *name); +extern void * bsearch(const void *key, const void *base, + size_t n, size_t size, + int (*cmp)(const void *keyval, const void *datum)); +extern void qsort(void *base, size_t n, size_t size, + int (*cmp)(const void *,const void *)); +extern int abs(int n); +extern long labs(long n); +extern div_t div(int num, int denom); +extern ldiv_t ldiv(long num, long denom); +extern char * getcwd(char * buf, size_t size); + +#ifdef __GNUC__ +#define __alloca(n) __builtin_alloca(n) +#else +#define __alloca(n) alloca(n) +#endif + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/string.h b/linux-0.11-lab - 副本/b/011/include/string.h new file mode 100644 index 0000000..05a6d9c --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest):"si","di","ax"); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count):"si","di","ax","cx"); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff):"si","di","ax","cx"); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + :"si","di","ax","cx"); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct):"si","di"); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count):"si","di","cx"); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c):"si"); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c):"ax","si"); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + :"ax","cx","dx","di"); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + :"ax","cx","dx","di"); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + :"ax","cx","dx","di"); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + :"cx","dx","di","si"); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res __asm__("cx"); +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff):"di"); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + :"ax","cx","dx","di"); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + :"cx","si","di"); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/sys/times.h b/linux-0.11-lab - 副本/b/011/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/sys/types.h b/linux-0.11-lab - 副本/b/011/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/sys/utsname.h b/linux-0.11-lab - 副本/b/011/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/unistd.h b/linux-0.11-lab - 副本/b/011/include/unistd.h new file mode 100644 index 0000000..61dd3fe --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/unistd.h @@ -0,0 +1,278 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_execve2 87 +#define __NR_getdents 88 +#define __NR_pipe2 89 +#define __NR_sleep 90 +#define __NR_getcwd 91 +#define __NR_mmap 92 +#define __NR_munmap 93 +#define __NR_clone 94 + +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab - 副本/b/011/include/utime.h b/linux-0.11-lab - 副本/b/011/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab - 副本/b/011/mmap.c b/linux-0.11-lab - 副本/b/011/mmap.c new file mode 100644 index 0000000..5ac36eb --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/mmap.c @@ -0,0 +1,62 @@ +/* + * 测试成功时输出: + * " Hello, mmap success." + * 测试失败时输出: + * "mmap error." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include +#include +#include "new.h" + +_syscall2(int,munmap,void *,addr,size_t,length) + +void *mmap(void *addr, size_t length, ...) +{ + register int res; + va_list arg; + + va_start(arg,length); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (addr),"c" (length), + "d" (va_arg(arg,int))); + if (res>=0) + return (void *)res; + errno = -res; + return (void *)-1; +} + +static struct stat kst; +void test_mmap(void){ + char *array; + const char *str = " Hello, mmap success."; + int fd; + + fd = open("test_mmap.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR); + write(fd, str, strlen(str)); + fstat(fd, &kst); + printf("file len: %d\n", (int)kst.st_size); + array = mmap(NULL, kst.st_size, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, fd, 0); + printf("mmap addr: %x\n", (unsigned int)array); + + if (array == MAP_FAILED) { + printf("mmap error.\n"); + }else{ + printf("mmap content: %s\n", array); + munmap(array, kst.st_size); + } + + close(fd); +} + +int main(void){ + test_mmap(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/munmap.c b/linux-0.11-lab - 副本/b/011/munmap.c new file mode 100644 index 0000000..ddda571 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/munmap.c @@ -0,0 +1,70 @@ +/* + * 测试成功时输出: + * "munmap success." + * 测试失败时输出: + * "munmap error." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include +#include +#include +#include +#include "new.h" + +_syscall2(int,munmap,void *,addr,size_t,length) + +void *mmap(void *addr, size_t length, ...) +{ + register int res; + va_list arg; + + va_start(arg,length); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (addr),"c" (length), + "d" (va_arg(arg,int))); + if (res>=0) + return (void *)res; + errno = -res; + return (void *)-1; +} + +static struct stat kst; +void test_unmmap(void){ + char *array; + const char *str = " Hello, mmap success."; + int fd, ret; + + fd = open("test_mmap.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR); + write(fd, str, strlen(str)); + fstat(fd, &kst); + printf("file len: %d\n", (int)kst.st_size); + array = mmap(NULL, kst.st_size, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, fd, 0); + printf("mmap addr: %x\n", (unsigned int)array); + + if (array == MAP_FAILED) { + printf("mmap error.\n"); + }else{ + printf("mmap content: %s\n", array); + + ret = munmap(array, kst.st_size); + printf("munmap return: %d\n", ret); + + if (ret == 0) { + printf("munmap success.\n"); + } else { + printf("munmap error.\n"); + } + } + + close(fd); +} + +int main(void){ + test_unmmap(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/new.h b/linux-0.11-lab - 副本/b/011/new.h new file mode 100644 index 0000000..14fd9f7 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/new.h @@ -0,0 +1,30 @@ +#ifndef _NEW_H +#define _NEW_H + +#include + +struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char * d_name[14]; +}; + +/* Return value of `mmap' in case of an error. */ +#define MAP_FAILED ((void *) -1) + +#define PROT_READ 0x1 /* page can be read */ +#define PROT_WRITE 0x2 /* page can be written */ +#define PROT_EXEC 0x4 /* page can be executed */ +#define PROT_SEM 0x8 /* page may be used for atomic ops */ +#define PROT_NONE 0x0 /* page can not be accessed */ + +/* compatibility flags */ +#define MAP_FILE 0 + +#define MAP_SHARED 0x01 /* Share changes */ +#define MAP_PRIVATE 0x02 /* Changes are private */ + +#define CLONE_VM 0x00000100 /* set if VM shared between processes */ + +#endif diff --git a/linux-0.11-lab - 副本/b/011/oscomp_syscalls.html b/linux-0.11-lab - 副本/b/011/oscomp_syscalls.html new file mode 100644 index 0000000..3f766c6 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/oscomp_syscalls.html @@ -0,0 +1,414 @@ + + oscomp_syscalls + + + + + + + + + + + + + + + + +
+

系统调用的说明以及调用方式

+ +

系统调用号存放在eax寄存器中, 参数一般不超过3个,分别储存在ebx、ecx、edx寄存器中。
+返回值保存在eax中。

+

主要参考了Linux 5.10 syscalls,详细请参见:https://man7.org/linux/man-pages/man2/syscalls.2.html ;也可以在实验用的Ubuntu虚拟机中用man命令查看,如man getdents。

+

系统调用execve2

+ +
#define __NR_execve2 87
+int execve2(const char *path, char * argv[], char * envp[]);
+
    +
  • 功能:以立即加载方式执行一个指定的程序。此系统调用结束后,进程运行时不应再发生代码段和数据段中的缺页故障。
  • +
  • 输入: +
      +
    • path: 待执行程序路径名称,
    • +
    • argv: 程序的参数,
    • +
    • envp: 环境变量的数组指针
    • +
    +
  • +
  • 返回值:成功不返回,失败返回-1;
  • +
+

系统调用getdents

+ +
#define __NR_getdents 88
+int getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count);
+
    +
  • 功能:获取目录的目录项。
  • +
  • 输入: +
      +
    • fd:所要读取目录的文件描述符。
    • +
    • dirp:一个缓存区,用于保存所读取目录的信息。缓存区的结构如下:
    • +
    +
  • +
+
  struct linux_dirent {
+    long           d_ino;
+    off_t          d_off;
+    unsigned short d_reclen;
+    char           d_name[];
+};
+
- count:dirp的大小。
+
+
    +
  • 返回值:成功执行,返回读取的字节数。当到目录结尾,则返回0。失败,则返回-1。
  • +
+

系统调用pipe2

+ +
#define __NR_pipe2 89
+int pipe2(int fd[2], int flags);
+
    +
  • 功能:创建管道;
  • +
  • 输入: +
      +
    • fd[2]: 用于保存2个文件描述符。其中,fd[0]为管道的读出端,fd[1]为管道的写入端。
    • +
    • flags: 标志;如果为0,则pipe2的行为与系统调用pipe相同。
      +*返回值:成功执行,返回0。失败,返回-1。
    • +
    +
  • +
+

系统调用sleep

+ +
#define __NR_sleep 90
+int sleep(unsigned int seconds);
+
    +
  • 功能:执行进程睡眠;
  • +
  • 输入:睡眠的时间间隔; +
      +
    • seconds: 秒
    • +
    +
  • +
  • 返回值:成功返回0,失败返回-1;
  • +
+

系统调用getcwd

+ +
#define __NR_getcwd 91
+long getcwd(char * buf, size_t size);
+
    +
  • 功能:获取当前工作目录;
  • +
  • 输入: +
      +
    • char *buf:一块缓存区,用于保存当前工作目录的字符串。当buf设为NULL,由系统来分配缓存区。
    • +
    • size:buf缓存区的大小。
    • +
    +
  • +
  • 返回值:成功执行,则返回当前工作目录的字符串的指针。失败,则返回NULL。
  • +
+

系统调用mmap

+ +
#define __NR_mmap 92
+long mmap(void *start, size_t len, int prot, int flags, 
+    int fd, off_t off);
+
    +
  • 功能:将文件或设备映射到内存中;
  • +
  • 输入: +
      +
    • start: 映射起始位置
    • +
    • len: 长度
    • +
    • prot: 映射的内存保护方式,可取:PROT_EXEC, PROT_READ, PROT_WRITE, PROT_NONE
    • +
    • flags: 映射是否与其他进程共享的标志,可取:MAP_FILE, MAP_SHARED, MAP_PRIVATE
    • +
    • fd: 文件句柄
    • +
    • off: 文件偏移量
    • +
    +
  • +
  • 返回值:成功返回已映射区域的指针,失败返回-1;
  • +
+

系统调用munmap

+ +
#define __NR_munmap 93
+int munmap(void * start, size_t len);
+
    +
  • 功能:将文件或设备取消映射到内存中;
  • +
  • 输入: +
      +
    • start: 映射的指定地址
    • +
    • len: 区间长度
    • +
    +
  • +
  • 返回值:成功返回0,失败返回-1;
  • +
+

系统调用clone

+ +
#define __NR_clone 94
+int clone(int (*fn)(void *), void *child_stack, int flags, void *arg);
+
    +
  • 功能:创建一个子进程;
  • +
  • 输入: +
      +
    • fn: 子进程的主函数
    • +
    • child_stack: 指定新进程的栈,可为0。
    • +
    • flags: 创建的标志,如SIGCHLD、CLONE_VM,其中CLONE_VM表示子进程共享父进程的地址空间(除栈以外)。
    • +
    • arg: 主函数的参数
    • +
    +
  • +
  • 返回值:成功则返回子进程的线程ID,失败返回-1;
  • +
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/linux-0.11-lab - 副本/b/011/oscomp_syscalls.md b/linux-0.11-lab - 副本/b/011/oscomp_syscalls.md new file mode 100644 index 0000000..81ae8f4 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/oscomp_syscalls.md @@ -0,0 +1,111 @@ +# 系统调用的说明以及调用方式 +系统调用号存放在eax寄存器中, 参数一般不超过3个,分别储存在ebx、ecx、edx寄存器中。 +返回值保存在eax中。 + +主要参考了Linux 5.10 syscalls,详细请参见:https://man7.org/linux/man-pages/man2/syscalls.2.html ;也可以在实验用的Ubuntu虚拟机中用man命令查看,如man getdents。 + +## 系统调用execve2 +``` +#define __NR_execve2 87 +int execve2(const char *path, char * argv[], char * envp[]); +``` +* 功能:以立即加载方式执行一个指定的程序。此系统调用结束后,进程运行时不应再发生代码段和数据段中的缺页故障。 +* 输入: + - path: 待执行程序路径名称, + - argv: 程序的参数, + - envp: 环境变量的数组指针 +* 返回值:成功不返回,失败返回-1; + +## 系统调用getdents +``` +#define __NR_getdents 88 +int getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count); +``` +* 功能:获取目录的目录项。 +* 输入: + - fd:所要读取目录的文件描述符。 + - dirp:一个缓存区,用于保存所读取目录的信息。缓存区的结构如下: +``` + struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[14]; +}; +``` + - count:dirp的大小。 +* 返回值:成功执行,返回读取的字节数。当到目录结尾,则返回0。失败,则返回-1。 +* current->filp[fd]->f_inode +* 目录文件描述符表 + +## 系统调用pipe2 +``` +#define __NR_pipe2 89 +int pipe2(int fd[2], int flags); +``` +* 功能:创建管道; +* 输入: + - fd[2]: 用于保存2个文件描述符。其中,fd[0]为管道的读出端,fd[1]为管道的写入端。 + - flags: 标志;如果为0,则pipe2的行为与系统调用pipe相同。 +* 返回值:成功执行,返回0。失败,返回-1。 + +## 系统调用sleep +``` +#define __NR_sleep 90 +int sleep(unsigned int seconds); +``` +* 功能:执行进程睡眠; +* 输入:睡眠的时间间隔; + - seconds: 秒 +* 返回值:成功返回0,失败返回-1; + +## 系统调用getcwd +``` +#define __NR_getcwd 91 +long getcwd(char * buf, size_t size); +``` +* 功能:获取当前工作目录; +* 输入: + - char *buf:一块缓存区,用于保存当前工作目录的字符串。当buf设为NULL,由系统来分配缓存区。 + - size:buf缓存区的大小。 +* 返回值:成功执行,则返回当前工作目录的字符串的指针。失败,则返回NULL。 + +## 系统调用mmap +``` +#define __NR_mmap 92 +long mmap(void *start, size_t len, int prot, int flags, + int fd, off_t off); +``` +* 功能:将文件或设备映射到内存中; +* 输入: + - start: 映射起始位置 + - len: 长度 + - prot: 映射的内存保护方式,可取:PROT_EXEC, PROT_READ, PROT_WRITE, PROT_NONE + - flags: 映射是否与其他进程共享的标志,可取:MAP_FILE, MAP_SHARED, MAP_PRIVATE + - fd: 文件句柄 + - off: 文件偏移量 +* 返回值:成功返回已映射区域的指针,失败返回-1; + +## 系统调用munmap +``` +#define __NR_munmap 93 +int munmap(void * start, size_t len); +``` +* 功能:将文件或设备取消映射到内存中; +* 输入: + - start: 映射的指定地址 + - len: 区间长度 +* 返回值:成功返回0,失败返回-1; + +## 系统调用clone +``` +#define __NR_clone 94 +int clone(int (*fn)(void *), void *child_stack, int flags, void *arg); +``` +* 功能:创建一个子进程; +* 输入: + - fn: 子进程的主函数 + - child_stack: 指定新进程的栈,可为0。 + - flags: 创建的标志,如SIGCHLD、CLONE_VM,其中CLONE_VM表示子进程共享父进程的地址空间(除栈以外)。 + - arg: 主函数的参数 +* 返回值:成功则返回子进程的线程ID,失败返回-1; diff --git a/linux-0.11-lab - 副本/b/011/pipe.c b/linux-0.11-lab - 副本/b/011/pipe.c new file mode 100644 index 0000000..67ba669 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/pipe.c @@ -0,0 +1,44 @@ +/* + * 成功测试时的输出: + * " Write to pipe successfully." + */ +#define __LIBRARY__ +#include +#include +#include +#include +#include + +_syscall2(int,pipe2,int *,pipefd,int,flags) + +static int fd[2]; + +void test_pipe(void){ + int cpid; + char buf[128] = {0}; + const char *data = " Write to pipe successfully.\n"; + + int ret = pipe2(fd, 0); + assert(ret != -1); + + cpid = fork(); + printf("cpid: %d\n", cpid); + if(cpid > 0){ + close(fd[1]); + while(read(fd[0], buf, 1) > 0) + write(STDOUT_FILENO, buf, 1); + write(STDOUT_FILENO, "\n", 1); + close(fd[0]); + wait(NULL); + }else{ + close(fd[0]); + write(fd[1], data, strlen(data)); + close(fd[1]); + exit(0); + } +} + +int main(void){ + test_pipe(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/011/sleep.c b/linux-0.11-lab - 副本/b/011/sleep.c new file mode 100644 index 0000000..84d84b1 --- /dev/null +++ b/linux-0.11-lab - 副本/b/011/sleep.c @@ -0,0 +1,36 @@ +/* + * 测试通过时的输出: + * "sleep success." + * 测试失败时的输出: + * "sleep error." + */ +#define __LIBRARY__ +#include +#include +#include +#include + +_syscall1(unsigned int,sleep,unsigned int,seconds) + +void test_sleep() { + time_t time1, time2; + int ret; + time(&time1); + assert(time1 >= 0); + ret = sleep(1); + assert(ret == 0); + time(&time2); + assert(time2 >= 0); + + if(time2 - time1 >= 1){ + printf("time passwd: %d\n", time2-time1); + printf("sleep success.\n"); + }else{ + printf("sleep error.\n"); + } +} + +int main(void) { + test_sleep(); + return 0; +} diff --git a/linux-0.11-lab - 副本/b/execve2.patch b/linux-0.11-lab - 副本/b/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab - 副本/b/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab - 副本/b/test-011.tgz b/linux-0.11-lab - 副本/b/test-011.tgz new file mode 100644 index 0000000000000000000000000000000000000000..92508fd05e44b94256a83e75834e74fb379fd474 GIT binary patch literal 15560 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/bochsout.txt b/linux-0.11-lab - 副本/bochsout.txt new file mode 100644 index 0000000..311a760 --- /dev/null +++ b/linux-0.11-lab - 副本/bochsout.txt @@ -0,0 +1,322 @@ +00000000000i[ ] Bochs x86 Emulator 2.6.9 +00000000000i[ ] Built from SVN snapshot on April 9, 2017 +00000000000i[ ] Compiled on Apr 24 2020 at 16:28:27 +00000000000i[ ] System configuration +00000000000i[ ] processors: 1 (cores=1, HT threads=1) +00000000000i[ ] A20 line support: yes +00000000000i[ ] IPS is set to 15000000 +00000000000i[ ] CPU configuration +00000000000i[ ] SMP support: no +00000000000i[ ] level: 6 +00000000000i[ ] APIC support: xapic +00000000000i[ ] FPU support: yes +00000000000i[ ] MMX support: yes +00000000000i[ ] 3dnow! support: no +00000000000i[ ] SEP support: yes +00000000000i[ ] SIMD support: sse2 +00000000000i[ ] XSAVE support: no +00000000000i[ ] AES support: no +00000000000i[ ] SHA support: no +00000000000i[ ] MOVBE support: no +00000000000i[ ] ADX support: no +00000000000i[ ] x86-64 support: no +00000000000i[ ] MWAIT support: yes +00000000000i[ ] Optimization configuration +00000000000i[ ] RepeatSpeedups support: no +00000000000i[ ] Fast function calls: no +00000000000i[ ] Handlers Chaining speedups: no +00000000000i[ ] Devices configuration +00000000000i[ ] PCI support: i440FX i430FX +00000000000i[ ] Networking: no +00000000000i[ ] Sound support: no +00000000000i[ ] USB support: no +00000000000i[ ] VGA extension support: vbe +00000000000i[MEM0 ] allocated memory at 0xb58a5008. after alignment, vector=0xb58a6000 +00000000000i[MEM0 ] 16.00MB +00000000000i[MEM0 ] mem block size = 0x00020000, blocks=128 +00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('/usr/local/share/bochs/BIOS-bochs-latest') +00000000000i[STIMER] using 'slowdown' timer synchronization method +00000000000i[PLUGIN] init_dev of 'pci' plugin device by virtual method +00000000000i[DEV ] i440FX PMC present at device 0, function 0 +00000000000i[PLUGIN] init_dev of 'pci2isa' plugin device by virtual method +00000000000i[DEV ] PIIX3 PCI-to-ISA bridge present at device 1, function 0 +00000000000i[PLUGIN] init_dev of 'cmos' plugin device by virtual method +00000000000i[CMOS ] Using local time for initial clock +00000000000i[CMOS ] Setting initial clock to: Thu Jul 8 09:33:25 2021 (time0=1625733205) +00000000000i[PLUGIN] init_dev of 'dma' plugin device by virtual method +00000000000i[DMA ] channel 4 used by cascade +00000000000i[PLUGIN] init_dev of 'pic' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'pit' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'vga' plugin device by virtual method +00000000000i[MEM0 ] Register memory access handlers: 0x0000000a0000 - 0x0000000bffff +00000000000i[VGA ] interval=66666, mode=realtime +00000000000i[MEM0 ] Register memory access handlers: 0x0000e0000000 - 0x0000e0ffffff +00000000000i[BXVGA ] VBE Bochs Display Extension Enabled +00000000000i[XGUI ] test_alloc_colors: 16 colors available out of 16 colors tried +00000000000i[XGUI ] font 8 wide x 16 high, display depth = 24 +00000000000i[MEM0 ] rom at 0xc0000/41472 ('/usr/local/share/bochs/VGABIOS-lgpl-latest') +00000000000i[PLUGIN] init_dev of 'floppy' plugin device by virtual method +00000000000i[DMA ] channel 2 used by Floppy Drive +00000000000i[FLOPPY] fd0: 'cur/linux/Image' ro=0, h=2,t=80,spt=18 +00000000000i[IMG ] redolog : Standard Header : magic='Bochs Virtual HD Image', type='Redolog', subtype='Volatile', version = 2.0 +00000000000i[IMG ] redolog : Specific Header : #entries=512, bitmap size=1, exent size = 4096 disk size = 1474560 +00000000000i[IMG ] 'vvfat' disk opened: directory is 'b/', redolog is 'b//vvfat.dir.dPDqBT' +00000000000i[FLOPPY] fd1: 'vvfat:b/' ro=0, h=2,t=80,spt=18 +00000000000i[FLOPPY] Using boot sequence floppy, none, none +00000000000i[FLOPPY] Floppy boot signature check is enabled +00000000000i[PLUGIN] init_dev of 'acpi' plugin device by virtual method +00000000000i[DEV ] ACPI Controller present at device 1, function 3 +00000000000i[PLUGIN] init_dev of 'ioapic' plugin device by virtual method +00000000000i[IOAPIC] initializing I/O APIC +00000000000i[MEM0 ] Register memory access handlers: 0x0000fec00000 - 0x0000fec00fff +00000000000i[IOAPIC] IOAPIC enabled (base address = 0xfec00000) +00000000000i[PLUGIN] init_dev of 'keyboard' plugin device by virtual method +00000000000i[KBD ] will paste characters every 400 keyboard ticks +00000000000i[PLUGIN] init_dev of 'harddrv' plugin device by virtual method +00000000000i[HD ] HD on ata0-0: 'images/rootimage-0.11', 'flat' mode +00000000000i[IMG ] hd_size: 10485760 +00000000000i[HD ] ata0-0: using specified geometry: CHS=512/2/20 +00000000000i[HD ] translation on ata0-0 set to 'none' +00000000000i[PLUGIN] init_dev of 'pci_ide' plugin device by virtual method +00000000000i[DEV ] PIIX3 PCI IDE controller present at device 1, function 1 +00000000000i[PLUGIN] init_dev of 'unmapped' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'biosdev' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'speaker' plugin device by virtual method +00000000000e[PCSPK ] Failed to open /dev/console: 权限不够 +00000000000e[PCSPK ] Deactivating beep on console +00000000000i[PLUGIN] init_dev of 'extfpuirq' plugin device by virtual method +00000000000i[PLUGIN] init_dev of 'parallel' plugin device by virtual method +00000000000i[PAR ] parallel port 1 at 0x0378 irq 7 +00000000000i[PLUGIN] init_dev of 'serial' plugin device by virtual method +00000000000i[SER ] com1 at 0x03f8 irq 4 (mode: null) +00000000000i[PLUGIN] register state of 'pci' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pci2isa' plugin device by virtual method +00000000000i[PLUGIN] register state of 'cmos' plugin device by virtual method +00000000000i[PLUGIN] register state of 'dma' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pic' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pit' plugin device by virtual method +00000000000i[PLUGIN] register state of 'vga' plugin device by virtual method +00000000000i[PLUGIN] register state of 'floppy' plugin device by virtual method +00000000000i[PLUGIN] register state of 'unmapped' plugin device by virtual method +00000000000i[PLUGIN] register state of 'biosdev' plugin device by virtual method +00000000000i[PLUGIN] register state of 'speaker' plugin device by virtual method +00000000000i[PLUGIN] register state of 'extfpuirq' plugin device by virtual method +00000000000i[PLUGIN] register state of 'parallel' plugin device by virtual method +00000000000i[PLUGIN] register state of 'serial' plugin device by virtual method +00000000000i[PLUGIN] register state of 'acpi' plugin device by virtual method +00000000000i[PLUGIN] register state of 'ioapic' plugin device by virtual method +00000000000i[PLUGIN] register state of 'keyboard' plugin device by virtual method +00000000000i[PLUGIN] register state of 'harddrv' plugin device by virtual method +00000000000i[PLUGIN] register state of 'pci_ide' plugin device by virtual method +00000000000i[SYS ] bx_pc_system_c::Reset(HARDWARE) called +00000000000i[CPU0 ] cpu hardware reset +00000000000i[APIC0 ] allocate APIC id=0 (MMIO enabled) to 0x0000fee00000 +00000000000i[CPU0 ] CPUID[0x00000000]: 00000005 756e6547 6c65746e 49656e69 +00000000000i[CPU0 ] CPUID[0x00000001]: 00000633 00010800 00000008 1fcbfbff +00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000005]: 00000040 00000040 00000003 00000020 +00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020 +00000000000i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75 +00000000000i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020 +00000000000i[CPU0 ] CPUID[0x80000005]: 01ff01ff 01ff01ff 40020140 40020140 +00000000000i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000 +00000000000i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000008]: 00002028 00000000 00000000 00000000 +00000000000i[PLUGIN] reset of 'pci' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pci2isa' plugin device by virtual method +00000000000i[PLUGIN] reset of 'cmos' plugin device by virtual method +00000000000i[PLUGIN] reset of 'dma' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pic' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pit' plugin device by virtual method +00000000000i[PLUGIN] reset of 'vga' plugin device by virtual method +00000000000i[PLUGIN] reset of 'floppy' plugin device by virtual method +00000000000i[PLUGIN] reset of 'acpi' plugin device by virtual method +00000000000i[PLUGIN] reset of 'ioapic' plugin device by virtual method +00000000000i[PLUGIN] reset of 'keyboard' plugin device by virtual method +00000000000i[PLUGIN] reset of 'harddrv' plugin device by virtual method +00000000000i[PLUGIN] reset of 'pci_ide' plugin device by virtual method +00000000000i[PLUGIN] reset of 'unmapped' plugin device by virtual method +00000000000i[PLUGIN] reset of 'biosdev' plugin device by virtual method +00000000000i[PLUGIN] reset of 'speaker' plugin device by virtual method +00000000000i[PLUGIN] reset of 'extfpuirq' plugin device by virtual method +00000000000i[PLUGIN] reset of 'parallel' plugin device by virtual method +00000000000i[PLUGIN] reset of 'serial' plugin device by virtual method +00000004661i[BIOS ] $Revision: 11761 $ $Date: 2013-08-02 17:59:49 +0200 (Fr, 02. Aug 2013) $ +00000322571i[KBD ] reset-disable command received +00000330815i[BIOS ] Starting rombios32 +00000331249i[BIOS ] Shutdown flag 0 +00000331845i[BIOS ] ram_size=0x01000000 +00000332266i[BIOS ] ram_end=16MB +00000481479i[BIOS ] Found 1 cpu(s) +00000495676i[BIOS ] bios_table_addr: 0x000fa468 end=0x000fcc00 +00000823473i[PCI ] i440FX PMC write to PAM register 59 (TLB Flush) +00000999990i[XGUI ] charmap update. Font is 9 x 16 +00001151400i[P2ISA ] PCI IRQ routing: PIRQA# set to 0x0b +00001151419i[P2ISA ] PCI IRQ routing: PIRQB# set to 0x09 +00001151438i[P2ISA ] PCI IRQ routing: PIRQC# set to 0x0b +00001151457i[P2ISA ] PCI IRQ routing: PIRQD# set to 0x09 +00001151467i[P2ISA ] write: ELCR2 = 0x0a +00001152233i[BIOS ] PIIX3/PIIX4 init: elcr=00 0a +00001159906i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 class=0x0600 +00001162176i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 class=0x0601 +00001164285i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 class=0x0101 +00001164514i[PIDE ] new BM-DMA address: 0xc000 +00001165131i[BIOS ] region 4: 0x0000c000 +00001167156i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 class=0x0680 +00001167389i[ACPI ] new irq line = 11 +00001167401i[ACPI ] new irq line = 9 +00001167430i[ACPI ] new PM base address: 0xb000 +00001167444i[ACPI ] new SM base address: 0xb100 +00001167472i[PCI ] setting SMRAM control register to 0x4a +00001331563i[CPU0 ] Enter to System Management Mode +00001331574i[CPU0 ] RSM: Resuming from System Management Mode +00001495592i[PCI ] setting SMRAM control register to 0x0a +00001510485i[BIOS ] MP table addr=0x000fa540 MPC table addr=0x000fa470 size=0xc8 +00001512241i[BIOS ] SMBIOS table addr=0x000fa550 +00001514423i[BIOS ] ACPI tables: RSDP addr=0x000fa670 ACPI DATA addr=0x00ff0000 size=0xf72 +00001517597i[BIOS ] Firmware waking vector 0xff00cc +00001519395i[PCI ] i440FX PMC write to PAM register 59 (TLB Flush) +00001520123i[BIOS ] bios_table_cur_addr: 0x000fa694 +00001647740i[VBIOS ] VGABios $Id: vgabios.c,v 1.76 2013/02/10 08:07:03 vruppert Exp $ +00001647811i[BXVGA ] VBE known Display Interface b0c0 +00001647843i[BXVGA ] VBE known Display Interface b0c5 +00001650768i[VBIOS ] VBE Bios $Id: vbe.c,v 1.64 2011/07/19 18:25:05 vruppert Exp $ +00001688955i[XGUI ] charmap update. Font is 9 x 16 +00001995333i[BIOS ] ata0-0: PCHS=512/2/20 translation=none LCHS=512/2/20 +00002163525i[XGUI ] charmap update. Font is 9 x 16 +00005872240i[BIOS ] IDE time out +00051753879i[BIOS ] Booting from 0000:7c00 +00095955864i[FLOPPY] partial read() on floppy image returns 388/512 +00096122529i[FLOPPY] read() on floppy image returns 0 +00096289194i[FLOPPY] read() on floppy image returns 0 +00096455859i[FLOPPY] read() on floppy image returns 0 +00096623570i[FLOPPY] read() on floppy image returns 0 +00096790235i[FLOPPY] read() on floppy image returns 0 +00096956900i[FLOPPY] read() on floppy image returns 0 +00097123565i[FLOPPY] read() on floppy image returns 0 +00097290230i[FLOPPY] read() on floppy image returns 0 +00097456895i[FLOPPY] read() on floppy image returns 0 +00097623560i[FLOPPY] read() on floppy image returns 0 +00097790225i[FLOPPY] read() on floppy image returns 0 +00097956890i[FLOPPY] read() on floppy image returns 0 +00098123555i[FLOPPY] read() on floppy image returns 0 +00098290220i[FLOPPY] read() on floppy image returns 0 +00098456885i[FLOPPY] read() on floppy image returns 0 +00098623550i[FLOPPY] read() on floppy image returns 0 +00098790215i[FLOPPY] read() on floppy image returns 0 +00098956880i[FLOPPY] read() on floppy image returns 0 +00099123545i[FLOPPY] read() on floppy image returns 0 +00099290210i[FLOPPY] read() on floppy image returns 0 +00099456875i[FLOPPY] read() on floppy image returns 0 +00099624588i[FLOPPY] read() on floppy image returns 0 +00099791253i[FLOPPY] read() on floppy image returns 0 +00099957918i[FLOPPY] read() on floppy image returns 0 +00100124583i[FLOPPY] read() on floppy image returns 0 +00100291248i[FLOPPY] read() on floppy image returns 0 +00100457913i[FLOPPY] read() on floppy image returns 0 +00100624578i[FLOPPY] read() on floppy image returns 0 +00100791243i[FLOPPY] read() on floppy image returns 0 +00100957908i[FLOPPY] read() on floppy image returns 0 +00101124573i[FLOPPY] read() on floppy image returns 0 +00101291238i[FLOPPY] read() on floppy image returns 0 +00101457903i[FLOPPY] read() on floppy image returns 0 +00101624568i[FLOPPY] read() on floppy image returns 0 +00101791233i[FLOPPY] read() on floppy image returns 0 +00101957898i[FLOPPY] read() on floppy image returns 0 +00102124563i[FLOPPY] read() on floppy image returns 0 +00102291228i[FLOPPY] read() on floppy image returns 0 +00102457893i[FLOPPY] read() on floppy image returns 0 +00102625609i[FLOPPY] read() on floppy image returns 0 +00102792274i[FLOPPY] read() on floppy image returns 0 +00102958939i[FLOPPY] read() on floppy image returns 0 +00103125604i[FLOPPY] read() on floppy image returns 0 +00103292269i[FLOPPY] read() on floppy image returns 0 +00103458934i[FLOPPY] read() on floppy image returns 0 +00103625599i[FLOPPY] read() on floppy image returns 0 +00103792264i[FLOPPY] read() on floppy image returns 0 +00103958929i[FLOPPY] read() on floppy image returns 0 +00104125594i[FLOPPY] read() on floppy image returns 0 +00104292259i[FLOPPY] read() on floppy image returns 0 +00104458924i[FLOPPY] read() on floppy image returns 0 +00104625589i[FLOPPY] read() on floppy image returns 0 +00104792254i[FLOPPY] read() on floppy image returns 0 +00104958919i[FLOPPY] read() on floppy image returns 0 +00105125584i[FLOPPY] read() on floppy image returns 0 +00105292249i[FLOPPY] read() on floppy image returns 0 +00105458914i[FLOPPY] read() on floppy image returns 0 +00105626631i[FLOPPY] read() on floppy image returns 0 +00105793296i[FLOPPY] read() on floppy image returns 0 +00105959961i[FLOPPY] read() on floppy image returns 0 +00106126626i[FLOPPY] read() on floppy image returns 0 +00106293291i[FLOPPY] read() on floppy image returns 0 +00106459956i[FLOPPY] read() on floppy image returns 0 +00106626621i[FLOPPY] read() on floppy image returns 0 +00106793286i[FLOPPY] read() on floppy image returns 0 +00106959951i[FLOPPY] read() on floppy image returns 0 +00107126616i[FLOPPY] read() on floppy image returns 0 +00107293281i[FLOPPY] read() on floppy image returns 0 +00107459946i[FLOPPY] read() on floppy image returns 0 +00107626611i[FLOPPY] read() on floppy image returns 0 +00107793276i[FLOPPY] read() on floppy image returns 0 +00107959941i[FLOPPY] read() on floppy image returns 0 +00108126606i[FLOPPY] read() on floppy image returns 0 +00108293271i[FLOPPY] read() on floppy image returns 0 +00108459936i[FLOPPY] read() on floppy image returns 0 +00108627648i[FLOPPY] read() on floppy image returns 0 +00108794313i[FLOPPY] read() on floppy image returns 0 +00108960978i[FLOPPY] read() on floppy image returns 0 +00109127643i[FLOPPY] read() on floppy image returns 0 +00109294308i[FLOPPY] read() on floppy image returns 0 +00109460973i[FLOPPY] read() on floppy image returns 0 +00109627638i[FLOPPY] read() on floppy image returns 0 +00109794303i[FLOPPY] read() on floppy image returns 0 +00109960968i[FLOPPY] read() on floppy image returns 0 +00110127633i[FLOPPY] read() on floppy image returns 0 +00110294298i[FLOPPY] read() on floppy image returns 0 +00110460963i[FLOPPY] read() on floppy image returns 0 +00110627628i[FLOPPY] read() on floppy image returns 0 +00110794293i[FLOPPY] read() on floppy image returns 0 +00110960958i[FLOPPY] read() on floppy image returns 0 +00111127623i[FLOPPY] read() on floppy image returns 0 +00111294288i[FLOPPY] read() on floppy image returns 0 +00111460953i[FLOPPY] read() on floppy image returns 0 +00111628670i[FLOPPY] read() on floppy image returns 0 +00111795335i[FLOPPY] read() on floppy image returns 0 +00111962000i[FLOPPY] read() on floppy image returns 0 +00112128665i[FLOPPY] read() on floppy image returns 0 +00112295330i[FLOPPY] read() on floppy image returns 0 +00112461995i[FLOPPY] read() on floppy image returns 0 +00112628660i[FLOPPY] read() on floppy image returns 0 +00112795325i[FLOPPY] read() on floppy image returns 0 +00112961990i[FLOPPY] read() on floppy image returns 0 +00113128655i[FLOPPY] read() on floppy image returns 0 +00113295320i[FLOPPY] read() on floppy image returns 0 +00113461985i[FLOPPY] read() on floppy image returns 0 +00113628650i[FLOPPY] read() on floppy image returns 0 +00113795315i[FLOPPY] read() on floppy image returns 0 +00113961980i[FLOPPY] read() on floppy image returns 0 +00114128645i[FLOPPY] read() on floppy image returns 0 +00114295310i[FLOPPY] read() on floppy image returns 0 +00114461975i[FLOPPY] read() on floppy image returns 0 +00114629695i[FLOPPY] read() on floppy image returns 0 +00114796360i[FLOPPY] read() on floppy image returns 0 +00114963025i[FLOPPY] read() on floppy image returns 0 +00115129690i[FLOPPY] read() on floppy image returns 0 +00115296355i[FLOPPY] read() on floppy image returns 0 +00115463020i[FLOPPY] read() on floppy image returns 0 +00115629685i[FLOPPY] read() on floppy image returns 0 +00115796350i[FLOPPY] read() on floppy image returns 0 +00115963015i[FLOPPY] read() on floppy image returns 0 +00116129680i[FLOPPY] read() on floppy image returns 0 +00116296345i[FLOPPY] read() on floppy image returns 0 +00116467319i[BIOS ] int13_harddisk: function 15, unmapped device for ELDL=81 +00601725000e[XGUI ] xkeypress(): keysym ffeb unhandled! +00604335000e[XGUI ] xkeypress(): keysym ffeb unhandled! +01952520000e[XGUI ] xkeypress(): keysym ffeb unhandled! +01954140000e[XGUI ] xkeypress(): keysym ffeb unhandled! +03051840000e[XGUI ] xkeypress(): keysym ffeb unhandled! +03062250000e[XGUI ] xkeypress(): keysym ffeb unhandled! diff --git a/linux-0.11-lab - 副本/conf/0.11-gdbstub.bxrc b/linux-0.11-lab - 副本/conf/0.11-gdbstub.bxrc new file mode 100644 index 0000000..e923c0e --- /dev/null +++ b/linux-0.11-lab - 副本/conf/0.11-gdbstub.bxrc @@ -0,0 +1,33 @@ +gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0 + +megs: 16 + +romimage: file=$BXSHARE/BIOS-bochs-latest + +# with the LGPL BIOS, X windows can be used +vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest + +boot: floppy + +floppya: type=1_44 +floppya: 1_44="cur/linux/Image", status=inserted + +floppyb: type=1_44 +floppyb: 1_44=vvfat:"b/", status=inserted + +ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 +ata0-master: type=disk, path="images/rootimage-0.11", mode=flat, cylinders=512, heads=2, spt=20 + +log: bochsout.txt +panic: action=ask +error: action=report +info: action=report +debug: action=ignore + +pci: enabled=1, chipset=i440fx +vga: extension=vbe, update_freq=15 +keyboard: serial_delay=250, paste_delay=100000 +cpu: ips=15000000 +clock: sync=slowdown +mouse: enabled=0 + diff --git a/linux-0.11-lab - 副本/conf/0.11.bxrc b/linux-0.11-lab - 副本/conf/0.11.bxrc new file mode 100644 index 0000000..b18d62d --- /dev/null +++ b/linux-0.11-lab - 副本/conf/0.11.bxrc @@ -0,0 +1,31 @@ +megs: 16 + +romimage: file=$BXSHARE/BIOS-bochs-latest + +# with the LGPL BIOS, X windows can be used +vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest + +boot: floppy + +floppya: type=1_44 +floppya: 1_44="cur/linux/Image", status=inserted + +floppyb: type=1_44 +floppyb: 1_44=vvfat:"b/", status=inserted + +ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 +ata0-master: type=disk, path="images/rootimage-0.11", mode=flat, cylinders=512, heads=2, spt=20 + +log: bochsout.txt +panic: action=ask +error: action=report +info: action=report +debug: action=ignore + +pci: enabled=1, chipset=i440fx +vga: extension=vbe, update_freq=15 +keyboard: serial_delay=250, paste_delay=100000 +cpu: ips=15000000 +clock: sync=slowdown +mouse: enabled=0 + diff --git a/linux-0.11-lab - 副本/cur/README b/linux-0.11-lab - 副本/cur/README new file mode 100644 index 0000000..2e56a37 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/README @@ -0,0 +1,6 @@ +revision history: + +版本0: 这是oldlinux.org网站上的linux-0.11-lab.rar中的版本。可能是赵博士在原始0.11版本的基础上修改而成。我做了如下改动: + a) 对一些Makefile做了修改,生成调试信息; + b) 将其移植到ubuntu和debian下,主要修改的地方用 "by wyj"标注。 + diff --git a/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.IAB b/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.IAB new file mode 100644 index 0000000000000000000000000000000000000000..27c23b6e1f3379c54bfea8c6c805c76fa235fa7c GIT binary patch literal 102400 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 X+E}E5VH>Ng(M~HVI#}YIPA>QZN3SCK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PO b/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PO new file mode 100644 index 0000000000000000000000000000000000000000..de8db453c6bceca6363a1974df88a64caed7c9e8 GIT binary patch literal 776 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 >LdwT?$NcJnp;7Il?Z10x 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 ZnP<(9Ox^sRyj^ZyQ^(&fr!Q^I{{xPUk!%0} literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PS b/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.PS new file mode 100644 index 0000000000000000000000000000000000000000..2c515c4dd3f2da9176ef09bd338843664bd433cf GIT binary patch literal 623496 zcmeFa2Y4h&ea1b?Y18f9!5s&8y_dNhIC40xG`p+2U1^cD7qHEo!tAa%tt6z;?d<^u zgE2W7FgS9617M78axx~`#yDe~vyHQHz&Y`~zn&_ou8gGaQWf7k&-eWw^}I8q>F(dW z^Y5za>gw)udn%PDR&MIJd{?Ey^uJ&G+SlG)`TyhpD-QgRe(&DeU~TN!WbIIbFHJt# z>1-{(&6#@5`npm6u|>ezS--zNv&HAO^KV%Dv;bJUH1!+RW|Bucj|Ew~rfSnGE6w?0 zKf(zH3MB(%so)o{IR1$3v^j` zn%8IuYtK}zzR*}c6PuIeb!u{1;o~(L$a-q(#9Wfii*3neWt-03us8a)wM7`w~{6W^1Os|uh^&y7Bt}}8d7g{FVtr1 zD@lrhyuO0X`g)(9<27o1EmIEkEYuboC+o|aJ$l%@w5+RI1FWd^wG69#ZJb$3QEOEy zwtlj#q#CSfNcq~iP+KK`QiOIh^8AF0e5DkJ6{Sui%J{k`-?rMHGqtd|0QU2mi-_`w zpS!gr>+7PPQwQ!6t4WdoPIucnt=C|oAvw^W#8JU0_ou$>?-M0i zR~pOrH)o9ec#f9mvM%d2tSI|2L@CzMBZCJ=hMF@*eze<_&4Kf@d{|LiZ|*wk)S*eW}4ht*>Rufxet|aCmr}FBmr-sl~xbev$*v(uA+5W#x6N zY+H{Ki}lrI4atG-(b~}1kt14S{IHys^%YtLKBCswGC3gD;latl_@G+iMVjEWtS{DU zSkVwx3bwM_ZiIa)g~nt+oHfcsxnIUTIjbl9I2m z!-`r~Ubjkn;L&2SzPhX-`Kmg0WHd!1ON^G&vc4S;HKEqmGWpsws_yJWJF-`c3C?S! zbA04sY`L zvj4K2)K~cWOilQRhWMI#KlVCtSzldN_QQ#c2fn}-fv?)OCaQ_rua?uY{-k)oLanc5 zwyh@X{w=;$*uQVkY;aoE_vKGm`}7)CG@La}gWx8Q^}U7_4QIVW zbH|UHwMf_359u|&qM@vlgK6^hF&^ui4J#VLs(qM=$uv!u$}NVKb}QxU(=_2LYFT;R zDs7j?ip7=#E-Q5yk?{cV7D4%nuXi6w(j=@{&L@ZiU!SB2EVLDUeZ07=uP$qduc`|s zQ|-i9PRsg2<11=?EmLo)-(@n@e(V#Cr%#rW1C(Lp0BTuz-74D_zq|F-WewRcz}LGH z^=Dbmr-~O}smbvXZAD+7A};Hz%NpYAPPMgVY;|-veqW*Gyj8sTdXFZ2MO)EV%75!C zjFy$-bVSAjZ*CE$E|9Hh>H^D2YXe{DCuld?ioOnt&H4%}7NVhb!QDrznmc}2PRsg6 ztpZlm`dX$gP`#y{*8}lEwZtJ!a9Y;q>NTur5bId7u8h1Kby?Y-U`0b%`;HDCtkxz* zo{=C8SftB3YFN=$V?OK}4 z`U`puD;mPuwOm`8n$^q+;;@$Kvi^o%!-|Hm_K0;x+m~jK9vta+SwFAWu%aQX1Ism? zUogEmzp#2ri-;PO`7Z0{^cq$)gms7Q)J{-!Sx#FHkiW2^>*cF?Q?gl57o=o8s+GfO zS)Z=gu%hd%dWSc+h}5hwxvcb@f`zWL7O%Hb`a15h-ep+Pb=HoS@O8pt{bs|8uCsO) zX6=4Py7nu-wVMNsEh7iebyoAHWV6WISu^wXspZ=ATw}9OhW*cS@|zR1Te^%|R@mDM zZd;wST=e-A0qY%FFv{{_1q)@oIg#;DkhOgw6=|hHn|dSGkbai|lLKnR-pf~v8J6=I zW}!QzI}b1Xz3ril=9XHj3f;#t~Ux%2o;J$G606;||7nux3f zYsYN;zI>(x4>c`wBUYyzDC}$d%5(zC<|6O$SQ$@%uV_dPG`Fp}g~i#rmazTk&08kT zXeLF#RbU(Ie??9kyW8sckLJWECJ(3sInmlZ!@MfYhUvJ%@? z%6z5U!DXG-Ygo|`U;7s7rz2JcI)}`bM(domQFNOaFVci+Z(uE2C0~z=$mZ)|J;zrx z#MhMN>j^QrtoR8l>a<@Am#=MenlVvOd%LXk!@!E#GD}*V^;w!RQDDPHthTSX3~S1A z02^FZ`r_~v4awKM9Ee!P_T*c-U=)_q?$NzO@9ooso~6k~tCRzjrM4V+g`VRp8sclp za)7$jWyMceQOa2&E3<7SEC&|E;iXKF{}E+aQm?YfV>oSe=R6VT=K=o{_?OjV9XIs4WND^}HzS?wQr)WnD$Bwp@SqYCY~% zl;Auq6ckqaFt89MXNkOBP|(+Y!&o~`EfY8H*Wz5(YxNo|)RqHfSi5Wc58s~Ts*mfO z)>k;~WLdlQUeO%r89FvTt`m2dC3ZZZ1;S}rzy2{JeW+j#3>enhaP^MZtk3aS>4yOe z4e@nAj3Yx;og6ngu0=$R=W1!LuLt!SRh_C&o97u77f#qZ$8(*356(RE*2ryO{VxU8=(Ye@N;(pSs*o#MsU+ce=Ty6$W1lmo95m-W?UZ8cvl z=NrU}uM?W^6eyR1*wYp~FD*7m}z19c63jM(?uzIHY0O65(4 z^}D5PTO5-)%jnrs8%6hFdRLbki@K9ZioHWTeY1dU4#0}9=p~wnti& zEvr(ooR*b7qkc{3dJgDC!F=r<8Lf?t4_C)EOYHa_EfCJ{my!clXySMQYFWW7dVH&W ztUJ(jP^(g z)dYoeAoV!S2ZdsNz0hExa1;49Rxn??r&o_3PjhRK%3Ho@@perQYO<^k*K=6W5Z3Pc^77*Hisp_VKd41M zsL8T&<^il|2y17uyFyedKP09HHCfh+^c+^y?iZBFf&K-ZAX}elr118K#q^*i%X)#H z!;0?KM3iCeZh|&vjQsc`THb@2EGy^k!HR~k_MD!YYs@X2(CpFU9a`dpnk?(1^c+?+ zqJ<3iG7$o{lvik{CL5jnbBoBwy(K=^>^)+D7o5jvvTC=jt`a$r z@?5hY7n{p^gJDI*m`54b4ix}qw&?N`TB6I!Z*Ow}kBO{|uQMm75;a}&>*uOv#`iqRk5t0lUuuCGrqYs*UbnsOZc`!->kM%~q zCSTEz9B5n8jEUj{TCSS|l>4xvd0S9gsvKBaT+u8^;)7bM%j)Lqm1d1uiG1yhR%89& zulpg7mAVyQ(U2S%Xx6c(m*?Vi!FJ_mmJ3E=bK*~DylVWmN@e)?F)#}(! zd8}@}X8IqImB@h}YOF?mA)hhw!>6@8*Vnyzjjw1(4)o}5oTJq=cQ~~Bv7Zwg#|3^_ z6RfE1*XDK60P`Ft@Ry7Qwf%_Uh*wtMn*Sbm;w)Xmqt1F1R7hL3Dpom0yvRyO>^_WnVh{=61p z^YwsO^;bdr%%WA!7QU`S$};N<;&E9I8dfx9+e(?Qzu>Ww1NzHzA(IkW317SN%cteD zMSu83Ez$MWWewTq?r5A!)|>H59;=%J^cfRn^0hxN2Xr0a6ZPiI+kEU6f%j z%7Lqt0JH~DF|I`iiLpgc4)i3uVs&%-{}nOVasWoKP{t4tS&4jYo6cuR^6;x#>PD>e z#S&Qw)|6$|uZhKFy+(fOuY$H(ne|1F)y;vc^gkji;cLq45&gPYTwkv>zM^*9DpL;7 z9++Q=QwHEu`&x^Co%1*I_bZjJNvT^=%c`e^_X|??5wZRMhFEMl0HZ9;S@%hatV9kB zG!Gi7ieZ)t+A=FEkppcfLbqyhzom;uLrf%bf?KZbM^Q#dz zSN!`DIR8jWIl#WsE~D00y)0h7CLE&&=O2j0`U)!+qPG2-mD#rDG-IOpLoL^3UDaz? zQR{1&eC-(;J9@V+o1)pHhvocJEtwp6lt8GLUq-~NxaV4DN5 z!iMfKE6h;d+#=Yv+8c{od@B6kf1+9cSku>IwS5^Gi!aF9k)pz4{R+!zSufIiV4(w= zh+B9l$U2Z;w>;LUH}aB^ZO!;I37mf^C12m6i8di>%U3-uoUbXz5yAOou~=VW#6mRp zQ<{}1vr_iE{JB^*VhuUQnX)hAFFe+F={3HhA#Inw{Ce>7b8)ZoB^ZVE)aJm&dJk6A z=Bw(0!rNB&iF!kqQDcrM(Z9$3x|PabX^C+Dy_9W>{lx2x+A>Qo3vXK~`v>6sYq3~g z=`X-nl(EHxd@bDnnz9`D8?m^o_zEj}r6wXP!J4uh_*=1T#45%-q=kL$Ual|Ir=mBr zbB@2$qsvO)2EL*;)GjE@nzGFLihx{JH(x`_tX(PxYA2^wPSzSz)AM!vb%V9T*)Oo1 zU)9nm2RM$*egWEw<-k9P%a#L-)gcGa5MNW41OF%{mlZ!@MQ_wZWM%R-;r`Y?iDe_! zkTR>2T;&TU2+R4eS~mImB2D;;_G%({U34ENWe$+1|11`puP&<{?~>{NIWW3Oun&{6 zF8CL%dm~oHz7QD?n7c*f$6@jU>-fSJ9}W7q<@^uLO%A+J6If^~=D@#+%jST~dXC;F zG9C*0nlcCeT^Jj&?txK}@lcSpKVqH5YTdA$*4KUdCs?Shx5~7&_s%V>)R!CTgKsR> zbQNG-2iRR*>E~^0XXjNa|Eam*{BJ4w`X){IiJq;=Myrf@`Y!=lUtz>o^huhCtVF#f zU+`KS2U#UlCm85Uop9? z_z5d|i6$Z|kpn4@7jW#&WxY$UVMX)pzo~`y3(j)#HNQp3_R>{rUyn6T0g|te(gZ7N z^Od@`Xuc-R0hL#9*nD+aFBT(_mB@ko+8)Oa9H@>@%Gk) zKgOAO%syk@Z8<<67CC^1iLLl~j^VYe_zLSDv$Cv2zV;s+8mb+t4yL$DrRB6az9l z(7dtYvda3>9%ekvr1(mkb;;;@rl?Ni3v3Z=Tb#QStA6!Yho28Oyp|O#n4Ny@!tDWA z@AFp@>GgR6+lci7vyQApzNQ=leZI%~RPo^}nwP6m)wP9vZA+B^;&_C|>b760Yl%{< z3C9y&unB8O+ogSOw)q7UJU((0R>o-&Wqj>FHT5hm^tHIyXwDq*k#U3Ww&m^@gyd`g zDfJE}V!dz^*1g7)GQOs~&*?=T>#gF`TlxO1Enmy9cI9nB^CcsT{rxW%Aa%h-nqWn3 z9n0&YZI`wweK=82Z|xI|Z4bDt>?0Bx4*+iw)Ui8`=wje^rD?rbPRn|+c)&ufuVvcW zU1A*@-{MOJ{`(T+>19%KAkzdZYFT;RDmieeV63k&TGo&p7?`L|9y?l_s18j=?}WFU zmh~FLidtXGWNY{uZ@D=vrNgb;_~%IvqwUl}8&- zE$d_TANE~P)mQ6L(AS=s<boZQQZ{cj_Acz&cXS`uCG)%Scrz?YmaQ@a$otvBRsh0$8ydttdEi6 z>oYa++oSG2H^&vX3d(_$`-X5{XLv0uSg>AV;Ib0?hJ7^Cz8DdDAAWA;)9emrt8-7+-GQ zgf*m3lQQexQ}t8vNZI0>VYjO%h?#e<)1+28-EVkTcN z*TlAkw&J$+L~+_}3r4-nSu-h-waB*hB!O+j`skdr9BayL>&ct2K0bgo<+k;dO<3*t zfigMJ*W9)im(Q3lx=nG%lG)#XSj=o&w`yXX3+irLtyy5&Htv|p>@wB-PddYQBClM-2pd`;PY<+_<0v4*r? zQ;sD&=&{};AN5v#pD5c;C@p-PJ7qa=$YXVLpw-&iBb%^>wzZe1BJRdIZEc&YV`8Qp z*r$oMHrk5i!0qC+~=+FV3dB41P1v3Ck=Bi4{UqLk&pU7N68lDk^Y*OcYJ z-J7tsS~>8HO;|(P+Px|S;@#!c{IEuBuGYj%Il%t5p5|)H0mc;;y&in(wZ^ZhjoU|NkANd;Xj)4Zih~=CSGx@qllb+_< ziurnv;B3CStXG@wla)bBq9A(U5cc`=;ylr9@@H3CCAhKiuAAMeW`L`w96MKsO1- zkaSNkHX4bpT7A-EWs|^H)E?U?!`eHebB<%(6haK0m0>+LW6rRilH%)0`3WbQGn&s8 z^)>am5YIBaus+M=0D7L`6m#J|_#L{!{?h!^8C`~AWyXHbNP4e0UDkUID;jdH*??tD zFt&K!W1TmwXb5W``5LjEb!+7^9?Ci7sO%9 z*PqsNuu$q*qD;QFFC-ZF+Qg_VipgdDgkeRkuVq*}Vs;c8Mk`AmE5E(|@*D{1A84P6 z?W?Vk);+a3@Q32WPjrW-wcrbE5qZ5evocqUcx~m5wbovxvMdHT8&b;G?~pR~8Fg8U zZd)ny70wmIYgzR&XU(KUR-!KG!q?mK*`hpje3lP??XyQ6wXo#;pwc6Cm zsrdT@!pVRCRmazV(0llbTGleG6)>l?mv>Zs81C#@2#AnM_uA`&B{JKAu zwN>)<0fD)!y9_J3&e|IJ`W%my9ME5$3&Ht%n5>BtZoOqa{Z;{zudkI-Z=u##)><@Q zQ`cM16PL|b81 zpX^&%U+IU@Uj+>*v)Yy(Vs+FPFA3eC=DDpH0vbM0<2GSML+Y)R z_lx^ZkJa^ckNL66)CG3iN>Rt!-~YSB%(lh2BDN{32DfSU+KaFM-GvW|VDm^NY!DF^o6TR$_sIJG>>9gXVC%d1P#PLW&Vw7x!0p5iNNeWkq3 z-$XYFa-eZVA!=FkHSh(t2v|Euj}DG+@ww1{zu9BG zMGFE8r42*m#}A9LE~M+&{%((zLnvUO>ve(NDahKrxIA|v>J^IxVuF2aHwPF60T#N> zYTlG=7UaP0v2hJ}x?^OxI;PQ2hocTC`d*LqD#5^thUCCm4r}$`U~TZO&Awf^|9zjw zdW~j>6^+5VKO*b*d#u+QRx}3dP(;=r@K~=itY`@99w!G5kBnAhChS{0R>qN%184}V zyKNmA8?I_G(c(dm_0d`~tmt-Gj}9J;%KBE1^-9BvhOl<$IS?^P#bM)Z9_!`$2fm`= ztasbRN7c7`tn6pQiiWVJJa$ZfOx<{L+aR0 z-Gg&wi|-Wr?;rM9Z`XogMMGG7mg_4^iwn{AyW7^T>RGA$h+%z~l>M#!QrfLn^)!#7 z$2e2&bCav@Fubr1>$(1NwcD2RwQ&DH%CThc6qw73pRl4==8je>SqawO@#@6UvC)aB zm4M-}oOT~(Qt!ixT3@^QEN^ZRlmi3G*T&+q4#ccR8UV+cFU|N-F}P*chxEEr|3X9d zx7wHI?4qNnyKnezkM&Dh1N(+(2y4&E)P42YG`+pFTTc0RyjpRHUlP?^(XZjAJMQJm|31(JiTC-zg=ysWNVA~36J%i`p-U1 zXb5Z9%8dGj))v3*Cms160h^1#KiAi1>22x+G=#NBthIW)I<`sKe0;CRN*S)VDriW1 zpns*_AYE4$BNeY}rF^CGK97}aR#Il6?(wanbwSP=weQ8&NR`U_J=S}~2`d`H+NJxP zHtL!=L43et9nm`URs{{ofgasAlGCCRpjJNUv5p#6)NWg4`d{O-+ETt*@4Mx|M|Exq zj8>ce=nG-?7Lm7IjIV0IMDljMF8HwL>wCpYU0`($uOMqjG{&_xuRZyQ$9hQr0SgVu z*FE>m&DIxd_2sFRcms3{?MFS<{e~5_V@mP4Xb$Xbvg*>h@oR*Sd8|(}SZIi^yVqIs zyEOAPV+H5GxZ4)>D>;CMu%6XqU06L;n^~M+J+%;V2mGfzR>lm#iiWTnUt#4iXGGFU zg>#==U!QDP(Gb@DrmstpZ)PHz<~e09t9x&|5Y}CWRhQJ%B|c8%>xlL6Nzd0?wP11p z4Jij)*88UBwUl`ADUWqfi-r~52J6b)19jct?sPm*E$P!9EB7pb6%EM&ldp|4OYs|9 zpYd3qU|7)*)?LlRaFcf*t=5JP^6SKl&w8xf>l$BC+sZA|@3Pxr)v>stc%+re=RDS% z4J#Uf^+-(CpYd34GOTC_tD6Hyh6iJ!R({rFy}_`eA*^lpN5y-{!hX(UJ!n|bkZr3i zN$*e-`SY8wKHPk(GHt^C{l^X*sE*gFqr+zIcw*~Ulxw}w+bR59Lvo;(Yo<(0rnqEE zvd7wQ zSkVyHzLDB^_299?DF$i%ipSbxSkVyHog=yz=Va~R$Z&1{2nTZ_#;lSN@eF9efCC67-DOb-ox=TuwVQsHPZC*D4%%kfo?W*mTuPJljHyvMLrC*qz z8>K8DZsDN?a^SZ-R=3Qu?bkA_YG>v9g@^clk>j^LR_wD=NIB46i{EawU-@@DR<zP zx>sw!SF{y<{WHf`mo?DW6U$ReC!?FH1zOI(FutCx_wW^MMPL8i@zrGw^mTsmbbVQ0 zHF{XizcRksJ}tBref>+vSC=)=*QI5hz8Bq8EzolQjq#OwR!{S`K`Z+D*N(3)YpAcQ z3o}W4wVZ!veC1dnzM`$@>)$%Qx~ze|t}IQ>)b&-Phvocx<15Dq@D*)EU%%q`>aqs< zy1KNKrhK)W|7d(Y&-jYAqObqp`0BET_}V+Sa(}9ZmgW4a@s++TJHTG7{ka(s1J zY0DBB4}5_wg8kU`+Tkre75;C_Y4;5oy$2R*eJyiLzP)xd9A=9-|JitIS+{$mG) zO25m$8(yC^qInZ4l92$yx<%#t# z-LCUAEHA8XIS|NtaBzgPY2rtR$IAWe*tXCR)~@RQ!Qlh(Iay+-$Lbz02xL7rad#Tl zE|2wMtp;Dw5Z3PM(4mpTX^zQud#qotO<1OU?Wqn|2Zs++q(qM%kM$O<0bkJ&UpuSA zV^IeaJKwn1W4+n1q9Lr^)#_a%6O+yw;yvy2ST8ZGXc+5(!DENhu=abbnPEjkSi7nR zlGR%S9_zJ+6%At@8J!&0%n4$L$LjXKhOl;5M@H|6J4AQwTkrH(uhf4i2hb4Kj_SzR z+QK70+2ygi{jVXc@^wOkbt6+Y7q{DEy+Uu}D;manMCz{XzuuNj>meLRzbd^p{&)>GdUu-R8;|f< zA8%OE5LULW$^B{ew=VEl_Ze0+m^D%3<&hri<%SgvVeP}$>XD<93Hk^g<*`1&u%aQX zlv$H0K*e*R$9lD4MMGG-s-t(MYHeTSvAW0P!&r}2$I}$AmCR#3+xUtGvc^9lPAtSe zkM$oOTNGRj6ZWcDXB;d#rm6D;mPu ztxJEVDhRIdSg$v%Xb5Xpbz*$zkY-L0S9+}HY8~VN8p7IBoxE#uf0`o(kM>xvF|23^ zYghHIRJ*a2t31|A4J#VL+OL}~Eu5&=bjL6)Vf)d(c14`^<8U{NnPZx7(L|d7B@b-0 zlNehBWmezJ;%vP(t*er4@!^1fbIkA><1MUj)dUtw9|6(D*C@!^pR>--ol0=(#{Meak+0Wn!b-VCl=3xaP2=nJo3PTKL6l)ldEdwzJl3~~jnqWNm`54b z&LmePYjWJ^v9kTcirVTYE3s|$HR|^_YFs``3y2&yZNf@_29cFu-7&Mcbf&h_(778Y zR`R*G_pqzN(W_?IGT>=qrp!8}i9T)AEnm9|mRX%s%O_?uZ;GINeT+C!%L*2(^brtQ z314BoFP|&^!!6?6i1lW(x-zVN$CnpR)$Y|bD&w<0)?;1JD)1HMSQn9%@U>&U&a6q| zaUSclwH8>>kTR>Adt4rmu~q%wulsn9b=k0@*4HxSYxm;u<9TkLleS($B1b!!4+ZMXhtglQC zq-+m7#bc#dgcY^NQ?oL@CcA2muAl3%y1w>^mnh?F*UaK-%(FP#*Y^6>>#QL$Q^y|F zMBk8AJbK9MOb(>Hf9!sb zm9A5KMH#bAlwsXDvs~AO_G^u)>G>E}R_D}H;_*0Fk8>EH`&5%dqF zZodvY`3fUg=uL(#D^X^p+_tLXbXji^AFSveO+=X-=&Uc?mukP@fXC|k`lKdmB`f2r zSeMLvvE`u0>iYUHv$8V2rfj<$@>pG8>DMH(627*tq;ggF)$mvu>qNeyXK5nJ_}VwC zn-|<)pSiEzoOipA7hd`1wME$NswQUY*pF#?w^3f(XqA2L+r???*iQ=%U(t}ZOUg3q zusB`Tj~iCh)>~Pbe4Re2In%@ukM*au8hk}V%7KphT(XU8)MF)IVMQ5JL}Vp=O<5O= zd90rno6Xl9fGWzA1F)tt_Nd3|=BsVHWF>rUuiu}4zZ4Ho_gFuvmEbEHvTry*;i}ui zEH5tKs6|ALagTLcps=Dg_LT6|VYSUPyO?e3gvWZ1VMT3}VeP8dPRz~PIpgZ2$NCv9 z9!xZ3+Y;+)D%NA0uxk6yqf9x_dwfp4np3ADH3tkqQ||Cs-SX8YTvj4qQ|`y!>9KxV zUx6GzLwxO;ThIYn&72_a@>oBib-;@5HR~&r11a0ucYCZqV_4CUKFySUZ_n^pKV?|a z5Y}DXKXytt2-3C5>dSF!+i&t%f7P&}Hp-N*-OKex?0W-Qj&Jr@KdXO`uV~1&)w6O^ zN8}fh^cR1N$ND+LiiWVJ?9Y0p$Lf}^SBRI$N|diVj||>b8yr7aJ34qU_9^Ig|HbZa zaa@xeKtsmn^y&VFwVCXt z@Ae-$))rwo?Y6}^X5@m^wGXnvZ4vYpf1|ELa#$?gn!rLs%7LD|KPz6k_VTNmz)z+* zzXb$ioZ6BmIIw>QZ>hb^MuJ)%Zjfs+kV2VM82kMYo8RS%SuHKD;iSA?zneu ze!jL+Us;)3j4?pNJ#J_@?=?Aatr+QZL+!qyo;JTg{$%3^wyl(HZF1mQP7W}J5MR-d zzPFy``g}d&h|-R=9u?i++;A=!U)gV=jg8tI(9^Id#U9tMUe6IKpOXA#!^=W2xWmr4n{rvyu%RYM(Rx#!wExc`|+%K@6 zHpEO0X#YCT0o1k!T4}#vMVvNYT~@nomGL$He!+VC)pFive0{0$)2d$PQM8@apLf5f z*)hP+RmWEtDF@Jyc2@2y?U(!;ZvSCdUMn@1V>zE|e0`GMrX7IVeC3lx&oSwcuY5j5 z;Ol9}*QaVF_=>h#9eckxT~_yA;vwy)dnzEnp0gu(qfsnDf zDeJB0c&x6kA^k3Sy|px@9s>O^k;CSytqW*plLM$N2dKC5H_=TZ?;oHqkg_g#p~vd_YU{16 zL|a>R!IB2R>YK)o7kR9&*DA;X)P~x$CH4y%Q;pix>}-M-%(r{2uCHA4jmS!{4m9fO z&pJNUI2q?&CY@^|Ti45gmx`G(Yg`li1E|}dRkW?0y5HqH#A)lTNimWGXh@lra@%@| zI9*o!gcaqwwM14T2fCskgjwI;!cV4`i}{GS=+C5XMR#ekQ8WiqABTCF$pOoXuds$3 zhe>&C!*b#+tlK@d(KWle6!Xwwms1Yd9C)?7Wm{rjz)rU9qPL3g8|s`>KA$3BeWl3( z%SsNwd%amP5 zz-ycwa9Kn4w|dxz(e|~)*DCSv_43tney8#E(OL@St5v(uqP})(jNWXF6O8PN9mUtz zIljWk&y9xon)heP*PEPmZ13s%UZ3TBqw)0;Etv8EUH??^GOJ7HNXIN+-S3I7uXlWf z5ns{k%m=d)B09>HEb@-vwnjtf<=_D0;jg<=ApK zzgL{7&l=Ls>O7TX7@3@_RK8D~8?jOr5LuZVh*-AfD|a3&=Yu8(+;bz{9QYcEu|?1( z>_}K<@!S7^lLIbmX4s^Kx2=@zthb1BBUXDoqB5+#wF5(=lZTUBqtbHPZHu4UPQAug z_HFYw&FhVX9OyqVTpK!^<}&MVHNU@Q%?uVA!rFCwesShr&72_KW?0`LrOcvlu*XqW zsecvrwQIhX?21JA`F6t#tJ`*gnaGbH7AyzE8tG_JbKUOa4~o-ey-i6Ptk-J6u%aQX-Sf4^nWcIxyoW63hdtJ-^aeSkaI&ORNX0lWADrDPQ5Vtds??qT66Stl6W- zyF6C@h7}EDok*3hKjyJ=i~wKJZLlWE z*Y|j=+r2-G$^rSBCSQNtW966@zM>(%_8QhZHGk~*36FKV_YRe>$3_!vTR-WsULiB^ z6%FxKtapwlVtud2dbwdmLs&Z(my%sj^L>W(gHq}$j&H(&EZA3h+?jaX?H5?Kk>zOkBaczi_nHp^#?`d~S2+hx1QV|&GV^k{W7 zMWgUT=J&U(yW|AO#5#Oru%^l&MZIPF22k38{CKdUA*_9{ z-Z?%pnV>!JX~$Ps@dH*ggjId;!{gP1N&4VFuw!8UeX#s^_ySV#XJSXxtElIpZT)MdPd6m(hy8{+i>f%X+CXrHrqA z*4KrYjy9KNIlp9lb@vTh(br#he05nFuS;Yl@^z>2HGU~jsaVe6G`_n1S*_^nZ#cfX ztQ_AUvJ$>_PfXrW8%|JZiNkW*{n%|EGlI1`lwdEmQu!_8sb!UidD{gIskd@p4-IPW z`0?8wD`PX;G@&7^z4$sZI+PXetkhMoqQR_*`d$9mW4+R_qQR_p9@X6O<4-(R_6_hA4P?Ek zwm-?HRryno)gAvD%sP~0)2jTL$9l8z6%Aok`Fc~T^7YFe>rI9g4Q5SLX8pOxdaYqa zgIOo4hctWi_zREq2Cac@3k_!-P14x@OOMqZuN}gwy5OeTooUK}zw%gbG`^yNtT)#Z zwYC4+W97O@u`eOaewczo^O0bLwsFhJu;{z#EpOO zShqU{dWZ3q<8iSQ_8&dg?T&%o+nAfVccs=?ti|u#{3pZu&r;iFW!vKSr*Dhcsj297 z9oiH3!GG28`m9&yq?JlmqVKJb`$W}rzuQ?e^ERbt?W#!Y=a>ACc)PV+#t+axgm!AO z(TUkxM1E`|;r$KibNd(LE39X00t==5BDzZW+A+O)yg66=$A1;4%Zi_{qJw62Sqavz znUhn?D`v*X@^2pNUM(M1l;a#k8DC@HOT0Ux$Li**@-&Y!`I@pW`0q_v$z7rhYkyuB zoL-)5)SEMJ^RYLtO`8j`rVVP|!WxdtzvAVwA zZrmy3Ysz}7V-r^HEl*@+a$qi>CCNjl#|j_Y78M*B za_%xYkoQ|?MX24jz-*Nq*x}@W%i3x=uv45Hv4-S8v#s5jnx3ymPXo3oJ5fgQyYri) z*4MoLDwwZ3rl)4r?Y6}Ij+eEJ?MC}ruUd2ax2!{2@Ly_z(dyc|3bOXhES@?wwGgQ{ zYi;fMlRYL^;f3{nO<#9glN8cwwx?S%&o-DXib4iTx~;JRo2% zS`Ks`UtT+3M+=!K921Ld~LDqqp)#c^- zLZdbue;|qFwE60`32na8mMzM<)3VO$9(R$8t#i%qZ&@j4un@JZWwxy~*2ePG%)MGj z#CVv;dRohd6%AqSm9MqssYtyp5B;JK_gHDx!-_ilv4wM>57w2X`V0->$Z?*>%2o_3 z8p66$_YgiltAiWQUahZ0=rHW*ylm|opKn+%kPhkHw+fVTWN4nJ_LF>pErRxI%042t zsYe)ISl=!tuu$7}5p&_|X?6{dkK9q+;!6eo+j2h2_)7T%E9%x;MUTa`Q8_0He0`+j ztIKMA%~&^IV2dCJx|@eKxAz-2AgetWLWhnPPSl(8Z|AY2 z(>f*|TULA&^%9@A8VOo@)tWf03$hoUTiqC621Q#rN&dsdP47lh1&gC`V5M) zp1n47ggx2q7}N;KZxV|{}_VYCWn9tC~1y1t&x2Nb1PS0bMn-9*SAuku)3Uv2+DIo7!cA~abX!u6+DZ^CM~tum}# ziT1T1zQ$v9bKpGlmCCU8sIaOxW=^iV5%1Zx9;=%J>~|4mSi2JR3p6QoP4!J!GxMP` zthPOn;)39|ys~xdr1<(Zp?Mu3&D#YnP`=(EU*WW@v^Bs&L;79%=1!ejTy0F(64YKd z8rH{1hs1ZICj3O*{n*0&uS<(*E?h4j{JhEVT2_38)sA<`^t@;t+i~C2JReUHH;Z#4 z*1cwh8Co!3dyfp>Ha1>MayGB!wE23a!9r~g(Dp9M+OK2Bwd(lz*f=G1+_=U3{+4yS z*CQH$b-a4?@JKZ}>|;IFTV(}5HyYyWfC_=7)kbalOq?#*j@F(vQjVj?H_M=Ei1ml8gjj29gACKKg(N9l$TEsr_1^oEfrSO?#D_C z_hoeJ&LEA|l_+ffLZ0ZcepVlV6}9^?WmpH6>oZgHbJHny53HxQ9Jt!Bq9J|odmUDD z>V}pS9&Kx*#&!KM`3k3Hos+3BqVBd;w0zy2v&QKg;2XBBl}44yQ#{r?#K`q%&=A%g zx<~tbqJzgz^;ie<@6tTCAf%nuwX6$g(MU@WPxDx>(K=*let(#de3h?ajghI%FWa`Z zg{yuttox-y`u7V3N?m}4 zk!=eN@l}2BE35PI61FQp+a-st3>nsgQhfcQrgMzie9b?J*;@qtuPN(T{2VsCuzpDs zSg7^2OudydU#sHWh&3c%Q?>^VY{Kf4uZ7z#JC;w!+^{rEpHitA)>FG}{fFLWKMS=v zkbkmZzIM}3xR|6#SUF^J)w0r>0}FM0ZN8a9Z~VZv)wxoy-@EZgw)LM8kM&wD4OY~a z19{#S^mP}k5wpNOwsD)sda;=J?XBu*GYYcy=d5Wu;BNO=?-LnVXh;t9HZS&9pKX4_ zsE>y|)-zf`CIN z@zk>J*IMuuwXLx-{aIqAi!n(&-D4#WU_}F2Z%P8Hg^qiy!+H-^G?4XX&6*@8Jl3k# z0xKHAy1Q{|$!u1&DP4vjCiJAodeX3>cH6pz74ikP2-*WFj~N~FSXadZ78+D$B$LT*R4aDw?kstS;2=*HGO?ozpk+OPFtK|GRDNj=PnL<+OFdJu(qLQPr*M zfw@}*+t#_Kr{)^9#RUr*^BT*~FrHf02gCyw8nkWY=WU#-pW5Pk75#U|8pV2l=B$`+ z(E={l#5JDKPE9u23;NnWvp8F?&Ci{RHI&Q(Nb&QVjkmCJEmg44t2GhIg~I!>{j*bz zsYI;bB2Jg}O0mI;hOq8jsGqLo-cC=g)U}X^@l21^_0=ASDdTI-ntL0cwdS$9zJ{=- z9IJbe$I3QE4xqNjBP)@wI~V6?Q{}*v$Li)l$T6dwHBk;sd#r8_gs`?H7>}W!IFA{R z)y)AsCbAMaup_SvmX;T1>MQg!Z8v%=PhDGtEw9dqneuhWncTYIERuMOppI>yi9z`F zS43S<7bgnq0Zm|`?9UQe318c1)3F{Gr^{Lu8>}dGEs>RA?Wj*D%h(ehD>(owYRlJ> ztjW%ZIq9*w`>~AOC$dt$&Lm@<+k`bFUpwlvbNLrc@bD~;mEYdx0Oc2vmGX5qnXmVH ztZojRpOcnj?XIW0>GizF>Xun{{A)R1=aQ8Jr#4{?*|ys2>B`pykJT+-ZF``cuPe#6 ztwoP@NI7b^t?L8wwWGe0EC-f6RySWS4Pb3MZe~g#&-Pev(>m}Kb&hQm-ZyMNo-SXP zJythggSM>`=~!1h)*<67`gl!5R-!IQc}%|Hv5tt196-A?5z@jr(7CXoQyEaxjs4t!kyAz#r)noqS-4!q3C0hjeU!*Z#RSqawe zJO`$duv*Snn;iIr)TtexM#?!Z%92gQ0{R3!^ zVdMH4`4=#+HxgL;rkj?gxD^|IewX2;>}M|t3sJitn~x_d=xfikMiJ>udCeX@-Xu}vb+{S{o%iG0i+k`Hw^))Neem!gEWPRpd)mN9UyFSkKiB&ui7u$#Gpnt#-6JUdxYlm<4T9ET=689;fAz1E_6l zmpKm8r`Bst_c2-KytUq8_(fqfUmTABC%<2LZI^C?f^tg|f^8+Ra#8$kxh_i_>N004l6#NWS*Y)fVRG7Vcfq{ITOFJl4Ck z0$9;NUz3f@_(_lTm|;Z&SsQbSN`m)#talhzG=#NluC|(L+j^hJI%!zZkbLc)t38lv zRO$OY*1HWW8p67BwzjgmR9{ZfD70n3C&YY(_+F=p>p-I+Gez(>@4xk~d{jlC2-O~Jff7D}rvtdO;%GbV?+CtvYikz#! ze#~S2PQ!|Z_}VL0w*LgEm5+O@uQ#k{2-=YrqX>r=R;6Cwyg@*Vl)?_Cfeo~w+>#AWz z16h;pZ+*&RJ#ARgy_$$J`-a`e)9u52+GA~qjT}HjeC;}3OLj;3&v>l&8&=e|vI z@;=fwSM9d-Hp7aZt%|eqs7Mwq0 zczxE8@r3>MzGlad>)XZ+%lUcZ>yK*j{M=|O_QC(0@_xv}}AuThZ5_cYJkOFEO5EC4BAY0C$R=Sg}~nUoyUaQt#m_>iXI$l@D*zgr~bD(HlkotJRFFQHlvR)}(A}ir* zSM9(=?NB~j^asmn+XEaUz*n@_tc~aSo96XK!hS*biF#vt{@#r~vaR=j)p+{rCI>#E zrNN52_D!>F9-l<+SkxqZV}|`E?7@at(>eirluqBeSgXP{=a4N^~2%;3vI=G{S7ByUDn4NAF~oU zkTPF?Q=A*IULU}k=fKk3Qa!<;PRnWY^+Vz#2hj5jYngoQBVY3)24?1n^4sS3|6P-> zpVhKqMcsTYTF0i$0sQV!1($BtpHz9HwTK=Td95h zJ;zs{(Mu%!gN0MB(+H(Gp$$_WJ%XUquZD)}aMYpY# z_q=A?`a>rNV1y0L`>~{%ruGcr0h9Dle|zE;a=%h$*1U06};Ynk@zK;B|W z&=?TU9~)0C>st*g`Y=sInZCEqIo;v1Ia~C{KQXL-X7cs@S_8hKt+>DSr%t}QtQQ++ zvJz$1z{o^xqFTLuaR1?|nLV0V&ObN4K3q%2SJdV!uZxxgsjprCWye>S^&Bx084mz& z5tIW1Bef%gM{5&@$KqbofmK^hyKP;r_rOA}ucgX?`T3e|4wK>(zRF)1PygEFz()-$ z>TX*_+XL;>CpBl9z|X&Qa=>NH%POrlE3s|0FP}~Ws-^ywI5%Ro?bkA_UHN^a)8Jap zzco1^t~_5+o3G?=;c{R~A5IkHz~4AIkZC=zp`6c2WIXWZ7C|}CbwmvU26-k3%lQ@K z>pramEVLDU{X553mo>!Ke%<+gp;232Tx>*l)^ghN^=FN*s9R@HrzzIhr@@G%8SNhHjNXP74atEn z&N-#POAz+=?=t&aKdE)Vin_-YU0L#@zk>ZkQNUsYPYRhc!xK) z2>M@p#0o7Z_ikA{cx`ThZ4?IKH~9dyR=1$`{xo)_pxx9UR`` z!vX)coR2cTK0(U>3vESTAL;n&vWEMb_W{$5eYlyF%<4KADIajGzPFok8ulLAT)cRVcKdTGYLCu^XE;gQ8 z)(f-_SkVyH-tn=q$=Y!Bjs&cic&wi@tf*~kml;>wWYwN*0@h1C)=Ld58sh7Y{N8q^ z>m@SpWghDf8dmg?W?f}`9Y}ViFO73GtWS{ACVY;jbB*>G)-q$Bx>nMScgeRY!wc(6 zG_h@=A;&hl#hU6m`&Z(p!}@B&iiRBDN_h>nM|-Rpa$18dfy097uM}zw15LZ!@fDNWP}L=HCq->x&F48p4|L zntwNXtS>aIXh;sEyyo9c9_w=rD;nZ!%4`1J?6E%2u%aQX@^yK(wzx2VMhl1>kMUSv zrR7s*p&>b-@-@|P!pbck>&p!*8pxV#Y|djn)>jx-G^9NsU%Bq1=8hka^H{$_s~`u^ z5Z08}sC>M~`h3HRhHP6Y_hD>1+wOC}-LRsM&_t9u&OMMHG}JkV2SXEgfIc9cE4Vn!jmYZzQy}_crEc?p1xTsLPcuE-jr= z6}HjGOTYhA2nF4m{1t0hje^^UbpoIndi!UR{_;ardoC#d7X9zP?+0 z_=>tYP;}c$eJpO!@zrI$T)ae9!q*;J12K~{Culxc&SB&0d-OKGqOIubkmIY%dRg=9 zl=8Lf&he4Ss+lpeSWa7JQLo}F8d7g{=d6Q~DVvL{8c!`NeXg*gA*=(>NO%2#10E}N z7p!Oy>-5wt7a*9^?U%HOZAbgs-GA2GE%-XDC4W^@k5RjAKLU$RqGQM`qoS8SXMVC==x~x|lR+Q_~5T#g?oz1QL?|Q7RulBk*Wmr>Q z>+7h;>iTNStTL=^bIso(#pBaG)<>HhK*g9x8P=|amHJGC?f>h2*Kv>a8pDc)Y+G$n zS^-~=RQHARSY2Of7Z7E9?U1d_x#B-gdaQ1~hWOe)yF7QFE?mC4vfbLX`CU8K_Ds?}^tU_}?^H1raAnT4i2O9O|W!YC0M^=ydbQ%$ zUf*n3XQad8yGB!oQCk<}+gL$gJ7yZm+JtOV-(q-Sy;c)g=tY`{GGiT5wqKtq&W%_@ zj>V;H6V^6iwcA!1U%Td$ohDzoXA@S&l@euGJJU4@D^r`W_BT;Wv38wanpr$$W{fP; zo3Prtpp38GDzg?NUahu$?MlS!+ts|7hvmZuG%@xOwdJdxR(gt-SyL;CTy3_mX2ogS z10N9=Sg7??+gRbgjEvg@nS`_oJ*dC`zPjj{Vv1Qt?y}GUg zO@bBkJ!1-Wz$wAmy5I>~IQfd&J)JUjY=84yh$JnT1#!Bpk2kDn2y1VCZROhNxaN-? zmecymxDk9sLypDu9~r!>RvjN7OK=^MCG-1R)_sN*4Potu_0X{9jvvqVSTEKp@D&YV z?c&-VX;3T69_x*U6>T-v6_52Xh84B_gk3m|*;_<@Ja%buS(ky<5yLG$9PsakVZC2E ztofg;iSiV+zJl3NkhMb>&C$n`1l!cA;kB$_!D^2gWvsa%Ys!1s+$YYBSUG-7WIPmP z?IZ{Ie1bT=3F}_7z6>qM+Mnm^>E*db-OL?Ntf$WvGdb`yP2?-uiurm*oVG525erf3 zE+XThpsy+O^#O5i#LD;_BIBVTYs!3m&L*sOpSuiekIpWbUrbTDu6t^8V8~dA+P;jP zdS295T{A@kiDHc+V%y1Eq!3h|XL8lD{+Hfk`$sLSo)%^uSgy}Z&Cg9QCm5>vtsd*; z1`A!UV~ex)=d2Np)v9eg-($U0|6nsht*>QrAU128bA;su9&090_6JbQn$s672fB2P zpHw&E`!}~oQ@d&b|s8lTHcNky)LX6}qx}LA%FX(H^I+k+v#g4Bq zf`y*1iO5Ry5%sN{Sy5+3Bi8A>JMxxEj#06kuQt9O(A#%wLiN^K6!taoJ*{5i_9XP{tmwIBRauD~=v56nAN@|pO^}y)tcUbAtf<|# z%J|wpb83-GJFMIrzxVCs9_wv}6}A1^Wmr=lFL;H=I$~JS9!*3U)|7R@D>q>kV;-eg zm&{BF!ibCd6y1osK{K>`- zu%^scIA3dcVSTs3Lanc5a-cu&#)!9H(7tw-Zlz*5Z4T_xZ_VBqYRgx>EbMFV;QsMR zI=1tf;y%D=rz^GS>kJlZ`(3(OWx;&y*}s1{5o+c2=J$se*6sEc_w7G6ad&NEa&VF_ z7&qSFv0kXfV<8&iYwz&*(-Waq-srJ%jv1_I2y0JuXed<3RK?Y zv9d3KuV@(SxGu1rBwZ_S_E_n6hZPNC)e)od>cQF}%^y3y+he7Cf)x#6?LIVI8#*!^ z8#71(hH2Sg$v%Xb5Zn$mnqO zt~4#JANE+cJLXB_v&L^v)Y$$JkM$bkD;nZ!-_q1_W3Dk5@p3sLX~sJY>-(fv>aCkK zv0b6I?~U;U`38q>67*&CPV4UM>K>Tgh8NbyXrdfIX}=JZUqx9{o)7ab zak{LG(}WcbVeP3e%+?Z}fBvH$>yr#C8p7HO>&Ya;vnucQSf5~6(Gb>tSQ$~exU40_ zjUV$^pQy!?184|q%5m`T@mOy$tY`>p%5lX%?yeRILfbD;Mlwn1K+5;2S z>g{QoS(W$8SGQmL0>g@iu=Y-l-+n`)cGd?x)@uzb8p68c&XLjD@W|l7(XolDmJu^P z=&{m%VcSAOSo>i;FgAW9K_~o&Jl4w$D;mPu3+u?}Nc`TcO69{I>*ae7s zXym}%u~|Rvu|C?cq9Lq#IdDgHJOOIur##k64J#VL+DE=7y7uEIJl0DLD;mPuf9JTm ziqllGKkczT(y*c-tOK+4m6=3m9NM=(36Cj!-CKP{+@SaU{wrVML;o&${}Bi}6N=fv#hK$jTv-(HHxx!LF@K_5}- zeEqCo$OV^`oV7WiF_3LVSvyY5Ha7V>+xnN~w5)9V)LW=CPP4GDy$6RUb&zv7dSgI5 zKVv+#tlK@dk+UW`aQL$xEB%@HiiVW0J@~5oUTgN~@pB&QwvQXaI+@^rk-quoJ=X0W zi|eUzKh`8e9V$QXvGV)dDI^Cv=F*h|U+`Gna)2=e1pRPD%dFnR>B@m$@L0Edd@E;7 zR1W;2$4Y%l4xk}9(1Wju%7I_%IKxe+VlABn6CYb|aPJghR9Gw@(Je_PD>dQj7lQQ9#!ik{Qop7`9IUw3j~L~#7v zsM97ao&yQ5ul*%)x~%vLD|(G4A}f&t-7`9wH^DjbaQwz5tQ?CWvJ$K*$L#;6$9kLC z@D*jBi;x!2frRD2Z+Wb44$!YjWF=U4G;^R9FKyTB0-LM9CuYil*J{$!HPzERTBR=d z9l=p|SyplYW{z(VSqWcL-goDB#kmn{NDk~iQE$}hrww{04Z9Md@T`hH; z^N&mpd`ipRrwO(FF8Qk3^2bddz7gl{{JxU|pA!vOsJ8z+q%Bbn{DC-K*3XCzR@Cmp zlws|kpITuYQG}mA_sMOS7DRVSN3n-o8;2>iSx= zE=YaPz&~|-g%MxTptg2iwrb`C@n_<6S^q`rfE8s70a0e#N|~=;-h?$IUsGNy;mp*p*FYDDbZi zr+ocOvt9kIl=Af|O)#Q4qm(FmU5C`=z+V|&%gVL|tKGJ;677MM`!IhkPM4MaL0D1i zYpaw4f8(*b%FDeFR+|nHNLvXHg*`+ z{FqmZ`1((duP*DAE#PbWT8qC@v7G;Ie7#Kmog+rn`bt(5&DYfZum9}$dZifoxzSeZ zfBhG6x~%Sf&1_xJDs}9?daV5R_=<+)Yx~Ny$@2K}Zyqc6wuBW8$${ASXm59}qi28r z{}MB8Le4E=n?h|4=xOr{!T>asGv zkjVaD^tEH{%Gm-joZZIPC(2a%2T|)QPPa-stKISSDPq)L1r4cVQ;y5%5U0!fRKtqu zUwKFi?;EDv=kD}a`R(6=*oB#GG zWf+0aMYpY#*Mo<%N1Ui-g$-6)4rF?s1EZUS=^vP`Ep76lZT!n}_8VW>kHt@`EV`9^ z?Q?u}_qpx)v6%%%Hwk?0)C~huC9LJ#X?z8x-SD{iTJ-o<>U{8o97wcrS=x%ntQjGQ8a$UuutogO; zb8q9IcCMZ6q%zd7K0=D0Tz3FJ(fqfU5=FCCt!)saDj9}$HK}1%f zt)24zvFD0&Bi3tj(vqyR_4~|h(dA(tt31q86V<=+kQUyDX+J(|=87*5_gMMuZ4PkU zh{#H?b{?ObU&`l-|8SnidXZKED{AY4GQM`6O3>kAzV`VZYo_;MMcLMfGOT?KMrcxZ zHRp}_Xt%2i1q2)WEwG|?%s%a{Rw=VC5T~uTTvm?F6IqFTO<86=Qk)yHUYwJbWKCFR zJ!%tHJ5IBVubs!2>vi)TV~cHLWnyNu202Q;qP9K2>!SSwZTIWLi2~M(#EJT>LHjWH zT3bm%YdJ45zET$8BdWLZfVt>COvmE%v&?MK1wZ#WzPhZ=er(}7wsU3ffqHbx<^nGk z=SHkthl0pTlv&-Ubl;uDnS8$350>*XF_W)sPvii~@fd;}D7tN>^pzaA)X4#tHKgs* zwKTObm&VqL<-Ef9%Dw=;qITb~jISNK>A7Z268L(#akjBBIA9zA z;~c;kXA_+H{!dNSY+ae1?JiY)zj=S^`LAZCr=NM}t+!%#H+BD-nJlc1^J42)iSa86 zH-=xogR|E##?P8wPbKQ)1HT{A-w>z#~W_^04jREpMtf(IY zrTYb$@6Ua?7Xv=)Io63qg|gK*b;RzKUak=5YOLJL1S=}A4o)o|Tga5P9@~ZWVnbSu zb^U#f=IqRg`lQyD+TD|h^XWA_ltYRu|_LN)DCoJE!zIXr#Fasn|^V|F)33hV+GDi_hB;jx#7Il z#(-lbUSYk`f)*9>K)-xycS|nUiE}m9?J=y&^SOozYu5*?o5Y7-QRX=?y`^;DaQM*N z(R!vha6Tm#hylhj>C2+tx{UT0&~x34_P_?qsx^AEDGHZ=F2s#;8k~=l!uoD)u%dcu z#c=i-25Zi9qTsyA^1}LFZD65}Ra!a**3Zq=o5#~#Dq)@RoM2>*^JW3T`g(1QWucB$ zf0iD1$-QR(@q%*k3L}0+uh51S75q9lKY4G4+W{DkCy3K$eWRX*6?J`Xy`^*v^fiy0 z&&~1h#DLZJt2ZZKnsvQd0j&o2Oq!mIp9h>zZxQo0IfHf}eHYY?z3I==V??>*^-1D% z@d_g`fL^N&D=NgmhWW{(jf9Ptv4Lw00}qaKhxO~7dhSMTsNZ%e+uzFV*G-;ZVZ^WK zE!wc6f?spyfz9Gvjg|RMtf;`6^W4ZS0qeZj@GI)<)C#OQ+k{&KRxaQTD;m?z%9&rc z1+0F&UT7U#RPgJF8UvG=?z^)+V7*6t_!ZSl#-yd|g5iXHEqnNmxN_z4>zR55R@9r5 zZ$H`D>%0F!n{cB&cPCZN<)34+Q%-~PR_Qh&T&<09BD5Flt#QliSn(^Y*K5Oy3Ndi1 zId^Afv6-;$G7x%joGu2KFNPI$Z5Mr&(lIcgHBY$~=fLPTYTgf7EYxcgmS!D>wcgA! zYqU#F^I1P=SejV3F450qFcG-Eueyu6hu2~G9 z?y$F$7Pdd7TGJQ9kf2Z)5btUpAIWZ8wTs+8J=9j$XSEa$L8lxtntRk zm+|KvmX{dtS!oksW{r7C*0GF!b(}5+eAWxvsA_ZfmGGSa`8j}as&&(|@ zEpb8BBt!5I__j|DSg*9KXiU8|d}KNcC(us`SRZRy(HPc&91aCk_SAs&GCfBOpuNC4 z+PQK|t@bp_Iw>W;encBhm_ds3e$@)h+`M({f%L9+sM^cQ?n4C3~e7&}#sMU_z-+$4@>)XUQ zrVVAygR`>hwHYgJxt$U#{+#pT^&R?r{E9}kT{5mMpBJakia%jRAEgZ|D#UBfwK)p` z>pR5;E2@`_NlUj0hnxBOFwUn<0gGFWjdXYU` zQNgdH)LWTy>@&o<8tX$NST`8XV@vh)P3;b+^DFB{hym2az;!V5}AXT{>N;*GF-wO9O_sNVoBD44E{97*8~1s_TqK7o&yVYb%9EA#MRp{_kpWn6n;p>co0E|w@(>_osy zeu5PxA7GVOmnIK4+Pfuxd}hGv=hqm&YJJwsRHhSRo)xg(AaCGTG$vlhTpq}9|4~jPH=kuko(syBw6J43#(tk?kfx)RGX$M|( zXlHOf*Yd*pL~UT9QDrMfVigPaJaPK0{&k?8U#sMSQ_b}UTpXmWyd0;C*C&e~zoKVq z!}N7Z$H0(bZLvoZ8ymR1^EofDzyB+w#K2EzqrHt9Mk!Wy+-2}kj+Q{10e`;G^1}Ml z+VCst;#Dt~Zf6Y~%5}HnTJ1#w@mW7%S%w70V_5q&{;FNG*y{sU zVgOb&X3j|c*yUWypx+R%-fvk^*XPz-N|!C27q@&wH%7rQ;*{+}0@@)y z`YW_qP(9VLQ*rhhMqSW1m99?^9uCeo2?~XkehXOWW3*vK1;6%9=VN`dIDJ;?S6I<& zwP8gC*8avM;giMQ60q|7!-~56T2x{^lxvx0?X3YTaSAKScrjK~W6kE*w*{=eUr#Zl zRavL9vA(?v>qDYgr)TYM$>kjZs~-br$FXMf>pKHhKL*Z;U>$1A%uQyRm48>j>gU&M zB3Szyv)S^%ySuQ)l&!u-zPjK&0jpmZ#ME2;jaIg@_1=KhFIzG3D%NZ<@V<1BD+9Sbe{q zWmzlvwUy7W-xIL<@fzdT4XqQc`joC$tMiVR?RQNj-y5*{dEh#GkfK5ijJ5kP&1Rwt z(ya4(C$63C`UU5Sk9I4nud!kjxHXJE%!qtC#ai7p-dpzNA#)d~_Pb$Z`+k8P)Kl*f z6Kw)ChBf!Kz&|V~cwv2?7;z!$)@A7B(m5;Vc-BV*vKp)NYbDlu^+hw;N4v1PdBaMq zM>B!yV?Wk~HD)YhXz6f$`OsVz;ExBa@3--a#>{PuZP~kZTYdk&OAt%P&fDB zI@wm&NX?z)u)_IC8v}2ZM=sKavhKxM*=v2}j)5QbVgN>dZuDFWT2!cGM~K&Yo;3tN zCQhIAUE+fkrG1F$Ev4H7rx;f9KsyH7pOEJ9#{<^4>tkU>V_5qZnrXnk%cuNAz{)j0 zVMSy5hB@yG@sk0oAFnst?^aZZfzjn7v#m^Z!A}LO{<#n_e$AO*KM}C{e!V`zuS3g= znX-V^HU+GH9*CLe-YC{QS)f+?nSk{j@+D;pjmZPU(~I@S{pqhgz)$RQ>(7b#p#IOf zMX;g|(uT1PzI2;#D&IZWXuJHZI9;32XN_6!GA6$+w8OxB&y#%^GFN$Se~RP$l=bVp zoO+I4LiJR~%C-rIxpsXc&p;9W{CUr>FzTOSy}^RF=p7Xwz`uf#4^RA9|HmhnpgtMAvCahIHJmtPK87i|onddZlybPNpS=@uG} zUkO;BVOi0b_CSBe>+Jt(z`A5v(HK_p>+z+O4K4TUuH=AE>nZB3Z)>BTLRa2Ze!X_? z{Q7Hxa`hIBa;agB$*(zc)~}0mHP)D%HEP!Erz>Fn=InAgPv$s3V`JcMJx8uW{TL|S zcFBBynBVYX07hZ}b?w)pLe6TRx3SWKJ=w90A#-(C!N?rv=d53u_@#Y?`ePYo+b;ci zh6Y5_E>oZN{K_aVenn&2+BwHvep8%2EB=HPjTv{zS;ziX!0P+;Eb(G`OX)gxgfaNZ zLvxMxu1Oz%J78sM0>7eejR4Eb0W@Y^M$UHD=f&x>o@rUpn0D4iVjyWf%POq4 zInF<@F>teR6feV15hr z=eNukc;K%8=YOyc@7jAOZv8(mCV1it0qZ6DO#F&ER@P~hWgXhRX!rY)cW;xa^gmzp?a!g zW!ta1uI_Zgr8%AB^9N<>%bs6hV7*juV4*I*R;dd%SXRll{hcqG=8wM!STEDZ z!ivVQjw~HpPSYc3f4_mw6&q@`zqG7hl~NacO5531{Wf9g{F-@gY-M=J?wwBlCSd(_eKdYWy_{9LF38#6`brm8*LKlcO0$l& zj_7vR=}OmdXXVw(@BeoKB3|#3Q|XPN>!r@hwh43hx&Kz2t}cL)7(iJEjTIIAx-LuY zYA|YF6Q|F5k7Y&4U09VE*s!d-?Pv{w35E9VC-pdF?qJ#e2*>%aHU`cUBXt()$3U;- z*ROjq0HgjHR{DonQ6UC$j=%oBIDOU&EGrt52Q;^#b#F%hVN+gz?QJ12Z_K6Np0g+3crG^TI3;dpa)xlzBb(VU%0;n+TJPX60AR{v8<*%}lm zR8#bmAn1=@0QoG;#XJ;ODZj0wsQ6j|3jQU>#!JMMPtg=kjAs7mQwus)={1i zr)Co~=j(8OncG~v!e07Z2wh4s^|_`F7ta5(G2mE@U-bs(*Mc|m-oWJl2U<{eH~BKUf=BsEgMs z1)f~Ps0#+?7Z)07jL7)6B)VhuX8bk%IwCpBn&ZT`uI%GiVw8Fo!>`8KXcseOtG;`8eP@?9oy1FHUcABz zr`w|9l?lW8{_%S&oHqed5}0)V`csrD=M&#Y}&G=zFXI!FngwbaQXE#F^}n^zgzp&lr(}qq)68$9{<@5TlB|7) zjiXPOSaY7Y@!)`!IE59BIVURTy0^0eRzC*Tix;cn*MWt}`CL(OcEI`}vEf&g z{sC50C|kp@X1d1qL%Ohf<5{Kiz_7*#a$SJnpmvi!hgnvXF*vLWYtEeYsDSk>%ZkRFbDA?}J-Q1kV+2@HA-|3+ z={ozF%2pAuQvUVNXDuu%>c$7E9@8K5#|A>c^{VyHv@qIosNg z4OpLS{ffH&R#7DeGL8>i*@e~hV=J*{93Qx<3v0~yKws;Sevv$Ob-+5Q!%()+n7Uw? z>klOB6;PL6-1*|J9(badsbl|28~p;*#en|onSQ~w;&gTF-@>I0jqz*Fv5f1)>9hWg zWkvOpu_`$$XB~Te!1{Nh!>?#e9Xl{Po$dayHw3I-v#h9_Gpgd(oPC%Z1JX^tdjpVl-BTHRl-7;{#UmDrF13+>q94MTPdj2-jB5 zG@kW@fb}clgB5jcmnwc8)cs+mj%epZ*4Lp}$*r5kOucopwo|RTHX(;CI|e^ouj|S= zb-HWGjr!_lak_fz799b|Oi&w^4hym1%Y3l2=pG3PDYe)?1#I{Xa zySy*^K&!1_qbipH=GQV+~(=R`Kpx$APRw#~Bc zk&<7pkW=~nQP8&-%5f&>k3DTxu*NT=25d+&R7t;_}s##Y}$PC(v814z%B5 z9?PzM%v~4k6{l+t?6-bJd#x_mCr+RB4$F%6T3v8^zVo|N z>p{zk#?%D^+)CUllPUi^5U`R5^v~pjOYDJ)3OOt1*xSK?)%U9#*RE1;qjqP&>c_yf5iyXnJ#bgR>if0V+5>k7tiE5}T8AoSYm~XTOzU&*30QBp zc>s0eSyfoamKx3Z*;Z?IaluB=$;m+bOgHl(u70hHnYPP?+PLlj>W>qaJtrz>&Z5oo z6mhz?3ykDflnpB?bJGa#%u1j_S3z1{Ub5rSG3pK+LPk+S-)gi(Ozq7 z9|~B%U|G?)w)SjOKT8&y3Ru5rSy9Gdu`2DXob7?>fc49k6^+RQ!@4e6rm47EBVeWc zQ?^j9qk|O{>H@AymZ>>Vn+aI`7>Mb^42w0FUk?YYzF!|^yjsn#qtpfSN0Y7288ss- zZ4j5QnqsEy^4ki4T~>RsE|?XkYrA|-ti&tYYjwfB;`CX6&$6PuRu>!%SbyKLqPrQXWfFIWgzeZO)&8mtOy&hdf8 zfR&u3eigBjYZbrRdP^tp@Qa+hjnrJP zZzZ=rTg=p3?~*^Sw(8egW!L89?!&ai>FTZb*cd>2t=?J|r_cI+%Zm0|y>%>L{eWdf zx;!qy>+Yl z+P7Kt>#bf{^Yk2Xx_WDu9Unk@t=@XBIDOW=mKE)_dh2-s>pshh#?@Q-#@?PEu-EuB zXrpdL{rp;bo;zbd7S7j-6LqY_0IV@Fkh7ijI&u1}%oW0l#^iya*?P9sWUmic89{^< zr5?i+x23O7m~&kF4FM~^y^DdEK6lQ0Exa*c_5B)?2TY%P>PWIacVFj9?<=wTRxwky zZq@c6t9~9R-RI7n2i`1Bmj_@a2GE#(LC!qz7IFHl%p1ds#^eDT1Ih*ZfCSd(teNVvpOnn#pipG?!{$u(4`rd%mkAax7W%>nEN1BU^%fT-g_g}v~;C}xP zikbGn-P&jmpnlovmG;2<#p&7uFcJf3uk{N)AWon4$(9w3iPv_1om*@*^Z^NMpmR6C z70wUY82AN!{%P9Km>B4r$(FLrZ~r}B48TYXpfUM%Ky|^A_RV46D^8#Fmvj(VQFkxK zD*df?3^W^)Y0`iwR>q1Q=SOS|{ES}Zw|A;Pjg@T^=4`uA{=d(Q0T}Ts8q+t-xsK?= z;#`e2CSJ|C5S)8#evOlV*l0#o+MnY%f7r&rEA%w&0MyR|W!qWnX4;>dZ(goNGuv9A=oAdfEZV40X0)OW;y8a=%*4Ri+VCgp*Rf?|U}$nG9jF+5~F{}ThK zo;KDi_0~@a$Y;f$u%a>7rpuXMe==ZwsAWZ6*{b5#VT}^!3WA>sSp67?Ij4UR&@|JV z^40_G69KCq12J{M`g(oW_~waC6L+V-P9?t zv=8fkUG=L30_!hGVI9*(8yod=)^{jyYZ$Eklg-0xye;}=I6rB5VdYzZg^p^&s+6sq zZS9{Gr_YK%VMX2AoT5q{oAFvSKi7rzJn>>h1=gJNu|FTMZV(%OMH$<~s>HzH(&WPI zRC~V^kA0mI-Y!?f>@SJ=27Nf?ia13btNtu~-N$vAaw`mQ{-QWh$BJKJJ%=~QiV87c z#xhzb781JFF!10w9jl)Q^xGRV8ICWohLN*$eV57U`qJ!DV~sbLe0j*+*}nZ|7}Kx#bXP}#$E;C*{1?l{OSC9y?tL%#jm+8J|LD~>%#iz2-X40mfbJ4{CdFZ$3RS5 zd!RM@%tR^R|9sU?cVQ(SuqyFt@@u-3rFzMYs;!i(&xskf?b

gTMo^M<*{ia#Sx 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"s":""); diff --git a/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.WK3 b/linux-0.11-lab - 副本/cur/Source-Insight/Linux-0.11.WK3 new file mode 100644 index 0000000000000000000000000000000000000000..83b8a91bcf60093c431c8bf17f52b9cdc811bb72 GIT binary patch literal 8851 zcmeHNU1%It6u!xtnA*~$Xr-XiX~mKsXS%y>wTU7LiNV&UjmC=9Tf^+^Bs*kwCd^Nh zNHH%WJ_tr%)Hh!O;vWHv7Hr6aFTp&hPb#}85ivdp6{-&+7{4=fr9)zRgG?RtEm05vc5+GbvNT<&w* z<)&fz<8oTbWMos#@iZT>eMi&fW0q?S7d(FA>iI1m%3F5%YvsY`|HEoNyN$6Q?_z8j zAd%4K;Pc=~;B{aMXuCT&9q`+s8XUhs|4A%n*B-{cM$aO64&&dwkFhJ@jbwRl^3?Km zayiyBIT>pRb>;k8ag5E`*snUC;Tg6id1}to+5Q)J^Yg0wVwZg8tkTL`n$b+l?Pr4n z+AT_J%zQ#ZlkJAniukVJ1g#6y4t$bcjC zR@lD;z7DSPI9l z-cPH|97$!<=~O12KG5C4PrI~*ecZQn-eYTiQMWu->|IM@@469JO4uQ;cxHB*jel7R zGKNXmd_?5F!nrOm=@hwPAP4;ea4$FuyaS!yq{$Cq9_UB^ESTPoX$*}&4Yq)fp*Mk_ z1;~Fl_%(q1Q?y@!PUHUsXkOAg!EXZO^E~(xPy;*;(D=*frym7SgEcjRqc`?f|0pqO z>HFYZ9|p|=^H^)=juQI^CF24x473B^!a)Og8vGD^JPM}Lu>iaU&|AJolR&Z|G5Ji# z^`8k`M+-Z7&bGba;Od&ExQei9scdCfhR4IlrcGEJsBF=vj_5;%si(#8wl#(;S-x^% zu_>yy2^NFLIIp7qmTvOcgRi)Uh4H~EjibfUuQ-zCjqDxRenDuPpV^!!WcB6ZRv#w1$ zi!SR);i-4io;=$&DeQ)sS2W~YkieA0QR2>wm)JZ&`F2F$==&vh@tHE)hc+cS$@Y*~ z{itJD-pEeT+~#=`gJX{2=}n?1UVNj8XtHR+emL)32q%0B{eQ9m=Svid9Z=Bb7QMLj7RH!n^7ZcDFEkY#pO2pW3A8 L(|=0vYl{BA4o;%1 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/.vscode/settings.json b/linux-0.11-lab - 副本/cur/linux/.vscode/settings.json new file mode 100644 index 0000000..cc134d0 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "cstdlib": "c" + } +} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/cur/linux/Image b/linux-0.11-lab - 副本/cur/linux/Image new file mode 100644 index 0000000000000000000000000000000000000000..644282e9262977875cc72cb2e42a55301d71cb6f GIT binary patch literal 136580 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 au0^M`{!elKVR(5FYoI&JC-P`?`Tqd&z8wYt literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/Image.bkp b/linux-0.11-lab - 副本/cur/linux/Image.bkp new file mode 100644 index 0000000000000000000000000000000000000000..9869a43badb77318312737429c1972e920db1e68 GIT binary patch literal 131556 zcmeFae|(h1wLkuB*d+@t?kbCJb(O^~8tRHs(>7?3)uwHvX&V)lDk`>=qNUbq7PJ>b zaG~a54bAo1-d1f3(t52wTB}wAT1@~6{;E;iO8rqIwRG2|)ay@FG@tkToOzyoHUzNu z`}yPhdEJe&&oeV;&YU@O=FFLyGxK!!RIk|FZFQ~aS!4Moy*+90jbFSPv#hRbHm%sa zqGv__1J>YL%UV-q-EUQO`>UQ9d)a7&yDjU9vBj--;U)OQ*xy={?R}^E1j{`mY6qW) ztch9oS6jcE=Ii#2eIn9rMOO6WkG1j-Ta#Dq^i8#_%z=}0hayL?D*Jx8b#!+e&;47g ziXTp1z0>!qWhJ@-7XPm4`Q>0Z^WibiU(++yN?+<*KY7(u-;pDKWZAvFFOTy5`La>1 z)yMQq+T5ETm9InO2qaBDVdPX_X8&%Vb>ztFt&D$g#bvYR{zLirpGS3>zbYb zNjm2F;(xWAe(Gtt18%f(`~Ju}spF5i1Fp9^{&bhMWQ*my2erL4aQ0WunYkYIMXjG0 z%Ruq*)7HK|;!bP(+3PK9%;@HCUohvwi@%Y$?25};zy7Vn@{&xkW_ zWutA@MzasFtb0117`M90x+nZZ#6Hw-tsZIJv;WhFW zob>h@tNo2%6bs!6&=vL_n(~Ex2OR6mpKsmy)Yduqnbw^zZJnJz)w*-Pt%;&lw6?C~ z@12RQ6XaR5b(K8*CR}C0J`J1Dpc8_Sgnh3;;DSI>v|gEWOI7A=G^_p%R^xenk0sA* zdrYhqjE)%PyjPwT4pcZ$;Xs806%PDA$${<&$QDy?U`0NB*F@|0J}ZAV;_}PzGhFI1 zJ?Yh~>J*r05v%p}aH418ewNjq-BcAmtS3*yt#I?{mi7E!Z+K~-!D<}?fb44{k+!~b zf%W_=>pREQ%n%bYXw9|z=dQI@bWZI-3=B}qva9X0{Mo+XDVevzzC(V6==EXWxO@3z zp_RW12Pzz>aG=703I{42sBoadfeHsI9H?-h!hs40DjcYApu&L)2Pzz>aG=703I{42 zsBoadfeHsI9H?-h!hs40DjcYApu&L)2Pzz>aG=703I{42sBoadfeHsI9H?-h!hs40 zDjcYApu&L)2Pzz>aG=703I{42sBoadfeHsI9H?-h!hs40DjcYApu&L)2Pzz>aG=70 z3I{42sBoadfeHsI9H?-h!hs40DjcYApu&L)2mYVpz(p4So3}qM*qry{Z&+6G#Nvl% zT>Q<8zrFC{#Dy2Pe*Mx*GncfE9%HqfdfK5Q!z(=(g3gN~Pkuz5Wz7t)svdv#S7ttm z`#slKQ44piA2Yb~jobR<68CD{FxnUJgDceuz6JSK%eN5U(w6nm&M)IW(CXI)tq*QH z3U`WHSME5bCw$muTpT(EAnmw1bSLi)wQv(RFAA0CEX(R_J)D8cUxfn|4pcZ$;Xs80 z6%PC_<-lMV73a4)_`J5~e<>F#)vj=$!hs40DjcYA;C}}PvfCovRjBF{?RH}_lwFhz zS(lH@;k6jy?>n1U2T!Q7x(D%>-4Iz%@IyX2`00Sp%}B=Zp)!1$?;AcBOMArQsyxHrv@x7xlIc+)qh41Y_6{Fo(?FsTkK%S_OvF@dNf}9G- zsR|kIzIsoP4S;M=$V7L?o*+*EgaZmW^fy!geoTdUyEkb#{O6K$WlG*W=qnCLuoN0K|p?hyft(0K|s@hyx(u03?P1 zNB|(|03?S2NCKe70jL=UpoSQlKy9)U6x;q}er$tftzP<`&&qCSUVn!Dx3kVXJ^RXQ z*=>oP-8+4wthqTWd|%J%P^`+@34V>T)+P?Bvh4NUTv4;1wf|!GzVQom1_!ctV6=Rq zXZ38LT*aS>)@y@Pgq6dRG5gh ziZ83@;U_mvisP$2Bk56pX7YUE)) zJcE5mV*=92!hHL_-~fehLux&gM?KPO*h;`v<5eO_l%KS&*axslQ$9f1kQPx=qXFfC zSE9%}#t3>Q<cwc2f7|_o4I(hR@n`G7_q4hlNF$vwoROS>Whmc%iV*(^4 zl#K~tW5UZuBdSx;*SVd2YWgbCYpzdZeEKK;qp z76JC3T0z!1e<$Fin6|N9PPaG(6+HpPXSSD!-E*6}#9k3bA#+Jk0&1hH_@LkpFI%Fd zlH&XiNtz*ZxxNc2ZFtWoht$#AFi`~-BoBMu*YF*6on`7e!&BE0z-L3wH|^uIocdje zIH_M<7sMe-vBEQDT51ug|0+64w>zS!@LpbB*oI0Ky8-OTaN#*t6LO65V~yxoNUO_n zB&^G|r$9U;BxDMxH3h6>0S$2xJp7`g_y@HI#6eZ;$^(!)-r4oQ2*u{>Uv4e!X?=mE z8ccD6shgNyKiGo)N?{Bn5sGj!QRMu~tS3Y&4)z3@l|dU!Y2+x4cQjIbTH9m9k{j0n zMY3w(ai2A1U8btoe8Vb6K(zLemlyAB0bP>5+J(%u&p}n^0%(k+yttA;#mMu2mEhby zN%vWxF##GQJ3&_AN2oaniR6GhymXlx%C$EG8E_r1skttOSG9wRDeJDBXd-7IOmn=#~ z$h+{>XM;l^IZ95kjR`_Fr}Y`(=i7=WNhU=J^;cD_b%EmhNKz26D;HsiS=y5s(>^CTekYMhER*Yz+&UAs*?4>q8J4T$ITk^fY7<{Wi6Cr0 z<^bXwf%sTN6~{9Ijm`*2`{J+%fXzU3Hxc{$UO-VO@%M_9&;(4qz%|HjLudFP1dQW* z7{Ub!f8qV?hWL6!V$_xjrNDe}BD%3L8IDklQH)i%6F)-nVTeWr1BD+V2H7HpI#7S2 zC)nA-f+BWQNcSY5$nzQWk~NE(`4j_0rUGaJsuq5yzhj-0I-y@`Deua@qG|!9xl|f+ zLn}u5=On{uxX6g`iqE2=*$q)6_jML%-w$ii@zsCtH;^@tF=*E(H20Kh{9J4TNw{Vz>uV%P- zsX%a`K_S7MHEErIm*(b)eOjZ^vvXZ7ki(O0c@+0IaWgcI zk5#NO(0xH(a*^qFq z3N5?EKb_oS+qG2{50XfOUFb%G2J*+eOOc49x~frh*djH630bX48L`0Y5Ujwby2mdo zp88Iq_q~9F<{yGV(|CN%NpA?+5%kC)`_t|dp#!8Xr?uUFWuO7D&gY~kfGl8|YH~6friNU8G*PPwwO&rs6b>MR5!x-2-Sc}o7-_1p$ zXFe&*V6fG)Jyp;kvCgyoP!6$dZ}swHmXGb-5}BKe$jp+KE7ia`>)8pZ@f)FmxX{sr zUXNEwcp6X6r;{9KHlU`6tI76+a#Z|yiR3uD#!E0q@EV!EAPDouZiPykg)z7pvzXG% zyq1{03rusb8L-#eo3$*KaVAq{BSlyh9?`?Xlet;Rq{vfXGi1hw|%o4wnvawf^_T=Sv#V=Y_R)22fHxWD3XYwDIJZ-q-%}joQ$)77v zmXUPL0Fz%~@)w6o&NF!%lV=Q<{2G(rWb!%X$x8VSChuhO{^dr1CR?--{In644VOE} zPLv}_39ySIv;M4u1!4vgsRpn#Y_fbX3%{lj8*Ot_=lHms>R zlQqE4+DnF^VTb{?4-BwZv&56X{80a~fNR(Hy@^=3r?E`zLBS3>eGdI#>=qfEVLS<|pguyv)otY>Hc9lP|$L z<1otCS&LuHVm>OCQ8#c~#vGBs9R<{s+bF7-66JQv;j~kLvz&&A#>%Dy7WLw?>^`1q z>=Pq}o&;iRF5~2WDr2J>o9-Pr2*|jk!bN8eVU4g8qIMUIK~|$t?4!=6s?z&RE(MtQ zORDi6wbz|C*WR!9(MZSGj!&H}spO55OWsW`d6!&~U2@TY;1C|clV!wgurPupZ%nkg zUMvQNq$B>_!yw9UqSj^(suqb({Zc#gMxm`=9JeW)lr?u|5m6z;4zCUG9k4U0grc9P&yayNk11zU5>!B&N$6vA#40eN8A^ z1&;N#HxR9x#`OdzlpuMvZ{v z`?EbY(!0T!CXGeoG~*3_?d97JG%;i0k-FC)1geatZOCE@#t>wb8v*I^dA^A7OXDG` zB7jw3I>wGT3y?K*GCRIx-AaUW{w@e?6lwx%?d*tAEcZ}UqjT+(Wjh8*@v&`>sQk5G z0$eC`tPw{Bb0^oP0bFY!TFW6A90GB9IRt|a1nU@}7=b8OKJDv)k*h=9EP#1pFeU8# zQO_=s{?0phjSO^l?;1I>^OjvBs{@Ra_6g1H^KqSK1lMUsZmhO9eilpFhan_X_79;l zunU!p*@a4t973f=4xv&bhft}Jd!X{FGAjGn=GH2z5)1*dG{SW{hSRJ0E3eCXuE35u zgFZk*R78gqk48O1W|stQ&cVqE=2Ry!i|mfw;TRax+8$+o;*nKlCj+MV#yO@0IUwQ* zOTZZGqG>TyG;^qc0*02MvJ|;ODf=R6Hj_pXc_2SJjmL)=Zfh`J?{4pW02Jom(x!@G z`W*|eJT$!O^m&ZG$jaZpiBqKDIpI}o)9i+tbGUiVrFvyS3Oym@x_H=J+mGci#P|>& zvqvwtFqidh&gN^4ydrVA)o^s1bX<9#()IxPCiV_cr-8b@9koE@tn5GLsUCU;hLBqegfo@gnW$>r;+LhvID~XI!zuwceUC2RUr>R) ztXdtaws{Dup*1I|*$rvBgU!PGZ1AtKaF&`Ob0D7+TWPU1D(7f<&0!gZ6d=&74bo0n z<47al8~`E<#2jlv*&UIEDJX<~2a8nAL73}_ znf;PrwU};XLIUvaBgIeXqe|N}p zQqfrRvakAcXs*SLg~REN=Hp7IE^+c+WDSHR%79GqJanvX2t-no^T?d zA00JqRxj#f9n?DvuJr#L*H&zx0e55Jc7vB2TKohjuzV75Gp$WE5 zlt_1j5U7K@qE5P~gFwx_#IlI#p0ac+bN%T~Sq^o_=ME8H5v5UlQpl&d_7divo70Cu zE=A0>vr>sh2bGs>-M9oxm>atkq}#&*hfIe9O4T`g;W^hW#&90E%ckxs`jX1x1zoCY zt=1a!J3odO3zev~(Kmzt6hYxOe=Yj2U*goGBF@DMTB*W-_OwzAIpZcI_J^lC6*POe zs7q94>LGdCLqlUua~07!)w~=CV^-UI5XHQ)*28y29otj$#(8eAzv{EtZ&dS0o z=)lsAEimk)xo#DNblB8@cN89z`WsgYkDQz)@w(i^X`prlWtQqOo9kJ22XW@w`DCt=qrGnFR==69>To^jRh%EF&K0 zmw5jdwzL85j)iXRtEA#_a=7?uKsa8mkd|7Ry2Q)ZgoHJZjloW8`yauz16gN?EZkk! zVP5?sn56jySYxK{Jst6I+}Rfo41=711`}=7-C*lraW+B`D|3`-{4UXcsF@=N5Vu_v z@DZ$fE*;`{J{>L=SVej2nZMf4jbf98;I*nU2p0hS$r%>uA84r}U0<=Q4RKTHwQ{@4 zcZPNffPg+EuCUoheL#vSYl!}?hx5OG7{FyxaW z+rB0aI$GpsOp&5B(0~bVNu<(S(s>`Hq@NeaQVZZa-l>R+YdJmMyUU{;zj78zAXF>*0P&6ys`1DeM`S3Nc zT>JBBNOMFTMqE{KswcwLm$lf0O?nfk1foA+BfwR9$)oTnvmheHWT_YY7ka@1>;<>| z!{{Cx&Dx2vPP@dm8t>MLEG3C>xSkwI4vVwYl6e|-xpz|~ie(S=@e2$oTqYYm>3!|Bz)sQhMAC(1MCOoHepDWXxRQ(dax*c%FX%3@ z;VPF7wS}lY-IZdHL&H68gZ>oC^=%lX~_`W#h}dtS^d2O0efBVmVmE6;O|H61xNV` zJJvnv<-IHNK)#hG0&UPfi;MGG7|qqLC`vG8li{rJsgU*j;r$pnsl;R8)DpdwV>va7p^5^9Z@H<%h(&9l@I|Cc z?`fl#Dm9v;UTRyvR5;p6g%6vidi5Q9I5hbY1xgE%42pp*NSFqxsAca*F8%2u8AET5@G#h}%%rCA8a z{w~Iq0nw@hJpwet07;yu(kPY#ywK0aqi)l%4d&mnLsbs2a81F_xDJhr7hBmOK$z7v zL{WVeDif@M(>_NG)RYUd)jE_-6AH~~fynP2W5)Q6hL&s@9Q<&Q$2HO+VGn)DyV(!1 zt%zM|RXM;K#6+APQydii4DWHCY(z4G3VP;G45Gfq2*%P$`_>QbF2(|(SR_NNE6S#^ z&qX%ReYqr?MXnCiiUH;2)_D|qB;a2ibqRoAOobObZFFZ8IEm7NR-Tnibbf}5!W6u? zu0e`M*#|f}Mj$)QqX@HO+dX>DdiAT_30^0xHX0>~#9|sHiBTD2*>dwYY5S9;oTcE& zHJ%*d>a75KJ35%o=R4o5>Bn{0nNp4c-cX23BX4TEf+EY&IecA7OG`r59I|y8;o&F%D9G2Nu`}I-J zb$;2$87<(q?`_6Eq|z;E(x!7Zb=cB(b>8UKU=V;gHENZyQ@Jm`ixomquk9$UE;l4 zs@{1{)*m>xkC&Vz=ezy;FVg4dgXR=KQkY>PiK}EuSO{dj9ZlwciauGMns$=1nnYR+ zIhl`pL6y(fn%*baT6V$K=wSQgE=kQ!(m}fq%6Pk%%y>y=%S*b^k_5ocU8 zvY<55Q4>}7kAjXR(dszJu81AsXm-bE7juJy@0~4k_-40IN+mJ>IpF4QMUY!%qd4&5 zNHlgo(F7QO{q*wh9jHbJdkR^Ckk>1)F*>4mM-`$JSchxm8j_)3j#bm@KuHlylV`(t zhue!2gM&P6Tz(H?qZR(m=m|l%!-U#Tl^r(Z32~8nZ)G_6T2KK}Vg#m)8aeCjmJD$z zhh&u8<+*!Fl^B`=t+F|5fJD zji2|S4~CZX(q+Pabd3c)(z$jg;NG~+?%#P1`(hk(i^L!th89*8XRR9WRdE3$v5*co zd6u{uBMtbGAc|f*$+kqms;a^y7>vOVT>|(K?AQ+rzExPZa?-Ja3nam-faE+NA*ses z37+HAI8kCDNv5C3bZSO9_cnu3MH>uA%^v{ys6)86Hy@qI8Xz1iT#e3)NQ}xd zc*2;!OoMV-93Y&n$tYvmp$0t$tSz6IsTDAg5M_>R+YAqv(+2VuD_FuS%c z{KEA?BsE{!R6jEYfkrPc7O~>TVz4BXr=rw} zjh=7<;U*7bnhJx;h=fx?a`tv&du2edL8B^%0tHN6$TP$^OiGErGPqTPHmI?j@#rxH ztjTUdzeA1$PI^H7S{O4|B8mP>kS8*^coC9QqO{rkF{d$3!6tO<1H^C*C1yut8VfmE zz^OPjCF3x^HL?|>Y{gvJ^0}c7?y;r(_^BbEG30X}GY-S&YQ!a(kYECKKAF&jQ?TFP zjwTw?0Q6%{fd*{Hg{=kqIKp1LkXoOHB`4k7ho^!0IJx)oOTxWcEDk~X^P%PKl=KFl zcrpylv5h%?tvTvEtwrpvl1J7}&No0kqfq1WW$ZsrN@EV^<8qQLMph#lxI+^u zmZd={4vPc>aQ4w^fvnA94d$#facmIakO`-ud29{`=TZ4%kPsSLtBg3SK~gqBt1_n< zw;{sCujPLLrB5C~27)-XC&xfsd_4YF!q-JEP4AEg5`s=WJO~L-buT)}-e^C&^Nn9* zH$=reU?r2i`O(_XNeM#Q>rGvtR?%w@LLbYPv`PuaFe>iI;c<@tBTzwsC}QYZw`E3P z5RkLWapGME(di-!Aujo!>OP&!QZ3o_76}0+fxQ(oGRUDcEA!q4@cb9>qxl;E=k3Wg z2y+;f9-V8CVVHEt20g~092(6`#w5a9LThEbIgWt+gW4tN-Kk}H*p>jFv@Fdo_00~P zgxa>6{C`JJcDUnoi1>ohXxO+63I?nPU?g4ocnWVRr6QSc)BQp@3}Ur%j>*oR5>bSU zO&ZC-pBk3Fl+Y(U@hYxJ79Hux7mVVfQL%q^%LgLa#EoD{FrhxMtRq8Hoa!T9ram;( z5$UFtsP;%oZBAJbK*O2(U59i}LN1MST049TO=rBK4~RLTF3x5VT;#)0^JRH==hIbk zoCb-xE-p5BuwfotRh*zX(H_)PwKinsMUfrM_()xmD}8aU^u=YR?}y$|0~~C0{dZMt zz=%d#ML<|yC9`^(Yfpd*jOD3?6wXE#m_mUC+}^;ZOfljgkaUd0fx_FMAb zW)EMAFd@-nXtZ(%E(tgbCq{K+jr9Z_HI7M~9xGuSthtUG^)>h>mxYXI`@J_u8s~v} zWM)HqPZ^RRIsU_3zL9v!5vv$L`*NINr-A9AfmCrHI5~(Ya;q4rs{E7iZrO^U7{<(C z6EQj@>RBZ&HWD)eb<3~DOu1yG##Yn%>4RdDO44u*i8O7r=Ab63JaL|=jp(DQJa^F0 zr`$y+L0|V`nKmR|5U?5P$rRcs0|v>9DS0uF_Y$Urv;|O9f<@t(k|Mdxk}?8}Q{A*d z68Oh4D>cZHUjk^5b{+r|ugBF9f$|L)P{AOog(Ubjf%mAXm9(`V&O=3E(xRM?Up1Y zmC<-5Gol;Q$I*C++Q57%#MRT4Q!t6@=zJ~|zjV49vLFz9e51SHAjQ81#Q=a&i*6$O zKZe*io*dC*#Cs6%YNzT-v#%g}ZZ2Il7b|Qd@ty=GZct+ZvSA#S5OUw}||V;gs{c!Vkb5){vrW00az;J4kyXfHpVGOs&L zSoyD%`7F9rd6})I%-E@%nHk9lwx5h#pe}Bj1;^N_HJxoPuux_ptm2nQ z2;06`j|_FC;~S2pIEv<7e6C$Zd`7zB%o$})w%U*u_};0*aO2F~67a+rhk#>AfEIQ# zORMjo{T1(!`(Mh6{xS17Me}5cW4)Mt%y;@lb|(M_)QnET^zaAJM?E_N7)tknx{z)= zw(Ujqh3Hr~t8%lja1wZ^4WX+c*DoSdk>9h_^v=^0p0m4{fO6vP$BGV*k+LEcDsPUU z7*`cJCdDvUh;tqjo7T2PAEu~3K?P}1K;OB1CGwLGcC^DoZ?r3SvY)={x~`_WpX+Sw z_p&yPr}Tk?v<1|vzhaV$Su5V>?;?RDZ*CuNTfkdPyv*=|GrR2h+Dj79pUeKJusE!o z-gjNWdYybg!PL} z-1zA2eL3LUBpV;__L@P;JOl(Xj?;*ib_HkH5gS6e7{_h*R$p22EPj1xZD(T?V7G8+ zCAwoFI||44&`#hLQQ;sKYv{`deww>IO2=5R5tuAL^b0xh8>N|G2`6II$zmcQQVgM} z9lO8?#oaDX%jK_jSow1*UF%9WH8&8(Icb*N@2?Mm@d$#EQ%>FIaTuNSl$c+X-zKg3 z$uu2}JUa@Q0|KIgtj9=h8iHbI1Ff;Rl#E^YWv9?mw*z5xhQcO2dpx!g=+AAo*@L-s zN~8=?M9)+w3L7-w4UDHjxrD}~E>G8C@n>{5R;LD?+o-U7?`utFcT}~05xq|xrLHhs zxLopa{*NuxIT8>B6Z7?BWzPVe?v1Aw;zob*QxXe;YUXga%`>=%M?d90b~#Fx;$GbQ4NvqcqxJ|AI|w zFS9jZC?UE=8AGj(JyRqA*I-6+3I{0?M)vQ}u z?*g6pm=490#!yZliZbNwK+d*J<%HNKG!*-2yJT)@UQ9&@g5y(bOW zz>rU*jeH`%#L{G58~pkjDkk2-S};IlZ;-v`aO{~$+o^%y@Gm#H+5K#yT?W=!1>8zO z27=l>G%t@&?6!HYJ+aih+kukR`2W_tAj!%oH$84L*LmRHb}c`mXZd8i&L%IT$)gz z$0=yflQl10n$_vc*V2qsgnGadsHIS|dH)t>SI{PAP1Y!Yb2SruD3G;|yF7ZWEdV*l zgV!hFfw7)GXAVNtV%s?$V_fdeE1@8X#-@pFOz$IW-Zt_a2?Cf@$b(N<;KO#svpbSc1j&FlZtGl?;dV5mxGLkvGhu^VI(%hiy<0%Q*S!@gPVh-Y~jaJk(Y7dm8z5U(5>IZ5WlRkBj_bCth~Ss2Q);A2T+TK1DEuh=*bB!FM-!%f2{ z!s?=$#VJ7w8AKtr6r!+w1BNM}WkKWHZb9_N8GR$7NtX@IeHu;{vd=4_E1}z+lta}0 z!chMrqqTP7WiMb62;>IqK`x%)Ybo1@Ft7+qp^;s8rzhlBBNwRCsfx2ebyj{9_ef#v zVjhlsFzk6SmCM{XaZR}sgH2B#GXi&5YmzEez|&mDv5J#9)`cLM)Vr7*NK2yTW+QqE zYkt#utP~%tbkGYa&W0dI z;_sE%iC`_0Zik};-^~z@nA5R#MWiSS!!_05Jo4baUZ-_fiO!ZPB1DUhM99ouIHIzF zn|kvBnR~`cn1wB7Xt@XUpaioP%@S;ua0W^sT~V; zF4^x%xz&COP%P>dbz}_rU9r=I!yJS@zMO+#mx@z-DUY{`m#4}=h$+Od<@cXIZ23RS z&jBm`rGg(rKl~R8K5I7x@44c&7meQh{7PDKZ zdyodn>DM>^G5u?fgDA>H3Ge*3-H$E6^e5D%E5ljSUZAB=UNOW>3Jx!uR`MD-6JQuM z*%QM&47-@6k_=X&~05>6UxfU`4 zLCvO^OR3bX3elIA?F0h%rDgczD;Pm7S5>^wgp@6a-<2(H4S|weWad49v*=P5Z64(0 zE!Gj_W@|-v!+Pk4kX)GqtHX5hs5x(>E11}h8wngC*{lE%HHxu!9x?rgyTvl-QP}`i z#AgX~1H$g|GUOXZCsJV^aQm5WX4}Sw%wm80_6sS$w%46NJ!nYxP(wHR8pn|HbD$b+5VYN=tI9>?n>yh<96gCDS9sH=- zN=XPY$=5%n_ew4tlGcGUq*Ko$SnyP6+qQ8400s9) zgIg5gc=2TZ0+u5p*v98a1Lw6*HIYJhn7;GebRXs+GTZ9lDw2Jor&&5>j?{pOT`R; zI+slWTw+gu28TS^#BwlmNK;fO{d>lLhNUW(xF#dX@S|GS&2v^b%#gNw?LXNs!2!-m zwUPM~;5tiO(wI!s&l1gx%XY8JZm3lsdimTBy%)f7TJ-q^+(!ixWxNr!T`+rP$Pzl~a^a<(t?3!Ri$3A7B72NT$y;-=ID?31WkwQ|<&& zlw#aKbH$JGlwLGjr$p#Aj#$LRO-B-wXh2sicvRNdW^~5E7=Ux6W6%z;i$`09l^}s- zqL5(WKQzGkpjyqC<%#KlXNX{UjxkT^b)mjAW`}|Sud&jrGt}so64gB__W~a}8X=U_ zPy$sAsU4DD&G`(7MByNkm%#{;Sjh{rHJKsXlZ0*xhO;x!(pViuR@P1iNF5J3!^Mc_ z43r2YfC$;qP}I}tW-?MU02!gT5gn25pZ5S1X*J_GP4%X4uZ+ESxP$_)W#E-70Oj15P%uZ(1T6@ zMFEJ5Ryb>J3?gi@acUBElRTA1%GY#9{)jR~adA)})qKQqi6mRvtrGQt4lp_j%kKSA3u zB$Q0OzmRS=h!-~Gz|JU#bxLbPY2tBe=5oqKvwoS>1s18x;btn!a#wiuvJAiR!VdI9 zhjA{)44xNs`I@Yzo%GEvl+N*m%L+5_9`8#-=Lv7{I;-?L+j-rXzL1=Q8^}fSBo#kI z4@HT7h#ljE%KI?#faBbKhVZ9~vJf)A@J-X!%2OgDf~%Y^Ucko=t(}O5{{zXwlrI3J zo>_2&@cZeohH6CSPF*}!J|x4HBQ%qP@@N+&SI8L1fEt zaJUs{I5?gFEaBy-N38>iF!kq1hZ^Wj^H9;tnM6C8MN<|ac$~TL(u7zMo+*+nOD8av zV~c;~(y|NgbINds%5jUF4Z-a!OK}lHkl#@%Z0HgP(xa^zw{S|kmuegAzm|LdF4HLO z%3KeuEA4a3VTrB0p}q$zN4m3G4w&X>(_`k7+kg4~IEF75m!YleoP@fv1X6SokPvm& znd?)zh#a=Ven7hz6WKTfPT{CaO3Y$1D!`z3A9gmjvpL-q`TR{DG-BE|=p3?;*c%Y* zD4!U1mEe9oSojO10@*}?yoR2RvdyR|j&q`L0LziRaF@d3e9&EmaNeo|YaOu^*3zwp$o{f~5 zOzC%1obE3bpyNC8%X=g4+L3n3mOJ{5KXMobJ4>SiFLM z3GcFzVc-^*f#R#3;Zkmtt8?4~5bGw&ysvKsc4?j8I2k-!3u)8R0@_DVA>?}sDs{h5 z8`3B<4!Z(;y@R(n3sDhiTk+_V)J1OUiOe7^TuMF9DX5r`yqG=OEkuJgtxs}FAReS% zhNGM5pdw<4D_{d03(=XN#Lyc>!l$+URU}fEJY+z;j`9?TziWQ;d{J0Y8I2EP5pGXJ zVe>>%`qFbyZyslga=4AkaQg?rX@irqRjYfJH18w&t8O8o*9Fc0O(;0q$?n8|-<9iF&N zx@U~6BB&^i^xjGqt^ZL<7IeVoE%$wvdj`s7_d6Yh?)_9ZUD+A|IU{HF?idYx4H}Sx zLkQ9*6B{LP9AT%ElUzsYiD9yj{=l>362Do1t%ESs(Q1{=vj)U)IBT)d&Rd}v5Kalx z8+15nNCS6-{RsQ47@(voWw}noawKzs@eQ2USeXOG;*nWot>XZ-Oc|V#rSkgDx+^C|uV^5l?j`*VJc&?{o1Yy({pBG_1i(m>< z1Hz_k)aWkg3J^03E(%)#k7%5xYJ~qF7}|so8JgcCLth1ndtoT>d}Lpa`HeE;x+Posh4u(; zUPT87F^A&>8AVP~5dD-;R5n9uMBw4p8sqvSsEPT*S3jg317D}C3Piq#T~xgwlnw;Y zdU9HX9E=I5V6qdAmbc04#V>sEAbawtmtQMkaTTD~)hF~@|9V4Bl zPTT$@AXEG*M8ijxRQ9cAuuh9yY-UtBsLsNt)o5wNb~69` zRmqXC8p)wfq9QYmyek9(1#w~>l2$9XosyzPae5S0OBCt;>s%fTYze(~HBqJw{*0C) z9@U^V(4dbJkBwShUPLRUWZLUsp|Ckifj`?N=bu1G3f}DxGG*_cTxlM(K{H@%O396* zDG=FA$5DvRPo(prLG{Dc35RQDAfL$L3lpOV5P zMtIinwi(4o9{_J#-V3K;pfn3`fx-*ghN)p1kS(QtO*PUCtfF{=ISoslN1%jLThzbi zN>;>;F%UHv0?CsU(pX7&*^YIB`f-P}@y;V;0>rwwSmN!U-JAREMlJfbHWS|C8lPD<|v^%tR{qFC#$!=># zH}X>=P}U3^wR_@vsXz<&#lbs{FfB53K!Af$OAc4=k-vDw76jBfEoOpLF`mpqdN0qqMcE^32$}Si@jCIuU zy&=0}{DR+SH#D0ap;{Z&`SBs%S(rI)H4!MCW!yNS-qijl?=SwjY(7T@kW@dO3BvwN znCg1Nj9qxNV|x#Cw4s&$R+y8rhDPG6<%EFTM()rcl5+`YaHlnTeh(d%vivVxW;oQk zVD_PB13$`TM<^H{-DAVyR1AJ}oBz)GBz+Uerq>vz2Ti{L=UO&TJ zGQ``sdnSy;E|d{h(?eRG>zY{nEhurc&=b(%4&Y9E$fF zCA=kTM({?!3wID$1Td5ZS1Z~s?xjwMDs6kV9wJ|HC;zav&RT_RFlQ{XVz%}-L`Smt zqNG>TLnYu70%lac9%?y%9H3EfJb!?`P%vAnO6T;CKy=}AfGnJZA0~P(02qx#6q7C; zgl&Xw1`XebEex#2@ZhvI2~#V-7^6=Kg-CiIAkoET^hV!J0$oa*Aw@*>NJcaKO)go4 zUtcrNGUHzo{}Mozu)_9I)mY7X91y~!RiMyG5p#e8@6EUlqC}|djDbXINnGVoyDLCv zyej|58q{M%ZbS*ttk_>rDnrD@Vj1)b07hiQL&(2Eh6lhVF?>&jm?0spCPA8)Z`=+B zmM{sm_aY045nU}Gl470!E~BtOMG`06lRV+xhkByke$hAX&4|xpi4RcJQ^_FBT<`iXBE-k-%kYav-9P^8S5{p8yRaoqy2t8t7ZPw9a4})R^o80yVzvMS#=* z-iGiO4#0CM57%2r=YxG0B7+rFxXl0(hu{U0-&q8tA3?;{n%MOk`x=TuEc1I8Z`-k? z7Xft^;<3&!SV${Q7Y+zXIkNIG5ug86%TQ4n`=qGXFq_l5Tv}S1+@=L;F1*8@3>yMq z4Pfd~+*hQ^_=Rk0&6duGL-Kz{5Su{6BcQsL96iAU0ENH++7^3AES*Fgw zX#>fr?4dX3x}3nS!C>K2sH(|>YGTyucQBM4e%SGnaQzjKj`rch%9L?*JKXq?lPUO= z&2`Cp@G{gv&q>Dj0X`mHwt{z>8dDiwQ z3eNGk?Al;quo`qC$cAMwi1U&gmnM%Sy~yn!ji;0IIpjoZyoodv$%oZikGy=_Xuvd7 ztcK_^+N6TkMC-OvU{vc%E`~8~G<3PcA>s7%^g~oUD7IG7@qy3)9*|FdD}{f>kGohJ zj?Pe^SbExI8%hjZEeppJ>!twgFcaXYbDdLB69?oh9wBmHA@~N}y^O0# zV4rS=t3E&*ggTcd>i~h*AhJnU1ds8`Zb!=OuU#AgA(nn9LPOd>kQ|TNmTC zUthnLyDr(S*dD+G)0L&k9=`NX1r;L}egcbW~jIvuMp0$o*>)ggvYU~BDd^ZrwUFk74iU*ul#=c1;~*q=Eq{IQ;Y*SX$z4po*X$*wuRbU>OSaJH#Wy7h zrB@87onb!H;l|O9K%7_y<=wC!dMZ|{6zlw4UfJ`XRx1U5^H<5ld z^{}d}FFags6mFHwUW?NaX4huJta_x}_&Wq?EG(zSA3<*B4LceO`Dfzzwm$=mCfSk= zG&F}PfC)U%v;*eFKzL#Am>?9^w=r0zcf{i@v!2RGVafpc)4h9%w4bX}O z3gnnS0v~~S$7MukqNR%%t*aFqQ`gb}H%HWE5`v|#df6YVN7r{^ViLoNti((L3{b>< zx`GeFhzhAOLEOR#uDQ4myPymaM2LU|&m)|XBA3Uo^CDlxLu5>sWMjAml?QfD!|l6e ztFxS$6RS?e;Oe;eAxy*Sv6uCfrZ{}KT={@K1b(bx8?W|Kwtj(Z<)Hxb|u#hNc{J6{>7|*L>yhky^OaBchNQAc2{~i7tTuuYb z&9%^Fpwt2kNrB!b*td8TqH%c_n;<6p$Y>=$mIKx!-f0>e@^=)b%CcnY;r<50{aeeq z|6Z%q4&2ArB4sWN{@1XZ;we6_#Wb*|oPB;2NRKV9FJe8Gl+>X8Q@9s*$vSS*+cTD8 z`5*tx-85Km;1WfRPj0zRO>4VLLYdJ(Ah)H!3YKJZ^K=GnwF?DJs^U{e2W1ZKNh(13J0L!Jn^M{PJ{r|rE z0*dpUG}JF?H{s%wpt@fRMb51Ftm1HUK)ZqaxS!jhX36HUw^_p)BADy`+AR*-L9blo6MPnrB ztP;tkDJ8D}3vn}?hZjN&{3Ud;ZJOT0C_vE54=8en(Zb!rmdd?d+hp+1~_k;sY)4px= zo^8SrX|gvBKd`jFH_t`(1j5Z~^AONo0DK$b%!sP+vXz>v(MAXT0XkvB{J5V1QOP+B&)Laz@yo@OMvQOvgJ*L>z8>94V>}r8+V@2PYS)I)ym7 zDQH-d9snkQ8Ir~jS+*yQm{jpIEKT;%lX&BPgKP-l$VqBbTS8miYISK=O7plxHG#G@8G`LiqR7RD!eJbnYT?LH36u}Zvaf~hQXf|ct zrKcbjE@6g{w418?hI*^V-nZw>B_Pm3R0`o`ONj3yWn&*#54U5;3AAzjm9m+EP@OKm z{}HoRd}^4gLQ;H>cAQ)Vp^$C$F>RYzzm4k2(?A6y!V@d*OMf;BPrUGLboQ)xFgED; zBR$Fi%U&rSnK#E{o9y|LYxMA#mV!ncSUfZT88(x`CZNf3vy*_mRSOZ1!f zJ8iy9v9fFGFjGSqm)#Vplnr*@h3TD>`(EV6JNK)pqLWO2{y{Iztw*6Z#&+{1N9P-! zClNWird*1O<7(KfCsz>JI1xq@mp>v5$k!J#0eo1u(P#SSE_X>bEosI`-!8&OUXrKc zo(TlP(=pn{jyRZoh3D9@0STV+KBmTrpOJDiR3rp#HaAKaexraQZTGDO^WfAnSh#_) zYRkmY0+AstAkbgrN}tmL;bmXa(F2uAqfoaKevLRm;$Y$PrX+S*yjnJxYvC-E7y6Tg zmQ9S08EDgBfL+C16nCU`3#ek2S6IMSP+-i%cDaibhB^#sZsPG~6uk4bM%smqs1g?K zoQ3+$f`sv65M#&QQYKx;F&oTKmHL{F77p_=5HG{NBHo1`SKwUGp#1gg-G1h=(Ll#xVHb@_ zD_O$xKo9=MAok^tFecWhx0BmLsAUDsKk(T!ynET>b}4Uj(<(RfyAXs2{X|SIJgJLF zW!eUnFTN*L7t0mYI{iiYoiM@}C*&>nfqoI)2Q-zp5V@lJS@6sY{ar${wuKdh);;7T zI!|m!=Mmfy@XGBx*t#&yIq_j>LIIgXgwldjP4T6^@Pn~K`+{V7`(9*`zA##|(9_7s zJsA5MZy}z|?Lw62gcBG_$!pU^a6`=A?HAKlxXzFQfl!bS)3FjLlhJW>tk}?w#pQap z-WfXJ3E@*gxT26Viqh_roXTKrKvmH&ok?;J{#J9_XtX!2RTT*kpLNcE=SQSFH<#@7izfjG7jszUg+tB7I_I1dN0G> z09S_{Wm}S$w{)f@#lL$G5Q@A!sJhb`?7)?;a~B0o1j__Y67FcZky%7ua+;+E3lI

DB5)yTqeob34-RwL8)S?H_|K+WmEY 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 kp|5ZWWB05_qa=IU0Lx2ZjmFS+v@ tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/math/math.a b/linux-0.11-lab - 副本/cur/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..f92fb43a9c019f8e75bf744c65f88b59c8d4ba88 GIT binary patch literal 6628 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 + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/math/math_emulate.o b/linux-0.11-lab - 副本/cur/linux/kernel/math/math_emulate.o new file mode 100644 index 0000000000000000000000000000000000000000..8a98b22720edd26bc9b196e2d1b86549665ddef0 GIT binary patch literal 6464 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 + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/mktime.o b/linux-0.11-lab - 副本/cur/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6694bf8258168567f68b2aba8bfc5ed630e30698 GIT binary patch literal 2872 zcma)8U1%It6h3!mHraGH+f8=c=BL9R=z+QC zJLlZh2X+aMEv_t>trhe7 zs=+FMvsh7H_c`1WH#v6H&lF#_7Ezv9*R)o}g{=tMS}|I;&BYZj{7N|;Z9Xl?_laJb zy7!+sbi64(04lkZ^z#JEw@~X^<|*sGoj9@%qYI3-zKwt5w^gpqUj~T!PEd383^f<8 z5*2O|-T9N6-}eamWL(gJl4$n6A(|h2E>b)kOL|%2Nt}5PFW*T8(P1??!wQYF%COpD zFue+;jqZ;aTKk|*0Ft#II4RZEhrnBa!&WCpF}4Cntxo8-0mrQn^gX~ys}K5K;2vui za3An?3&%40fm0N+LM7Luwrebj!QH%qP@{PFZ$|B0mly;xE>pPX)Jg2cF5~jqj<1=E zhY-iO?9nD!cLZXD-J@6{INm?3=}2O4-(6lqCNC^>iQTb8#EkXFxcneQzY^j ztGFErVTL1-{gDF^k>ECTk{N?AnHY_52(>Xx)Mkr=y}s?i-pK?)jrF|qcrU!#Lu7`1 zFQbQ>HnKtNU{S?{b<<`}KFMAYAtn=WkM5+&M3&Rhc76;Lt)>d3#|T{J#~|E3A@0UH zd6kzHO|T+#TCCnYx$DpU%wJs-Bbgsx@RQRvR@s?bKYSJna`l3rj$BF>73&&%scXkDpCbUrK1xQ`%?p_ zW*V;7@Q;*vxFMzC3&SJ!(8!>#<*R`SFo|;~Nt_Rh{-|ZW&eP)8K+YOAIp2v`(i|5t zd6(__LdDC?kX`p`J}+uibIP{oob|{qJbHHN9lg{A-$Y1?s@gL!-S zBN1mE^5T3tFW>nM@!sQj^Q_aP`$J4UrLA^zH?rA;v#(!9l zgBc)OgxP>F5Bw(!k}2Q7b&W~#cYaM_$_cND?5(5uI+LR7MnXh#w zG`P#%nAqCq-~V;k_#GyCi}wmH8{YxJ+xEdL7= CPoF&i literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/panic.c b/linux-0.11-lab - 副本/cur/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/panic.o b/linux-0.11-lab - 副本/cur/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..da42b57864ffc04172b2020b3f3f9096af53eb86 GIT binary patch literal 5424 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 D&gTd! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/printk.c b/linux-0.11-lab - 副本/cur/linux/kernel/printk.c new file mode 100644 index 0000000..0daa097 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/printk.c @@ -0,0 +1,41 @@ +/* + * linux/kernel/printk.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * When in kernel-mode, we cannot use printf, as fs is liable to + * point to 'interesting' things. Make a printf with fs-saving, and + * all is well. + */ +#include +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/printk.o b/linux-0.11-lab - 副本/cur/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..93ce6e40ca451b8b2b024367e2fd7f575b694368 GIT binary patch literal 2424 zcma)7&2Jk;6o2DgCr+F=bwa44L}e?vC4jtkz$&FcNl74zT1BEwQKbUW+Fsk+*lV-9 zPLry@Ap#ObAoTzO!66j~E?kfhSCAS$gv5Ou_hxtEEfNw>nt8wXJ@aOE z_N^B#y(okrMS?WyOGHgQw3H>Ar3WZWSGNC{eQz;e-d)Vk>@DU?d#m}G-PL>wvi^gf zXV2gNK0G{xoZEXPpBvjhF?RP#ll3=3%l1L)`q*8>=C%)Juisi90ly z>aykdDJiyw91=P9O5ADEu%2|>07X85BF&XXc={4!l&3=tH3#1S8mjc_B(nQ}NevS+ zX2q$@L|V&CXR=~^;Mj4be2}!vx%AWNhz0-DrLfy04cA?ur zdfS82aa)dS7wSE?8aN%-hsx~~{J^TN7rI_2u&Y7GqgKal7(Lf_8m?V4_zbZkpEj(u zmg5KHJGbm$t7}uS*=gHFw^s{_9lzk(H;c&L+bopKxw%5isuWA1qPT8*uH6dra=N4a zR-2X=NkmHv3+Ig4tCgM`^uoOr9`8wM?#;QfSt>sgY6;&}NaEII61P)gdPLWE&{P9z zJ`yH*3>Pw~?ZiT+l(?8lUAUK#--hXLwF9d{rXP4AZz|;3Eiec z$O^M5i?7IF5RtO2K#teF2H_ZVT$lH!>e|3629V~E?;3-Ml+A)1&)0;&c{txNhRXLk zFvsw|nRb!ymk`RCZ9HyAT=~6`G|KE@(H-d7eQUg`kCXV589b>lVJwlj!6Ly5PP@Nmnz+;^@S&-W3E%tEI~ z@kn{1j;@ME+C(083(}ch`{!E#R3zOA&vW cIpTsy{wm_%F-Lt_7ZcwB_FIU!0iJ;T4?BzyrvLx| literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/sched.c b/linux-0.11-lab - 副本/cur/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/sched.o b/linux-0.11-lab - 副本/cur/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..992a0a38b6c61417b3ad6f40fea4cd53662b3518 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/signal.c b/linux-0.11-lab - 副本/cur/linux/kernel/signal.c new file mode 100644 index 0000000..8d5a65f --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/signal.c @@ -0,0 +1,129 @@ +/* + * linux/kernel/signal.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/signal.o b/linux-0.11-lab - 副本/cur/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..1970f39f72c6b0c63a277c6955a88089975ca4d3 GIT binary patch literal 8960 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/sys.c b/linux-0.11-lab - 副本/cur/linux/kernel/sys.c new file mode 100644 index 0000000..c692e4a --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/sys.c @@ -0,0 +1,324 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include +#include +#include + +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} +// struct linux_dirent +// { +// long d_ino; +// off_t d_off; +// unsigned short d_reclen; +// char d_name[14]; +// }; +// int sys_getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) +// { +// struct m_inode *inode = current->filp[fd]->f_inode; +// struct buffer_head *dir_head = bread(inode->i_dev,inode->i_zone[0]); +// struct dir_entry *dir_getdents = (struct dir_entry *)dir_head->b_data; +// unsigned int c=0; +// int length = sizeof(struct linux_dirent); +// struct linux_dirent dirp2; +// int i; +// while(c*length < count && dir_getdents->inode !=0) +// { +// dirp2.d_ino = (long)dir_getdents->inode; +// dirp2.d_off = length; +// dirp2.d_reclen = length; +// for(i=0;i<14;i++) +// dirp2.d_name[i]=dir_getdents->name[i]; +// for(i=0;i<24;i++) +// { +// put_fs_byte(((char *)(&dirp2))[i],(char *)(dirp+c)+i); +// } +// c++; +// dir_getdents++; +// } +// return c*length; +// } diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/sys.o b/linux-0.11-lab - 副本/cur/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..7e8ef02ba60bfc59ac50c5485688e2f21070578e GIT binary patch literal 13084 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 T@W*~1Ao_suVWJ-y`-uJqaq<*u literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/system_call.s b/linux-0.11-lab - 副本/cur/linux/kernel/system_call.s new file mode 100644 index 0000000..11044b3 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/system_call.s @@ -0,0 +1,299 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 94 /* 72 86->94 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error +.globl sys_execve2 + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + + pushl %eax #by wyj + call print_nr + popl %eax + + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_execve2: + lea EIP(%esp),%eax + pushl %eax + call do_execve2 + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/system_call.s.orig b/linux-0.11-lab - 副本/cur/linux/kernel/system_call.s.orig new file mode 100644 index 0000000..626efef --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/system_call.s.orig @@ -0,0 +1,294 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 90 /* 72 86->90 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error +.globl sys_execve2 + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_execve2: + lea EIP(%esp),%eax + pushl %eax + call do_execve2 + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/traps.c b/linux-0.11-lab - 副本/cur/linux/kernel/traps.c new file mode 100644 index 0000000..f9bd8f1 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/traps.c @@ -0,0 +1,208 @@ +/* + * linux/kernel/traps.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'Traps.c' handles hardware traps and faults after we have saved some + * state in 'asm.s'. Currently mostly a debugging-aid, will be extended + * to mainly kill the offending process (probably by giving it a signal, + * but possibly by killing it outright if necessary). + */ +#include + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/traps.o b/linux-0.11-lab - 副本/cur/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..51de46fe88ac98ea479385c2c283bf030d1f46cd GIT binary patch literal 12972 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 +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/vsprintf.o b/linux-0.11-lab - 副本/cur/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..5acfe6576413e77d5a31e400e048fdd1e4ad4bf8 GIT binary patch literal 6156 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab - 副本/cur/linux/lib/_exit.c b/linux-0.11-lab - 副本/cur/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab - 副本/cur/linux/lib/_exit.o b/linux-0.11-lab - 副本/cur/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..8806b98ed15bbe09d6e67f211a6803e39f1a89a2 GIT binary patch literal 1988 zcma)7&2QX96n|syCQCM5ngm3nRLGHv8X)#2WI?60d?io;Z6pd62ZSQ;uCr?q+mY>s zv_gD{3y4z>hzk;z@)y7XiQXz9A=DFh#J|9q1N?sDnT>OTC(XRy` zN-43V#Fb-7WXG*6Jx6ie{{Qdr?@7^mQHMG5p84kGWszo6D(!1a&KU$e z%g7jZH$=94;-@hjc@(o!e|Jt{){R3mlm0{z2I9ZdD4*eJSEwQF-$)k}JD6ylt-+TnKue zpM?2fd^z5_@Qmk=Jbyn+;?m#G!zA(#GvtYKDB~1yBY%IA4$3%73#ih}FUoN6zJHi! zWi%+W{J6ZqILzfBOGmm;?rU$54I|O|Vw~lrcVa7YWqbRgw|1jHNy|x9nE%v7OPe2W z_JWPx;Hw)B4=mz1QI}2#T9Y8TP@;yy9bv z%IK(+U>KI61pT6rAde1$Vbq_D_TqFugGuAC-_N5D>eet1(@}I{0lQ=uAie~HEJ-4K ztRO{`0yMsAS`{W5@99Rf;{Qjy61+LQ2PEF9`uU=bw2DD&uAcBx)XDmthZ4v8Km9h~ zW7jYa<9$eA$lBH+KVX&M>$4(9;0qZ13>?gN3B#@dl%Fx)Brs%cyO1rWX&!<{V945D zhg{El2YJ~S<^`PQ4T0?%Kv{?IEP)|wdk=Cw-j4{vx*3mpyN?8zYuF!B1mTYg>X|kU z_Mq;!jqCk{_NXT7_nGmtrlfjItT?UxYvX6lhXB?4TDh`5(rt|TKJM1`ffsJN5AMsJ z6+pRzc;68iVtpiXo0IY-9K=7t7cov@FfaSgob`BTk@rF9EZKNgw!E%y$Y1|hJ^9JM z3gvnwlz9HbBD*|3OjgAuFOv(um_9mmVKnF_ghz> z(6f2i6`I7plRs=Yekr1`tyOXyxHY5i8h+XE9mC%+{JP=q7|!#{IAbI8y->~S+fe_c Kv3ub7zsSFCPs_6a literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/lib/close.c b/linux-0.11-lab - 副本/cur/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab - 副本/cur/linux/lib/close.o b/linux-0.11-lab - 副本/cur/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..588a584a7176445084b91c22ec2a1737d34184f8 GIT binary patch literal 2220 zcma)7&2Jl35TCcZ{%GPFCn*psNEj&Ej`A1PD?)I*^H2}HEE*Y>LRZn__k zRskwSNL1;iLMTG&t^5tB2X5tr!~uFif&+JY;N!pnQ2EW<_w3CHM&6nE&CHv5Z=T%*BKpb9JS{1f=n&1&>pS;qw~H|BzOgue?e4c%ubp13>})SqXsfsj z^_Lp+KYzHzV{YFE?R;H(`_8987MsWt?}CeOz?zIf&t-xPtHhdN6%Im}R>2PvGK|tA zY!v0Mq_6b7M8zK=tcSqF)G9a==Mgt|!3({vvKu$3_$Aw?o&q;+Bvg8fmG9&rF(VFF z=cdi-LUl&W7Hbc~vq;m^FT#WwD7B1AjyPU7t4F7wpMJc4c8-Hj%I< z8HTavba+G>_;J#82HEZv47QmE#4Bi}D3;Mf%jo@X6p$$mV!t1F-3GUI7zTZ*$W#;$ z!YFC%i)aqQk=G2;Zqf|n=Fkt)EqmEnS+R$1ySbVfz}w_SQ4rFZa~B%xjh3_Kv>Nuv zjXHy4{_5JZ4ZGj4d*R4W>|W%KJbN=lc`t&|50KQeduh-~{4j`N3PL+h+|EUNGYS*0 zlY|j%Y(!p+RjRpn25vN7e(YcIlFOSONh_UMUq9Mdy3kI8B+X`GKb=an^5II$S#BN4 ztlXkQ%s}GGc@o=Yu~4zBPta!GApV%-#+n1Ka?Kmcfja{#u_BZ^X7s4fVx807s_wrsha)Ulrnj66F(F0I}oK83z zdDuKBKzAH;JnL3A#v5$N4rg=!Km1Vy@tNl%&BSLt|7X8$^tga5a2%IOK?@1Ur{=edQK6(u2;e30nDAK-V;Qah5NPZPIo?iiy!^DAK<3z*=Y5`v47A6lvc%;C$Wds9S@L>+7 + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab - 副本/cur/linux/lib/ctype.o b/linux-0.11-lab - 副本/cur/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..acd65e6a3869dcf4ecb16245dcd9f21e6856c20c GIT binary patch literal 1908 zcmcgtOK;Oa5Z;Yl`bZlRr97$%luE4#2s;S`RJF8FBB+9@9*}xLf?_*PViDVs<3Ni9 z`~q(L0B%U!xbSDVaN!4lxFJ-&+4Ux_=z$X>&CcuFnf2_$Z|?2f=bSS|oM~)qG4@WA zk-89NmS=McD&>@-GLbUI@_qg|=_5+~TY|8Lzeob^3d)>76rVc2n*VRvD5;CGI)4bs z*HdfA+<;+%H5$-ZU7u_~(fO1CG4YX{GZ#n|eV*7M$MlntL+7VH!C<_=S8~OymRro_ z&oP$ayjkQ$?>nnU-72u4kLY+Y6cVm^}~9P?}_=LdCEQ&ajIZ zIscWL!zfMy_MbB+KJ2@uBcPRT=)09**orIRzzEzIm7W(24~(i=s~J7Zu2iK1qs@lF z!0QBVtK@X8Xq0B)y>uxf+jnBW&$f5>N{v$8Ts7+@!?z-*yWw45y;(9kC8HhsUTm}@ z%Xf`_=moJG!RZC4=^E`};KW`S4B!evV-Q=;Gov4cvFpTPMA@l`D9yGTjkQvF&mIQx zP}VZ84TV*EU8|eb`eo_G77Y&l*s>wxNXo9#V)r0sX3L5#X4-=RGb6WWwp@GI+4q8W zh>*}N+m77l>8KT1LC3`e382+09l4q5gud?v$Q@wuCK@6?Ml}52hDF*q@TmkY@9220 zy2nciF1gC=4%sRQy#yw@1g86>a9b%1#g$o2>EtI|o0NnU?kenQ<%FD_Wb7#<&Zszu zbZw~KEwGvcm3@G*NlHR0whLS76#52(j<+HedjLneZVz>-4%LM!YLopKtmZ&vzhRU~ zNl3*!*rd~U6RqGbeU_>iDMlP8QsKS;cSRuNpm47eoC?XiudMN!3UH~tpeW(qj$xy< zQ(k$!WpEw`;w#kC;8`&BIS;0ur1Sj*?ks$YD9=fh_Ur8XQ5tjnZ$bIfD + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab - 副本/cur/linux/lib/dup.o b/linux-0.11-lab - 副本/cur/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..ffad520a6e0ad2e5e6e1b9bdd750f18cea5be2f0 GIT binary patch literal 2196 zcma)7O>7%g5T3WY{%M>VCkBxyNEj)F1iI^lSP&ITQ&Ol3s7QryfJ3yl*Y>LRZn{5^ zR^dkqNL1;iLMTGw)-xwAy`pjf2?^9okKEzVLM09$m2cj@7jI55(t9)C%)FU-^Y*>{ z_?0(a6+)0EK_-n6(a&aPX-T#~57QLAwflSR<{}h(Z_m$Mz5UZCSI^8(?(WP_(spqV z;%_yc|GIO7*W7#n+Wo%v-mNcyELM>vHZY5$n4V+|dOl-hSS6MWtMDC|X%+k+A;T!u zSt-ijN?YkiiHf(utZuqRVqyg%6UPx>?_nRfe7Oc!g9!ZJ^l%1cn80wtD_$q}b!&GL!L3zes4&(+y^ZD#-FSy4x_0%ewS zbz_F8*dnvaju|YC;i=gdXOa6c&X1ux!jf(Q%kN+q#PtdBcl9V{c}6%H;W$k{=nT`Y zM})mQ9rjNHKTf*NAUnH)3~e3}uc48mSVjjeqxXkVK%6v){eIwe8{F7zeLM)Gq;bg5 z9E2mU8Km8$8OF__AEev%lC!*Q58ZZiB~xH-lNUunNN3M)G}ap}XVqyn?2#LF1}FWM z)#n;^zhU>nk)PPT$Q^n1R*0-#1f?G!sAu=mpp*Dv5JMG&cAU7Ki}qF&CSE5ABih`I zycnBPC3gmHM8h!X%i?4IikDp8@<^)b?E3nN#==HB4U#k~#eO!GX!)b%mb27a%(R4W zI3sc80*Rfnn47e$&(T^w6dp|SFiuy?yT*ET=2EqM`c~BW=mp3@PA43VJRF%5 zpg9g2o;535;|(@tgR|QI&-^%?_?{P)GvDw02go+2IgBGx%BK6cp12D%jln*Ap&1`j zSUneX5jame-ZN0L|9|;$J$ent;duKjDAKki;Cy}mpuTPBxV{30u5S&pUIP(t2`&u_ zinQ$lu$I~M0YHNVMcQ^AIG;DcrfSe}Uf!S1i%WVa-aZ1n3!Nq%&xIl%?^6WfI2>;R zL&v)Wnb+{XneGAH$wWD`jmM7S+V2NE2~SIpY|?(8DL-xcGkcXZJgEIE<)_W}A*>#F zW%V)q5+lElYq@f04m|FN zQzg#)0?zylPW%tJawy;IdK)8wV5HfZ`R3c5eT@C~{^JKi2y!CGqe(;*G;F4COq*tD zhF0J=P23c#u;RT5?9d1qnU)x*JchjHRFY|6bK+WS-uGIIt=UUNjXrs;4gZ$^aQ@yx z<1%g4zI(q1Z~h2j6(cu&0sWJ$A$%|qR4VNU>bGy@>F%Qa;Q7` zILy?`&VG`WhhbOtdf|Q)ce)n97~6@owY?K;27S3M`$3pS#bEDFvbw$&gu6jF%F{%L zqasRGc#z{XssNZ|SX70hG8^b5&&GhVJRIw2@H{*ya;*kBFDBdC+T7d-+BC)B- zS4tE0-t_vi+h4XQksQBDbri$u!rDFOX?3Vc4kI0rjK^b=h1!=x6_>kDlWdeDW&9|P z3-zL&jfyDSRhVE2ymRMcZIXjLO%oAA%n@OM*0>xf%W?lD%bcN^;Fz@=wUp6kTr zwgEVwb048-;uCSXM?mUzzo0JH;kwgMSN92gHwP|#hPK(M#N`si?DM%dHD^0`P{Vn9=cGS3H+G;zUhcI0wwV1*e(!;SW6KSHBFC{e%O4g?Ao$4$9}9h4P)$ z*E_(yFvp3j>tbi?c$2;#JDlzBe=d&eJK?xqkz?M?M7)#kwU}pKsGhICB+oxPNy78Y z2`7+8zBwmXVV$EN$0z>-^SiR&i@-<2cO$So-!t2bm0e(qhB5y<;QWRHWd6 + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab - 副本/cur/linux/lib/execve.o b/linux-0.11-lab - 副本/cur/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..036c7dcc99956f9c995b9055b41d8185153aaf4f GIT binary patch literal 2336 zcma)7O>7%Q6n?Y2{z;s=PEsIIDzQi|gr8j}#HymwUs5QAsz`+jDvH9|9@{JI-LPJV zw2BH+gair~BoII91@*!S4qVC&C=y5rAtVl5IKZ_WC>IVK%J*h>;>`)3Jny~l{msl9 z@62nDoq1dcL7D`aG(tqnR^q8EF;DwwlAhW6qq2RmI{ErZ-q8ML-%EWcV)la~4S6Llr)p&<;zbf>(LRRk13@YYt zD)f-@#Z<69g;snTtYCeiIO}5-FykjRk(d+*%F`vYJXf9+Q~AnW@KmW(Itmk3ovKBw z&K1XI&GMnrBc=OhPfv63@tOA@ofXqqV2%>c>1ktzC|}Z&2{NEIb|65gSh2( zlRrXERX4}PlQ<8NFMbDMwEr@4D3xT5l4TSHA<1BUjZU3CZ?D*OciFAmPTz}~-6Q_e z@6&D^JQl(3S-%f!-#6# zurF)Duoc(BK@Azh4QIh!Ty%O~qqdY7z#G)|dlFk2_?}J=CXwVI#*xs@6pK2FK zg8a)ezO*LEi#qGn3xkf$fvc;L91xvaSvh3SpKlC1n4Cb8BfG2W)RMLTAAUE2_&&*}!F-Qo|DNn);;UdxX$gA?pACLAg~2iWfipgk zViS_-l|<}tUGG6yIR3xlcs)9Yi*UW~SxHIz7J#$s>!SDvu<`nG7*H-{GD=BH;S>Wuv4EPG-d3k?&UVOs4>ivcSFT$ot*YjY=)~f(;9j-Ty zq3dxUIEVMmbQHJ1twdFveLOZ(spD#B_yZ~;VLFa`z`CXj`e0In_I(J8)LBdMl~lf+%8yd{Wh&LW@B#B4IBzAD IHlzXkFT6(wcmMzZ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/lib/lib.a b/linux-0.11-lab - 副本/cur/linux/lib/lib.a new file mode 100644 index 0000000000000000000000000000000000000000..1e30f0c04834f95d6b13257ed1437b5ef05d3b88 GIT binary patch literal 34138 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 +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab - 副本/cur/linux/lib/malloc.o b/linux-0.11-lab - 副本/cur/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..83667757057ff0915c7c4ad6ae9f4d0c0160ea5d GIT binary patch literal 4880 zcma)AS!`Ta89sOBdNTId@?Fn#g3%ipE_#~_of1bL9E?Nob`ab!I zi+!(7T-}TyePri5q3N3vn|36JywH3rg7ig|=;VdqFN>4|Y6uD0$b_k=Ozh-m4gGIv zI%LD9cRm58cWNkl@`4|l?@)}?Ahli*ydk0WLLZY-Bqxr*atWsx2y&Iz zQ1g(^z4->@t0pdP##;1&99S)`$%Svb1UW~T9|qN>$66&9Xz+Mw{to(0$ucMAd%z^5 zsx45e1P1PsQe}d~6C!wxTZ1Ve4odw4tl?9LEbGU0OQ?zs$Z02#;(*FHF*VeDKiCAS z-K?TEkDk2Hdh$HH5xPtGEf9AhAMBq*z}?ygU-|`*FUMK ztQwMHeY;T9`P+36j^gt$ylB#2GF+vqk9thnNjbH}1CY=vxtnf0Gl3(3^_R`jIHd8* z8W#_1NDFL@QH>^mWin7}?XuCyX7W@C@xE~mx?b5WIx02> zLEA>-eBN_wHK&@X)i9V}akSy6=ei>`X{hs2NjkalOrczJauv@Ds=k{SJ(#+hwQa3M zSSyK3=UF}9VptKO1z?*sSO$bsFtF|*DZ*bMeP}EFgIxg~u_Au} z6Mq+-b?$9Q4&$><&7*IwWFLi44Io-&J8t<=Zfh zuznSU0PRfU2DBaQ8kyeDA?b9`Sr0OU2D#py6BO)cJS7lTyR|yr84Jf(#@nrqNZYL_ zL8ldt$6^~}n_^ZcR;)#Y<79SrZouN(ts(|!Anb%Xk_5380fbngNgT0g8Zqd^phJo0 zwskX9Cju zNweIX?UuE(lL>Y7h@GANm`>+XX7_Z{UhooUY0ViTWeyGLH}QqUZRjoQM!W^R{I!7S zmOl0A9PLml87BOOu!f?Y!K?_`p&53U+3iDTMRrAw%}qZTZrnUG+b0DNM^4W~x4zOd zcUJLdB42u8`jP3`nak1Z!OL`vZdvM2=^#gDF8}!K-1VLZ!cDuj{c`4s+5WlN{u5Gp zCQ_03a3mc2&dZ2<{T<2s=tIAV1aot9W~9TxTXVCoU7q`DPfy6kyhbZQIWKC3$6VpL zqd6SdEH6aCo2cr0!d#LCPu%yZhn(%sV0uG(&`FgtUT%C#;S(F~bW&qZYP3=+_^DAZ zQ*u+)3eLUjL0Bjk3uQMo8kBQ>p@RD>HCnEuYJMhnFje&`zMJzao*b(FG8X;gm6F?E z4)T6~rIsqYhx-vGIFcGjuUnTYX0rVQN`O9#bdehK_m5UN2mer}C~#eR;^s?UEDiz> zb<-|Rk5iU+tf-AwJl_e*wZd2#cQdarbroa9tC=y^xX6-KJ@=4UW;)r#jsR(Dn0prXBggk@H{;7>{|~kFP%76)3yw1cv>#(bDMt54>`qijVOamt&f}2U75-!=og0Gw}>>uwHJ9zw?*k zVq5;#Fyq&cK;Fz+xr9Z7Fy$*i6k1kU+M82p?76~AExfF9wCBn%wXkSeVnBsu1(rl% zS&4c+F3&k7!}!|a@iDDt=IzM;F3l5I$9r$$9{|s}@Luh}eD>U=e+0a_Td6;AlYZ&d zc;7oz_om8c$nboG#_$)36w0@znkg4@I+Cb*c#IC3mutyL?S&9F)`yXU)gZ)2fg$X_ z&ydIDG8(HyY@X+dusaJ3VMD#B`IpGU@1Nx1XJhWfE{*Ge9Ov`o;eUWU>>IIB8MjD; z{EI-!*J9g{9{`fyP5gimdniZTtVZq*-Z%J91Yu$6c}9r*KN4a$5ixs+*l1i!%GYb$ zs&SV_-ci(NHOjjK{NtMcipJ+O{!rr!M2z!_=6|j6ipGCveJkgWcpuWZR^#17_>XAb z( +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab - 副本/cur/linux/lib/open.o b/linux-0.11-lab - 副本/cur/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..eb31744a2581df6994fb557ed7b87e903201c0a5 GIT binary patch literal 2364 zcma)7U1%It6h3!mlHFvJZGNgIB;W|C#-Eu@%p#>fHZ{=_(nM&jB8qW#cXoGhcP7rv zmbBCwi3LLx&4U!7Z}rs|pDG9nu`g0V@xg#TDhP_`lMg=B@7$T&oj&Pd?)lE&J@?*o z@16VR)2E*iLXaXsI(0RoSB=C|mM~2RX_(G#{XX>G;?(5Um&W$u)WFVZh(KcpZ0lEJ zXXr)`qIX`N8vAB*d+*AR8^-qjZ^iBXzxS_mmK(Q0TVD;mw08?ylHU*$kVO$JLStG= zfHWibHAKzm`30aGJ)R$vrsY0mqsV_OeYu~c*82m%xF$^wc#rWccrO}>!W;vL6N_t~ zf#-OhqQIiIOSzj;<1lU4$oGYAL}HLtakkG18<^hn(ibD|7m)fndEp)~{X3al42wg> z(Slx_C=QE}-l6-DX^IMkCt*TRD&{f8dr2=IDI6^yQ>Y>_ZKQ@lINi+>j6`LhhU6x-#(`X)C zh<}QM;POD=7zo=gd49FkskubKy6f9jL{SviP!GGwC#BltEvHHo%_qUdp zcVExzPllep5O9(*Q$5?YU~Am1d|_FQS4M-v)02PcB^p^QmGlV-ICv_#ibxBp+{%K znz3hRt(H?M%_Ro#3Y~Y>T37-W5_t{Zt(n!P6H?R+!q~iH<1<%pIgM@)MhWwmhGAH!-*B8JjnF~iHm1QT*`}y0mFC) zWi?^rePfb)b+VY>(iVziX!(pEJ%CHfPNfpM=d)fXbo>TRf2ISMTy?-0WLJZB+r?sS9~HN;i^&coeca}n z+_hx>|A*g?AS^q%t3dwWWX~x3nD{r*C#8hFjoXBeM$kBh>%#h>RM&w_ZzOPst9*~b z!twtV$MaErI0@(bmW7m*Zw7jHe(xgr2e9${_-~`;HxF6$fk-P*uCkDl@|}UMWOn@w z#bhBRte6K_1KD=(G zI`aLIh?299+ocp$+;b@SBQhdkD(*@er(BoS#-s+0WBLe}g&`PNZ9j!~rYDP3XK zZqQ%1m7VeKmznkK2&}7BC%tre;<_1h!eld~%N^|+bh)!xeW0sA(uv>aF6qP-?2?WO z@EKuRLL0#jaZMC)UDVHCz6i++Ku2Nbr=QW6p;6XkzZIwe#-9SCDc(#`&Igy4=gn~|DVjhH`oC2c6IcKM literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/lib/setsid.c b/linux-0.11-lab - 副本/cur/linux/lib/setsid.c new file mode 100644 index 0000000..68516c7 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/lib/setsid.c @@ -0,0 +1,10 @@ +/* + * linux/lib/setsid.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab - 副本/cur/linux/lib/setsid.o b/linux-0.11-lab - 副本/cur/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..10321b0d5b2d6945c2802081cb34b2d7487e002c GIT binary patch literal 2240 zcma)7&5ImG6o1v-J2TnYjI$pmJFH?W8(crSXV)Dh#F&I^Obmo5fq0XlXQpSS*_rOO zKXf-PDl9@`PC1AO9)#RH<+vv=3Z4XW5d0H@dQdM0JjCCtu9|7_ppUNiUGG)BS5^Jt zYgaA`AxMKDlco~U12ea@Bw3>+nx}(b>xbtdfB(^~3#)Sn`>S)bTe=PQmpbD=f4a-g zhmQaU-`2mm1HobqS>hV7I12P6%YbH1$gs-H8P?3#Am&BpkDmdyteGH8$uP=4vQAX) zF|o?uNvZS$$jmVyF}n%Oz#+vKw}4AuF+2MruyJRX%2&Xc_czOxe{r5{5Xgb3|B{VeRJK@=uXg^`n_UU%EsiKEo-rcq4o zcI+qEnObjm=*2XO!a=_B;D*opC#g<`QJmTnSKb<3+S)p0uU+qCVVdQub6(1%wDG}4 z%Uy3hmuqpxa}YPKk=U<@l{w40iJG#Wo5&y=w^du(uHk6A$=*2iI-qHs)1l^Kf8?hA zZc1*?OFeQs3EIcXp5Ms^?I7$&FiGC)bYlPAqScGNaDXirCUBkf1mqyM8;!?4w&#W@ zlZ(>lWy|OI!?rASzUKdfpMn$L|B`a%dtW@HY-3o#I3l?m)p0xU(E; zNcA z{RDKpi9#_&y+yx2D%$_~hvfLh3@mf@DVXxa6=nIan diff --git a/linux-0.11-lab - 副本/cur/linux/lib/string.o b/linux-0.11-lab - 副本/cur/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..840f038b2beb337cf418b004cd61fe5f8badc3b6 GIT binary patch literal 6380 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 b$T5+-MNW%6E;57|# +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab - 副本/cur/linux/lib/wait.o b/linux-0.11-lab - 副本/cur/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..11ec9eb33d1ba72ca2a5b6c73817eef3ab1c9272 GIT binary patch literal 2580 zcma)8U5Hdw96#sYJG0}??l`NayC^i#NLJ1rHD#yc~2cZPQE-R`~P z7t#kykSsk2l?1+tk3tZH^b}~=i-hzNy+l138DuXKE!ppP?m5mCg8IYx|Nh_Soc}rZ z%)ImLfxS{nVMq#F3^XBrcT&%kf(>Go7!xlo+$t{~sII#_1moiC)$zrbtCj2Tp4n3! zSvXxC5hwDC5PvO`-}(LmGcVr-EnF=hxw3F;&Owv@(x%VgLG7JAuMO;Iz-FK-2~Wq%4>FjJ5H_}B*LE~GiuIOc|`OHeIL-KQ>Fj=5NT_}?mi zl2$AZa&}H^o4~5qVOU(gJ}62@$uu1UTH+wMlz){*!POnZ&62KL?*^^8e%r6dCu1>C zg*fhY6Su_@$;o*?c00U^{h%8sZOCfAoZ|Mdd>&^i^M!8!*32LIBijp?EC=)WQ51v% z=h#TZzJrG=)0HWAi#t`R^}MLn+1}l}<;hBIwo;o3d)=fq6L~$qHXq`~_z{fVV6GeZ zwV8gM?M@IidZIe4WS)22k_06dP zys0+SKz4#%#NFAzZ&z9!FB0LrsxIPA7$uc^KHgjQKrvp$`#dT$?w<1595ELLvlS*Z z8j&C0Yu&!->8+IwhnxK%>8CrdJ<(U%?K|km_#Xdj1>8EZsMOv zgxmHKPq@t(M^9thZ}w*!-C!n!OUYid8TrSuUN7>3S!^MgUk<~pZx>{f15vyO)KZ_*9a`#TjCr;p>bMicif8vdAyNSTRyU&k5OpXOk+fpMfyF(|9&3Alu~7lDSj zKGMe+*?l-zd>JyP|#~9@7R0rU=0GlB*Z+1@l%4`aZc+tfu2J5jt=gihC!@#?1 z$ka2s!K~d8x9=J|@&11b)Uz{CH@i-=Y<1%X6>Pyj5CgK+iDq@4?0{^+e**)u1%4qj zWUCGi3^qEzc98gvtw3Yg3qzDwW0>D+`prYiXP7T=`g5WlWl=}0#FVcAEi{*Jg9KCm zQP5AGnFKzdkw26Y7vdoz7P3LxRUO2sZy5NTw!fh96^(CbY-*e%qTU&;^N$VZyQuL? djaP|?`%ddWYgFsSN6&rJe?(&iXhGkl@gFXUI&S~~ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/lib/write.c b/linux-0.11-lab - 副本/cur/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab - 副本/cur/linux/lib/write.o b/linux-0.11-lab - 副本/cur/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..fcabefb4c549f70e732a384e8bbcbc9dd3a0c78b GIT binary patch literal 2372 zcma)7&2QXP5T9r7SF-6gAABTAC5*I%@L_L4RwxQBZAqb|s)|%72WS;}cfDD|uASQ6 zHmM>&3W%a`AmU3%T&nUHAPx}+RH-09f&&L6BqUDU=mEHJ=%M`PJ-@7bg3->$Z)V=S z_hxMG>rbD0MhHQg1er8IM6H~P)TNrCyJ(D_-?}-veX4q3mt))Ks*~FRwqUqFcAc}ONMDL(xive0g&eq)CUjeZ-5 z{l-qNSm3PTXC*3?ev?R+-brXEw+lS{5=40f!u(0r7GvUIWuk0WrYmD&yfAt%Dpjdm zeiAMurDh2yy@$-oV)=>k@&r!jh$B-9J~*{J!7GnWe*DywK&+4_v!oJ@NunZPx{hI~ zeg_=dkG;6!@B_rEJP03|Iy8lI9snC)-EX#ZgV~P220aHU#I4FcNckLK`oeK)e$edp zTV5^Rh-m?lNg~Wl)i&9+J75)>=Cxx zD+x8jJ|^l#Q4rFJ(`T(EtL`i~b<6I#QL}T{pI>;~vR5s;9rpahZbxpYWUw!lHo`4a{|qu2F3@$yv77GT~KOI>UxjB!}<_vF}{MWR2U@fD_hV6Mk~=RLFa5;X5__%!Ky8f%^P=jgB7+RysVe`m(o9T@9d zt5v3a;szB=!eKLH%83pfrkrdR^IzV8Ov0aAhD_oP4#-3Ybg%i{9mj;S8Qhn>@1y#z zs(%5vYhZ!$^3NE8cNQqdb79TBW6ghV0zW?3{Nl)fTh?{4YD%5qSUr literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/mm/Makefile b/linux-0.11-lab - 副本/cur/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab - 副本/cur/linux/mm/memory.c b/linux-0.11-lab - 副本/cur/linux/mm/memory.c new file mode 100644 index 0000000..494e147 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/mm/memory.c @@ -0,0 +1,468 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(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 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: 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; + 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 + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + if (current->pid > 5) + printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); + + 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_page2(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + // printk(" --do_no_page2: address=%x, pid=%d\n", address, current->pid); + 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 mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; i 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 VA3M(b*okQ;yExX+?DFH4{{-R;EwKOq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/mm/page.o b/linux-0.11-lab - 副本/cur/linux/mm/page.o new file mode 100644 index 0000000000000000000000000000000000000000..da4852668a6d8b88d91c428ae8572bb3d4d2090d GIT binary patch literal 640 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 N^|Cbi(V*L${{d;jp)>#h literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/tools/build.c b/linux-0.11-lab - 副本/cur/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab - 副本/cur/linux/tools/system b/linux-0.11-lab - 副本/cur/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..0efd31151c0c689ac176950372c2b025212bb364 GIT binary patch literal 295975 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

%7R~@nO5$;$%}?VSaYR$*W|OdFA70 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

S~UX|geUcAP6RD}?6s_LY{rox@{_rc?fAp> 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Ν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 z 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

X`ty`V&p-gNppbqrV7Ng=hl@70WK=+Fe*O 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 z z4kO&X1^Kt(nFY8H<8dHuFr56!-4a%Y({Lx~aU>n?o%(lLSlSeX-HGP_9{iynH%W=q zB?e#{7yjK5DZX(uA1{^l!f&sNn1;UZL!WIOZy%5rhuraM+9M`(Oy6zn3BQZuPrV?1 z0>!_sJAN#~kBtt(w}!=!1^i5k{|&D*8UBUwPX(8tC=bP7Px0Rk##h(JRW*^`eL)}v zvXg=JroeiOx;|EM)dte`5^QySy!fDsIAc-8eC=k~CiWak@Vyo)3sU)N=?i555MP<@ z#_>D!OU$nmN1Sc5d(K%Zut4dU>${Z`6Q0%&onGKfCFI@G?H4<}z;^?G3YbRUC>ZW5czs$&y&NqxsNMM4ch-?)iwU@xNV*oS&_ z9CQh1Ia1_n@dpEe*J;E6&E5sS2rYpk@Jm;b+UiVK9&l`PIwbwQXyngF&j^>=7fYEJimLXXN93(QCueI-JvOgj8Q@Vvo zA?P!br!CwqyX}_re{9HBK2^)N>ssg{L~(5wvjSgf@dEf{m{2gEY`9X)GcGF=44`Ct zG8B*b4iNqN2;EKyopt}a*dOyVsfrR~ zphtX57=%ZH5MjdUhZbgARe9U{Sh<(S=|Wx& zRO`3s$6p5UZQ2r07E;?~9NZy5kuew)khHu+QKqhfI+eCpgaSiZfxI^VQ#c2b5;8gH zXThMdYj9-K?SFsJ-@27_zk<29PlXUtBn;=}#VdnIJ}p(*Yz%2~30_<-t&4PH$R|le zsW46{gz+!lZ|g=f!8}(A52=N)*A?%bJVGfyRuiyR=b`n~39Jb1I#v;>x{f8ejw$WQ zP--8@8qJos)g^C39q5Qs*aD4M$u&ISY6-ZG1YE5F*GX;4liU*^2Ba)##Z@riGoMro zTj^k_upLYj!d}SmW*2?2D(4^3qk<*~37YoxE**|APDmIQ`DiDCA)-&UIkc4~;xtl* z;C8~YD_VrhvI}Jq{(5U~;iPEeeHfRsVf0IOc!%zFgP%mw>iEx4%IhHtO>AP~LPJ3Q zFzu6djMcUnQ`EvkwXlbFNNItXQ+<+sACh_R>r%=O5Iol#x}d(N{1}*9zeVpsd$ytr z=tX)SCBSasmS7v$5BVX+*CeGNrwqHvl@x&e;qv1K=qDBqRm%@2WpI<>M$0BC6?sFj z9+?wO%>7n!PfV{w1IA|*9xjJg;^ANtPdSM6HL9J$W-5ip=z`d|+`4$R{7~(P0F0F8 z9Yguhft#eUDy*35#$!`bsX6$JW-|H@G$2t5NM=GC)dX!+2gKRBlm$m%KUJ9I=zyd> zjc9JK4{)Rc(e!?R076?;-cE|ZNN%yXU^J( z($p#&n|dYVSjEyz5hUeoGVDTbHj;J7&8BSCJ~YvUWe{c}90i-a7(qmW*i7#+8VDp) zdYTe8+gYrw+1^TD08VqX%SH|)wN_t+sQ?<2UDhpE!j+NNZhfe)@RF=sXb#e2LVyZg z7JAQzbCXGE4ku>qSxVkv<#43EEyI4OVlvFTX5<|%haKd@$$5v^wk&=jZ-Hd3I>o?5 zhTur{Lj0t>)?|RlYomn#H9)|1SWu4wEeD5}kmv_PJXF?f6kW|bp5AEnPJ}aHZ*S_A z+BDrTR)>y===qXt0S0h%+vE(VbL>Ud3$Tg5t zWt`5qnxq2~MG+aD{9zdhP&nc>lvNocU6`Xk zkZ1fx!uTp=j0`?fL+u^|eLUsyQUxYt$lD&m?lruV1V}J6)RCz}6OG0lKv& z^yn0F)QfhknO-cag~)t6)*L8yvcETe$DA!}UloC=iMziCgg2?3W&IApfU+THt1;Py z{mLP)B}MstWI2Y8NlAyXZ*Nh3xbD4f@0jUjsWEW9_Q#*okf0e17QX+wYOp?1J_>o0 zHj3`~33>9WB0-3N(~9di+${&LMR6<#J&vPtTs2vE8Vhr4%r<@xWWyeKP2*|jw821Uc zIx{wMcI;df^Y83o0iFsEhMl#MNG=$gxHV&=C9pAA%FiFu*8`mpx=m~jT()K!^&~wgeeeg$!0`CaJhhF0!9*@GoAOsy;*TL%w z?16YoZ49Jn-)@II#a1Rc@#=agq2O`^H;;9dzR{PJ5z0oGtiv?0$fT~fK<7|#wLl+2 zr_nGROQli^kEkw4tXq^jOv*+}^Ub2H-$Yv2yel@q}{#`ruV1nH^T`$B>!VJsJB?9n5jXbuw7XR>cJ^22c}V zEjDC3))MRq*C)+cU_%IXhwWUoZyG$Rx88Be8txeWD42 z5|7*-ypLwvB%V&g#&{w6XThKW1G@>o3rs#@k${U`tmeiSSN$1ET2<$urG*=EsYa4K zJgB9G;E}h)7oTnHsisAYaMph!b$4TOtbBLI0#bfj(3J$?M|eWK3ra?(-=s4;Y@b=q z<^NQP3cN6osoq&eveh+agc^u z0OZ}gx-X*qa*Y|Ljs2mbG8F4cHaw!d4U$52q_VVGU+o7a^KSwy7n@=4WStmryCF-Z zv_PuAc0pSmt-OV1*JQKY2fP7m%}{hSksW@6J6|!q#gYNoVpxfR9)@hwn|$Uan;Zi+ zG@KGCW}sOfM(v;8jJxx+6kr^EfVNta7+J6$E64C~N|YuR_i6HvTs2xtCDB$o*v8PK zv+tD`=qxr16Mf?5gyw8P1+oQA5QM&1DUB~yI%~5B=WAyXu3%WSds-u5XR;QQQ^_9+ z*Td|xp|g$p1)>~BhM*ffCaB`DlMh-EkEv-W>Ta_(Ow4poT;?+1H`)3y*&*uzn|cvj=w}n=rj9 zCSVxmj&T2lq2lkwp5^g>Tg*0$VNjTi{h&(mRp-&*l^ceA$U5yhTm@!!sys|CIhlK}jw$ziCN`Z{*$ zX!u-MsfzLh`fM2NP&!|yE(=|%uatxN1zHR0M-qY->SLcA_$;FKW9i+N&qjflQQJ#t z&kW&cH9;l%bPNPZ4BY`@=Pk|<=DZYyN_6R;OfXl)Bv2dw^f#`h(F^YX#ktdh8+2V+5qLoLB_#0*H>`!nOQSB9D%h~?}y7h5$0>Q0Fr7y za>gw{q=RAd9p!wRX}>6E-cF`5U|XEIpA)*8IX@}Ge#BaHCxHJ?;rOmXBK(Px<1%FH z!v|{Z2Vi^}Y$4n!gHFhc4)?@y6_bcVGXZ{-fIO18g6Wl4sdi|dJ_TDITpC!ChH()j zWo#f~&5sw++;tFOJ1Ao&!8dqNIZAI@*s4mvE@EiXD~i(ZD{d)GtBy+32bAW zQzrQ(DWzSKuKUM#Ke1n8I%~uE8*I7;ABukjX)jFo6#U8%_drj;cuJ`7hlihB0_OZTZj-c!Pa z6Z+~V(zZUb$dwTeMMP(Ds&ms2=?R=?2n+3=e~eV~Nv=N*qQs zcljPk#=V9|l3jzsN??7U27$hx5F{Q_W2`lg!G-38vUF$!ZCK_nrSS8yt_r|Nacv3< z+!)(~47}|}AM4pyfCm{Y4&VUnnW`mqkXFn1=*%|1>WFyADL5{9^`$3Hva-G)-aK46f@-_FGQMV)vv*)DXA#?9e4vfwx;8?~rR zZmE-=))A0#VU-)D@#tr&eP^HfH77X@c-ln7yz5~O4V1soTD_I9vB@yTHNbsSq1>0$ zm-{fOp46*i0wRelrvI=!U>%g z`iwAt9vZuIaTv_DQEIW^f;ytUN5_)OWrE5R=~Y{6cA^H*_P__#r8$bWeS2^^)f`0| z*!ghP*JC44d{%;u6l@V~ArmPM2mljnfOO#BJcNkFXCo13Y;o1dP@MeOdIGka;t4JM zJCO?(q}b<16<0+|hWgc<@;jkZ35bV@g)z=E7iFd` zMg&f;#pb+wM*)*NCS_)9GosMqd1id9e|m6l(ds0KS`|dJlX&oMmz#6w00=nQE#Z6Ct^u0ew9 z@QlTCJ)VhpCgaJ%Gab)NJU#!~E5&y^=L_N1srvU@;_XJbJ0O{Yf1~Ix_|g5|8Qb&E z82Z!wv-r<&i9Zox8vjLH;*Y`wSG;G*|4)CVKpG+q&qO?v@nqu3!IO(;79Izl`FIxL zS%T+IJS*@x@vO$P9*>M?6P^(${7^jf9)7|5QhwAg=#MTaqkF@ify{jHnT&mN*dG~V z#owt)3cv7g9paL2uZa;7UB%)4izLyRAN`R(9qz2aqk#n%do5H}9xzCm)2x#Fr`sjz z&tFGL@BS=<4`C1|{BOxsNR1tE|4}%Bxd3iT>iFx^Cfso2#Pp@hmaix(mbyK%re){Y zrvuPvy$qZ1K8`Zd+lTiO-9H6?HvBCJ*N?N2ul@%ZnT?_jR1bO<;S{g!T}k>H&v`r% z?}7Dzr!SuVc;fL4$8!yy(Ri-MGYL-?o?JY0@GQhrh-U?!Re0{fvl)*Y&x3d#!t)58 z$MHOc=Q%tt;i<>dfakyPyoaX+&qsJp;c3J3Pdwk?0g9!RBjO2`I~Cs(@TB9Jf+q_P zi89W>lZR(Mp2c{U<5`1e10HZ4r3diT;duzpkMaBz&(H8Yf#*p)zr^z#p6BtrjOSH6 z4S1UIypMEG!4_^GlJQ~tK9{MRS$8#Wo=TJ+d{H&tCxdh0EBkEHL`hc?@9di!5pzgt@UBl_O{ zkB{!X>G~=ArrrDbf6@2OvrRAF^zHUP{_>^$f2Hr*y`86Tx@qc`*x_r2lKQLm*$soI z9z2>{H0U!YeYfN-b4%AY{n4ZRE_(lcdfV>U88HoSZA0#j z^nUW;!E5l&{QU8hC-L4k{LsEX;+=NQ*LPd85xza+p{tBv{UUKj^c$Na@O}8P^3vWV zzj|}o-mDKG)gZO}X!n1a2d(+-u#y)NX^7rAs#kp98UK3Rvj3$L3%)y}_pItS<;-sm z7CrH6aMPsizj}OsT-k@W|0+K5iUE{<$okm$gsW0+|L_SJ8Zwfzed@9yFHed5Yrp5- z8${_(PkUwf^Y!DT_a;UU!*}fC6}_(h?^}Pev-Cv14d1y7&n-$EU%8?&>8964;`^}a zjbD$tslZWk`}n@p&0j1&{B82?UpDy0Z@T?Dd@pieF?ZY-weLUs#d!FTMQ&L_v; z^~Hx4IAuD_;7^jreXEdFHXnUtVAM z?&D9MnS}3cFMrrJ^~zuVru~{_b8f>g` zE&ugo+|U2(ntAxH|9V%-!rRIYcQih_;)$C_}=uV zIRjmvelh*auHTi@aoea#&)&6Z@lTDLGv++K0pIRZId9zODcv$|)sjB<;=6UobupEH z+5K(SP5tjIZv=-d%>X)vqrwCYmt{cXjOchS+;npj%@Y^?krf#UG{0ZGh)?l?bIFBq zFMnUgz-0_v#=vC^T*km<3|txm(U?wo=K`6XMYO`Y{C61xmof1F8w^0y*0h@lfHn>5 zb-I)NH;}YCCyk$AgY_I+da5*jY|7XPQl7kS-Re@?hN6;EGB=o5I@-2ksaymzIi+T4 zLFv-FiYAfaoW*07mL)GO#M@bx?4)-|S#k-zOUsf=3vFvkSF9^7Ub(u+wm9T09Xobx zp&15sCfTx=u3fuMwyj*dQeL@q^~!sTY}Y0(pLDGVoKDHEPAt9JMsbSQ!PpS8RzCN% z*&yeedWK}Fp|IOVZFiwsb~|~pK2Aot$?BZ}st1)t)%bdyG&x!BJ9&(&KgnbSpzWaB z0fz3Javo~Nkj?LooM|w=Wo1P!EkerP+?qNoIAk}FP`3->|%w6t$j^uW1P4?DJ+LpUv z@;nEOH02bxR-tHsK-%kC;yu`t(hpS5SJoxwRje2|yNg z$im0dTV3Ai+C1nnS_s04wWtV;UW>2I>#!%bHbB8%y9S`?qM`%Vn$M6_m#R-alQCg3 ziemL*T)>$5>U<<8QY1&-|E6BU*4bT2Olx5VU7!0L%m< z(SqR*FfE9F7E*Xc$8_@`>%s*hX=LF-2kM?m=UiQKqDIpi8 z*T#)qvwY(UX=9LZTr0!;Y0+9xjM8gC9ZGB)OIFH7$Z7c`$`F5`6;*AuaFAL+p$V#N zp7RkEY0lB;)Xp2|XEOb8SFHxWJaD7)){sXjJkU=&fkyOGO>^pf)N|h88t8D!h^XB~ zaU|^+#~}qw4aU->TE5AbzU}}EMQI|J0Ubi&>(*95By7hfG*`ZMaw)-%LmwWRkGwa9 z@;B_Xhqe}3h@L+Li5>|hdRrvAnG?l|L|(hwp%p$z9eLa;N=Em0 z&0^o{75X;1_l>GVVaCb*oX-Ok2RV@dITY~6VtkMzl>Zl@zC9AMZzP)8vmBE|Io|pu z0f}|K2&mdL49=iE{V0qi+)lWc3f_pHd~FFhStyD_`!&iQGzEP%?q!F+19dz|QMr{q z-O7kr&amUdi{<!VjF3sT9M}5QE0<%AwXG;Bl~=A^%65JU zJbLpQ?%dLvlA@(6#2m=_*e;V!wsd-i7v847BRmk}sqJD`z_C5;RTO17G%@^STTqq86V|1 zxVN**4!$sCV4dwK{mpjBf&L$Sa+tnXr&`@FF3gYa8IxXqiM!9Skm6V;fUkf__CgGd+WJEYmYw-;ss8hET10UP85+n|o6c znr}9)?1K{*ED)d?NSH-!p_h3}`X@jz-ukpn4PjJ_uT9TR|D@9IT#YnZ5vr%ubYgyR z29QZ$FFCdQ0E+2Gd5p7yqCN1eXi_f)E0))$>v(ZiQ|SCH__?nNkaUg0z6%9z#=#G5 z;oaMXWChwLpbAAxKj`{rbMI|PiIV>WuT{OZT`wZ_%_hdLL;D3Haz{ZSAmN{ze!OC> zcdvv&9afcL4$X=pJ4BhCKLwxy?awM@5$C6+N+9hq+&#j1nw)fG3AKDJ<*lKN9oho`9RlO~Z8(@@q}HPmu%Y3QbGr{Bjg6SO> zQ$lMZ7L_c$kmeXY(Zz% z8c^waa(SPo9<})PcMkF}5uH9%2h_m%G*+d-YD8j63A)cd$ahPQ+3=rJ_YME~US(d< znspm6U{PSP&fz`F%2FGRbKAPLt2d8^9onU(MKI64dE?T}wo#kMtxd8`wPDy#vR!hQ zqs!Kh!otPrjz!x>XhU8{mt(h8vxeM}S|r>sw17pqq2e0nNnnWj>pe#8AC=shpcHF` zVIlMaNf6!`EOk%gOCME~t{)AhETenk7}pdsCgZx%c?y7>KKl8Rewg;(iC#v)Q=OKW zpx-R&c?RtRXglz7{`e+s{~f{QJX!cMrGIRF=ugO=%$w%52h!>^M-eURPh$8_vLBbH zLhoRcY}KB_N?RK?6F;$2sm566pUl_ld2JBB&c6Y9`_@x^>hez3<{j^b+rA7P7FYI# zGE$d|)&5C`HW7L1tNkpb)onKDyT{Z(#uTyW?*iC`+QyspvB`^m4Su}n{}2vZ^jm8V z3zx}S(*T!P{QqnQ5;eg{R)IEiX)rTZY+?I6eG8oVD7kh$`YHyVZrBIl4DtfLm~lpd z!0nwBD+aNgr0Sqe1!l>TiuMV%?I36F@{Y~&F#O&sUy0wfaxeVOcI`ur2q#eGg^mgC zc^qYZHG4>7tI7Im{$Q^W)5PEBPIW5-mrRwZP{kIsMJLfwA_fQ#5u)oBPnE_=*GaaV z(8h{3Nn&?|jK@qII}tI*kU3%$?jjGHZ8Gdt-z3V77);zQNMuW#hzjwtm%}fG3Q0it zH<%D>n0LKzTjSY3pVGTlKy}FA02zA=i3Mq^!G_-XF@64pete;T)d&D#6GO9CzhL|Y z@D_g8g#5DLhwj?+7^N86T;tFSo3VrH0+W;MLxVI>Lq1J>@%JXpds~oR?pOkEm8(uv z^HpqVyxtY?Q@ok@_41|aigz;Hp8X77zScPx1XeppGFH> zFM$uFZPk7sirww^+fa&bznQlalr$v5;;YU};3s+Mo_K5Z^{9uNZ-w6^XK44Lq>Zh8 zJo~wUTvr74QhA;8sA$u$WB{4*52WQ8g*%<(P3t5;1++* z_VX$Vi}k6IK%Xc{EtjObPc-pm_R#YdJdyH(0*yp6g3KFvI%v2&k=Qlz_*JI-z+OV5 zwrCSHiFso#t%@WJ7 z@ZVARWDd6k_7XOOLE4i*Fjv`H^HK!$J46larDoHTLHzU}OtC@VmFO!>#N`bF6z|dR z+emW+w)(eoB1_n&{=Wf{gMNZIfG41{PnDi3RGK(04RgdsQfa>A(ojokgG6fo$go_a z;3vR|=GHpEQAQ)FUaEi_mwOKg2k}P^g>g&fB?#1gMX0&T4Ou zRsq4rvsN#HA5X&5;GjmtExK@tsdvOQDhUgjN{1E!6e=|nQ7C+mXl#wgOgy~tvsg^Va1Cqx4A;hyYbaj88Z9j3 zq#%h(3hbqnI<|?q=p57^xca(+Y8U698m!Tki~*;K0*`Z`#eX&Tm+tfq5oZd;F`J{! z7ITcbui0vjHTN_3HxDq!nFpG$FkfkoHxDuoHV-imH4ifnH;*ve%vYJOHjgwXm=n#{ zn6EXDGAEg@Gbfuzo5z^Pn#Y+_%&F$_=IhOA<_YE-%r}}Rn$yjb%o*m%<|*cz%u~&o z<}C9xbGA9hY&TCg-)u&)F8^J|z-0{lzlecXm`21;*J2L&8> zF$Kh`s3#2!)O4>{GI)7m-MS2>j>4Dtuj0UmmiPszb@&>=TeAYWI-G?>mWFY$OnxX3 zi#0+C`SunBP2WvyzK3@c#enC1dKA(I&ndto;PXHbT(-NOuib_XoY?F1ikz?rtcdJg zuh5NS2O@Bfax2}G$M?AMeH^&tV+`N)L2FRDiUa#crSSuwyU~$gIM52tN25Q=`szD# zJ)e!3XMOd6_0^-apK`_w!W7vGzJ<1_92^XCiTjTLmG1^gT#oWE%mpT;rBRElJ?K6k zy&>wQ^*C#MX{r0XWkaOo6x*irPA6iSO8bj)Q|gJ-GtD(^=&EQVY%J&+RdO}ebih!dgD_#+63OaSo}JR{uqM5!Ct6Mc?K{Wu{QFY!^!kr==98{?+mf&aq{|C>Kg6z zbB2DHRkQbA>`&~LK#Fs~;Go|w_+fu?&5vko*yu94`So4OBgas%x`^7ER=lwkq?b}d zo^O)1sWZmN2>IGN_6{1PIef+#9f3QV8e9FntqsiTtMyX4HxFQtfoCH3uZx_-NpK0l z!2~++`GS6~(&0Ot^FyVI7Ny#@jY<{kxi4OF4RWpv1-EVHLf^x|7SDZgl4}~-8z*Ch z8Kv>AQJ($WiZBqssL#kA>WcI1=k}E2Rc_dfY#Xfl983rm>g|wgxIoe)q5R53eg;t- z*gDl3vd{$0up8hx9N}1~ox<_kZen1dQD6Zg&iPxU)$aKz7xP^lKhdHcS8l1L@p{o< zVk3K~-Z4bM$j7E|*{DV`R(n+7z+S3KfgpDYxSjozz zl`&Q4Gs!i>mw;E*c{jl>3*LuOb^gvil!&-smHn&E@5Cb7TKzM8i91A)I64^a`wP7B z*Hm*7*?r5mjW*Yuh8trMHqw2I06G-jbwT)B6zH3PUy(k*2OA=NZv?%C(n-F7q40lQ z5DxgA6eXDc+y&up(RR}J2SgF@&xPgR7eQ}PCceF)@b(MCfd|R=NO!nsa#+FxVv)AO z#0hZz#u@9OuD;zE@Y@K#9M>XzDPO<2yN=57$IgE1&^)(NGaHqfBfy>VNDF?QlEak= z+va=eBe0hOw8uGGY>#Ng#a~Qy7UQo+%;ztT*(3aF4mSx}04ti@XiCjtD#xL1 zT1V|nZhupa0k529EpR>!miWW6ajp3=lEj3C1JAV>16&J+R z%XKBZRWH#9otpN9Bq-~}(BebMVC7h^k`8eY2NChn31cu^lugj@iy;mUCF=>XN7aWQ z5?`e8C12c=wV&C)Y{3_G?aP$xc62`M3X3jwMKVL8*U@PO4`Y{~g&)4$IEH zpBFar4c?k|6w9HhPAoC@lAG|h3de&K!J&;z$9!RP1Z(xw-Qk$zn(CPR6aX$L)0JUm z%Gg1JqI~2f(C`#eV#dlAQOf?J1AGieG&sb3pqAG6`;a)ezW-mI>oM~*%#`GBo-^*R|W_DiR6t!3sst$yumu@1G#&LZ2|qK&oK!$SGQlCG7mQqjPy3dLU z&Q}sbJn}!?MW_dl)nyS=q5VagAG?|4y*=eGN-je-rNsRTkjQw6B{E2U+2#Lw+~F4~vdB`K-vM{rYB|!z}>TnQHU);Bc7Dr=BrJM93rS^7e$C z8N&x>#`^uP;>_5-hff6eNyErcB59)}Z_yCtm<8H3>XA$~Y>{EvkJ)FqI4np*T!FPX zQPRh1C|xXBL3H&O@MaOb7=~wZuAvVJAL1}@JSyh3w>q@*7v!(@;r<+Cd42_9=A?CKM$^hKEnC@3pc9t9O1YT zrB!l4xauUy43NoJ+<|kW^DTgIzC%C1rym~L>p;&%$88JwEruV4SnK`VZcX-vUzVLpx5=-B_(8FcJ_44rI}y+zJ-m$%Td|8H+Z!(THFKZ8aR z5^(H)EMIG!tk;6B31E?ftCE7H`WRD^?*J-Qmv^i-uZ7O2>BOJ&C`>`mvLC^9Pp}nw zMC&z{go0d$wOf~=CZSlRphqMHjBZV5&KS5P1xzvp5RD*`(F}vZ-FWU657-UQh1#NI zWTMLilf2n!NDC_nQOZyIs_@1+g)5r8%U8n7zk*r&w|lcmL|8^kqw70wLUpt`C>3w< zT>WrHAWrLN4)(?wlm*8zIu2`NIRcUE5%?5{$P6K(1#1~<#zV3Gn9wPHA&O5;YOUFc zqTnJf9K&!~Vnp)gNbaA+0WzdUP{{rP*Ktil1EXb-Qyj_+dXRA)6%<~$kJ*Jw+DPo< zzEIW+kTvL!e=1*6G4)Ow;kah0U{x%k{S>vrK?oh4))G)(jBjL7pdl89cM8aGfz}BU zfPx1|G8>d~1DS7;yk2hi&5DS@>0%C)oJcKHi$HQ?%%*xC5E(B{#0KTNUeU9!>obwcwSI z)Jk!F#%+-hj7Ih&W1UASVmo>-N3?OodpM%aJN(hT2;x-p*;dLX(r0#{D=@f)-OSR2CWcrST5o})ZJLKqI6wpkp6Af6*Pk1 zKa3s$(y+iIu?fj#JF_wdZ_|h?SA?K&`bDDmbn(e}TDEhGhWI_0O;RjUqXGSx$5wuO( zw>Rn345GE52$Jtv`eowLMP%&9IYh?Vn2c$1mb+XdGS)U8ZFC35j5ZH#%VexAU;75c zjft^5Kqq6V$l7-^K_vRsR-31FLr$57VFS4uqEnpJd+;DSg$n{VAy+09)|xAjx~INN zH-UN&U>9nyU89d(EN`sUufY$?8f*0~IIy&dwN?XH5-ny5w9^>(xJt;OJ({U!AeUQT zoi1om!C>#uhJIgA6chIOrwV7RsTihzk#? zVWuWs)~&O!A=DPqqT*fDP}@H=G%gpD z!@5RQZIX>Hi77OBvq4Fsn36;>C5d86GLU>4KkGBk`v{F~+?>=DkCpcUTAX24hSykm zi0;CzYP#!lxi_qa=2DFh*rt%QZN&%q+Eb_x5nL#O#5)I~?4pnQuzsosG6G~nJtJxb zGAuPI2YsvHC2Y@npC;0^n23SAcFq4n3KFTqxzq+0ez=%>D1mL=nw2si9T08#PW`a#b?Y|=MJ~tjitCcH zNBVql5{L!~Nj=fbA~*N~%b$c4go|Vm$mPefz|*-_9tpmG=NfsGA7k3nDPu3vxj|0$ zCp5Fb2lZ3`Fp-|!{RC8Y>-_sxG#(}hvQ>WHHfmJ5e8aUHg9A4Zn?lU{%Gu7(shPi| zpRYp=-if(FjG_K0f#?LMLw+}g{952A#O&v7CYQ0PW;Cj@Nz0fNBw- z>QeTT2#S|Qkg%J%V-Y2#CB~3qm5=0L1-QL2DFK=4=Rr6{#ts&o&Sf13>Y$D$YA`BY9}TFN;&v?S!JlhXkJ z)-6TUEp6s|Jpy?I_Ra@%t>`LR(V&DZ5lXT;ER3=Z4qDw=YaS3Th^3UlCDwYiBdHj4 zQi%%a7_?S@!BB;C28C%ef-PXJ$wb=FN)U3JmIxvF_3tD|D4viCBk3$j9^{2=iWj0N znj5uKY7#^laD#X=y9s+i(H-gy+Ad^F^)q3cKUK&t5!01Mh7hdD*Ph2J1fnOjQob8~ z9kSpX2?&7}Vk%mWkz#<2y$D`39DKF(i%4O$9f!Wj?P;x^htU5!YC9xU+aFUkLbZ)S z-r@BnY&)CLfwbrEKrehmZyAzczcF;Fwn0t|mtW_*TENdI5q2}+SsTJ-*xv~ghdQ$W zWA!MYlZ2C&faC7KUdn+#2l8ib@N+zBPUyA)-S$hPdnz^=jBeSIuRVz)M07qJDuQ5TxpZ<+N^h8G7cqwafPxE3bMNg0Fjha> zhYmyrAM#tb+PeTt@K?W>%X8=n8MS>n9^O2Sc9USS6&`I{2mN8zT=p#? z!U#;U==3k{JI=d}kHl zLbA`f1Mhq-3Sf74-~e949+>a^1^fl_rXX{+3BQXXc#B$SQl_Tdcr&TJ*E73of&r%D0!WA4#R=J!|wUJxbzHe&u6{s zOb2{XwRtD4uj10vxDV<~9I^d_qIT~CvpVTw+ww@yfyl;XG*tH&ysKh$+wD)!Q^WO%r=kq=>8vs_Ga9{stT&a3|Wtx{*=>%kDUMItX z=l{jr+ki(^U3=qaGLtX~12f2=;Y*_iHAX&yUuqi8^;V5vkN`J{N^iqQH40ZFa_t!>ZBtFjh*ReMt+mgY zOafZ&d;ib-{CUWnbM{{QYwfl7UVH7e*7gp##)5RcecwK|0N1bS6W3uNO_&08ILgX~ z`(o3OmM>-P<6oVxX2tEpF$*r8f^U8Ok94l|Ko;FC)&FNOHFVFr1&kYAKsBTz-e<=_ zCMNyMa335Jhdfd2S-b96vhLonp?a$< zHak$pHl@3i!4_y93{g5|HZ&wICM6n*y>QP%av@MU%X9PMFoCPP+Si4-6T5@>Hkoa&lqCSD#6_uFnyRyK{oVpH0|QskmC23NeE!QQU3n0spmo~*^4+Z+jYoLArBqyeXKcf^DXYSrXg+uTPapq(aXUY@s z%hnVpRw${AcIX(qia(N${`r0aw;8vBC3KAILVlQgluo3|9VYGo=I|Q>^ZrX-f3^^2 z;gzDkhxNM2)Ed}aRH3@ecPKciXC!_*fkX>x2_!zuMY#!a<+|l&f+y|=_e6KoYKm28 ziBR6EZ3_CkCFL4|6nUwMyk1z#dCeDjZN%L>xTX8BzHudjp=8t*T5Ly}!}QQA5Qs?F zC2T$OsYfglU* z6@bzA(598PmGp?*2tIy0@$s@eHj;@*#-v+7@Vg!FEMoPQV*hXO?gttPAP*ku{RKVhdQM%qGRk=g4(IqE^( zIOi38=A2{^!;QoZS3#Qa?DZxwz~=!I&ps3qMg~|$D*Bo$NR~k9f1gJLNrD9WYQnHK zqzJQ-vBCDf$BmESH=#1`4E+#apo7baT1{rR8DXS4zk?WEWh;K|%0|K9{xp+Ng#muY zEF)hT+G^#Kq1z0;4uVWqf^l7TW&4LveYQAXTsF1+L#RH}8&scRhoQg)LUffFpG&Wy zjKE|nIK5%jcFnO38O15<)nXJYWQ0vS$VF*6_NaAmhzS!sfU+txb7Mic%%xGv`>bXTj zUpL4CL(M$8sKrn*#d2E{?^gX@ybs@Z)1Crp(ao8WRmuD9IeaIvx!;}?nbn!P02~Mp z&z#QGLh~JaZ`$Q>IQHI@AHN%WZ%0vL{Kf-R43FP`yvW{r93Xv@>E~+t;Q?F=E>Lj9 zUr&Vj5@Giy!d5f4NG9%Y-$#Ym^bQFB#F)lb8y52NqcOb($$3MfCq5Xu zI#4h}nR2mxaCkoDNwcq{Og0QYoFU#jvQ#2W_my+}e30G`zS@L9t0|5CZ;&u>tCdPowrI7WVN-fClK#Z5TmK9h(;`c^JUd~HMjLhgEQp0# zv~V6{cao^d&8Uf(o!(zT@s3CqYE9!rf~g$~@@Q}r@SF3|NDMixp9IAJ7TM_sQ!xqz zBS$Wv!N_GpS{{0u1UI~G7klpQ^4(%nlOdT~^t+P}YRtfk?c29qbl*;=;u%u1q!vx) zy>K?~Z5$e1S5J)l$zpCcHm~+_-*}9?$SQ2X&m;tqW5I>rR_@ED7;LqTII%saxEbZX ze2T-az*m8na{X>JQSAgOo8n4lxo-^u1qOfU#VBnHzsUXShq5saET{OsgLwV>h@u%m z>DT`m(fR%Uv7M>Z5loYBBGM0C-3+?fyW&)2EKxEH%Zs`0HmLkU+1# zBOm@toJm=sYtSRKwpC(F@HRf_pw)$K`WT$uYyjEaL4AvZoS)$XxmK2M%%a`zcQHYc zOhH_~N4Oke_izuUHbIaVw|jv7g<<+|FBB2(q#l}|wP|~G^|z&@0177jAb;*CS8!n? z4jn8C5N}5o*3@jsmNsIp6lC=j201Tkez(tl8!)*6>kyWs*Y072;vCpvK)xv;^A9;2 z=}tP|M1r0xpdSHr_&k-X_R!UOsWca~M{)0?JydItV=tWlfphnNBEDd1GpbWNelI<& zsZ_W89_OPPqJj%wy9vqURQ;_K%IN!pTy>n>5Y#?OkZ6E5m%?xgJk*l+3P-f$`#x^T zr+0HppvMGGW!ZvQ>I<2^R^S zKxgP$bbF|J!0cb{5*D8g>m(zDAEMigkpFJK^(`7|?X%zm^q*sTM!(ra1CsjfQ=_Tq zHxJP3+fUGb0sZz}=(m{&{mOnD3xF@_x95>`sNco|uw4HIewmQvNf+(Ju%FBOZ+7n& z*d~~S$_;)6CzELKcr*bce|Yy^DX_!c+fD5a3E+?KWZ+BbUYrKryBJGpDiI}N2!(S; ze~J~!>}c-gnoY`f->_abLPRg~SS&Xb1f07cW{eRzNwt0xbutf!1a%J)b!t+p{~mLk zei)M@T0K=XM4QUP;G^{NVbmQLsqzoOGuTs<>JgFZ_un)dgi2sGit(|dnAaUF;xsx% zZFl}^3}xN)hFq?8ZPLtYd4u733I5=+rp=x^7rqYQywdnDC3aE5h6!3* zGx0X_Zdp9b%Efc*cJcJV>6URRh)9q{4l%cGswS^4+qYJ4xUU9>o0~QzSs&5Lx25Jj zSSUd-n6-V^7WwW6<{N$-j6Bw5)nLtCXP8_GYb(>xDyu3BJ~CG-aB^1zyQ$6WNDpnp zoZQe?g1L?MUT44#_&&yu{vGs++SE;AeqxB|MN-@%?sr&3(A_g2nnq-2(-Dd!gf;bm z4587FZ@lAIZ90tK@Nyfme{FcZ7GN#>roBL5vF5|i&g+%aaeezBi^$aeQuQE=r)LTH zj7x-2Qsoa00_U8S6T&@e53QXh0z_fTHOw&KZUY_X2mygl~ zU2HFAx`;w33*HQrpnQD4cIEJmh&6C~~2{}2(X zpc?b`_Y`@03kRF_c0Ff$#|j8axbG!AMT@{W8&@I~Oxf&aCCJ zGOS#8dt3}y9wgd=$0>){vp>TKIS1n$!Y%Dq<2;S%|HLSP7{uB14^Z?UmXo7BWD5;p zg|8leokq^f+2|~~eVnt?A3-fbPd|r;^JSqK6W&eTGKrKgM!_c`;f^tq1$cj0Hhy36-a^_?#!H82vbI z(aviNJw5P2qBF2g(eV|jECGjaVtfm78m0EITqfBd`vYVBCRPIJc$1N8O{K!1R_Tl4 zBvqf14<#sid*cum)J=E7cH+J*SWgqqjo@YxRuk~ZnIR)JB5m7u8Mn9RkM06fz4Oq#%yh ziIi|h^g(+PEuBdKjsjpZEj_~EL%LoE!*l~ZnB-Ptb8{B7Y4qL|=qI(Gx>NUU7}1e` zMG5-b>$oFlvS1vB&-w4yUB^vL>Qk{9iO>15ZpXFV%%#3x|3Ul5HkF+rqi>B}$+qh4 z)v}3v1BJ}{C91X#Rm*EDV6^!szCt)v+pS|Bpr_-ZLJ?8h2isdcHJRbQVsG1NhY90Ch@scgkFjxWo-;+1baMIf_UT54Cb4HeJ(l( zg9jQ2pzgv+NQWl|0^`pKb16@9#cS;Vx~$l;^2udBgMG$eIOq5yK8L^p{(ecGLFs*& z=_q^PX7v1DP*d@FHGnA-@iiV_xL|$=x&zRyl#Y4U3+Ns-fRE~1uwlb{z z_L>=4qPF17WlSI2vrJcV2}>+^YP+CD!d05^lqS}WW}phaz_bKipI9C+rvyNg0e?V} z(*yp7`HD59JhX9UrG9cY#wT58&t5d&Ub1n0rA|6X$zcap-hqA=UZ{|DrT#t8hRXh) zVZ(LUR=^IU{nc9N0n7s-TV76&dhoWu{23&)tfi@eyo=EbkqKC9^_^Q23QZ|;_5}(} z7ur{)z#5M-ul)g;L`~gah8mHUjeOY}SR&YctMIMw#7YHbDDNaD{t^;j=^-?o+6L{x zjbOGJX=;1~9~w<`4mXg4pV_PQw@OYFl6*h}!23-~qq<0hmPkhfZgLH;{I z_F+BXszg$y;*ONHzCR$eQYR%!1G9<_v+JR_HTt{Bage$~SA3{_66O~DA4R5XDt$NO z({}?6>L1X;LvP8Rq>cH+O-o0Wy~XQj_Qo_n&g?VG^s!$<6*}Ny%r}qH56-0dBzVYP z{%Rq<%k_^D(Bh3XFSF*gy;6dp4x39V3`W!I&bEBh-u97ITViXETAMx5mKC(=;NWxJr?nNXqV~_N(9CJ6>T6lyI^T|T zZPop$Eh|vD0qMQwvXmBYe~NdYxzwUnxY|FlHUd|4rY%|HNyh z{tI*x)3v;^(nlf>@L?#qOy7;(_5CR+;Kx|1pxWV+u(bQuqB{EP*mPpES*|~W^;iUT znAs`gD@91xbdVK+L&;c#{4-!Ms$Zo*43fZtNg47Ou#i6jB$y^}p$y+)!_GP3DOZ97 z;ZE`;IfCbB|Tf~Whd)f)z0fZ4vhHS2BaVJ(ypj=Yl zwY(Ah+*;=vUV?uV^Nta>QP66Og_RF%7Nj<6OehkP?jfG9T${?Z1S78JVdmIJ^%NW` z_}{xQ7yNjY;C~_c10g^*Mi3-~|5&HfB+>GTovCEbM78W>#r!DMmv~+y0_`v&@Ma3j z1pZhd+stTFXv)%~5eOaX9#ngVq43*-?TobRxP>haYv4m?jrwWZXfQD;Wy$&2DQ8f&iobxjk%0BI!+rDF80tvYf<*7PuT%l!?p9oCoD}NPxoa(Rq7kU%ycBQIJBt*A3Ss( z_pZoOtaAxI0ep)9UWPd3jLDb~Z(n_3^XI*dbpo-H)(ON#t}!-XtMos9EGqAJNeYZ6aTK%@ zUWD56JL}4q6eyYX-XLP+48y`>j69FOorqG*z)AA8oN#Q*ZZ-`Gd{|F@v5l|h-MLa* zJYHOw-&y|)P+Iv$3kpX_nLYyoSUMqUQ&vXuB+ZkV)1TkzAEibi4M6?rTRoIW(o0Fc z0COgixP5JyqxAn+i5UcQSUiHYO$yDq88!2-fH@nGqUYeuP;H`DTAyF17mIS0?>G{Q z$>Cls$jOrf(YQ8-=7$2tp7Xmeo)??Iexw!iv7iwkyvos;x^^6qG4=*pM2)xqj!lGRp4-T(mfOG*4Vmlgh z33O6%d=&RlFq)xUVFZprVE+4xJ{uS%vD?)>i|SHhI5>16#l z-{sZl{@;Rx3{;qQh{BXn|IL2^tvyNRh+pB)E6EpE8O)^EtJfCz`0|#QtSrZFeEYY_ z=a=c*i?3yY%w6~tyNSf_>{5*1ghw$>Qw@tBh~SNb=xQ<$gqie^Coe>a-pSfdcSJ!V zj+|g<$oqYAuyFSl*cUw@A~K|M_Ek0lmd>q{T#ku`7z;x3ae>&IY@dNk8Q`n=KABCz z=mx9}^O1gAb=IP+8!906pH5Yvi?OgzflueHcW)@uX@9`XXHQ>4*GBCBVjUT z$`&u2wZtH-5?i;pJkvNu+;tXG z$x7AP2sGXNAb|0CEd&sp>iBua2rm z^NtPvS!H)6aN$O9_=i-pg7JInbIqjJG;kiI=~;hy1A9Md9*_5oK;0P0+4LI1S?Yl) z7893wl$~=eHPLXUHA*-On&o_vVHW-sPen+JDZ}wm?)H(1j<$mQJ5N{J|{7E!w+sUtIUwXKd_PPioI(k&rgnkQUT5kBG2+Ad;)*fq z7~)Jo?_)vtPIFLDqY-vF!mdD=<)F$OHa=a>Umdh`?W2yv7kmg*UM2=gdv9vHp1zM5 z7(^tEAaD>@BP0u;R|`c*WFm=JCjIoHiu?HcI6bDn%s5a zJgoBE_hYpt>Kf;-I++LJDQ+L1WRobg3VX190aVT8>Fqe&(BE3Z^H_Ev&tsjekdcW_ z6bJO^1P}?|e}Fe_nL{1(1ag4asf@v?^cLBQbOz_|Xjn)%I17G%=k+4cr6dLJxXgf* z3yfHKwr>I|5uZz0nG?16^5r5z@L4fT7no`r7Eu+a;My0oQC|l6`jC(g(Jh|{UaJ?e z%xhh6Ok7dhUPwE;pfHpRW~TU+kmM(&EXNk#K< zXMk9@vN0)@``+0Mv^8Esm7zoTR2VoYsja6F3j2+IV#kCA*TgFc1P3~`Gehi3t4zNU zK^nj3dZI|a@UGP$j>+Y|KBN|nb)vDYIzGd5X+-#@Y@x$~r_pv|UdR^lLu{;3kq|qR zEYt5{w2=C2ml^c!EJ(Z>Z}6G+TXb3n zS}7Jn<{5CQflp(fuh=0Yk?&7S_aF zd^kwZ+4v{q-Qo(ITO?mo?+Bc`QNAhMNmZ5t=hn%~0_WB{8(+j%_<0V))s0Q`2C>g! zJPHHzZj{e)KF?9;G3udua7K2;&NqNXpwLLD?~B}*cP#I0I&r z^D6nd0B&5Ae+K_p)0J!CTbL?TCI3_7G5LGQ%p0qHbpH5SjdLsnSrPALS5n1yU|yB- zbBKf?j&icqHIyhW3$LSXiBw2{&ZZUkC`MgT`Ehtfg`7?E@xmzLoeTPkdCUM>F(i)O zJQ?I%6`%o-ERL>%IJ#V4j$R)UJ&Q}7=8XswmpaW!y3{E}&PtXc+tTPP8YD|+(aH9( zN6USupunYnGKr`OZ=t7Yr$u@>=Db36O_H6r0TQzFSvb2C)h%S{`Fxm&1%~{CO>6N6 zhL4z${=p97rqY&*0EF&=ug}Ch_4W0Nqa(GCw8`)hzk6H}v@-BOR!6<8Tb;nrK#;~0tRr!)`>*kLZ;f(4(s zR}DiL0)~(Al)!u%<0&)wF03~z^?k@zELN9;m%S{hUhhuidR2;AzJ;$=s&D9N(&jhM zzCj0cib?e-4E!B#cLN4fhBOMYTP8KL(tvaSp|dv21@eDfavO0W1&J9YMvrrUvb?IH zkNT~=r3wdVI2psC$0*dpx7Ce$&{q@JkpvWD=TF^)P$dnM3XU9cxc;9X;miU+46Xk* z6Vhe|33(c5ns?CX!{j=X?j^#qg3Z1_glx$6oDfs-a6DP2=OZ%obS*U;$9kBkq_VqZ zAJ#JC&?&Lh2{q-!@i2B{JfD%k-fs^ql2`_Of5b^a&npPhzxqytI=wt1I(gw zy%}WyQ>(+f&<>PuD5}>s_=m4&3DW4w)^gpHgC8WfAE?iZN9g96MpX7CT)gwHR7es>}^omycr5S4nvPBI$V#+6C+w;8Bux*n!5`d0HlcijTG<^0ilZZ5u~`4 zwhWXec1dY|x(8{-n`u&Ze09x4IcvU$G#?Pgshm-llxF-7kml!R8pkE2S+oyncA9D2 zmz3uBzd)K|GtJ~nO7rc1MH zpZ*>PLXjO*#*9mX|I@z%ehIDnV`7tOcIjJ-&iQ@qQ}|!LB>Z-) zAq;P}M_)FU_6vW2{*xJQ)9Hdi1BcAt;XYfeU*Lkq?4@>V69@;9q8h&7w&|Gjhix^% zUQ3PYIbRd>pO@q`wR^B9lA?CwMpwhkH`wP;e;-l?UbdnWVxK*&AHXwI-A7#~%D^;* zW0xw2`hNQ#Gu3`fNu%l2MX&OF5&9{vVyItGuS_&z7W6A)&mIiO`K`z;5V;r2;O(q4 z;=yEry2Ot7X|02}ojyLPn<(m+A;9M%5s6*vBe{^%N85X0KQhq%$>r$>od-Ozm$8qF z=d>R`H=<3bw4uw)^#W?#==2a1kC}JS1Kdgh zWz5lP$716{{;cU(-Q<_E5Rr2f8dk@3_2}_xd%DL_qjuNicw99NepgD&KRyZj;X8OL zkSHo{t-Ar0ybN-#y$^8z)Z#Zhk0ADL@9cuA7=pGKZ;y|dY z0imeCA@yCO0(P!IG`Ru>2v9nr0v~Y&4spa#1wP^m98!DKPfZqHtf4MiLvi^CT<%u6 z;O|4NiZ)b7A>fc2yirMV!79~7IC~Sc=zP4rM*WYP;Kvvb3dY0f`WhUiG60hH&7PR^aUA!; z(}fNF0eq%B>=gbDo(I_TBbG0#FQ`LEXrQoLC-v)2x>(rneU1A@_b^#V?rTM0wCuw8Pj0h6oY|h9Ud9T z6hICllJGTR42m}Lyz?6feJaaC9=%LIh*wmzM)Q7JQ{X)>P^fx(jG0h3XTl3+M)F7x z#L%(RjUoT3WODEigp@?WkY5ier_5}e2dd7~wBCw-WTu{e6tL z8m?C{bz$Firjw`#E(BxCb`9j63}Mpnwqg7FZjtJ34S99ddsy?fIbXscJM4UE9E8Oo z_f=|p1GXQMWLf@rSG$gmYqgYwy5gQz0ENDjqAG`P4PvtIKuZ2>gYuTO?qBjwlCr?+ zC%f7|aamS3bzzV6MOs}1rB)2Up-PQruTe9C2UCJ=Hcs$I&?KfFZw!l7Y!(w}p4aF* zs%NXFw3=k4U-3Eh;Ik%=#eG=FV~(8G4UMfUjgH>|(tdSUz%fZoF`p2OTR1qL|! zW!72G;VN7aH|3dsyTw=C0v=yJSS)-hyu$xKKY$ z2hAq+>p38x({qFx(dp?Dk5l5&Ll2Em)~k7=s`m_rhU)F+0e8Y+d^&}<6Sh9@^t4fm zSBM7+Rh>cKX!e59+eYtP96S^Qsob{fPXM7d<{b-pdO}rQA@3=ol+gwD9jPFKc)B(^ z2ma1%!9!S54u^KxRR7_{!E@HSQg-S_d|tcRoOrm!$&=N@r0L}E2YJZ^6Bd(dvji`!`CY10z0;P=_%U0@ z{Onux-vBiD?Xi2CnakUaUpRSBf(GBATGZQZ0`AKA+(v-l9GiZ5W!7IpE5m09@tE6r z;d_VPv5dq9-=pP-w5r#Jpfu)-)uhzcKR3& z_6!#MZE!)U&60^-fKPY8RV$5H|~Cu}%(9$@vhrepQj8o)rNLzM7y>I!M^W0c#E`CaWkD%y}} zEKDwR;znHw#2Z*Z<#E^GD5FsB1gpK9KJDt8gyvKO&51op;Ph2(r>!;W=j0HuixHiK zL4*fBysEj2?l0tt2n|W)O_RWPde0CWES0xjjrwZqv+Xt7@@&U%0#MU+4EF4s2XQ$M z$90DQlV-qNG+HVvT3t$w=6Pxs5k3i{XTrA{B+{4r*0$graRIVW$zQ#V9Mmh>tt4!Q z{xqg8C?Zq7&Jf8%jiSSUr09xM$idl2%OJ9ZV|@5Q>xY0juT4bBQv>to!4fuSsyK9I(sgL!Q~Gs~T4VXl&E@sP2pi*TE$O}!gU(EFTn}?)I2>KCAP$Omi-H1k6<>(NX`o7sX6zvu^ zr*A%sJ#q$pt4BZmrTpg=YJW}-C?9yc#578B8dSrPRER67kTEF4MTHlfQ0N96YX9-VK=c!p3#>fkvT$D5@ zFWiAvpJaHzB8h0Xyinzq-$Efq%jtyuI`uO`$mM1*>Po?B9cj`Msx%!)r{tZ)p;C(a zzB-r6!johfD4zP1ItnB~6;L~4pFPD9pmnMmCRvXozh?*d9+%poet_u6Wq1#jSmL48 z6XOVb=dYhVMU*exj}UH96Q*jW65wLU%-tvx0NnF5l|XV!dIU7mF?FIpQ~Atvr5fe> zQ9U4B!{HlBg%L0KKnyY=Q>S@uBfM;u>0ihBUXVo1EGHLXHzvY(ZK1O!(FeH2)ihs* z^$le8(A7C97f0ry5cO?bq44Ea`kp8zX(;u^0t;LVl~JJ*mjyhnHXd6ZwBrCN9~ct< za%GF;y?=|eTB(-SRNpJD_9@a5T*p?9bFAT3(7C`VgAAA z9O&k7KMDc4dw=c!f&yUX#Dsx0oFZw9-Km=}ot4FB!#!+#n?1hGp)GdB=RngDM7cN< zZ$H7C?|Vq=qqKTEX17*)gQf+aZg3fNezpt?2pxSBGA_TcwD~kE{`bqfePnr{OAI`1 zg*({($}S=A3xiLP?mJ38h+*il%bM)VI5fo-DoTO73E|@y?u>;=kqqBT{b(Ar7^DcT zBH|MSA?3YMu)^iP;*~x`-u3rSJPq&ny!HbFnLsB@2mI;KCYc0g0I2HPPg&!pOKgPUtav{yEBI2^WWEZG zGpXV8dbFo*o?10P_dJG*tvIs?Ru9C;hs*%pm2nN9#~V*u>LxU_OAk&x9~mVzvM8<*RqPhl)V{>aA0d2m<0nZqZvFb_mmB7L=f1vDo$) z2>lTKbl^v~!lZIzy?z6DFQCodD%FEpZilWN?%g_&hw6Hwc(>~RM(^+(<_amXO8qEr zm~HTalS;DEKhn=AhzO`+@LGzrLBOv;x(D%OAJ$^xxYfH_(9IOojjVvlgSAc^?W^mj z0^t??FVDfy+wXfE#r@Xc8fXqx-;68*RMRm(^jE$Hkm-Z(LC;3K=c?TaRD1g1^EGgA zR`Y~;fa*xi$FKAXWvaf730`mzudc^83JV@w@INk3Z>iA#R(T+peUgo)6k5sAU&a^* z3joE1Dj+BTP1Z`n}Ng5V*a2DQ*1Qah_7Xi7J_)kDt)?n#)vRn=><+hI1-#- zhL3>%9Y~%RkP+c;OfbShiw%8^D4teD*aUfBBSQR+tsrlw>vpYZ3f;MkG2BWE8O6YG z4QFc*j@siE+$YEt7q=^Rczy^A@+UB?o~6(Z&r|sO2@+*?p#9!9)w?@X^>z?9`#Br` z9sogq>vSa(sVE7W7i2B66ufe+}=RC{V^bp>X z(~n7{r#tzKwn%Xc8i$0as)g#N9E>bS*)!|tH@|*KLDlXZ&K8me?{2olJ-cCEE5*If zC1>my%6Rkz`Es7W6sNdmKM7y`-EH0^SAx~R@XScHnBLwInG-@J4G`3+xhF@8y zxaYYgK>jR< zzJNFHGeQ3|Qhhk!{|R)C=-t^k0XQA9_U`mxdLp^+9`RtAPN%0|d<}?4R6Jtz5VY0l zX{L|x8}v&EY91xe*2X-8nX|zASl#tnh_s}%7w9)+djxfI?jILgzPMZEh%l!X>EJ|? z!St&>An_o`p9Ei#^1Y4lx1o6-i_2ZM_#8M8$K*GlU&%l&)e}%F8jXY>zt0I*!I^Vo zTnXr_Oqc-`3x;=(raTs!Ggejha5XHUQll0|+vA?c;+|$uo92C{z}xJ6ly=2I|6|a= zqIT7r^{W@fe0BZm7-)F?mW-(1^Cry5`UU-aB>7sS;d_QRyeK)5Ajm5)jzLG&GJ3Yv z<7^s*?_~11Bs!N@A@Ou&0wxoTxWojo@i{^PI*8{S8HYD5Q zDyM2VPpxu3iVc#~;D44r>K0OI-T)P)1bh^vub^U-0Lm!gGA=KoS@PM?zaBY{RZ5{^ zL{9Zb8raFg%}7;$JzW|Ph>kfk!^f#39&?T3z;$EG4}jP8gmAnLn0NQyPQEvhd`{S7zEzx zvoDfCMREoaoPc+F0!Q$#)6;n5$hFYJ{h=h|q@4@9n_=yujl9HR^>C-i?s`zZ+afz6 z#YC%at9)f7A3HqFLaeYwD~xGMK=U`Mv(yJ{k*f&9iMX{fBl8nR=J2`#_0m>d$6~E{ zejR#xE2aU#MhIStZlA&dP2WR6_8Hy;(zJ_X=l-l8Q}qWj`4Ocr2;(7Zgov)sW>KtG z96ft_p*Dcy0lxp?1UeJ4!HyJ+*HhqASn>vD+kBGV0yqSclactMYd;tcQmr|=tohB5 zBVc*shBt{98n3oDy`l7~;C2M>f)w_pkmioE&1$x^e_~ZWRlATa<+Ymk=PvAd+)LH& zV6U@f%B<#zu-#VrRh(WMa&6)lu~!G15B(W1rN)^$S{`hhtm3*%pkS~t(*~CxTB$v^ z)TOO;=e!khqYRvBAXY7Psih9J6s~^orImp{?*qEPSeKGBfP$(s+i^efncS)~Kv51Z zG9)iHm;we`($sfwiwidAbOw)uM(At413>|JI=bA&VS!c(lEABf(BCI1`Rs##G?iFp zkL;xKv3tOUG=S^ZN^NjOfeIo`+#3s_Lf&Y28~T&sj3&r8(7|RY@&wb0OSBz0pE@_m@~D#1Vd(av>llfl`;X)UAffkUIE) z+v1LXgVI^3HL7zZ70tJA6iyA~F zSd*c(5V_bMQ35ejT*7x534st1WIz+G!#k&;6K-xJ#d19%8z^|3u;hHmhF^`*!?6?? znM6o$$!wk!_+napdgDpC3@w+JEslEvBH6YNk|@<6Ga^=nh&6c7isYeEcxeeh)fC?; z{GCGII2)mCL~;Zh^dN|bNl)YaXdE&X0ESIiuEfCs5{9aNu0BZ?0Yk3$u}{syIell- zCIkZwRC(uqS7>ps=w+k|M%OyOyB1}~vzxAZN|Ju~v?Oi)nfQAq>D>%7pT9=j9wWXH zPxt>8X-?tYiTA(tXXbM$&*lFj^1j!2Ca38!%1sXYs`ndyI@G?ef}^-LlvfM*N<0hk zw*`OCpgamQ)3zDq_v7h9xH~EC6yOPNeNtE{-lZUqLrZuwh(f%lgzrwg+rkxzcYAm# zy?b0XECyOx3{rt~BlX~W>f_X}qEFG4k$LFvDd_LW)l|m0{QB!P?s+Xla3M!SsN}Y8 zRRl31Q2(EsS$`sU4qLQ`67<2rH!9PTi>-AvaHXM#D5;P8kRO$JJC!rD?lvmSGX&7t zL;%Q-V{bC5LSb5neiK#UpkY;sdjsK0%wUojdBNUCgIz8$Nrk^YB0S3ozivc0<}Dhm z;jt8MG(t@ET4_wo{TdG_)e`<1^l*~PGV+XMiPi+rh7LB*!YHCy#zFWk9T{q)(Ag#= zZi*X`%1!Z?8Sxg8Qw(g{AXhXC;L0NL4)jX$&4JhNMOipEHEQoXP>7j&HNx1I$qaod z5qiZ%+DYKEj+t4FHt#M-dEV0e_+5w#yiUJ3U>JOoK*iJ;-)b}NBG9nx8OtOY>4@r4 z_sdrcvMS(S-acOAr=Tl?0y{m2(GK91=A)b*T->Erfvs$%z)sI={NTGatavr+kskNF zwyeWCJ(6htjiS&L0Li08Y%V#E6v4zL$fHDXmI%U3D9KA3UZEVZg_s0oeX%~-1>gUaz5xyg7( zsm2>>O7r>!;i#%8hVVz%suJO+Avg1;2p$#ii4yWO)N5k3u< zq-Dbin!Bi_C>H(!ax78lzM!K*?u2=hVlki-WJzucS;CsY8xTHAEqi3~3p!*YRd+5++UZ z@HBokWr%@-%0ZD0`^iQNkJBKOW+6$Plz?fn)Ap}Xh*HFDi zBEdksLYpG3suASo91>{p{AbdP`ff74@IKmbStyS~lex5PbEYvWT8O(Lh3J12ZfT|F zLu>o#LOjK0kk1olt)ZP@12xXv4C36+B<`==6?Usoiu82zp0ForPuL1!s_N-R6mFt4 zY(^H==Au94QG4kL;qb!cBv!yTJ>%WfYoC+uJGPLt$6KH6s2MEIlEP_VxIOqQ2NoD#& zyoo34`%$exK|FF3?keRoQ5zREOCC){N%JD(s5em3<+wL+6sY{LEw7FDr6t+6GObW# zjCzu6T)WLykg;>jDs8b4c~hOV6z7XlJmnBI!_LRabgtW0=Ujz5TE3V|Ig;tU4c_Qd zkh8FG0V+V*0C=zSmu;otFirm=BD-N7=ZNCnuPihZ;vRqLQ`gKXp z!r4I1QEX&cn8W2doWCM1T--2^-#$Y?8{UUFkpFthnokifke9jX3<2^oIy#z)y}0vN zI0pCj{~pShcEHP8Ek+f?s6pn5@35c4+=6 z?a#f@(45h#5)Ij`c_*PY*#fQ9X!F=YWVKBB6j`Yd*2FOPm4kf39mtXJ*pD&tDiM?+ zVaR`XM+PJaIq#y?5jZmg7O)xbquGqkDRr(Y6dqZg*9R=*|9Qt46HRpW4)P?-s9mCk zdT5Fr9caykxm8t+Dj?qwS0MADZgB1|0%^Z7`L&_Z(2lw#)NoAD|P33&(QYTdq(Xt2nn(k zSTCG$2Hl+A&5{rtoemIgAjJWxAwQ7^3vkd->SGt*S4VGZAZo z>{F|HA-Unys5VuqzFXMAWsuBzNZ($G}I^!+`$zv=kC`0r!;SG@=SjY zz758XXowhPVaRw1*GB8*sR^l$*-|+J!~HaX@Xr`$!Oa8cj4lLdo_-W=5bh}gfm#df zX?lsz?2oKRK+xaIw0nvQBH}@H&kS`8sw$*er_dkyUC@c~IAG0!#8*-FIFLUjdI{L* zCDqIcVL6vU-4m7)q$h)RJUIu_=>(LARR z=WLpXQD+jYahns*xxSwOHyd&3{Ufu?f#IZuqBJls1I_}dF{Gb2KTD#8muQ?OQmmp= zNr5o9@L8S-$L^(PV#25Uu}G09NAQ2p6hlA3=l|`MIKAFWr{XET!~aGP{U7iJR= zV-kiNd`LF+AjkNaJp@rQ$=2TM$Vt5c{b77qQcLM$>NAKhsOsA>aYw#3fwBwP)@kb> zvLkHg08W5WhooQ|WVNY?+Sb39Vcme;W7o#e2PSBwzL+Ru1=kiZ2SH-av?9HPq4*X%{t-_E{jIbSr0-~HLCI{J zIOB$z20Mx5$m3B=Yh#U9?Xu$ho}Hglw-(t{@K$mfm<@HCO;Ajt>)U%%I^j$j|2j)t z(856VQ}>`&4NQ+z=1{>o+^Y>toKinn?EaxvlXY&qL$i*Cy1Bqv60&>G!_h4|3&I+R8&0|wask0?MffoBv9YP6@&@@M~XB?A^I@Hf#Wq<-eL>OZ3R|qRP z@2SVj4G1_!Rr`ne9_mb8KMlCVCVnrySlX-{0A!cxPhuwDM`Mz*Yg1Ce@>X65MqZf+ zNI&~_JkAK}1WM3Lg(R`SgJc;{TO-1wfBT4(I#VCRF9k65VS~ZEGuhG7uH#yiOnOQ- z+;B+iWu8b1l!a{hxlD|^;C&k{ZI3!|?E+QZ`7oI|XjAE(0Nwd4@35RyyDvzQe`wq9 zG0Si(UxE;luSbDm>*d&R4GlCD%u*ei%m{QNoI8!9MvlakKtQFw`giD7V-}0irC-$4 zp^9P(=`48|`YNcVCw7roZ35?f%*xM@`*CjJCk}P>!!DJPj5S(MfmlyXH1i_(*vB&l z{J)yEz)UAtN}az_9F;mr@Yo9sNF=?I{AMpey-7PZ$p<#fk!ks@f}b*HV*_?4!G&ei zfw<0dFTG%C>7b%Qu`D?n zQNGaJe<6B@_k+e}s!>HuTWr%ZK|A-Cj339FH;>tdo4VBh*>fmLCt+MX7qDJ z6tG&OokinAsJgLP==A6mkCc8L`-uW?-;UzY6mH0{D4a?na~j5OyXN3{HAB6_rjDo9 zrJ|N)Hd=Z)i=EvUZ>70ng7(xoE=+_=X$P|0g>}be-@6ITDCH53qRv^m_ff!Jn&(rg zitLH&`01SPeH0YF98Hr#8etHOZ~Nw`LoC`*+YJ91QN!2gf+{d_?@{O-7;!}W;23nV!>Q`S1>Tl8R*lI3)vj7*4STR4Jp$nV&3JcM7~l?q<-v{`qc#% z)c_G|PUK#s;RN~@iC!T6>+ot6e36l(9xCSiLhf~RlNx-;Q_W#d3Qj;kaB@sRVoUr?9#46PHiE8;O{A^;r@$XVNOhj20EE+ke1XVMGua{W#N?&lV{|U6N|g+zWt{;1Oh3 zm$$-R1d&-5@}2ub$R7bb_FQXHm_3kR=gEVwgwvsy8L;on53vklmgVxHKE z{h>pzrGCe)u{N;xqY)4$V`IwC>u6{fBs|c*dB9=L16VBAsU7Vfr)aCk+MxKmV+nTa z)Ju*+x|)t;BQe};+iBySg;qP(mg^r-Ycp^~#DIz|t=QdGvefPa)HmNBq*<4A zPsV9bzpjcdWw`p2R7;_I{G~e5@O%>}*oJxHEbEH|3U(@^c)^LJ?xz_ccs@nWWku!N zseQ!K)K1oa0nbR(BL5YT-RPfn5@KR{1W)wPD@aBJx*N||?*d=Z@WpfZ-JX4b9zi%! z8?W|Er-=3__@x(+3i;yTJ^zE9AI9YuqWV9JAoxLijEv~Z%$K;_6xBZmXT+o-B020k zNFY?a&$MGP`aS)8f*(B#hc_GJx(7~mu=#o+s=Aw~;9(igLE>^Q_vBZ(db&|5o`vxFerF zJqv-x$F}P4D7Xj>S1WDF!WC%BX83hw2xAXS?SkYQ8!2&zb3tk;-s@KGrH2aj9yl{` zKOC4pU0DF%f$(RXh^TUC3xfN9edx=*p+R1zTo&gHd4nEa#cN9<2V}kAVbwpNO`!6f z`)%{FPVQ^P);k!TkE@BWXezFYs>XoioK4RG7r})kNGi$O0o?2vfL9y*G*ri=cul$o zE(EG$arhka#-t1kWo?!U4^TAp)#0L!8C@jm9C!(BF$EQxe;^^Lp#DhF(*Xo0u_V$? z(PN+$vmNnNsy-nqsWpKGFimahM->GE3_ob(f6>{Lfhucb2*Z0RDWMs)b2nom3)JH9 zSI*+_LdHMES?4sXbIXVmd6g)@%oO~#=r8A^k0S6(kP&5MM1hPbBP06N$haC!12T?$ zB{E_i0vS<4#-H#3FXLzl5oqfo{6sclT}~n)U}hoJUm#-$m<$?BxG%*cZm>$^Ze~E4 z(LZbq&B0LK>Y)G}Q2Zu9GM?5FeEuc?+tyh|IO*)YG7lRp1`uZ%hPmrt5wY8aazN6bMr@9k)u5~8tu6- zX+mDd>mrnl6|$mSOnUV5NTZCs%sTfcu0kC}SE1s}%D4+P_{CbqzTbuHBV(og)XSKQ zS!XkN-lgPGHaA@?8#`q~%W6_S)?j;zxUIv(YWD}|@>RI(kcz-`4}J_u1@s*8zXCg# z6p~zdV)@-WQaK64_m$55u(61pwT-fo&)4qAyhK0>u54)g7uL^7gjp!;4J3%r8c|OO zf`u0yHw^veckB#eCpr!mTr{x>d+}=+)S==G75ms>>lpjmssIjQZ%JsxU34)OZe?p% z1>+Xk8;obymnQCq%aWb!Cw4J=uC-(-XVuHG6kx%{4)`OBY+1afa+Q7;SbsDwb0NyF z-!X2e3N%3KBiEpMnF~>)z_2(9h>$5Pu0|fV*B1VqQAI2;=;@QFB97t4H=V7`z_nDs z+xhG|_wYjEksFZRS5|H$&?Hx6yNKdXA%w)?k9o-)rWujE;=(z9Z<C)vTlBej_qNOV+&g(%gMa9LQ za>=u#sA4%XTd{KW;^oVbprZU6lE<@lX*mMdmUt>D%6P0USxQBfi^qz}qUDHOvUIse z@_5AqxvWO=)oWKTrfilNbtx}HRm#hjmH~3r$|We(yL{;ilqP~oR-!tqidNi;=n_v+ z3Dsjok=L_&<;vwNS8!{V7gN~E@^2t53h{W$P>y0;WiF5df-A`;P7fAt*Y6nBYCD3# zGfJ~Hk=!2>)>jz7BJN(;yuv<~9x##JPEVN0ZV_)Vmfgldu$ZM77|kl%=;gm_ISY8@ z?rpos+IAbiz~pv=kBn~b+e9X})ns$Ki;Qk@i4WP`%GI0isoqA`xA)T%7Puk+X1L-7 z7p#jMslGZJYfn%#|JH*X4u(Wl$G){gG-ypT#@E~%;b5B^51km z{Ex_>1~*`kxL6*mmx3{<=}hHM%tVi|is@>=gsOfBdxp{i&lApvOYlwRZyY~O9*<&M z(lq6X=CruyiSQMOm0;3?SZJFD&+T%4cRx7uc=qEB{~<}6x+Q5IGu4NJhpMk-vd_hjidQYsWuJ2X?0`vkNpko+3x4<1JdG1`kN^^Y93zWCEHB)?0LwqhYv0T3uzKMf}v%@bX>Vj0^X8J-MkV&}K zc*pTO>`O9UCW$!vW)FVur~`vCaC`V0oS5*mb;^=TUmhXvwxKZBlFINc{3-IZg>NwO zggV6N`qA3lpHNGPo7d((MX!G``XoLp{8w(@MkuXveKLKwQ0{#QB@H&Wz71KGaUg87 z4pU>?;ZH7tldr@@KI5W*lV=((vAM1WCVfj7V3Lu4i^w0k5lh?$Fnf|DWR<8`IY%+g zB>F?d;p;dfOl=t*o+qU+nfKuzzSH@e z%=_>U81Pk~ZczCZxOMoxN%+CS$#M5k9P~g5ZVSDG!K8N??;Gze*KH6;k)0TwoN)h{ zG&GEGKoUMbQk3hNhvM;2YM zJdMpMi;IGvr`Ek3S&&>dXjJnw?-zJIU*@}sOa2j@Zez0y%`)I%8c*}ho+mpzKN9vS zL&~I3^tqOoE!-`;=eGP$cNDAdYyKw;D|8W~Do==2fv>dq735@CP_UltxI(NmijyY{ zpyY{M7#{N-Ajb6(hMy4Vtp(w71bV&N;>^gn;NRg6s5HEmMpD^5Rj}=I?Y1d&WcV_M zBnaelp`*q&RoGKN6A3CxRZ*~sojGQO4HP*vD;#UwwhF#8((eZK+c?spqX zUi+!l2k0kKi|qUK^_W@6Y?pCxr^t$&!JvX<uILf2%U;w)gd4rRo0FoCU&FXu0jFPbS!l`&0mzd`TOI!kRDUZ}p-D_kQfMg1 zchNrCz*uv)ZI)JbxEcP?4y)Zzb85};yoO|<2V<(gjq+1oF%=Ub|X#TF80`4;0XxSmDD zqi~uNOV3MzdHMC|z|4ZGE#wU1+nhZmQ2lmxcRC$oRoS` zpnf3W4rzu4FQ$g`*jahh9ehT!0Q3V3NYnzFnXpE+!y2^=>TEH!;t2ew3YQ!M(6px! z&HZ&0M=DTFABP+;(Kh(|$q?9o`O6;Ala!G0k4^evnjKg}F|8wQIy}w{dZy6Q zD%(2Ja&fHU=p+D19n6Ja$Xzz_4!O%-ta+wPvx5!7N`#|edk76D(K zgqw z7`X!wlrPB+U;szAz2ScZCXJSdHN1DE%@W{Ugj5Iu2YaCIRPW=xOfL1xsT?}+Lqq!f z)L?E%F9N8JpjoP;Imw5X;0WSJ=w{kgJ%jwn521WZ$C4DNlfcC^wV8^EdryT`Jn2=; zj1zuDO*;&<<3uUwKWwYpgoZ@Eg}M^Ph1oE$OsZHgWJNp(1c5e1#Pw1PxdIO4U`HrT8R)~H_6@f$WQ(v7Z13-sEy zd=)xImN1#24vm5Ipg&Wp!-5Qb+r!wsCKE}V6hjk)Oax7HH0}TbYXTw;MpG1+9rY9a zfkb9q*a>~NQk5=(K^o%d-b_nf#t;S*=?U#tnGym6g@kbs`h^`hti4~}fs`IZA*Vj) z0nhYYbu(1v`@wUd+PRTY_?|Yc!(C>4hajO@|ZDH#1RoeY#6D>>u#eWn6xVf z;yZ2euNk%7Hv|Y)qF;{~IWDoQl_-b-DZ>Yi@HDm3MwMOZQdhXl6BN?9#c_qm5*Gji z-pDujAhd4B#J3YK=`vb|W(jzXoP|h{q#s3y&Z7|OHT^#+i2JOw*hOOys>CGL7whpH z>O8vO1h-Tws;1gBVzg>1k3VJZ#=q3EF8h@i`{2jVTYEj~*> z{{-|Y9_1+~Q`-t76kLuF;IXdJH)vVCO5F*Ubyx=0+O@3?*c_@#H|!ydIU0^*sa9Im z5lw-{xycfUbb7F?P9R?-&fS=X@gAV}M`@;4f7|{iXseu1 zp?+h_X>U4Ki#bcD6p_o>;bAV~{3izAwY-6F+@}QRJHMeuaV4RSt1A6)9_KKsNY23d zrWlD1(&>;8;|b>g^ub&uxgFL#Cs0@@umJl{Bby#oIc2u8S5;uefY}6Cb0vI-{1yo# z8<2@`Q9_Ck>meGa=S>s^TLMlowv~K-yh0v7B6DbEadeJiFCe$tD2%>uXvBomlCCd>dq1G0J5{76N1_LB85O#>j zl5xNQF?o+ol1v<8^YR>PTeVoVg@UbG+fvuKK>{>EL>tj6ij_#MeQ{`wkV1sW{J-bk z_a>7NlrF#D=igs5pWM8=-*eAB_uTy)CRQXpUP-skL$Bb~m<_7NygaFf$-;~Siah@5 z2`MaJdWpsQ08fDgRoE=vEW;iEq- z8`t5}GABzUU&$fKz%4cq1&-{xcuJ=O3mpMoo9=i5#n+|}8vZBr!7~!wS&0+a{nER5 z6B;)jS$nW`G?Pu@Z#Hd6;8*{w=rq{CuEGDgmIm4)!7jE(%}DT+eu76@rC;Hd7Bu8i zjRa|c@k$H9*G^0DoULyAOp7+c+50DY?rt7tm+o-RrN>WmTZZEDBRp}v3y+LGeTB~K zuzY6sY>r`$T8=d!sYZx=gK{2J){WkOG~xOiZn`S(K$0L{%s{;WdpD&&dTEZ%!STCY zNx(rGYJn{8V6*#NDlfzAv~1{!Co26gpJakZlzm_+R7Zm4r0s?&0ls+5~Wz|4cN;1fzWty_;0Ly`S4~Z0k9rOiNQMz$)Pv- z^bVUG9X8yZ22;#Xt<;~|KdBbF^R&^xIB0;DS_1D`kRB_=vF6{CsbDqE%y+mY>3y@cvj|tvEgJpx(U3D) z4$i4$_k-;LW^;hphWr#!j-o*D4b~^9;*gUMUXg&IsUPa@uB){+ zishDWvORm=eC;W=(__VrA?ai6v(PI`ps1A>;y^dYt`85&aXr(%ds(KvF3z*({CRX) zZ5(O|u0*+hME`ox(KX#vZ5g^>>Jk_?I`}N;8TXBJ#z#Dx9)~T*C1b|AK=2-aMuN$$ zy^YodHX!RLlk2$iVEYZc`D*ZHoMh9>oD@M4c`7`8Lb_=QQ6B&DgbTB0X`yp`5P&~5 zIRq6Gtz(srhR=YMsu+JLc70#B()<#UEZ$OmsqD|5r`4f;bVJZeH1=WDiKy}qghO>F zhF~wFyo=J962?&;xhv7g6F2d%Il|kLm z54$C_2Cd_tgY@BtUGLiVB%JZnZ2*VF1UWJVwIM2v1)2LgF`Y$RXmY)XvV{j5|GDGR>7o_t5p|Xp6-Gy z4+ae+Nkg~@k}_-{V#)g~Vjj!85>oUX%1jC2%8XDQJp924Xg8HYS)YLb+E>D6iQxeTu-1OpBC8I0m*}SLyaZ(yA>w$_b!lV&0>jx!oWDV)t6?bqVWe%JZWsKvAZ}Ge*rP~K z@xBj#BmTXx<7bF?aBZjUs;uoQIXHxfm!fb~j6!QVtB2mg7E;Yhd_AqQ{PCS+l_n`I5gM}1+ z-Yyp-kJ0kRh`tEkh+3qOc-AyGr3HBQjNC6AwyWu z{b^#4EJqc`As&KaIz=B7=4ggTY7EqDMPabVtc; zaY0pYxB)x>W%!D!unYW2G})dIaF6F>AMKd;^A$bUDxU^o{yfSlkAfpDL^S9ZzRKu^ zpOX*hl0^F**5YuB5X%6{RWjqT`d}Xk*$~;?DN>7pQYy(!BRmb+!Yh=V7BLW_Y{vq5 z7Y%4PK7j!Ny#uYEwVes3!=@w9+ab^InC=^B%M?FqBf6cti>Q~tl2^6seg}f{S-ito z4SoQ)Sfn1*KCbN*03z!EJ=#AIiQ>!XGlXNEMC6?f^m<6o+1|eRcH~5AjX^Ym?LHE> z89_7-TiLM71MhO^n34ZhLOu4#wkIB;H{RP{asW!m2Q--ct&Dl^)|oeB+d1-ZXb#7b z1&i}hwHA}YTIwTz{XpDtVNY(9>UU14uI;gN%06Ogu%}H-ERYXzXyE)gwyobIY-}`* zkbC)V%8|O$^W|8^swZ|S9*;=8h$)v>2BhN?qG*T?_EmB|A|*V4>I45L1N9d`1WCGW z&lO1@79IE3KuFuWOh_Az>+GyD*BB3TY-M2EoCLnDp{Po2o9ABm@TR*PHagbXSN%Dj zALzKLg-B-duYM;Nq`m#x$q&}s_RQU#2%R+BrR>WfyUT6YhS{xsTaLxPC{{h7U>~Vv z?8VB#JfIH9Z7@UpdARS+!eKCzjZ%&Y7oH>PYjjMxWDA}=(YtC}*>={h@^fXM+X}#Pf{5~_hcED@(&9&+A0#+M*HU2UX z&Y|oL|5<>UmKaeuz2=Ma))fUr?pT!R_F6=t$@BCCdvJ=ewy5_~j#??MXesG-o?lmr zV+k@5Fd?Xdou0s?!eF<<1`3C~3*?nfLMQ|^J)Ye^#@=7z5q(Q#8BN=5Wsg!>w8?U5 zsVWG(SgHzD0ws0j2Yk^e!5!WTIS>4iBp54{WnH0sfSOj`CIro%N{8TyO-+F0h=G(G z%l|9=$r9QVw=-sE?;smqdn2KRb}XVzbxJz+^rUVoH1!IhXqq>$dAd;-$^_dpW9jP< z5Sy>Q7r%Smz%+o)0&4N;f~ zA2rRcL_x|xZCXE}36z~S=rBIG_dqlt3bVDJu?-V5!BvR^(eS-(T=>3(o+U);{B>fW z69b(X=)^!L20Ag&iGfZGbYkFt90OR4(AJJH5XK3!2xcS9k6=jV&$}?EVMyozogvMj z2PNyjD{^Z`*-kU2}#SAuUMJu5n4S`)6yrq zrXZu?It&}}Jqj4<+ko#9-G4NG4*cduzK?T|ul_?GDb>6VR1Y!>aEf>GkRbdW<~&T) z8`ye)=?>EqCIMyu%ylrsVaCEtgh_?TfSCz1A0`K8CCqA=J7G4#_+Y*Zb05ruFpt9Q zf_Vz&w=k73dtiPC^9D>E%=<9MVNSxFhB*fV6bqvdb7R1r2={oHB$#BFR2aI-I29%f zW)93^m=!Q=P5_1N+8Gvux>`TFtXfnR(*cj`lbA@|YaTaG3F zWp&XnkKNUO65Lw1kv(oIy`pg8v^%aPcl~{vTsQ6ey5+59Tfa~4ZKvMfeAC$ESJO8C z`FG^rezs=!O&7Mk_w(Pr_8Ga$pKt#3rkifQ*FIoPKYISEow%Xz&HLXOmfPoqm)vz( z%iT9GTIoDKGw=&?r+l(`>&=w|%7U{h|3>a@4?q0U%|CvaeqWIrKZ7?8N?}f6A^)a) zkAKVe^Y7|r_VsNYnJVB{*K-B?Zhikp?3?@MoAh-o-5!;OueLtpM*9Bjfxc_-P5JYq zqko3){R0lX`X0XHuKW8P)^vn#bKZBg`OBXUp4#o@O;K0 z(bwX)9J%!u34^cbMd`1~w+x}>AmuvpI@Q2$Ak7YaH&Y1tzg27`-R#p$a>BVc|K4^LQmqTuv=PtN) zOm`yl-JXLNhVA_Mo`x|SZ@nJw1->h0jrv>pn@_%c;gu0^+n;X!*_hk^cI4iz5-;Kk7SR7yL{&ITauQ|U07ZG+aKNtcipvT9-j2Y*qlR;{_M;|xbJ`F z$jO_p{Q0jMuUkIzCb&m$+Mh~z6NI~eL-^kPeB}?P*qh&4RN1>}GThq}|NQ5v`xh>n z-#sZl18yyP=7g-0O;2V0G*mbpZub{074F+B&wlZ|?e{a_zD+*!$LzY_{Ve{G-(5Ew z?#jRK7(IW{ma1&eps{n|ZqC?n_o9#Q-P`9K)BXi;Pnhp}H)r9N#~zunv&#~=9q;bD zZrPq;f9Q64Z`o3~-SMtXE4LK=aPK2!)yv^-9MJvn?HjxO;i(w~q6cnY_27YbRKD}G z(bbP^UIq8j+0*V^yR`a8D}VCk@jP;m8?*n;-1nYQmj;LC!@cp3GkeP)|82?_EpHXk zaodoIPu{+9@k8cK&Y6#|hue32^2>Mm3-2AZdP(eNxa+UFKCa|XJ1?Z()bqBYYV44W zGl7rcsBn-5Wf^#JMtnR2cGBEL<3#%(Ns$r2^Lr%l_!Q3=OWMcnba!H)69b(X=)^!L z20Ag&F$TI}I2GJ5bZ4jY*NK5n4E$GN09S1-JBa~kB=HgV9PYxhEBKW#YWb?Q!YH}0 zfLn5<72I|EvNgGd+?u;)*^0tZ;gGy_E0*Q8CgaX_p%JO|@V0rZShrRxShbwz?_F0Y z=|!ztyCP3snalmxEL%GYCb5lcOdHqOHm-4PT;togZfN7Wv5jj&8&^^rS6&;Jjw&6p zbv&%FU_~oB$Wa)^DY?R^AxHl01#4PU0qrB(#3hfmsmVuPp<{}2Adj`V8`@@)XW)`z zz>&K#S8qq%W92ewS!ytxIrs|p>99U}^tuaO-&WXn#=a;#ic;21e_q+^5!errLG zaER1taW4lKzC&3Szsri}Pml}I$NOVYwRZuQ&f16A&V^jfN3hL+TPT4dYXG=}4yDsxXGH@gvorhyn- z!Zo!L-tqk$5pZ{jnvK+Qe9wzi;6tb5aRV^7NxxdAw=G^2;iWM|Kln{%H3^UTm7Dl8 z6t3&a#2QnwhN2N368#f}l3*yxZ^BasBO}m=FPR`0r0@8W2~0df@+A{|c#vHa!z?v1 zETD!}5vsff7fz&2YNRFc?#fYI0+g=ALli+iM|Z@06GqBiYk)P}MaqDj{4aQn?zr_X zN8_mxi+ReIOjr`6KD9BGKr8)fW4yWzudK*P0W=}=C$lJ!9P1s7Z8q(OE`%eC0r{Y8 zZ8ya_U^X)Csi%P>61pvlV+BM zibqj`>t`|_+yH)(C|LSS;t}#lmqmoiG5n%$9iwyodZ3V4Wk63{hLrx$6CkLsdip86 z2RWzI;jL4oKi(L{w@lq=VZmolKgA-TtjIWtRWG52Aw2t=8Ij8+<4~4UH+JDUCRXt* zk>3^$OUu*0mMws#8F%_(8Q5DOxsqO~wZ;iU#iRcHqNu{WipeZHOGmQ!@CtMu)NJCJ zEXCq6z%@=yL$OV$;eLXhZj#!SkB!RFD=DV4Njda1E?bM_R^C4KYw61wO5;#^y2jp{ zT~-=7G7Z46MigR?C?pPr*r^aCfV#gkN+Y2Gu<7wBX$!^C)3E4`%G;-ZE{P9K@oj`U z(36Q(JPm6iL}*pdc#!9X*T93&ONk61rj!JQE<&x3vG|Zuh$Ot;QZldk4dkQOoGyi5 zr<^8)Tw!w|j|J#` z3mxBOg%%#jCb2_!!Eppb9$FS&I+;R&IenNwgRf8TBCQ~Nv?1I85=PaGN`Q;DRD?1S zfweqc3nlqHARlyVyoHZ^x!TO&BRDEBM=8P}XvejCFjMf>R#{j9K<~zbYwK+7ZS+C^ z0qcGNeirhxc(=|5BcYd&%pW90LXe3>4l=p8cwKj9dikM%)n|Hr$RUy^-%F{6thsu6 z3W@i9q$3ilxu%xa4eE+_cBbmjqvcb|LBbpIqQ0BSpEpjWrN<(!mn*XlCNt-xyzo zmM^HcfxYMDH2?`@*h$$UQ%COK7$0rBCkurHQlTN+jS`aTZ1>Q`l|WiFS5g~T6s6Qb zkMbOiFEzSkBY5X*pRNa&l0r<$p-FwMnnVygklq}xvDE;nVQyE#{gj4E_%5Y!`2s|cKCZBv>?{pt zCMv5V^C39>`^?S<2_?3>&G^qXstNUQ8572t z(&2o9&E=zqHd_Z^&4z@5oL?%BN${^_O^RBBh+CS$&|1|gBMGF-2GZ(zDa!mz50c7j-lk~E-~_aH(`-!q zuck82C6#=KYt%OMV3)Gz#!R<%IFbL{sFHX6=SJGf?na^r@9X8kk;QJY>k8UIBg%uM zdYwwdj29UcPou(Itr57ccI3xGhwGqFA~it&@&1{E!n_zw5-AcWp)6m+Ja909_dI|7 z_xuO#oJlp@)Xv|b`(M}2AAE~CYeRSPH(myECXA=StW)ahyiE-^;&pvwS$dv92d|9} zb*L#@iQLeOh|7FR_|0hV`w{t$F=8@Z-fdEyr0|}4xQXZVF8sKTbqBJOZ{~KO7rFv{ zudyPfD|F~>d+{ukF{&V4$S{0g4EtVb`04zD>PhTu^bsSgZvNNELnw-R##H{`ZLs=Y zqyL!roqdc#IBSGF-t5rx%#C4>_ze{PLe7PigGVPI($$=-oJ{L|VK1(~USV{lQ(&#@ z0Kf!ZC8Q@Evj-tpNEeZ)E1R!ndfcNC%YY*`yLDl08=&V5dK zkeb;48vPfbP?e<)SQC^0`QVM$bT%Uhl}ATl(jX7l)^DZ^-chL5ft;sR*H#l72Az!3 z3a*J9)?PKyqxM&axWsx}+sQGMV_u#+(F1*0&o=wv0EZRLygkP(F zzcs|@qO^!{QIH2cv+hgHA7(2z?Qo1pl_%S5}~k9MQ-|r>Ij=dyTgax++*(r8$Q@9>scE!8o_i4x02l=okv*&eoAl)g$G?PJh3 z1}l^4b0QtNGW7Wv5MzVlImE}$e;1?{UgH%U*sLPyI}oSG_PeEzYIU(=T+&z|W;T#R zdXdu2&UDL`etIxVNdhRxYHtD}$mXN*?=Fi_{D_)ujm|dv)6I4dPKKl!+lx^*w6QOiq&)5!hhnwZ@>>xE`M=+wU;Y7#Vd$41j;7ZgrkHW$=)Vi$Vg2%y9Z8;Tr(eF+J3_xa z^EC9!lj9%OFHebd;QuN8@>?i<|A<`7Gq`s9e?q@J<+URsD+Um0>1wZE9`Trd`4&v5 zTlLFR6M+ER>z9Ww*Dudw>jhk{etCjvXn)pBkfR;93(f|1x`2}7s9l)@8dyocJT+}7 zhLY$lYv`9J(9}4p8a5)^p!3n_#*xC1b!(4nif=%`sJw#rHnX9^{Js> zo@x=PUp}IM_!*a@U%pL(i}cG!gmQTQLH+Wt0=x+Q@`m%<^~>vI^bPvud5n(q%dbSC z0v1*~$U^$%=?i4*`sJxkj42xW<=aOCQy))}v_nB?tR!14GQ|HBT1B?%m*0gD`t77f zsEyf%|1`ie>NEKDW$Krw99q@3L%%%1WayVC`$hWY+okw6{qh`J7$_Qyc;Fv>^yIItkM+-?rHH`sFVQReKZgCg_)^Z+rdnTj2*G&ANVhqne~&zHLS+ zJ9i_d0?D3+ELn_&7`iX5U)~P5zg@q4K5~U*m+T#6iO?@kEr}EGe?q@J5jg1)D@O+3 zq+g!ZuZ@0r!UdF_^M?5c^~;BO9@j6=SY90Qi+^6fJXPeI^vhHDx9XR_sFuB{mb{7` z=$9vm+vt}kj~&G4+v%4luMYLg?;@yL^~>v}Vc0f*vwnFb3+tDMo#~g?IgqYjo~ptJ zvT+bG+mU{GDh!fv+v}GnST94rJVRAX45=EgZnlzsc?Nuk`sJy)b^Y?x)UEpEjrw+= zU!L-(=^kTjdJEvh@ZY3gei!B5M!$S3^#6>0d6pm3FV9GzHM3eXZTW#4HY=G?=1@#K zR1D>lw|`Z?yoBmtKOdJ%FuUJDt~UDR+mkhKs(+Jyd8#W!$)bt=b^Y=LXgmG#43z*i ztY1FDgX@<^8b}<&fBMntM%OP7AG&SxPw1Eb)1R??Vv;>m~Hd(_1{!8~#t} zm;Xkc#6mV6{a!*RF@+gAiFv#ZbQ05EFYXaQ|1t!iS4+VxU((&ang4*f$nqm0=@9X%o&c~AXA{}4#^FTD;qT?%;ZFB(L|Duks zYV0|HqR<@5+(xeKB*e8z{lW=bk+vxcE6xI6Q(($z!5OnJJ zVp;%jm#kCA*MEhMuTQX-`oF5iBwrd0eKBuix^Va9Gw($JaKa2wlfly%Dj!j<0pC5t)v!7xjqkb$s2T`(Lh(FFoH# z9bX@@EUYwb?@-6rs|atW0PHBuLD-i2coa zzqX@zsA3v)BiiI!^?oruY~QAPh?ee5pAlKQ$-3^L%pMFgm#uq5N* zFf%?L3(?ScJN|3goG)J@--SkK2l@8-hOk^P#x`YYW3hjPp3|-zD_}3f1uhU{8`#PJ z%S-rY;i&+NZ`4P-gNb*QI6X|byj;*{e!6tNNX~yIcYI#lhr`D-F#3Yyk%)L!NpKkMnLxp#sLpMw{``vAeWVrOC7jTN zhE~6Gu3eqjg#fym!S4f@=Vh~}$X#fJlX5(`$OxS_xa82wQ|hwU;|T)ZkyvY8>|_p) za9qHx;FIIt&b6lL4(W8+k>aafav)&n+qg&aj;6f*POc@^1qE1jo}tjLS6XC`YANa! zf&GR>bdra9At)4GJOn`Y#0-CjgSF2f{BM{*F?J*{kACDq>MjYWP&6)k*ge(FX4?x@ z)%6LbpP{BgYz@!jO6AMyh6LrH)z>z(!et+1tE%T|?36|b#nw<{JTX$|T1!u$xQ*4H zUuCId3BytFs%kJKnRTt!da(ct(h4D@WdY4yg=(!E0!lxFr|t_+_(B5!1CO>&h1mUg z8a1eEReg+}JA47ae&qul01E@4IT8Rp3Q*b(fIl$+_OpOi0RF@P*iV{9*%L2nWJa5I z{vd}vO@xc=%ch;tkt|0kGNOXD$@kNpFw@?HPXSMK(&ayTUY1v-&Z9pJipuKFC+@YOy`I z&wm1nmgAY%6R1=bI(Sl@l;Fd|DMQ~IuF&(d*<8JU1KB+5X7tsRUBr?uV4Srb){)}RL5&Rfzlk-Lf`*3QT z9J~RGH!=n1z!N?c0J;S0n5)w>VNONoZUsCU=& zw|M@2^!06|gScuKTnWAJA!4%k)i6iN^w@#k49hqbuoBj~%T3+-{mvb`UrH&UYyeqSU!f0oS`8)#6b^+=7E%8J6I0ph>Wv ztQHJbEu$HMCT8hvM{riEa-~65+Ld2X3qH+TQ0Ip!tk2Oq`PRNQKpzRvc5T}0kG#Ej z#H<4qt^=%LoO*P$%jh$%1D9@*MUgFXKg&#S;Vft{Iv~hXjV4CP$vQkn3-g>g?`qq& zQ`)ud4RBM(#oQqlG#k;b=YW8)M(KmpsI{(-_~$5n=ox5MJstSs*(o(_9qVw=tB9e2 zA~(?|@eF9A)>TFJm!t77kn<_pMzuJ*6?EH>=HK4}Qkk~t3q+whCLVzfv_Q_mK-Nb@ zDcziw^)VoVP^{W*C?3Fr$f=c?GOrYZgl<81dWLe&{{3 za;w0M)S{{|ahy9t#POU?9DE)}w1La9P( zsFYW1%2IRW#E(tu*yQ$&l7)zk`F3{*jiqV%IQ$Pp!hEG8$$N<-;G4Q=lb_^peXFsIzqmNF(fob(@>hMne)vjg|i^A9Y7&YM0 zL@`F$Rfqopa+2}b2sQ^K+b6S}g8c&r9ji(BR zWXeQ~VaeG6T$}1>A^B5H0~UGSbYn87(ZC>XH>-2CK<>K+tx|JA2eI;b_2&uts$!I) zf$L84$=A`EqRm`-Aa$uoPShP96g>g7eHBXwOV0?*H=HCi@;DfcPn0MPs8m%$SKAA( z2kxEa0}oIRRiDFj`bhN&V+#HrWCvXL8dxc%HO77D80oLIy~d{o#K}fU!4h{v)c&8Yj>oeSsUUA zmtjuPTaN^MiaRDy_+JT+JltPjQeAK6F%DIIPS^`P5anwLg-Xv|K(rFvRxi0$j|^m5 zc?rLyrVw^aqTJ|p74oZlo7W*+SyB^7vr&5(@j4a&ys4_bt6nH;glJ10IW5W|LUW9c zW;@}H)+D|Y1FKF%dz7ybR(_BnIs$|6_kA+3{9sjmG-pJpNDNyvaeT)@z=Sak#{CNH z1YGW&h(T?1)?p{61D$o3)>YQ#E(YPK^Vf-iP7HKnpc4cC*%(L}a_vw@`nvp01*>lN zN{%5bhB^|HCX9B>@#Z>a=iZ*XRw{I?^Ee><5vovDt$p2Qv%?#}R@HW)92>7zsv!c?f0)4E=r$^D4|C7+Pw521AP}sBjVNFauzQ z!%T$9fT7YW1T0?q$+Q)5G z<8x`fKFv75px?N zow{ZI59pSmYZ%0LNQecF|NcQ8W0$F?4*7QeIx*0Rfldr`VxSWPofzoEz<&w`nEoHS zK|uz;CVf52U7i0sG0=&D|H~M_Ju2w`LFda7Q99Ey?3GuLzEG>LV zwpOO@rZ1PRMO%O@KVE-22!^tfjZi0Z9cg~3xk|~mLhy*1?@;8H(0dR{0C;i18q(|= zu4X7nvP{!Id5 zlD$bFi?cr^3cpD}Cjr@g>zjmeC?0PTD)IR@y-6VP*6d9JSz6yD5ZyycTyseJi2n6b z=e7i_xQ*K~bidRkFm814S>kNrQ}^sj;y`U=9#DRal(@`;OP>_*ssy;bnRzIgq@yjQ5@PcOo_11(CsJjg~&=4hwLk0=zb6FC*Bd^Ul3vU z>GpoO7f>Eyr?-Ao7QM53EW%E&^~qm@|FaSHYTe!p|AP_s_jEg5XQ+>`|4p~kJp+>6 zLwV9=1A59w_5=85jj;FC?c*R}ibOk69I}tr?Q>u!=^Nxvc9J1O_ARi_jIihE_FeGL zjj$KO4lfq}F5OOb*{a)VA2y)dsqPQJPSS)3w~y*}x`p*~BR=fEh8^+=1-kC^lI~CS zI-uJLC%-rB@c&ScPq#Kc(d};7|DwmCdi_oJr)wW)bUWSexBxrBV@A2%0Uyuu~lJAFTUR`wr9XL<3`BCz$DSLz3=Kv~;r(2X+$RNBI-}GhsLIkPSPfrRyuV z>UM&Eg&v>wu=8LaB^MTq%3HT$S>C9;Rm(@MD3C^vTqi7DipQ=6n}kidg>c=zV#U%G z>(=D2%EMDuLBCCQk^j6RE;8d^5jCVuyobBj^nP#TUU5-4jso`Rk%!&HeFQQs&y-*yo-F7^4JUt zk0-BCx2(z|lmkcfS-DJFM*fA;Nmp87mQ*U;Bc*7zp7x}T45=*hp?2j6?_W{)`C1Z z6l<2PLO8<}ybQ1xZ75ilFQaf)Heiydo}Ir=4E+C$0e1g?JD9Emf9voLfAs&)(00Ps ziGfZG{5vtg@Bf1VXcf4x@7C%jo9Oz#Fng5Ck)6A&V1-whu}*S$*2x%A@xz@}lHUi7 z(-1w^c=o89l$QMv0YO<z?2@!1{-qFNT%l z(4YM2FHJ(I=!V22FWE734wz>%b-J`z5^5(~XyHI#%Q<`@p0R83A44&eq=Dp^3I5~* zPZ9bu6OTB1Yw#{fi^xVDPod6n7WrCrd=*(Gi&?%>9eoz zK>^A>==_TIS9SH*HxJ#X)a@isbv%`nR8thQlPoOa%N+O=0Pmk<7o-H$425b^4>iH9 z{RR@Hm80ycxBNx>*c?XEqRAjsB)gfz2b-lfhM=ZjZ49d@vk~-!jzDhn;#*(eKVzLE zzaV%0s&#UqV}(~=h(DtEv+*_r+9sUIuN}LC45l@gd&^wRm}di@%9=Ubg?!k% zl9O({6EOFt4KhITZW3TgN)qL4I2Z8yF<2yrQHhKv-q_j<$&xOTg>abrOOWa;IG zW%7{Sd#L)5f2{Ur?bn~MAjkTX2?z1Tmc3Zh2*Fs$4ON+!+M6Qa=||%0Nxv_?$~Q4i zvQ+dfPe2sBm06NfBdkqJNlp5F$)9W3ZTcSGiAK?1W+CAL$gD-_g8?!V3LVJZ#UvpD zj}V`1G03f-b~D5l2YW+LHQ{rURgI$xDa9^zLccO%|DNC?^6r?!q zD5}$Nl9LLFRWA~O@sD&j?;~s*Nb0bU2FtacE5+*(c( zFQ+l0oEF~3t+_}{x~Fs-N((GBCx)2Du@s*(PU>UZ6Rq}UKu@#U_RhB3UYH|Vp_aU7 zIwRgD6bg8Pbdbx$?hC>#r6DkKq4?!6>Nw&n0#w!BQa z$k%wwz`C@LCW6)(xR5TLVf8?`rbltx(HYZpf8ahN-h)?89wlQE3CU%#8Yvd^SIfv7&~Hi6<;9nDXLiSsBU>l!Yz>#bY%L?4m8%N#^OkL5q{9M6+=Pzma0r77d8g%c zln**$IbML6C}0izY9y30n!K+8i`rw?qIGL9_~6k=+&t~vAi^wOtALJbDBOgqfyhW2 z6!8_to}@9_br1`D5$*T0E3D_LOF;XqC&Ok@`V;M|y@`~4X$wR0G>)nTR%Madqb>kS z7U4CS8b=ZIR$p>=yt1Seh+L93$)hYu9hc&7jxE+$chI9OnxibpP{vcD+9^z~(S<1s z)&A59O3rqr(5x0`DtB3G(z9dLVzY7=GAoAY=ey7lB$$sJ~f~R(JI(iDvKJko` z@qF9&h)o7^b}2dA0y(>tocjaj^(w2HvtJnv0dlPOIIt5$U-AA4mXN$nTRfGaS7}Va zG+~?fFUt;AK)l+oEFKve`Nom&q_PBfjVXqr zga^hTX7EZL9dRi@$$0=-z>Bg_%?uz2HpbXE_kp6Td=uiNt`!O8eelw-#aKyj2%DOSIXRy@}da z)nIQ$s2AgHG?rmYffZ)ky8!(J?1m(g>BUq4q^WZrI5iTL*YShN@l0IUYz6f8ALK+YtBA*5XV((75 z#r8mTIV1&Vo%DZVBGnH0P`dFISe9KI4-wCN9vZdUl&w9q9c*95v%^NM*I^RK$^yGDBReXHXUELnUuF0Bh0s+0S0VWYeF{Qz1LSSM zqEganNSa{}14Mm>!?Pp|&jOm_FFAZGFJO4 z3(!lcvIbbKaD@a0)^8%f%3QTJm!_My%$ze5lflKQ%hwf1xhr!3F2P%R(gzE=3W+)g zy3WXxyyO#b`P|+K(59;0Sf(!Ov`@s}=yLyx~yKh={R79ho1V#@GzTRQ@GJuYTdk}~p zFA2oi3Z|K@NmmK&;f(nfIIrNul#%J2hBu|^Y%_!Pi&j`aMU}q=Rz@Kp4_g2{7z!?R zjJ^y<1C}G0svncCWZl^h8P>EUwrHEKU>r2Ee;WAX5N*tKZZ=C()HudNW?4P{%_4*? z+V-Ym);QUYhpw^G5P!2nx>nt6RxpR3WsOKEzZvWXTI|J2k$bYjA2JHZQvA!Pl|MaLSvuwYq$ksb&U;-g`QNgHJ*hXDutZgO=fi zxe_ru!p&SO)36mqvISnE1<=E1ztZb#RWk3_7a5uENwdAXF(uJbMutbUaCQZ`Yt}(x zt--%9ooDUj`;BR`8`I?3-VkN^*Ad|?u`97ghmq|etSWSDShaTLx(x&?=p@I07Ft>M zaA+?m?=X1%TeiguvOU{7yBG3&7S|Z&&7Qi}xsp zJj$E}lOj4I+aLKx-1xVk9CMY;f0U}bai}T?i!*Zb@*N%=pgMpCTH5274kKp{#|7~gZxYa{4ZT7i4bcGyVIni$ zLR*q0*u0>Xm<8i!ckitfaqDn~lo^aI-3(186j~*nM7sFZ!aS{RjWONp9wbpF+1h7u zA}_fycL?$6&fM(XkxFGD2F%Ay^D*DwMGq;*r;`kg!RTBcvgmHmIa!%YoJ@b2Brq z=Ka9W_Mp7?Q;As^jtO&SV9x6ODZH3=Hx!+m01hO`@f@-@F?R20d;#k*2wlM>t@J|E z8`xJ#D810{FuwNE3zO+$BJzS)hGXy7;F`WVRf%_f2gtSDF)Zpa)V zi`;ydBG-dHu#)uTW@niA0STBAeo)G^eek%T1 z{7n3dsEG~Y=VDMiDgIUboA`y;D1IrP5>Jaw;@{C3JAa)R`0vHQQ0x{6+Cwqm7yF4L zWNWj*+Zk{8EtX6#6QfRio#|oP3~mjc8kMwPj-{()?7Ysu4_q1{@@HkQgQpgNr>0>d z%X#X#NS=CV2;-^PO=Zdeqr!11i&}6~N*NxH%jtk;qC;NGhC?`{}$*wiv=Qr<__SFd?UP`Baoy$D_6ep7HN%_NZe#3N+{yL}9KL!a016J44OdrLax)+SDZ|Sh$e7kS`&Xtf$qvyPyaSG1OU^ zYSz=rEK5x)Hp7+Ntmw zjBdBU<1fY}=@w)GXq@xR@+ANHgpzJGlZWkgKxbn@@!td3O0@0m;?{nE>4|qZFgjnm zk`=X3rEKHbltRH?HTETIK)}dXexmGHaX-o=u4Z!o-y+2b7T3(;<{&N#49v19bD!{U zMor3+FiF))??Xeywa}?T)~>SGZCmMnEvw%y-%Gn;Uu-LTmb^;Ifmz|4@l@l9H(p%h z4-rAHaVe}3HJ(cVMv+d=UCtTbRNbARAicUnSUIaJTC4kG?9)e7_m}OfdlQSxtGgC) zskM73b9a>;v6YQ5*85m3T(qqZ-J3)ap4wCpyY`D~@GlBWV0{Ys0N;G$yoB_mTYOGI zx?VY@eBhgiQ_Bid>O`=BG&tnb^e>hrq{F*(#FXDltkRFTslV|)uFte3%(SsHsLUYN z21_HVPlq8yMv|!g74v>3Pf@$E*x1K~+CJX|L5f*zatCoP5E^f$wG}Pc8R})e2Z)0k zw>ITgN|Z4(%O#8w+^KUibbcsXlt#*9tZ%|ZN%T!vBE|S7jFJb;)7<%#4LY{1%m(t+ z>flxy8%Q;(kb)%gn{*-|P4~tRKj}xtIYH?wvK0sRkYzw z@m<8!-85F2aEHWgt|X4;-)I&jr_*hg&8iR_=dZGmkNmgbcd(eFQEedY`4eYA;$AqM zjt%&LOS-3^(%qlGhVu`NZ+a4l-G$oH1){sL{Xi;-A+r&~DVA!G2TB}ta-CU+f38I} z|AG7>#^}T|KIg4+yzeg40=c`77L%4egkAssD4#P`wjp4I99#Mpp_ut)NBE&+=9k6% zvROPJJHn5r1;&}*6c%p=iwCqbzgy)iPzEiN-y+qtVkD-U%7~!Fb%-E#SUx?N0m$;$kW@USr)k+#jJl zm5&MCAx_k)PBDk-g4Y9YoNZne#0HWOT5r~xz$gF^7`ohz?N5KM^QhK&2Ho#~9#foa zrDKXh5uu`6n~#!}bhCc+C$Kxub8*9Jx$N=e77!d-25__5gr*i_SStf9LgkQa!1KK$ z@Ly}pr?Szpz~2y6pz}Z`O_uGxxV239>GT%f7K?cW2*b8-akrpDqellwO*GLDzPPJ{ z|0D<0>_2CcW0j-R%c@E~Ac3OnqzEw4{u-Tq3f`mFL7{ZPgw3+V3NMG+Jw7KRkyjdLCdhI z!jA6Und%re%S!=nYEl-Mz;X2n$3nAOn5o=p@lDO{6G&fJVZR`3Jt9w13(d-%D7O#? z^LNr5gP&nZeyakQ08jcjz>_vfKmBJDpu!9#e@<{d&KfFFY3yxe@-mz(tu(>8$SjXl z3#=^T0#uh}%&SOQ@+#_Cs;JkUbLiTTp!S4l)t4DI4-z(g7$GC6hpt~l(!&I#xdc5- z8U%W%U)zozfE2ej4XIw=kGA6|Bi7O7Ov)mYL^E{@<0ipq@DFDUp;WFX9+Jk0koFXp z=hC!QzxToSREPv1yXd_}zqTbmzK zMhri!r@1u~BCwe;wr1_xchN8OhB->>CS(E_NY1b}30;WS*j5G>BJ8k?!kv?i=mm?l zLD*ozJwMbFGx6;R#7~`O_NC%R%1CvQRauDcu?Y0Ckh;euE}*Emb+Rx+?N9mQ_KKQj zzL2soOoB(A$&02i%%U-oP*P+t{_rd=u*mV|0j2Pj7;XlJ>eB1a7;e@y3ty{hO87^vIUs;M3xc@qHRe9JuoPPyKh-#C^6eX49^VIkB`2qvN0*!XVB02kD&je? zmvOeuT!fwBTIOk`AR481zV;-xrj=?$qw)9_0GU{oR9kGV=r_82iN%_dR9n)d_GZ03 zEfZ@d1qZj8>H;&k2rNp5SzVN=^ua%31JTMfv)-k{XU4|Fu`h9dxjX)Yu2>{v{`gsV z{z$MH9Mqw+O=5TQcXY;S+lo6l0%M-_>`v0w-f(+yxmM65aD9F0Ky_)rCI)RCy}lXs zqeG1{%zv`AQy16{MLh!X^CuI(#s(NlVSwt4*lZM7+(Ye6QIuW^11vZi*QLqBf0G~$ zKq|G1p5*Q8bQnvzsy851KA~QLR0C?$-BeO-`W*Vyq%SZjchM0AMoD6iewr4u+j-;k zjfP-tdItGbxa{TWi`3r43Y6?6HR%fl<*rP|k^*x-hHXSor7RLP1?6}8uY@SAQ4cT;;$MCT^!4ACvzL%|Eqt$H>R{85q#@NXH>Hck7f2wP?wx2Nq^gszx`u&tV zh&?Ot&wU7>`7Ze)G3F&ynhrCi#VuX8ww1@~21mvHl)Ai^F^x9x$>I?QKyG?GffV+n)X5&Wd`r#vK?Dmq5HYF8WU5>kKKCREZjM4;Yh>TKW~O z8jHVpX&F9ysGz+RUVgBAzwfl8ykDYn$bZUFZl0Lx|7vrw7Rcp9!)OHSOWO-Qz;r51 z<#$t3+a65QkPo#%n=s^Pgt^wPDA<%wr<#sz_7)S9CkIcXpR=m{2jO6?HirJwPv7X= zG7z(n!R<(RGPFG!(`PuPy$HNGGIH`K!eKii&e{;vkw?%M~u|Epr#_g*4P z^1B4AbWQ1CN`clGcs7P?_}Qglr7R!Q_7ovFQ0-0rr6(xP4zgA^_xIOFC+<^N0Q1_r z6zLv58}jdS3_UbkyA!TJh9eY1aDe_xlgY9Xm+y+jTINaR7%=o?S(vHkhrxEK!Q78#Xb(-ni8@7z5Zd=(<5U&OR*|hEE*;$mYc^)Jfp`;YAn8E z?_p$X+uIfU6mG2qX$+=M2?p{6beM~o8x^Va+igUi-7fN}Z43rIGL?+TQ^G}+{5Xs) z&`!2?wmS_duN-2Kx0>FUs(l^(>lreZtU7LYrhsO!1m8IsUjtu6fjd}0Zvs!X z-t9jhD_^(Tp&dv2pz(K5?C6*|_^)3x!d$+-;Ss9Q%Wtv5qnt4msl*;)Uz}sqOtwT1 z3U2l%*VD~g=|=zglHxI|Z`D-fx%z6xyZrloKtC1M0|5mTFjcz)pI|z8;BvA|^q;4@ zOXo}ED-dNSys-AgHE(S)g<`?wPo{E(E!`N98TuyX7Jafm_hrLGist&?Lz}!XjE*V8iNIFj4xumz#({?Klvl1GTFBN5CLj`wopDM zW%=&P7Npc{?QQs0q-PKM0%)CNmSeNEt{Clual)DO?5`y_B{&fVr=6UoSRccQtMnMC zXY+Z+vziUWq`g2(gJe6^UW(DSga6LcuIU0AOSv{m7#8D3fIBq)04=D0iXmOUeW4G3 zY*!|2?k$d~GaT7jGiT1paAc>?o|&0BV#F=3IgZJxGp-f|__}60^jMRpX1g;}7t)%> zVMMtak$C<6C#}TF=3*R~JxiI}xcMFZi5o3Xa7 z=LkvIa!WHi7tkfKtEM1$%O@ELtrwJ9C;PL~NGd^gb{as9S-4vO@zEu-hoX7Xby{|5;~H z;e%AUX-04Wy*pIrHU-9wAzR`Z+AKr}9HuF6Um%zl(YuY2dnp@oGN7EW>Jd%ZLV-Bo>P^K4S8qH&hsWh=f!661;v-z7#ibX&3jq+Fd{LRF#noHy^A?C;bv%>M@ z!Jc%mjYsk48d4O4AuzhLe?BvXbxUy+q7T&nqHdQ^6eC^RVqT>G6w?1;@0@Az=qY79SMM zcl#~TT2EqDXdz-Q^kbl(Ny)ZIv2N`pY}=tt4L`etL&9n>Ddtg=k_~F(o57%Soz{{W ze+=2SzK_h*nHG8!v1bD)Zzd?OS*JW(*<%O|xtbduq%x5q8>Y;=&(bl4AZ>CcQ`^c3 z>P#zCgvs`{^(bDb&YYvfv7SON3Fc{y%|=h@g~QVpGzJBHfH7)MBp7FLR}E&RwmJw ziZQYeG88N^xapmdD&w5hikFaq8D@|m?P-|&^*GEh+a93RoZ@OG4~xIqVt6z;UCp+w z6{tNuhr#|Q#$WI`yf1WSHA`_JxoL+P&wUv4*IST^*kUp#9bZ3q&q-i{)@EuK=z@#M zM9nL@;q^|rm=0}os7%uF4fT3nv8x3=D`eom`U1Vpku3gLbHgaK6Z1RYfHg??y;4MR zlTqAJ>Ds;2Dy)EsqTCxrG@=xc4nf4C$S2w-vTc2f<#-bRF$rRGCcJc`6q76g^Jr4c zH8aC^vqS1y>pDrLSIi7e%m_)JD}eB%AP>chMeGxpWCs8?Nqv(}OWl0MA%`3@Bk8pK zccpn~qrW-2BnmeL0|kiNoS?LJDORPq~nq; z0*^_@91 zf|K@U4W6{MJHXY4CflA_vjXFy47TLA^r0KV6-`8z`Z0_%%OYEA%bKy3mJD14ufYRr zUtDDTqYb{7~=9Wcf$-Ej{oT29_56#6gH>&{_nu_g`E~~Gn z19?4saJz7e)P40N%?97qHw9_`TaWkkX>cf>^mK*SW`)XGT-mF_I@XmXwP@P|976}pXZspd#}Cs z+Iz2kTYK-d*SfvT{__~@o1MH5Fz=rvM0{MZjPyT|0DAzi_SQ3?3;Ur=58*J&9t?K? zNJ17QKgY1(TW@^O>RV;z1rA7bbD$J4_6+0MKEdr$s1Td?^2gCiIygrKLkz~%_+$Ui z5(+RBA>oIaBPtk8_t`)AE8cBl7^C|ZVdMCTCh<1_*3K3C(zbgwPX0fCy^;n zhWp~=U`-Dkh`ppM{p>DhuEK$I3QhC&TcNK3(Y?g*{L?6CG}UJhpf90JI?oliO25PU z_gVLF?*AN+8voeqj(DC^iLS%pcyRCBGfjUE@B0W;)C?Ks);+Sg;}nZ`M{+O!g*tOf zfDcQ6lZ!5P=MA2R+0b(3$*gD&3W|R(r%2z@JsmR6u@h5kY2xPhIYs`!OfRAu=55aW zlNKtPh)e4Q>=}9@n}?-$LCXO|yl2vR4Srkt z#4_lP?_aq-K{0|<%hU2GDra8=q1z=fQ-oK$Bc%WbI>&oj^Wg9t>@z3qdm(Ucs^{)2 z;g5~Gzoh`1|BW)N>k;R^9)8xN7Qc<@u_-nW&TxUT(FONOx`!AW zGvWR%-RUY0hA4z7xEB%m1%$RD6p-jJxC>Nh6nx-x&{i$UGFbY|q0G@90G$q%s#lwC z-2mwgX;)nFB=EVoJz%@Fr|>`HaHX37WI=()+n9Yu_H91JpIW;9XvvyZP)}@-L#@emoUst)tT5qh|P_dp!;izA`X&pZsHrMh~ z>)){64+V>B1a;L~pu$6=YWY@gSbH0UR3v4+v0k!8mh13l#_(^nHq{z_yz{B4t~RJ- z#Hhw~hgGq@5{`Nkvc~e=R9U~?kdjoZa&4kk5`(y;K%462Q&YW8PO*(zAgHd~jBjxCF~6`PE@$_hn_I#GE7KlD|stu*SkR8$-FO5c+D)PlP8m5^wt zucviGl%?i^3(5$T6WSA9o>nlye+yJ_pwG~!qt6dbLDyiGTa7G z)@@jC)FEnpb{T~`&ymS!{DgfIb3OM_2PMV{#Au!|$uQk9bCTO0`5{;Gy&`X8WzS|IIKYsIo=K*~4k>?J?U5@WV z_)f*wM7%QmhQTeAxdp2z1oAb{dINmnk;5X5$*7xz&*~PQ17FtB$Sn+3;d~?4mA*fG zo+nO3u8*gWfotvx|BSxY9h}H9>mCrt(bC8iYzj2K-*$_CL|d^0Ek?P0y&keMl#+!MFPyV3tpzO1|~Z@U6^jD+2|)Zje=ip zC&cH0FY5%fKs85-&?OzbgSyiHC9Qkkh>`QD3-aR1>CnUGUX+LC_tc_f z(69*Ze&@x=4&pZ7=dK0inG33oE7mn z54{-a*HtG$cQ{olgY_Jle8!T*>n!2li-#jIPwIPwH^;+KfS>7bmXiu?eD)t*_^+Dk zl|E>y=3a=Bb5c+b#=BFYf_YVRfQBVGFl(Sg`A^X8R5W$RTxz=!DRM0_>H4l@FF4Re z$KH%U&Br=?4E-rx{<#!}qy*6wsCD3jq^0(=$RzS1FnA84@6-t@MavP08+>s;yWg(N zwtQst0z*}u7W-Jqhu(lN2qQ!=GvUu3x&)U%l0w9QgU2Jg7+}Al#uLf&63%MWVDZ_H z6Wo2^6fU*Dh{p&?SY$SF2<7fZkk7VQ=61r=h>#$@K#lwyK*E{P^PmmnA;ditERaZC z=&(DBiRS=XDnfQ~W0J&beT}o?WvPI^)`e#vixZzqQs5hVG%}I#^Ekwg4|BkDd+N+8G{;6O? z<9oN97>?Z*=bmkv8cx1Gc=WaNxIS{nUYG2KNOsI76?#gBffmrPmmGXI`rF`pbECh8 ze?R7%_}y{*>?Ywnr*iXpJTmelD%a_a`Th%7DOmqTB$S){n3b-Uz%f|%0-duwcY9?0 zYkhJt)-@m2G5ltiVx7Zx8h-Qet6pjt$8Ruwv!u?w8YAHPe2CMQAl{$|5n$<=8p%j5t5CM9oEzV_MXRuzYys2sc*ij$K2^Sv!sJ z351`)rUwm|l0pneI@2S(KOpW`i94r1;_X$qxebqWV9<-~gy&%XO_7gfeo?X%Pa;)h z8=|Uk$Ua6k(g)hTiYz0m#RFk~WN5#YiO359iCtr0cWfV{KM(%>$?!&UbX*tXHe?`d zjKp=*zlna2_-*=E(;su{D2jpbHY{&Jy47!EhCPd+?@OJ81_D){?+JQk)KGK{Z(}DQSRI6zF*v+Bh$R^1|$GT?3!`(ClNBB}UikDv>JHca!w`{Dkqt6gHXtL!{t|D&!eCBy72LVgWM?3y>xtoCsFDQ>^N z^Z;BxQ|aZZE}!(m2Jwr&2zY=2_WG4@()s|?Um(7>7>MT&@W0Hm9i#s?`2E|?qdm_v zs^Nd~QqaeyQBBA^w@Zndvw!t6CKnUYb zAUN0$ahXf(nycvFPJa~s{XBe$yw9izqsA3Gn|OaK{#EpkqW_Tir_n!?X`g^!kC`(2 zd^#Y!;3AGmj5C~ZLgMG0p#2tNL@}leKc(ZL(M8@IU|sOJL@_G+wM-0pB5mG?S$ zCc@Rnfoau*mb)$G@L>=xIt6i+0@0?X)IBc)e>7!(6M()wFTsOr1h7enX;0Y(`NNc1 zN04Yg0cvgF&ZyL`hiFWA_OMv)(XF25XN)1><-}m&Fz*tfJogwej^|Gs-KfEuQF)H|r|a-eydgFag?Cv%N-ER+a$`E!3M( z(Nn+HcTjGe`VT|F4QuR12-|i*g+dv6>K}2EPhQwf&05~bazp^VBtq<(8SJ?W!Heys z3y~1eT1_UI2yDC{BrtG*pqMpSux=#QzNc|Hc{q~J2#}37FZVYCZCJ#teg0NPS(ljc z=*WA_SMxfdh{?bUhP85qqhGtLt^SK`s=qe$!z1Fe+nVM&EIS)P`!GvGT2 z@ZW=BW}n3fkWz|oJmUEuhzAaV*D0cerwAUe|KWI)&yikXDjx5+PNJ@mrg`BV9KQc6 z_%pm7%}ZH_a#?Qw9;CFNBQc=ACcMuNGJ%a@AH*3GSQ#iECF#Ie?Cv#Vyt$+)ZN@lr zaAX)NHREzm%L^!dq%S=9%lYDYavrg%Poewf`|SNF3P=F%A_G{s!&8HJPT=CKEpJ7B zr_!Jo76s2>S08Q`HmKBYj;BjQIxG@+a5iV>McLs0PJKQ1^5tO87mA#6=)YdQ8cIw3T?xSI~10L z!}XjAfyZR?mdIH!Mqu-WN$dnk0y{GC*b*llnQnXX>&zs%)INd|qM(f@P-5r=p*U0; zdh$U@TUu^E^LGq$L2>TL2gyORmpk&PggN=ez=DMViH$ojWjWZ9o50fG=Uxrg2vggu z_6Pd|_?ZY>1%EAm58&4czl&)YAK&BnJpi{Czx!5!-9nsQ_&trZyYRaeus8AB zkKeP1!{0ij@xlKX!X4No_{$iE-)y9xfH+PVzc1;yKK-4FFLg#8M!Z_2?L?YpeDm=e z2AG#$9rpqKJq7p)xThkWf$&WHa2m85opUc4v4{m%sg1|c1{FDejOiGc;rjdnvT}sm zQ!NFZFL4*^xW9i2hZKlA1%APaKC+h#SY)ikyIjYc{415Zua4IbU*WzW9(`eBrhTpi zR&z$pr3o(|@D*Z=&C(zZfp63b5CM zxh=H|;AN+D2QFqHY1=3=s3_SJ15 z6i*NojI5VEg0SDlVPwJVRKlKDFdJtE$cOC=e8Bxv`pJw%9u)t*FU4Ye{iJ75{2!qI z?VUisDgM{#zl#11^!v$t*%g07VOL1_&G^5UOqd)Vl-i5wCleN#D&gN^dNN^=Eb&jo ze*L9_2q~u`RU^ z(oY7DYDh^_`ro8~p7sERcgmDx{V7Fc^J9+-1jnzT8WOj&N4m0S@0+-T0tw)#BJ6}g}}_eyJ60d6&$&t2U( zr1@NKQ~z*sv*+OJ;n{`9clR&A^V9$IJb`Bg`aOeO7zs+Yg5WrN;@J{#g>AT?B@>E! zt@(UV)Sq|hRQ{ekzbz>{__97!Ctpf7pat(ZvEclbHJfpDW9E$9Cii~uM22FKjO6$5 zA^-wQ^ zoRnoNx0_$Vss%=MBpybz96}ntv~3(N3zB}Tya0;b@o;nj9*)j)g%&2~EiCc0d4pWcQ|$k*v)!jLNn1u*g$ zN^%^bHuhSJYjUF6%3k}K2)i9c8?dU-Pay8lU*I00+tLfT}4z4R+5{`blEkSO0ljln(>5*Vz*~{|zapF?~?lFlFf1$akDT6Uxe{ z%0Yp;23PYe!-P_Dckm($Gy)a&Qy*Askhkd&Na*l!A>d)8M1r$^kG(dRwrHuQr)T{xg?*kN7gCMCE7aIPubVtnL z1N@DQ?fs){b%odPKSW4BK)$S-$*0EPJU55t|7YDyN)}A1X9}}q|3pKRh}4Ddml)8< zBvGlVN#KsQCJogBc+}Y>5K-GC5w+$faetNarvJ=|DT%Rz+?x8ILG4TJZ=c3gJ@p`X zMmRS1E44oW{{?_OJ%S!kYCi!mlr8#yDY5s!S89J);PgyS>l3Ke+(2yBmM8qrlAP@b zgK>|SlEcr4INW*eN1x{w%rI~Czkn#^_84H%JJND{vE*BBZ)CntJ%otm_H@bAE18zt zSHV|qZ%)XR@-i?1BD>&+RZI0$WTdFYXVVT99gRl6dkb6tNqFfc-8Q_>1~QQ#o1^uR zDotTM)rdJ-N_*-N>jqzKT&~CTa;MX7`I*ycl^(H4RiM&fa96?N$7Q5GE_%csw>SN& ztFKij@oU7-8w0xC6-lX1Onl|bi5$=9hzj0!PI z=5*5|rqpmOC=1Sm60yg>)I~+oJ-8$}w4x+qxe6o;)y4&DM}E1<~Z7AW#)pMCcr zl#vg3=VIl}=dFp9$_3=Lr!k%*mrs1{?>ji?T4uxou7FJE9cES17H;RIcZ$W;kS(qatKE zzDu(1@Ds|5KYe)e@95_;aT8|007DBtdq@=j#h;7<_^A*_e0RY|O{YpvOsPg>|I06R zPcgw)%PAp3O3NvOPapeB^m5>V43X0Jidq1N$6rRkD9{CKL5ifnWgW<@6l=(Q+l<8V zA}b93ES5svp$=?MIn1pT{-l6ua2z|j64J}~lk|_nfvz8zDe=s{(gIos!(g6E2JbIJ zj$odH;?0S1lZIUp?RP-%57RHx6{BoB23D*U;*} zk)CawyCl}rf6@U@VPOom35@qdL^wDj7D*Ga;_hz+)DPI=N5z4}Ra^vd0ZF?M~t ztutNC(=Roz1c$~_UxrefqXDr}q`&R%Rk#pr{=L&t*Ih{kk;(W{zeQ3ZHh|Q+q@E42 zPeY!PMDA)C>^OdeJk*W@N1*<~Y7DD>$TcW29l=RSi}TImOozYgAF~Gep?7TXtudQ6Wp=tv}>9h)F zYtx#_IxlPi)0SHuRUJ6D4BNJ?j;qF83t2t0QmJv)>y;O?p;FlB^1qGxM19m$g=er6 z8dLp$Az+q2brXlmDW82aiqj=k30)h-f7*4N9~*ocq#O`s$^i@j46;E`@zc*g04eS7 zzabOPh*JBmgY4-e^;{JkH3KePy?1cp?yIX=Te;4vs}#*c&io3!LlpC*92(xbKx%e2 z+AIph)G__O&;Km*cwt<8t}1OSKDAN}QWogr4-wNT-Tg0gl`d12u8%6+C@upZpz!}i z`HHtyuC+ivh(D@wqKM7~P#mV|I*!YXd!v_=gMY1ePnVh){J%ERslJ8`Keg(M} zRA>b9z3HFj8((e4k6)tt=q4B^sN3#EYg5_PRzLOWLsQ3Q+^LN%Tv}YPke#`H!@5d# z=!(tTy^k~<0Vs*uu%4+!4=$=yn>WFUjou?l_<6xcbT93Q555aCC z-^`W-@85wD5}GbTX^0-a1y|p5)5ShVa~@~%JUoLh3byj1YhK_0KStAkV)K9R+lbzr zH`ba19e`V{d?+CFThnnMKN!a%ikTR_j5FUuZ1|UPHiVu4z8;4{k!N{wWCW+R=R-0I z4ydAQBdT1WT4PNCsyZthy(U8t90Ysu{{V4=C-Qyv zH%>{0m>{nKqD(>bCj>@rXAO*CV{%CDE`y>9DYOMUB@-dR0(W4$tC#s+Xja|@v0N~VEaNq1`Ip7XRkf;t9fzKUfSx{AIDkLS=<9<})F4%7uJ z?8BnX2qJJwp^+}*BxdlP-l&&R9-iyQyuJ_jG>YGJ$6F-1h-aI5d7hRLz>Jd$Ps;$w zuLHBBVdey8a^f^ByayH@%Nipq%0y`e-Y|NkHp`gV*O(b5TP$v9f?JAmzKBhICi!t3 zLEU`{i;wn{+B4rHMX}_VeZX?3HNF+Nn6B}xC!Y7%7=eo^)(AB%!iNQs(>DJibyBB= zx@4Y~9{^Ztk2?igw3XW>Sm%Or5sj%$T|XPv5GmxHKyL3sYV32?5()G!wKWdd?H(4o zzZ#|9RgwwqOKnY`>|tJ^c_qOxdnptJ2k#e0n6ZNCT_H|*NQGcG9Zw_}sRtR5^vFS0 z32(T_|I*c*cZH|rM*vbyNXuwAKziz1_2Lm>UYglQ)YqQDVg)7^H1gbi4z-Vsd*(Jw z;ore;2Cl-E<5!E{NBG?g8HP6j?}R%QzcTpIYgC(M3CsD2dPXYSodw8IfU9w;C*#1= zN)2i;;kY9nI1|!eAyIEmNT2ScAEnY0Y0FzEV&I~SIwB-rPis3MYIIONPu?^$73R#) zY5vCh_fL^S#KT5a@gZXnPk1lDks1=q0kzx-P%MLpBeifk@Yc2P_?v;npO3Io`X=EUYZ-B&>0uEYozWx%%XJ3uDNHKBbWLgiL`KmRZjS+7gK zc^3UfZ16aFw)91;2zHV9b6~BvB0;>a0|MJzNzmP}E!nB^C#d#ig6?5Sd-?s`msSPoV_{=b__g0uV)Yx3<1?KpAPp$FvTXp|@ z7(T6UOG3j8{hAZn1RqWdMa@`!Ige_?IE_}Dv9(OeU2i!~e&c3gX3UsjtelBw5R{LZ zZd`x;^~QwCEIb;)np=C7cf#7Mw`J9A+Jx5|@R(VQrbBL?nl&>Lb%T2;}xqVZ04q&;;A4@Lf+LV;!rEv7U}& zDux$)tx7VDVZVrnWho3QY#T;8np;0CY-jN!1=Z2vZld-^IlKO8DtYU zKg+y2@-_zm+@`06W4)<=;C!X0<@>}VTXBYMGZ#jFF7f=&#p^Nt1dHy9rkxr!0S)lru*Ul`U8f} z|EUxi_VdHoX3a<%E)Mzp1CiXGOX?=zR|SyX-4QPUkIjcWnPnj})l)tMhptA%4TQ-# z0*6Hre1hTHm)T@q`rA>tDe8*V*ikbROVL-w?bT)Yms3aZ{`jJG=G2VcQ%8W*8|r%rC%4Z=3}O-aGy z3v!Rtbp(#|ioQ<5DK*AwKfT%o#peBD^==!NRIZU}24r&T3d;(p-2p+{)(psSp{ct29w|0^cxi<4LE zT(I@S-eolYb56%Lv-_SYzIQ?1*o$J)z?IW7+3YR=<13B_;o#MTcqaW+tq;Sn1*Trf zGGJ~m66@aTa8_wp-UtH%|B))=0-2g=%E~cLF_Z)AjC0ZjQ&PMjw4h@9%nzNmsl-<9 zmSact{vRep@P?ne9nvI8Wd-au4gWVzkQRqsVo=o~5Z_Ci?di|AeD8K;jx6~D#h!{)-M z@9;ME(y(<2u-+QxOMoS7*o*{NiiS-{fc4R^K?$%_4ddN|lP?S&OIc21AUUu!4Lgwl zOV_ZM5@665E@_`kfB_(|hZ0~skzjpyCBXV=n3({B#Sn>iYXS_Cbpk6%fZ?P_VAB#{ z12k-00&Jj$WhTIAaf4;K@Q<$g4%RR`0X9U#-b{cE)v&_}uwfeZcmiy=hCPq~gZ@y- zwN#Y0&yXETgPj?tMP$;QrQ zk68$=b}WQkn=#@J4v={WJSyjozK9DW7xwqDNji3P{^t71I`b=WoLm4L*C{Ewv-vXF zz;;HMP^<-p|83%4(+xKd@qPA0WO3~196WISO1uGu!9R5;(qGywy;HVHShR5qyrFWd z!hpKr9zazt)h;B08U8Iy|3Ux6x_ymxLkZ5{OMaTGL;u8^9{bXRm~*r?QlVLU%5l;R zeH76T`JC1=C1S2ZGc)4<_*0+raBbsUfo(%&B@ z=D-12WVpU}-E#iVn>3KF6@+PKB`90iQaiw^ zgC9wT(JW6Zuf{_X0$sxwRHOgnRStI?wuPuTzIR>}_4*_c>6S<5beW^KPQjjKIZY1g~;}$M*>KS34nn z5wgr4f5PFa&;J^k)j6Smfsc2}v82ZS{%sEQ4+3@h?{ENZ07&8f@to|J_M8&xCaU|F zfhG0~{$JGnqt<2$8;J8dw*JnxoCg37|D=0Ou{-!8MUFB>#ONGii@6^>NqG_KtlEO- z!b`^FzGe=^htcq8CC^OXJ#5z{`GvW!S*P33olVwBZEpal19D&L6{ zMK^_a1Fq&Q(^y&Hy!u&OfkXeTh@}>c9`TSr*HOu?Ydt?u2>R|pn82w{-pWvO`8@zS z@Me-T&0mk=M`v}#O*Z@cn_1O?7?f<3!{$f_kINkE{~^Q9x^$S8>3^7jk5Nr@*sDPg zHisk-x%&cS_f>S+g!^=dE-TqvFqcl8I1w}Hvbq{{9pfr5HGZt)o=(k|c!4YPCGN{O z_lX?xpZ*1hS*=t##%gihnK_M1zv!K}hdZT2-_P4>rK^|-HtgS@mHCo0>=OX!$uc0i z%?y+0X)@Zs0j3OMfMIjOP6yQ7&Wti?uA+}&H~sq4yX5taJL?}x4g^O^r`C=CW zD`ReGgv5oqTI-!Qd5dn?vk@b$&C|*S*#7`<>c`sl(KgP7!&zJhbQ&Nv9jb@y_DKNr zj5tWmh&td!3BVb>(A!+dT|}Fl3{ZXqdksaifmp1$J{&f){NGE+JAmXQgp+YS{0I9; zvt_D@R_AjQBWm}(&m>N_tzRf@hv9uxmL}8TV#PqoI0&5fIg?D9eFl9xx)=*3&QhNA z`P)OF>9!6xrqf4WO9F7^ADpJ_53#0`@CU>2?U*y6RJhhr<|FW~tS(uXyb) zK0x`=ZB?IbM)fdT3vL+R?uC~t&@Sk*d7dUyUf?{|dT`#LuEo9JB_S^Aow&HK2h<^wEbiyKE$;Jr1pCWD6B(cr5wgslcidUr zN5kK>xM#xm<;DHnQ7J;#;vNA&uzA_y4oOjNH~C@3Y=-_P1n5}n9_za4tm}0kJLYo# zefRR9*JTg;B_zRyT}_K}j{LP74?bR0y@K{Y^roQ(iZOvQ?g&`Mwp+YaUn!2L>_el6*S11!_ zSi90=Mp5p&P5YzMiL-I4N}iAwhC{zHE%McAUlojK`@DIstr@7jg`m!~VQwqA%W z-m0_t!}1MtkiV7`c>PI-0x75sCCJqY*c?n9UdY(2)07Z8lRuKi^|W3J+U}hB5=h*P zbd6(iW7Vw*mOj{{33LR@+n(a2@-wN;x3qhiSgqsNL2Gzz;9R<=NH%sysZd*TA6)UNzBIsRA3TEE=wgk2nDeS5yp=fC9>*n_8XPHLV%(_zUw^JS zZypaB-j&<0-n@F27tXGEor}558k-Mc&bjJadJcIAJ^{ah177>z!9)d*YNqyfB+otJ z*aVz_JkM`7#{|wVHZM7Q)VPIrE`jsg!Tz6L;n*hS*o@zWF>i>M;iv?4;*(oB*m?>Q z%P1wnAV1axen^1{hg_60k(qK$J_x0(XQqg$OwoUda6HF?l5njl+y#RM86+tyPdYUt zM>1WUm$t#J1e8cC+D^SZ%mT1%UPh5ZEse+GeAkcZ5rhXMx!~A@ri|~~*h?Y33=uGO z;7Pq<_2O)VWBl>;E63Nb217o+9{k*_mb15ec2lBYoreq@XIo%RRQ zf{}&1b>0^O~mc8t|eA8ywPRn^0dioPv*yEUx`mFqXcYj zY|#as90iZ?K3mccwytARPs>liWgx-1A4~Gj`El8&@j*g`fy@xg{#N8J#6{j-bEwum z@e)oHq_8YanpI5#nwK`Y@HNczXfD3J%uAy=oSjt@Jc0^DA#LaQi89)+%U_<%p5xL* z2928cmx8holGz8s>?f5Yb65VsG#^?UsA(+m(e3|{+^W+=8M|m8m@RsJf8Y-x%s&^P{HF&~x zz~niI6~ca=$wdhy$WesA9e;|HArybQouMS!-Ur@4UX0nQoCZu|y6iiV9<68cV?Ol)UJlmAqlND)kzo>rPlrhX@bN zS;j?!pg-SpZ!5gKWWIL?94I(c)ef45<|?&E$8qSSXro9uQ#)GjWzL{25Iq@0-Unj* z0Qk#2yDz?<~F zYV-!6*J)hMGhCck7P(_d(Oke$1(wbU1{o=O9ZPaFl6TPn;6QGZ=iVV8ak$bk=+QNQ z3eTk}61aYh=NnG|Z_Y_&$qj~7SHuaC*Qa6BZuhk5_hdeaD5l$?0QS~KeqJ9a+WvVT`xSJq;^7yz!KlPwZL#5E0dUneWv2I>c+9ftf!!)+c&}Q^!82-LzPr zFISDlz4r#GSArdbou}Dxg`IQZ6x#!~yYIFQn;joBE! zu{kK_4`bKK=6vaX^nMX8S{{?c0g(lS()iNYGrX>}n=ziWv*KAbZXj9C9CnvYXr4Z3 zm=bjlrD7$~5HmH{);4=$vq53CsC@;NP;Qj0kV0-)sX~hA4S`vWO;t3aRQFKj7}UrZyB_QAI~8pkU~cMjcIE5InEQ0?=NSE-V<3_7N z;r0}wj-NcaVK-){_QG2*Rj(q4!dpmesSe$Lb*toTimQXVA zc=b$v@Wq|4kjaT#Q5O1?+BnJtqEh=%KInjfMgKzKr zfOpElqiJvK{I$V#?@B}-`6^htOYNmP@}*xH8H=KG4(9T@442F6b-9e2jTwtet|v87 zPxR`XFK`Yd0wu6{N;b^;zLYLHfSSNX6PnMSkD_CNwcp2b8a$e}dXP04^UFkNS!qii z0@*MG>s|p+^K|q(upRe+1nO|`E@?j4N|j><&9fYU2ROmAj0P^nw~U$?=UapekIX~L zfWx<}LA;x}7;|gu|Mo*zqj~qI7>>p070i6bkTFdIRUq|XJKTs4%TT80{QttlpMwZW z3G+ox?!Te;{9p^_OsqU+gEibxn2y2qz{lf(z!Gi44rT{Br2WSZp(EMZ2ncO}#hLS9J>}lV;oEfrrQVf1WDd-KHH`r4XAbc{!qVMHv}zIiJRg`DgcrNx zI2Oz?rFH|POT@l`|9gynIihQg(uk}Q>NbhYMn2d(biFg?dAx&aDCJEDP<_A8&H_%P z2E_Wr5uIT_QSqrE#4r=%|9#I_#9yhjEqkj(Y+UZ7_>MNo9=HjMeUk9`oF;KMXQtYt zfg+mjHy%YD&cW?;Sv6)b;^(7c&aCRPKm8t}_cc`fR}$jSFBMhKVCZLgl@r2vBKU6B z)Ie;XCl`V$Iw>N{RB@qu8AzLOh3#n-9ub1VEqMro5*Sa*WH?Ig zc}>z-+zr8&Y!thpnWz7R1|2-J#Kx!J%y|)fQfJf zv&AqkSMs8sgLl(E*JocHuQA5Aj%B?a%OGv{@Lzj!t3%z`Gel=|oCk$Ckq_8eXO=+n z(Aos6i-?}oxKWY?4qx2cBe`k`X$BrsD(UU2pbxKaDW|R4S6Yybr7Z(RP(q9AS{_Hx?L0O@z@$h3JrHm!8X$7yT?zcB^~3ogcDQ!+eRA^9C0h#| zdc4}pQKXGYJpSc=8oD!BS6n7cSio*4<4^MkYVp%LO0W;c(V69rcXAquLJwcmiNleV z+*RXV|AKwV3U*?McPd@Go|b!n9qR|)A{KYzWE>}Jb5#_deHVyL*)13NKfl5Y&0K7+ zMV-)Sk;%$Lmpsqz!^x;Pp2;)IyJcctNxcdQIsB&z$NQv&9F)ZT^Dx{9OUs|4VS~^q zAxC7#jzR!;wG!3EM1eohYUkkPfsa?yE=Fx;Sp8^R48y%@XkCS>Rj*6ICquvH&`YeP*r(QCcmeQ;48&E>Reshth zCl{NnI*9+9Syb!fgN2)hhcKHiwzu$8V%P9P(#`;2n(Sl4g0=D(Ps* zO?I1K@fw4pYR8a0{D#~z)L~r}9^C9N@0x7UeSd-j9w6T-!~7zep>cr!t-HKnyr-3aF|KVTi~|((uJ4gg_+zX=HY_H z$^d9p_luT4$zJDI@$J-g@)ZBdyamY$0p$7%v4IiNXS1@94>gBvO7^Fmh_}rkk%U3Fo z3{Iml)I5YYh^2NI2xJ$OS;<`^a~VG#w+whQXL>g%sWP=%BO=maEUb3PgIVwhGdU+r zYtGBC((L7!p=pmx=7A*p8bn7w#o~D}$@KUy{~_ApnFqlkq#-~a&b%DIi-+lp=@gWq z2pjVVoX!OMyL+{J*Xj#WIp>?^ez_NR)3g@Ar)g4vAqV&+59t(xvGgn!2wHB+wcz~xvKT7=75#INv6kmu0yOc)9E z9Ga8P{08-g%awcF6aG3%5H3{N&r#W<%(SNFX<3eOz;aaeW-2L5xZE9HhcK40;Q4r=9p4|uWtWQu0pg=FWKA0EkgKiXROooB=ayxA& znh8D52wEMIS<)QnC_=)LKJMTvSK?iF_sr%mAaZ7=NHK)r$(J|;nWhNx=TL?WonvNY z6$(`qTzw|*c9+$MWmw_LyWMS#5vMyZgAAIP2IGdAFkaW_Li96LNh>me-TdYt>k>v= z_02(^L$hy~!3b$8!m1l)6b8 z&U2_Rvw4Thoo0EfLWR)M^kNnC2qjkq4yRU)?~GMty;v1IUKQv}wcHd$v#Hb`{T3F- zsYb5`O{8bl9&?Uxj!XEOmz$qi1!58qm4M=*~5!Tj%OT-=oP{%I~AcAr%D@!n1p`i$&3UIsmH5!jQQ$ zIf(vMpUkl{DL6Xb8`h%r(2+5ER(IyDa9O>Bx3h!gt#DgIRTt=J=o7r%jadOPFH~i* zBQOHGfOU!P1RV{jLG%r10#3;T3m=yu*E_7qpUkZ~f#JS`SzWq)f7sCEab zriir-k6>lEO5D6{P~gRLCBBTkvbYly1WJ~Bw4pa>$$@I+fYfy$sr{Pt6-vvjlsf@x z<9-IyAX*i$xi~hBP=H0|ssbcH#lq$ochEY6P7gc2;i;p8)@d34P-Hp>rUu6&Ksv`} z2aUAZe*g#UC5Bd?&Rc!PI@yH>Yg))Uy?b=XIG1}+T{p;Se8J#hm~MAlm+H~DV>qCv*$5iYpoV8qhUX46$>q+t+%Zx`MO!$a1~pWJ zPV@Xmn&(k;fUMOQc;4x0y$2JvZZ2i~5cR@*zw>l69NKVhzB@cm6mrw1tB1C1+Sw;LdbZ@rQ^}YX2Cb zMv;dkvgc4aCfFjE=g`7*aOznvV;Q*TZqzqi)|W$&)@GfF`(<-jsNuqH53Zt%FTlL2 zn$Po!FIaY*H_6Sb<2V9mQU}h2d`W0wdR5W_Xx+&($(aaWA~2}-5zRY_v1qRfEk?wJ z>7jnXzOp7nI#3J_X_hgZ42$$nk)JE>lrGt+&WcX5sHJY~2LeY}SQ_fvosMGe@)U{z z&-jcG!DC>qd3^DStwZ!Gl385V63NMTZChU`18DDwaco-wAj2-BR0i2jBGc!hhWp^?@?l z9V~}y=ggPE+x{IHHZJh4daGd!PBH+nQa4;RXho{#}-NSDXtSZ0l z1MsJ4MWfl{1XA1(?L-sE;ig{zt`TRK`4>u-L zIg00C>fAslb<%zdVLQ%g8SvLY4pLUK z`mnE6Q)g!DT?j30Wv{QUSyNG+Ew;(%R}PWE%od5!3aH7TX|6SR%()fD%d%-Ttzs<{ zA{c96J#2HfQj#F<%^*#7O_fU64I&oIV99G;wpo)++h$6vJ{y=JA_G+oYb)w2vz0lr zY*^|7_CyGbZaI*xH7r9#?FO@=dcz$s*v5ncOh_hvoybqsDpI6uk@ZCR34rmk%F4~z z^@5`tNZWs_#^G2tp0c7;>*^}D8fygrdu;VEv6d|rT3b`QT^HIAOLS5YSe`Shw`D`I zMb(CF#yXf|Gb^*#z`EOQlBzxql2-?gFR>wX8fgpd-dwp24HqYUB9xVNu%N$I)@5%6 zp=-9rGeSwWY^bs7znnfEl88g421bx*!x|JF*wC;6K3S>Bp#wlVc zr?xn!bt{SmJ?L1>=E%yHkpck^ZE#L-D;cFv@pfG@?E+%v|Mo`9)60oU{d zT-y_HT~ENYo`BpQfS$#e+_U79dzO6imy+}>`Q)A@pWL(LlY5qYa?g@a?pgB5Jxks* z*C{G0$vg zp;11ak+C7W-d_nLnHx4^-rmHqUY)HjO#oU~xh-J^QRfw^oZ4MqOY@eFNA5Vp=4L`o z)eNNUVTv0oe|`3L&f2CQCMOlFCOdH^qJC6On|edd0eX4cgn7?d0XAVTs%xB$X?Zg& zP<8=eU6QTkPI+@;X!EkCeJ0-&L{vcu9qNJv3S+y!>I|~WOg%q`QPNzU8A(f>Y_COB{rdafy zJ_sMQJtcT)uCy}yEBYB$Q3?7|Ru(LV;(3HBm$-C|m4Vc3p|-SqA^EEzP^)Yej z-fe={!VF;OuS7sx1=Y-ywORN^G8oooXzZ%1$IyqBS&Op(K&-7pB&&8EUh!z&&e($Y zt*TLg5M8{gu4a=nu4sl=NB18OIP^HjDpgF@?v9IQE74cl0_>DjKY$FqJ_rN z;@QUBrNzaIjTJz!WEsFW7BgM(;<5sxXhp$d2Cu-sf)z#yW0$DtB|3hIBq(uGlt>b& zOe-rkoe`@dfpYD!y&74lI=X*a9Bk?EfOnCB9K0jMwVAPr`>8?K&9L|FKa+0INXiZ zW8U=A(C}D1R4S}lZ`JEy-8WY2GmJM;7H-oT-0iI;INO64!btPtE-EKfuo-bz8C={U zwzvA?uxWAERL7Na3gXxN3q8XWd6vr)z8WV);Tul{@1F!n_#2z3pW(`wd{~7kqcba9d9Qh{D&xuX_rA}#&6OkxaWIN#P zt!&PO{A16swd`@5jN+H6Pd&R?XB!8bora{PZv_%mG9__j6IOb!Bwvq zoRawLZj!za|4Uc6(i+#T?)i9E4Yaj? zB7^8fQ-7(cvIdG$wDSo#d4#ULvp4W~jl?Lr)n{LSAJp0vEk|L!fdlNrc)}Wdn8T#K zRlL9&I3RNTG)V(?? z<)AmRC~8)^)z3Pj0d$?L!m}wfR6{)GwXtVdKf4q|Q%-F{gK6+4&9@4tD~oGUWHBD| zy++Pilh?2;nXrzhW0kJLt6Ytt|5ssf$1&Ut3{nP}Va(Bi12VywgK>@fG4!+fDeG%b zL#!x7^aBS}w6DdUVFy52rY~T6p7cN;x&1U#6fi{}ra*HkY(u35`aq0c#Z5)rU5Fdr z=LH(Mh$*OBKi%Lz@A!4M?wt--tSj}IBN(5zg02H)EGevCJFi#qXu z0~Jy)YakMg*V6c(+nA33n1Am=V%SwzJqN_Kw3I89aW?Qi1cKVsrkl%u*;X0<4TSii zxd10@a}I%~5WWJ6aPlw0X3=o~2O|`3Z*Rc~o4pYgN7*4|7Chs5qTT0TM`)QqUG|&5 zC#9kfd!9I(H|kbY#M8jj~vM-Rg&2=0SYVHh_D@q|dQLBjfA5waG-4xLnH5FTa3aGmkRArjW9 zR%}O~;F;(^gh4-Z@XXm0xc*Xhb#Zk+x#)zRl)#KG&+mqMku@x3ug4j>axlDfrcMzn5# zS0zaTj(2(hWah&q!=iN{eH(8T{PwRv-A7(1HZf zwjv+&N|h15doV5LHoq9#ReD2P(NavprNi`%=E{YY+vS>nO^vmgcI7x$wX92Kx&0It zIyH1Abm?D*r~qCguR~)5kA}oZSWxt$Mt;gh4P5kEOVy=XeljlY2{Q}uJ{$9%(KxO3 z5j#Hp4rAf*UVQh>sdkQw!$+G3Rw*1&aW4X^{S=JSof@B8KN1tEw0~Z^tVa@?Or!q6W95RAn7NX-&_sguI-2&6>U6?yC4&8_~ z{ymb6*HIT6%=Ey;EIhHfxVmSGa{KRtg*Xl(E+r7-%W$JS)@Yf6W0=Ln!EqJJa3Lfp z;fd`5eUM{t?V$9w`TMn_CtkOWQk2ddoO9Ue1*H{RaBKo4YO4*-H(mD)@?Jn2al7$C zTo+9VbkX!O^F<@gbfvJ2OT2&3F=X=kR;(Ugx?YA0k8W;2A*rGSddxCHH(m&e4I>K2 zif);w5rcQ)`YuG>BP^=HCITAFwceb1FSh9Q=0tBvC3e5m_`J1Zdskn@bTG>PF;+;- z@q_$7VAhLXRA!Kbz$pg4?F!WaP;Cn*?3 zViqaGtkpaj*zU!}1eH3kEHx{jbxHQGdi*G9cW^iU+*eSP7m*3BPp$?B=cE7U@OO#S zLzES*N2z)x@yF(Agz3=y7(zOp-xbeH=Iei&>3ljJ>L+(m`0mV*#T-T89ok^7@6y0r@pVlEkB*0q@?Xbu@N%~Y!N42c zp@z)hXArJ82LwBpfN*`4zy!tZKcU21g31++FG;_04sZF?af%n!8jl%RwTal;ghtR; zQJcF=ePe#?XbBavj$e26_;uc*nrg>|s~Ye4*;kLB?VT`w-T3iYUS8fno#~`)Oe)0a>Gh64MPOH?G2v0k_ow z>$X~|9&tgioMSmBC4ZVy&ppvt9=b*(%NyOWtDXl{SI_|sqc$cuK0Mc&2B$ST__AI- z_JdW4WgYLG!c`>fcF9}Vfb-Hesi2?;SNp))^c1ZJYGpi5zIr)?2t;kVykVak5_>y& zi(CyeLUWmaZ{+`fmmi+QA5!Gx^BZ3#ka->^;}*}JeWkm|L%O};0(ej`6>)h7N*f3M zp46B&-}8&I;qLj{X|G@e`ob?}4|neZWY_HB84%1X1E;QAfY;lC8^m`OH7@gbUyx4p zm)R?Sjk)_|1K$kuo*!?dv`o88>|6kqZW$S)n6n_i#e5fVj>0P1nbhbJ6PuEww)?#b zlqX-6wlOI>61vLJsV=)H{0!QNfqVEb>$uOp2N`fcqW&1pJqnp_SDwcq!6B4O8amb9 zgu?S7S7TpcbR%~mNa<6L-l6COCKGW)7qx0jAH`X~Vq}8FxRQLLz5JvW)M7v)%YgzR zc=hjD(oFI}cG?VKJseE1G>D-%FSF_U<%qayCi>au92h69fNEdKJTRVG>Mx=tUin?T zCA#dFXdR#p-5Vs`-VPb1$RZF<*L9}{b!~5rHG1^UA(GBzKsFNW;$n|JAzPTZ7VuMy z17>eY@Pw{h@PsoQa@%%H3!ce3fo5xRN%ZIhBlua?Tftw`EbZ>;WNu3BYv0Bfjc5M_ z6_98+dvS7J2hrp@r0S<>c0*w|ZG)6aaFqJ4n{6r~7*JNUWi*b=03gvR@j zDTwHxcWCVS29FCc$DkO0&4W^)h6@RmCDoz5;2-E!iO@LZeQ(Ao?}$gRkI9ZBRW%$LyAW&hlth<>A7z-48qt;$5iCyNPunn1-WnR zz=V0cDp-)d3SwZeMQRUOpm!s$){lzl_g*~r{+wyPVn_jZsrJ;X$TK^3*z=G`` z1Y)br!A+@wSe7{?3Qc+q*3g4@vTcSPT**&=@Zn`v{L#wu1ec<8 z_g~A>erf!npOICG4$x`UJc{yUx^vsDq@vt5D`}xruM7w_CP@w~{?b^j+a7c|`V))| z9k!rju4yl}+rw26^!t_@A^r%dZHmJx{A%7-aT2nM53PQZ)pk|Z=pRt-*UoaE@fBFn z{i5uti1QP~ffp>q6;V-QX451$YKyRM>ae3bK90_k*)DcmD1k7GxZlb;5`0Zr`^OOW zlUjS?W&YzAs%IT;`gr4Im|qql6New}Av2j~Pw2qpQRlS1&keEsbi;BKk`^YD4NHSW zHo@kn!Q*(0j)OQVRbxPd%J(<9$4c z*_)WV-V*Ho9CHx144ii%oqEq>a7BJZf6mFAV{xLuh;Q!8jq~FSAlO*QOrsm-%CHbx zUCFt3czn6r&-vO}@xmjA6%~Z$kO=^yrla;m3{G$^Gvd*MM_P}Wo{ecY*sYi6#B04N5$Tq3Og>BM8>(7`Y{m;II{mLU%az>Dj`6B5Cd&X;B zL`MG=w#JWqG>Oza4ze=2uHa1RiC|ii%eo59F}~4>Pa1*0f&U| zR^c0)!g3diSBFTH^GmibMh)(jqR1gE7eIVNq)bKcyMf{I#`)8nlLwnI=f$QzqA}Qa zE0nE=p*##-=`e9OsBmtO_TVwM7bd6)G@DEx&KQaVjmP6LF(ONH3lC zIW}(atv5cvtxPl<=hF#s&mJGEVh`53hvQffQn(6d*(vtFuEo8?7x*V((c!9GF3-Ja z(wKh;s9_(*0Wc2R_VKbsKUX1*{jKjH@D{|Aq)^wdBtF?vA|HT;QEkx-q@W`o$v(t1 z(PtbgT0;r7?|1|~hK~MS*d%S>wCw$bYvIC+w*h=DdLcwtK|1Bi)7pwVGx%)F2sPkI z!iC)>*SmKu>TGW4Txs6eG!WkjW;Xt3nagBn0A(@_op+j7G`aCzZ7z*WBL(4ZFt1k% zh1-fdvf7JJ14?W1xb-XUXmI=!m4CJ4AFccoxIsp|JE<=d-<1d_T44}ixH`#7C!4T& zBBl|=&wLIidD@eWrZZ|CuHEVbE06=a)*NTEFuk}FJj3+j4loVCX;^AK{}GY8k(sP> zeHGrAbz0EInTd8VMCiGinYagY!K4HnzspXyP*ICYVe>tpiCnR@s*0a_2md@xR7P_0i`BHGvRI!_npyX(oWGM z-xaD&7Wz@$mOTX}1ijQe1xb2yS;7&xl?;kyI&|!!*M&H}gf^ezuGN|7sOXvak&}q3WMaRJdV=pa8RN?EB4@}j)aJ3f;6HlQGH~sg^aOl`qltGVU+#rZ4 z_S+!pg8Go|2>r4^C0Y5KEjTby!%Q3_dL zd~31v3u~zN0o_>ymtFH`^ys;m$~%1aS!`+0=SaqDx-FoW;^J2`2P%UbJA&ZxbX!tJ z=YqZY6|#pbl^hmMJ8N;SFXx{G4MkppF3tgLYGCCAp0F2obTv26rg$*xq-YXpSZ+jn&l6^}ex1`Req&(di8JvGb zKn1R~LWfUr6{qPi8!y0WU&3(E#k!37s&cucAh>1FWLQcD#J##Xyi(F=^Kl4K_3qsFFWlzC=tQ@Q3oeTImPlEy0J3}7f;xjfOW=dwPT=vGSb_dR&z;>kcGe)C@R4)$a9%9VDEb& z&Vf6iLId|*@gTf80&F1_)6)=v-)P`uZ$Amvb|-WN2H1yOJ26fGZ+c%H_k0_HQXW+j zPIb@+y0FB&Jh-qdR8)p6h|$H&6LTvq6Ro^m&zi2IUihm}K)h&@|EQaKMowQ(RlUs% zpn7%yo*Er%UU-wseoF^7~iM$V;~%fI*LCGEiCJnE%4_k+A=n> zEDM#EgzA!!E5Im>zTI{nx_k1LCtJy)xfh4R)@QJraMu4mYgn){PChvR1+z;@PA>#l zc>zV~YmkcXSYV!m&(Leoy+yJWRg?9YZvmmNRw@|SHpqZXQ16eiQ_Libg8rx89M=uv z1GU0XojZ74Rj6);ygnWZ7oHq%g=MxvypzPf;COTg(x|Q#s-2<2d^pU@pON)qaG5K5 zt0E+KA(*7C3&Gd8X~;T*S9!7GPMM(c=9PfNwKV79X=x=o*)h*6F>^y{l00wTAUwE+ zomCX2Ru>?DMsGZ3ovY98R`dQQ9cw{&)ubf66&4f$tHeKcjY`vQFQF66)oPT9vqbrS7Le`{)9hKk=}z z;X+emD$baj5H);1*Wc(!nNMG~+-@xR zM@vQ7knZzJZwFTV487GYM59G7<)%uc==>l335A~DmovLC3aQwJUdmD^g=6R~wG}3< z^0LEVrvwu_6qY~?8B;jelxqOwFi>*fxy$9qBXSf`jOLl5hsPS|&#{ruGs|VPaVP3b zcXEcA53f12DljvdhUl#f+rZwQye3xp#=y*K?1Pf5kvU(e)e*}jR00Lg_iBV)SiIxo zRz2r+q&6N$#^w;!fw~Z<$R-E+T{23`!GG-_1yEt}{IWN1Gq@*%iOO_;{{Lp~UErgt zuKn>dkAz7wFarb$FO8ZgF)Bns2_X_lCWOb}KnS3c`T)`aR4AOoLlZLTBz8`Y)7tx! zUhnObi*0RdTl>-o3JKwtM8!5dswh-br1p%H+Nh}nNSWVvt$og963}b^_xJgKe)CCY z&e_kk*Is+=wbx#IZGzGTD8;mHk8h7J6*lQW!u^|9`;E5q+CKrejp*G(+~!A6+TT(J z;TD}};ucRP4)Z=mF{9!L+>L@FuOdEBSPy@2l8HZM1>^5I#9WHM3BW+vwUm0K-VFI4 z_#?e?kkSeqT9r)htOPW=2#ra_w6^`%@MzIVCvM;oegaVMP&~FTzZ8$i!#sujTQF_9 zv3s2Nv0Bj!wR%dsr-vvYilNX$O@SsHCJ5@79(}QPGRd9Vk9~ z^>w21sPd^g$S35!@pNfRsl>-)F$bQ(Kg`6N^5KO||H?V2M8c zhZyEuzuXk#{u1p)UC-A-I03|_R`fnU|r6|Exq_ts(%^&wurk1|NjSRnLZr}qocS_Ot> z%&P}$bofsbE9qR2crV6)R?&kY0JwxhtC-TIlkm^v?W&(@kes*(k#R+cf{T|LIB9ii zBeb!>8qDPPqEBZFGl+1yJDQ|H8NGleM)i%HHnoQYzIz&)Yjq`ccgbsLAsSC|eX3Kl zH@Fc1%4yGKH161@&BvrUCpEmxZD}}K{Sl!+Dv~{-^c8F@62c?=gP3*T6?L@Om=Rn8A3*yXnxl?T$I_fDHu5mO&{i?KQOE1wNQTf$#GwBW zbi0QLcn@)uvOU!Qv_^OCrN%V5Q5#h5h*F*ZX+AtvEF9SF{0q6xr5vvCzoTjFVQxQF z;Ch}sCVR0JjU^5cI#C3C2Lak}%7DFHC!-7T6gMOkLAUz!;e+xcfcCZ%Qvx`V|JEU) z@T<#UJ-!9K&YsG4^ZWDZ8T+YSYKzVJEm+8*0N3-QMP{3G7qwO$P6P`8GGGV58|~D9 zaYlX$eFLHG_Q%j*sy(rEdj@>vQTg<7J#T~m{CEl2l*Rjha^422NTf-kUZ7k?h}mWF z`BYdfL#U{GFNQ2)i11AAz^i-{e1662NL#Mw%`4FFDA%v1@YeiKjEhr* zCgio!{YJ&Pc~7+%W2N5PE~{FkbW32=vg^-l?A@?UxlILejaW$eH7KM`$Y z<0^I5UQos$f29w>62Q!8MV1KrUNrrcehGEljoprrKSm9xe-@;} z?$rnTD&@#8$0LDYzy&|1!wp}hwvUi`9^(I7U!`2qqz2@9D8Nq&$L?(kWP5-{KR?@lObEJ~u;G$v;b(g;2XaD8TVuYM2B&0B81 z{us++Jl1l;gjZ?U^W@!UNAB)*T)NB(10=eZP>7nj(|2bHE@SCaE&}H&1l|=--U_I z%p&xiGD813M0(xf1X>`}pa_S)52yo<^kR%t_+mbh&~Yq-(YiKR*b8=#*2GYF$4zzdE8E`;?< zC)#W5g&AQM{Ur`tDvtL`OX#pKE?eQlzS6dJvLBZ*@=NCR()C#F%YJ&8ohcbNu3arn zzAI<#7F;I3IAgo3RO)#^*S%UfI7Uh90@;X_e)3sXwI^ma(4fB;@%mgd8rOJ!8_^u4Z(0TNVgIj86`+nllMVCOa51~6JdWEN{1{~n z8v9O%Ldbs(Wrk^6YVO^r>IQzi7KNdNFbq`;_nZ-`$o8p`w0t0G-#rOQ2}pfEk_Hb= z_B+kg*+@;Edx;@&-KGu6Cb3r%#?~96NuNN`?G2mEgoHnr#?EOAylzM|m?DBN)3}DK z?cmGY7*|6bLch?;nr(kTo0%VD)WT+kc0llYS1;k49I@8lhN5CzzbS~53bAZaL8^&H zs?+E?SG|ToDSC!P21ecXGA<07%TX{_)3f0ZI@GE^0xxpZCAd#!eeI0Eg{$Rlwc`R8 zhPmpmMG*nqpHM#=50NYJMejGe>cKMcFxyo>k|L5QB7i$-a%;x~E>y^6feUxJ>eDFd z1ImIpMZPs~VTY>$d%scylZ0rWzHu~F?TGx6rv+fQ+Q4q)bxMO7)@f{TMe-2C?dH86 zKC4Qr%EZ1C?)8DR&?vG16#U5Wxt|AU#2EtIjf&@3n7TAJoupXgSdJV5tJvfmPHc&H z%7)Vth5-Bx11RdJ4Uk<#7F0hiX#H+bQ}inkwv4k90lPRvbz0_~-a{uGnl?d=UzKB0g%CMwL~I5t>FX(c7oznZFerj(Y&(dhzm zV|Oo1q#R?4jjZ@5mm*v^`|Bx>j67l)_`_vL$J@!-*?bz?@JGm-`s<9lz?Ngzltj14 zbC|*4#TsW%$QS4F^C&6@MZv0p)~!|Ht9=6fsczqZeD){&SxvGHYpovvyt{9 zrZ_3&E}9=aXRA$Xld{^1u&8N{x*A6p*B@2B+ZI1u!j{O)YnjPn?x6-N6Y`Go^6P|> z6IX)fDU;Y1IqxWD;8F45uh+hB>Vlt$2=603-u z28m&QfCi;r$0N4-!*fmr`)0bn_A44WSq+YVO4788lJx7#{NFbu%s1rya(Vt=3+qMu zo;2Xjz%MpV;qdxLm^h(AuWC;sEvZFf!&+hvKO=UsYY2WT`r9lQQK|*yowUWA<2ARZ5Z_OTTyq z+{`$|EMFc2XL_VT+V6m&Mmz~>z@i*h0}Jf}jLmBte`yy9vY0VaiXqTA&uO{6-6 zO=fGKHdEiM{PfosBfjbm{u9#=R} zi&ZL}M-6J20$v+ulQUt~d)q(*#w1ogTvYyg5l_kkt?7J?TZ3GXbBr4Si5K$7W!8Fq zm1e8L)g|ymYm<}l4X4qBhr4sQ0VZR83(&EWn}~>a3ruPvgfMkc4aDlW{5b0#&s>{} z95%Sf_mPj1nfbD_A6mWkD>E^l;Mf&5$FkSVroJc1w8jaYtgy*;9BLv+B5)c zktapYP`^+MW>O1W^#Qy`{(vuhw0U;Eng!a!;eV$URRpXVAG!u%S2Gq^?^z}9*mC{N8yM4|oodc^eJ;QIbUKcTlb2OSdEdt?l}0Y{ z)nlk?NO^MMa$Sp;HI>UcDc*hh1IWxdaq9W%V^QoaxDE{S`Lp17S3i9RX7Q7>Pa?E$ zFjU;gN3hs+AuJOg9(cn=oA+_{7HZZ6+x7OG?^2keFS_{CKj#u_LY;tW<{iAAsBx-4VR7O0myF zAa=RS^$$_PJjSuS#I^r+97mPs2QS`)W62j+$&;fuU=FUeRLa*N!|k|KvpSn|H6a%= zA)w~(gbRvA#B%-nB4VEU2`0^7(gC}fc*yXR$foawHV>)v#_J$b(-ne)k9;C4(JN&V z7x)yC09AXf+S$@)10rw{QiggY_~&7~mv!uP!$IsJ0yh%fl@X_R+_?7GjX+q7`YKFj zacwQO2j{{A>Qy^Gjr*XdI#6KUd9EOxD@ZKak)9DRkB%R%eo$KdkhB_JjPSQnTDL{o zfWNiU)(4~q;H@i9+Hi}s;Z|wGG-<A3@Z5EAq7YA&ikC$uQf_86D2pGWDNI|CK^{HlT$S$ z%^JFzy22*3e>-GS+!fFVX^b}Ic2gJ)dUr619_<5g>2}aX2=dVLm0(r-@IuSnebg0_ z?A=HG)mZMBS<$b|3_fa?l=OBkVLON_w#BJ8B17~#9HPdB>uCHvcn}YKq(mWTYLjnQVK+)fR)}g^dtR}fzLo9Cpr+<)%S1Wd!)$-9C@KPgIlglidpwCj%dp}Hm%LPCVR^@snUb%q}3bE{BW|$ zNnlS-9$2k83rS17sopFF%Z7dDcAdFQRIZVSdMW=CQ%>S{Ie-E38A=If-X51y&Rlj-HHC+ zZnxH^`{z;;tEh9fsI#eqX~Ab@GVmo68MJfjw*Q4R&C~*)e=}wLA<9O%W|%@@-$a<& z(1%3(9{(NdKDb_chEpi|-Q`X|EoQLyj_h{83NxSSe6^w~#s)?J_x zvL(j=gI*xy5+v_{ivR|no%=g<2Q|C`NJ z^WZQ-nf|53FfulVLvTV*G->xU`0?q5W&+gH)QKQqSx$>h)w2*mm!hm6rvJ$RWufOT z?;KyIRJ>>@{}R1p8ie|LnE%I4%(?paJ%lb23Jm@+7Ww_Zb2&a3e{NrHYW?lu^5Kns{mSgm6wsn#wl~+tokN(0Pi$7Auj4SO&9=jifO(%j?6d3d5m32Odio> zzO3l4<$A^#=IOxrO8;#r+HBZl@Gd_UX$Fi%fcZQDZDIQq8S*IvA{!QsOmy;SY03Dh_0 zc0x%8P;#Yz1(jxpA&rr(Tz?dafvFuR)V~?ACa%AaaPxT&n3+j}b9b#WFBZHU%>{|nGY)uJ%Et_vM1>f zo_pafn#!T8EO?Hb#{-Q|SkiRpm;?D5vqv9{rR?ElBVkCjGd=%EwHS{Jm)954<8OM&@%6U;@nOz;;4YjAf$1IWM22lvj8_@3=_@s4fg?UpW zs;ZfQ`>QN+9uH+$aLd(yeuOIq9OY zIrb{;E*PD!1h^E6tDMwTPr&mI!f`iHmAc9|jqmb0&3TroE6bMXo70)dMT-i!Xk{06 zh|Ioq@RfM~mnusVm2rEC-o7L7F7Bk14l z)W7UBiuw_^L#fq9FIQ79SDU?TAlI&KU#31%hCNcldS!-MNPZ5nRcMUg8R{L_P^96t z26{!||1hu+4i9ltP$3Vy8z;vHvY<<2Im^DqGw+A4nvW#G#DfoXT(XJ5e3kEZqH0|G zeM^FclUX!NX`-RadPyrDFuEo%+%(jD{v%`2O=nR#x~T!(1YeGmG5{jo42%Y)`~OY} z-Vh1ah<@bJe6i>*wbU*!fX(T}*nP&~adk1=SsD1n5g>KZW9d~IE-I>07nO<|n{*?~ zGIjB?w$gH`t#m2CUAbi84omTo3kGDqCF)yqa$Y54oHA@0^&8xQPAYl(Wns)cm#m2M z;rjrg`R5el;zCZ&?A{I+GQ^85%Iz>J!R~JUF_`rmdAOd?+acc)9IYCmP7S?n_4zIy z3@!IHdip}8OQQD!Rj8G^u^@>_)u|o?!{leB7h9bv>U8d8o21@ico-X@B{!D&LW_MU zdHIs!(A$#F*I3bqT8I>|*(CsG`)V=j5CjIOF6OZoSR5a3;*iOm4?nmgb0d7C8NELL zAvlfS!YVa!Ig2^&V2TDOHlxYOC|fk1Ms1Nl;tP5xw17rrs{fDUFrODt7_~=p;I_dl z1j{S1$WATAaK@F7lYjf?nB=2ais091r2j9-tpDLUo|bCOG722@;wQ z_Fr$de>B=Zv{3>FlYs-nSC4^%Q33~v=;CTc`$05j`zLezrO$4^DQ*mpgH5wLGwrAo z$FA7v)(Mzf7;DxzIbgAX#X}nu3lJ^n%DEum^R_VX!BL6sKsRquZja_8WvQ++xCOC(}2> z46tq}NTMvtL?N;G?84)w{?RoC>m*}OUedhb-#-!LnwdqtMJ_JOS!HKv^M=Z7h94D0 zNQt=3ZaV3xN`n`zaEW&yiC&8Gd!Q7aI0=Qmb}jSD*jT?1hgh2=+f>LSjX33cSIzV?#@l zmgqkN2g`c}vqChJ0CMeLvLsw$jnUav*N|q>t=+g19$Upw6!uh+zHko-76an7Ayo)2 z7w;aN>xBK{B{H?R8=P!fAfpd+9hh_&Wd$#!>`Vi?={f&IjoZHuc3}F=AO+C!-K3Pn zC6L(luiEo_qzDi1#J754e=6Dn7mI3Zl{(IK;5ExDoF=EEYR^$5h~FidiryK|mpp!Y z3D9tP24cs2D-c%XU?E=+b-`RG1aCez34tGPN}t%CbsE~!)6Sh9p~78 zH){~OC-uZaoU;(^2yVww*R=McWz^f?w&N27KVH{VI%#7hevr+NWVnJ43L-FoUq;O~ zO{EEj!@eC4o2Y*Snh!woR~YbeT&)?$aAfEkIbL~>C&nY3q#H>R_8YJsrur8Q)K9A# zXqhRDly zg?jcuN1xcH0yB>58KZw2@dU?dZd7MtMZhO14xK}EAAkG_Ca%YU*M?84H%1>d>U9Kp(5cAOTcY%)Wz=D0?{9rSF!hkcI}rUm{INVd5n2)8=+A`JaC^seFO(-^N~Z zg+oyJPcX*dRBy&pWfki)&2nLObuGC+5NUp6rr~jTU$G9g5W~ns9T-}_Jes`1z(~4=h9CGw(BkB`h$-_hd5yKbh+_i`4Mm)0&Fm?+CB*12TsQE z&DCvq-^73q2)~WPR>Z?*73&MAlxFa?kz%@-8IQbHznSBd_qmOK7e143s1Z#yMR7 z&eK3LSyJO;xXXlH&;cA)k3KA*AQw^a`bpHsV7Nu&A?Il zuWcC-*by5pJKE;NhO4jUHIt+8-xw3QAxA`^0~cfU+ZbX3-#(}6gQma-G1fPW`{Ku- zUyc)gN;oW+rJD?J6J;y{tojF{;XK9uJYkAmK{uwsd3Yw-qwxc|7$=Lr%sE@X%yw&A zrqH!&nb}o5?+3dxKv#SY_%wEZs8`8(3z>Bqo*Zy+9WO9O?xr8u_j`1Dzy<0gZbI^h z@173D&4$n9)FI~4NqG*=lINTQQtG=8x1sbsvJ<1Gh@S4oWh%H=1z-8Krs*{`Y*?_S zM^Y^Fa6%cko^#9gz)x}722VGfgU86%e_k_u!RSR;>36U2kH`Vp-8MEp4V)4i#lW@j zkw#LptNwk=lEFgx0(xC`V_~+N9%G%6-y2$?8@%VJ-az=I?_Jjz#R|_ zVh{2%5b6n=9lmqAl?id+a9KPoinZ#;?3P)nYGrrS!zCE;>5B>UMOM4&w1%DcXmZG| z%6MC4b>J1O0WDM!s4cVF!|6*^`3XlX$w`gB3<}g9n|*u%nyK7GjSbt2G-uG_9B;lX z3fk30H=k50uU*=oK~=);JIO29}Q2;E11*?bSazGOS^BxCR40aeS1O6 zX{T)rbrC2NEBs|zWlzg{IBL+7Gn^8$xN4*}D(KUeSsZAECR@%h2bxBm&Lspx!~~R(iEnw~*fL z*n4584b5zl+(dHy$NI_&N^Y^c8g^0lSM=}!LXJGvmw#gG2;)&3Rh)lf+d1miIk5P~ z&PKBK6}!3_c1nZjvZc$~Zb!)&q9txSO$Mex|0Tn0qnwMXij1D|eB7Np{D1@HcsgtDkB5+6gLD~38BEqB39wH@Fi&yGI zrarOW7IH0Vm7s!&sqIuP{6Ro*ZOr{ZS=gSR%fz@tpt7aUiOGpTcRltu6sJw1XG)l! zkJ(p}EGID;56zL^y7{l*GTh1+piVTk;qXD{fQHq;7Ahu*7OEPNbUh3z*+OsqDB`{1aJf5Yj!s4rVSaH`85bE}MGn%S)| zGg9NtybM0}FvsXKC0Bz^V1wiOCHVxo67{oL1xO?XZgtA_0N^HBK}e1X^QB?FN{0!9 zg#n&iT;;pz0aFVMa_|WjQcsfSpI<-=30w2}a!P$+*tVp7L;!UcB$_3^7C>k3rw(5j zwUi!-Di^f$e-OPl9Cg))5KN9Suuqc;QpaT^4$W$KBdhGsokSF~Be|}X(Q(09Y~olK z9TQvRuwzfMQdd2?W>pUk9%rN^RX;kWYc;xBaupapF%70Vgmzh&dk8KWf%pTv1dJK| zJQ0O3UU$`h6<`}~JxM4)JaX3PnpZFIc5f{XPvnLSit=<*;WUiX9h#Hl)l~IvyE>X$ zmjoz%cA9#*h;5w^GA`3f<|m?w>NGc)?tIMO>LNGh9XI@z04ZfW!coOn6z;NiZ~ZJXnroJ>=kDwwYxFmXq=Eg6(^)? zJy=N8CCT@Mr;RI^&J&q$U?Tf?=tMRRD!N>cjyc4qj|1OjRw7?17%99_gWJurs74Yo z=S0^a4`+zm797OgtZ zu2$cI-NZZxejVDfJf58?xCR~Ft<`jgXWfbCJ;Vvs5*(H)`Ien!zPTh?SxkUzc;r4QsF!5sH*{HC{i721fSS8 zkxH+oeis{*urpMg;zm*GQ)gX^AmQGYhkBhRAHZaJkJ{GqzExW`!d_6(yR{T2*Ql4A zMJ<1Z9bH5rh28 z^>Xm%=sL8ucRq8eV_gLv=a$j@j6i;M1@FQPNfj(HDxkewvaz{kP`a&2uEUJ(C2iO`iZdT=1kP*q)*Z|D23&g)1zaPcdvn9L!RD`g>$=2Y*1Un;R|Bffq0o zc~}w&G{k6MX$_ZTIealW%OOrtcrX}Y(bOtw%d&8GKFdjQ&ZRm{%^c1&cO&NADzMnE zV#R&tMQR#EBd?AnS<&qf7CgN(_@|HFG|w5;a|$*>-F95vVe^3NcVXQPWQ0A(efn__ zlU8vG$7f=mQ;;jLqKw5_A!iuBdCjfldUsKlQ(KkgRy%mdAn)kePZx$>4LbvtS0=w2 zI5;&lnjG6JUFwN@z9e8r4#)gZXVx(L)R3j+1Do=(+JR!JtYs)`QI=biv(o3Qoxv_w z85q2 z44+ZGjmhepn)giqCqIQ24G#!X-|YY7Y4R=VJrj0XXl3L%12u1A9%5qJ>o!uP_JVVD&!5!fTfIGxc1m^+a(RFnr0;1unQeJdQpogqn3 zz-CmPZV|Qkw6ZMKdnR@S(?jGFFk-SN1M2TZ2Tpz%?pkvQhXcOdfiu{6E4h&Kf-Mt( z6-+@|S*99ZNxghT<=c;iQk~|Fr?9ov?s*oqLdjzw3y@mZbw0i=5Gl;?s095aDVb8O;R*4wP3lOg`Vj{d7 zC0YOyD0AD&($%mJ#lgX+&Gi`FffSz8ukxk9`JJxEh`Wa8+EjLCAHLg)>%vsNw^;KA z8Z9AiglJ00IxD;OiU8jd4VA(IWDLyAcGb_p10|j_D76+|hDt-0L3v0Q8^}kV6f=)? zPz|<0sgDC6fdZs{jnGRq*b-A~;YF9$@C40g-L*sX@f<-<1Jm!bR(z{^y`LXlMT=Km!5q+V2j}?Gn9=T*1DTuCJ{`-8eQsdzM9dsn8-l zF<1O|Bs`m8=I?RDJ!ix}jo)c^h&=sxo`UE9?%youi~K$a!lHCUU_;aQ8TAeg|E%{i z?AL!*+|ckY)b|~v--_S+@c(uEcc4BBGt+h%^}7)k!vC~{xPGLkbkzxAemqM-9*365 zLm&$AY>nI>f3`;|;?IuAe0uh{?U)QSUq6g2Q;gha-&S|g!7b6JF;5^m1E;~CMSn-H zMpp;V=ht4ZanEaEN*8w4g-aH63THO)Ou_S0YL5rc-z@HOP6)mM+WUlRtKD@BG_PuQ z`B5I#2vczsuoIf<{94aIf&^DNh`rGOg)(Vj`i_IbK}?eleIV;{l~wBDX^>O03H$Gny${696XL zgtL=&W*y%l{FV(3eUd_NF;hlqCSo0xz#Y z1K{Y^fFAoW;MBxNaf1hNE;`2bLOgV=8J5saNl#uJV#@M#G0$tpVE=xFYu#yS0wZ=*CLN?X~F za|KEJ&Ot^Xy4PW8OXuB?MEQ%A$mjL02!W~l7H2xo*B@_Zc&*%B~ml82}M^C?3N6jUUIE1%Uo z^%fqr1>}q%n-*lW-9)ZgkNnm=c zmj$L^t24%Q0YCY~ML`}lFG=!v>JE{x5(z~Tq{WaBOvL1_#;lA*2-PEo2#N3U$(J^j zL_z7I#&V7OHkWIq6_gCu=|~Kbw}1%?f+-dgEd7eL21HPiNeB>oX`!rD)`Q$!1J1FS z|CuzSzLiKX>^aSF7bTP8fNRS#IgJ5m5fpoS0ZI%T!`dzewlnc|AzCLDZoddT;|L=C z#yW$A=}=$MJN@F0Ibd_rctD4h0j<4OWjU+P7H3Efc}!K^>WtV~ZOqf8UMZifPNIkX z^hKMmxG^^+ylFBWqgOtGXr2{#bi7oZU9J^pp%zwfkA#K!c%Ob7iWh3CVNDF|jph39 z!JZMuRZW%Cs48g&ZovYUP}3FV`a@@^hp__Z^2(0nK zvX^wQ)p#Q%j;nq%hdX%LnQkm+8c0|%JN}GTmY(Z9L(2&78MOmTVYub>U=7(@;5p+8 zrgQ#uS}j43;^}q$lGd`i;eCKW`sFV>+4+=RjqH)rl1zgXS(&K1LQSM#-D962djjxm*af z241rLYGoHzsGJ*M6Ho=-Gw_i|)&OK*4iHr@C4t^RP`0NFN&`TY3@$hpKDauynp2v$ zE0Lnl(-E5?4LQNc5eM5uMJQUH6kolXEtP4{;xvc@A7fiN_)sr8qXPlh2twuih_c!} zrzi|mK;wngD^4X z?Irv`=PLR}^PEDQt6>I!2eIXPdc$iw#WJ1LAdaago0fsalFKHG?Ea0VsxC8jQ7h}S zK|U+%WsT5M{R)Hh9av_$Mfy62WI-~dfo|yvPPaaF_bL=cW79#(C}S)_Cv{IN#yyls z(0Gl4|0*~TBijlwRI!e`GPc#Jzta_qE!R)ryIilL71<#t1}2Zg%oT=fxnHAY#@W6a zI!Ec1!Z?jqu3Hh#gR1()rb4_elXp+~KG)yj)L1(Z~sR5cpBwe37I)s9DtU z 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 Ok&?G75JuPP+|(hXci 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,cFj*3#v^UL-^&OIYVgbOL_O|_I^W~h?Xf8y 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 O+ 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

K1b%=B!d5tB1AU8OdI+ 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

qWMR{ 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

D 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⋙_J=6`- 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 z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6!_om z(18p9006)sf9rdEg^&RQ1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* T1`HT5V8DO@0|pEjFmM|P4ql=S literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/images/rootimage-0.11.1 b/linux-0.11-lab - 副本/images/rootimage-0.11.1 new file mode 100644 index 0000000000000000000000000000000000000000..6ac5300f9b69e9ba99637c42a7c8f6fec86047dd GIT binary patch literal 10485760 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֠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

=ENK5teZdJ#-7rqg*fT8TRS6h_ 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%0AW9#Gv#K{b!rDv^TU)ATBo0f&J60l4%2|i2s%LCk zyUjo2f&13afOpQCEgHNlZGbDT4PULCAw{j*giE66n5(jKGaYShC1hGEfa^EhzrjCa zZO#2Uop5REx6IhIWk+Sry0y4uidRi-*s>XcJ2p#zl(}AiaO;dJee*g$;D|(d?=Xn<^2qzGm%?8SC_#8oD79SQFQ5odKQ%TS>N6 zZmLQYy3N0~CUqG6Ywt@$`D@m0-UdJwK5Wy5-`U1(8a%jc!Pf@%HGHTg2LeGm1(q4> zH^6BYkVHb5X-19mlcjGR9+ZdIZhk=H*Nn~nYL=p2wr<&~ZQn3s?bfXviOMaTQr^UU z8zXD(M;*Wd#@)Ay_{fJEAh-WvIP2nzj0YZo=$r3HQ-B=|PrMTShhP0$tQTOO+)*a4 zTQ=zrZdOm?@6CEt7>UdZDH&>^rz&PWx{mjpF`_a7+z1bJj6mZOAXWnX9$fqIeF9)* zBD5-zwQ55RX3W-_4M29}tV$$M=s_oR3|4QzC*{o!ArG$gDr zB2j+Lh6kkj;kT6L5kZsC!X+{5tEt?&2@cP$&F0H+gDv!1d;eN^#$$|r-!@4vBh67p zpgg0q@P~aw+0*x8aRnI8@(q<+Q^@CvcqB-SOTs`taijl zG5g3!i#%ISUDzJz&Q1sXkX_BA><@n6)*}~q9{7Q)#uI)RU{Z0EEE)H0@W78eT+WTD zuR+f@#YYSe6nV8${LAs{&0BHC%JY{I`aZ4{Rx5QYW^P6e*6s|F=VU9XSL9Zf*>nYo zMQ?D}H`QP!`1(We^@$W%_oNOvvB$;i;i=N4u8ZWR zB^3!_Z76a12{_VdB_OPB@!N4%y>;Zb@;cU{&aeA;epn1&jd0UALo3GrisiS?(0ueO z3&-d9lYOY8tXe|{n;oYGR{Dv8Te-SAxhpT>qMxiTpF5zX#+=3Czi9WXg?J8~x~op~ ztj?7<2YP3cczC^)>i|{V^xtD{M=QV?pkmazAW;+cSk!2+!@W;)Wcrf(VQ1QB!nj53$>O&n~Cpu8D**7QE^V< zs5EE2Byh+&gQVUgHbOZ6*eu((gn~j{-95-D9p`Lzcox|Fli}(wy`j}VCbj^6{<10i zrS5Ywl{mGBWe~;T^v#gSE#Vi>kSzxG@{mHr{uOOu{n@ozMy-~uk=s(^NnMn2_d+cT z;xGzRUz&z_(E)iy2a>QdutIRZq8#rA=hmuoB^>`$i!k{fY;JyAyE^|<@Liz=Khpfm z;1FJ`vzcUXu%7x zv5L=r!E6_>N`*aq!2)&rmBXOI#UbSNOJaur&v(Gfp8=2fa7-lx)ThkF<`3@g_lz-3l4BS zjqmAWplOgEeS$+|^n(MwLGt&nL}u1k%Ug}-BG|jbvf!NH*MtuEbRLz6ao{A&sPlqYmEnm|KbZz zlzas5vY|JLS%AB_)d|l{fCY#KL0_r)z{w$^G_?m8pbpS&OnB-nB&G@|>H-jElnsP* zH_pN{G7?ECQpUqf+)?p8_D%IAU&V&z%R9N7z@`#jfz4l{Ym9>^R2&t{2GT=ijMo`% zsd`2nm!5TShTR1B3X%a=o}kgVvpHM9lY;qv81LMld^?vt3<=DjS%qQ~4g1H>k_}sj zl(NCej6P(;U73A!2WwRJb$CrYuxS_ph`Kol$8m^!1x`h0VxN66Xn^dkOb9JXntjK4 z38iWIPnIyi$nj{uhs|MjC9H8b22pNk;TlXG&A$anp5`NN!t(Y4J`qgbNtek#z8o13 zDga8&|KOWkoX24})7>*#*vm#faajUnAoHMk0Iw|SpK#SQP7z}jTJ-Cv9Dl&c_*Rd3 z$A~(LKfex@hvi;3vYNZ`irK&pzm}I;s}BEb_Hc(^KA7zAkD;+49quvMb$6v!m62OK8i9R&!nCf{yxl>qsX#1USRBYvhX56+#h zPi`);!J)Ogxg>4=%{F~>1h-WH2qL%s+x%A6i6Wu>zYiuU=IcWIX)c)_+!?>pua3!( z0ry3qQvne&q@<4^eg095Byx;Jj`{kiS8OQK=t4ToOHM{r^15WnE~H!NAA@hue$aiW ziJ(QJkqhO>nnsfB&&dpL%EaK~b=;|tFc&!9M6+y(m~PuPzf6NBpz8iX)DfjCR|nh^YHhu;4m9qc{;0EVxF`EO!4; zchRf_W;XWX()c@Qd9Xm!KYCibAB&lH@Repj<$l9e0dXKmw7-wfPxfXFpGog1>rTV^O@?W>Oe{RaCNqY>Hg6KKP~^g z{G+^E5bd^*iCy#<%4t06ZfwAB^>fVm0(0{0#1Rg-jP{{@|D`({TJ=F-lyc#?EA2!N z5`a5czEP|GPvj{xe*@VIu&mVFi=%qEKNT|LE=`{E*M!O^!^39(7_td!%lX3dJ`aFuJv%WHO{zaq-Q0Iea`nVPtqYjz>6Im%KgQ_b? z4>0vYK#>q8cR?2^Tp{O1&^;6|t|v(Ti(bZziH8F{`K?1A|JRAPmf>jpnD~-GA-G4~0)EP1 zG4Ci;)F2S|XOx*2T`3Hp9Lvo__B=0^2SNf8ZJJ*pCRo)Qir42bEzFvIg-E zGYeIrOjLw3OQ{xbK$6BA*kk%}^NmSr$-4gvLW~i{K_U)&2{D-?(|kc`AE48oA=#4z zqwr?=#EDcM5(W`%FDKe=0xjB=lLeYIB|OFikIVZU@Np~jjPUg8w!HfpQP2^UK5 zg=$@zUYP%0*~(Ss`$$3zcS&G+@R8GN{C`3o-itG-96Be6C;af)uXNbP8uvJv*8fI+ ztI!NUuqMZa+UZ~SreyLQUQmXf^XCQ&=KFJk1-tZ%R^k)^_8EyZx>FUIp%rs(9c6(B zwK6UcEYiI{t;oH9Y%x?-^oxR6B{K1vRzym6A~cxc|Cl-~e`-9ePY4a}08 z^}IHJo0NUG^7o*8p~Bn&8go7uHjTIlk_RQ};fI`}=q`FbVzf;mj)^ zv>h<+;O(?{jJVPO0f-+W4I8>u_BTja=*;sD=F07B;X9pp&Fu<5QUW4gQDBUtcC=U~F(6o<|tFLC~O+BMJK@lX~t$0%;Qn2fPRmfc`fe z!}=9EInCYp1|G1{P%&s-I4e^09xufj^tr!Iqxg7EvrvH_?(&NeD8+IFi{DxEW#@!2ctjd5f0~6 zqy&dUgVFtocV02+gs>5nNz&udXCz9YDtLo#fCpSh)&gf>f&yA*0OotQ4O_2)=tInb znC8`Kq2Jd9ciOf>;S31=bN)h zJBG-69p3ArZ}EM^ILhQLv_W@t(B_Q(NYX=oR&gX0I0BQ8NU@s}v+_uPUd0ik$JUyg z7JUqf)Ho-4H~O%uryq-H*n12);=W^zt+mrZTX6Ry=nA$gGFD)RZdY7cO1irDvA|2F z-ejh%^JGeP)TVX@YZa&+_pi4cA6H(12;*eQTT3O+LCI-NQqz{ud->u_fOG_;AOG%JZCJjj-VCSuZk0cBBbwXYl z_Clf5+oO_@EB;kD(9PAJ?dXbO%m$)A#^#az)C6@xsTN1m&^#U>L=cu+aHR=cy~2QV z=RqNd&OWh8S^dy5>&G2cVpRiO04%xP@vRQ?x5%d6!qDZVrI^UCG5)1cw>gHE0Y+S+ zcx?N0E13?;hH8$5YaPad`jot&Ua_}TdK8XC9gcdHAD2SmAyWC8AoEO({?MsZr(N?!!BV-5OJ6n~KAg;l1=mhw0B`A46kykUcBt2#%XNRA0k% zCQgC5>LE4aGbi<{Knrg55S)J$TePO0p{7Io=Jx7#$fJer>KE+{EEC8F zCQ^F9QU;1uvb_F0Mse7|r@<72yjoAN&j3V~7 zG7FKhoA`%RRGjkmUGf+mr@T zSsjxUTpG9IU8`*DH; z;CXv{^eafg{$U_VNDnUh!5dEF5TFKF2<5ow9Hfk%U~0m4JPw(Dl+V}}kA%$pBbHl; z3_84Bl9udvml`veXv)MM9S3zpZqeMugtUeFURlOyVG{0BsD#39I#dD%pnaET_J zyBq!;BY=oC{+-d$tQBuJ!q-1?*6onTwhN(QY@tMk=UuAq#=413fXaubB?=mU%;`OhSLW6&o5BY{gdZ6XJe> z8|w~6kgd8vTIFJj0lAd2UrTJMh*V}3LZ$d^Jx}r!G&(?-!*!^ZvZyv*(j?5zNVc~pRf#&Z6{=P4{4m= zyO{uzJ&w@0g&oIj{`kaQMi4PBu{NR{1In35 z3#9Gfj}v!3m9=oE0>Pm3XF(WDyH4~x!wD*r6JkEd4H4Bs)s3G8pLubSLz{Qd{ltOL z2R5VY1dgYaT+w*jK9zAJ)A>igf_BDZj@-A6UmIOG%W9z%@pI~GN&g%1xql;GW(WWd z-K}j0ld;=eN161?m#XbY}x3c+&zygJhcX_g`5HIr=YB=QUQk z^VLVX{zb~cL`kMQUs*h1`#e0wmiup(u>fhRR3Yx4w5mSAhWvBO<<8^t>ILyj)_eXw z#oAl;DyLqHr1v@Vk4i%`tjTTkC~dW}7H%2-cAu?UiMr%0B6&1sblvlngQ?-bn9QMN zJDnn_rLO>>qg$4YdbG%Rx2&U95`eyb`HX?H1D&VBd?uvn*+CJB`~C;Tgj z;P5#ilWHrQ7fW$YwJGvvU`KR9lsb(55}cc?#GVPK^GtQ-wy6uzsEZWRW4xbe9IDQg zqdVixeN?;RyYbe?|Kyu8DV2CqDjA1LJgfv6Vrje!P};U? zrInsphnU97Bgy-Xw?6rI|CoPTfIl;4WIqw+srzto8IPo> zHUvrQU1;@tk{)T^#+-f+l@hik8m`@ zJ}-ciB+t+%-^U&rlZ+BZY$VdnJFy=uH4ow&3_8Q8vjK z#d3V#j^Ne&{!-DhrIKW|7Z)ZM6)s+)d5cSy-MU!w7A`GZb{pe-UX)T;Ts`I941uc`dsi~b`dP7f8LKK&Kew$c#I4M?Em?M}SM&PR z4@y~q>?>BUC}J^7ELeCYv$w2tSt(L3zkLa6_1(JcHq@qq7T*qVmKWZ(6w!;lg^LNt zZG}GXira6$_4eDOHMbTs?Dn!dkr$PCeWj>J-~7O4*cMowqx!h9br;SxuiieorQ|7Y zq{5EI*9sll!7_cb=7TZ93cXTWRk>bUQLSrBYBp$PYyH~IYd334D(};L&_gfWT7%z* zwVRRtW_^=ZsNb)ZRc_U8U+33u+p=9-T)9rW>86{q)dxTG<)802;pWxruHTl;uW8q> z&z?5xOY7$+zwkO6+CqZU>Uc17e=9(I!?V(%SxN~oKo1vXj@ks$UK;;Wyv7l)amH(0 z;UZ6bcH^!hOwgh%Jl%_@>R%&oHS?N>$u{!|ddLa6_bTf7nYUn@U>v}X6$n20?Am0d z`}^y=^UV4%M?r+bw`GRfUU}Hkk!Z#|*zi{H`rp}L0R6BXmRW6sX&YLDcYr;e;)xVO zvj%w1@KEni?g66<3_84gK98o6xe`4X^*R-=`G*T`^8_w@Wgnt9q^Ux(LI)g$2;TMQ z@Df)^qUfv*OPn6)zv1BMfhCRw_d>Crxkkl6<9j>?f!#YLsYCRK0s+>5J^}u#8$Phr zPO5Ly9+`R?8=CsI;E_vD7spt?@s-TsDj?`HmQFz?qhc^w+F+=1a44?=M=j!3&!6$C zbOzvfmEB-WW&c>m29TnJGaK0>1?2;E7rx4;uss(L9fY@-!7zNh4AlOavX-R~s6p_( z)Rj_u`5y(JB93n{$iEQG^Sn) z6h^iSmY2AHcp&0%mfm4<&j9)f21{tA$h_f4jyefL1wNNMGz|j>FObw28qDqFqTsOE z4&xLI=ZfwhdT|&&i%0JjgVY-+TlqBWh{G5i>KX3G{~4tRaQg3w%+BW?E3X3bJx|$6 z^Bq;~yiaxBUSsTIr!FIVWB)3v`Tz+HQrHK=)i*i$Mu=b<>ue250mSe zdl!@ZD$_sBqK9A|aTR449*vFkjwK?&@31#v&^n6cB_9G72YZ|Pm*&Ke$wdV4EnEaT z+=1x z-esdf+DJXeG9D0}BsfRw&Xo1Vxa~CFO27l2t(=W0C+fIq3z^*jRYAQR{1+TcZ3V4kk~=w+``UajLrQL z=w}Na<2K9ZPlxw;f<%Kj2kI&-s6f$Mua3bPsHGGdnDt;9Tyaqw;KO#XW z&@w~MLN1m=97$BXeKN)dv3dIDxc9|G=#B{^z!3?;8Sun?uPOiMftFeB#;>8s)coU; z`FWp>)fO#oL*tMUpxOwVegHnz11&Ra`8}_0NkPS9+uhAxH25* zcyw>N)J!UKsa1hS%V{SulD-zxkdE1)kID zqQSsZkT>($-7pDao{q*{T#oS9;oYNtcB`L0_0z9@2Gq}>`WfPn!mSQ(6JMf-`AzI< z8twm5c-&sh4miH4y*eCW1>qm_JL32TU~=!D5V^Ie%aDku|JJcc)Dls8xz-<;UDBD2RE@Zv)-Y>^TR3ajmL@1D4~3D_3)Jy+msaz9S}wNPLW%qrNfx&(acoEg*e z^WfVqu#AN7#xvmiej?48@Pz`qHQZ678oqmE!{?=DQW$zv=WhuH_G-O_<~S zo>#XVq{;?YR}sh9g|h*0ohPj01t`)IxwWv%@a;>jZv60U7fGO^K}k9ybKu{CfoFl& z3&Gw>jrJ22`^0zB^Q>kz6kzu?ei~R29(N1~HSZ($H+}+)jX)7aP%%=`r_d-qhwReG?RLFPZQ8a;?Qnxu}qSO?1a(Gecz=&VMSRClEQbK_m5YLbCpCYjRoR`A7WxjH^s>ZZ^~g-~XW|}?K&H*_ilIe#vimQEPM*&bwsA{n z3onAt`CvHEV9YXhI%1cxhm&!uVQwhY;)qqa9eeP&-eNwN$#H!#^4+cIb&*iv9efYg zdNKc5UTV%rW8=a1$Uf&e2(UWq5XIy3jDF?1#RoUuj;eDS-C5@-Hl z9o}p5=)mT9uD4G#J3tx+n$wMU!oK4W&YI5jzsi`Fs@8jnXZp*jTTfbjnW zEgbrbGD@AX9jqU_Yi9_O4PQU?Lw$V!5L-^%3KIc9P#>*9-%2{G3I6GDn+|vdgmF;g zaBPRM;&F$hA#B(}uFBF3C0`t2xSV8IAnKltSN7$6+sy$t*6<;{DixXoHZijz*#> zN=7>|Ji##LNaIcfA(0vpcf&U%HfVTX?2xjj;k{X&Fg?yCZAUrW+M}#IDa-IauTH9! zNcwe_pA<^_8f+25fcd-Nzlq@%0B|K4@$SQQhm>vo1O`8tG0L+TVHFf8@z_f;jYuhS zhjwP#-H-Z!|B=EWqme=Ly4;UWU_g=GXuK5xk-O5Uq}aFu&tYG%+14bDP)%t{TQIF| za`1I_9##Y1vP#X9Z8NOWa>`;5#hc zBe4vG5h;pl&T6_icxqZ*M#FplQncKEOHte#RM~2Nn}Vqpnh{xbB5UY?T_Axra*#f= zLkFM>1jt~@5u}bPi&5DTY~h1K9zngZl*f4}Sb#J%EorzE`l!elsrZ5MZ9jnQ5SYYx3%z6q{j+P`uc?nK57${89Knw zFC|jaO?~27<#KRTF0jIEDy$EAP6(jcNUqQmrx_~HCbaHv2=dE3OW{3^V%FtEdW2wCYRuc>LxQ~s~}K9_|d3;o$CSn z9CzJ$UyIFth2vB31VjB}BSp>v8A?4nh?)zBqW^+8D=NHtNX&H?f=5WHcB-%xG%itR+!4n` zh73?_J@OjgX7}LW-x^I0J>>C@{G+i;n!3W$rD_36JqJE%Ji#Fjz0Pl3f~ImuTv_azBl&D$CFzLx6+mI-=U zcak*ZN@CRu96opBqxcRz0!NMG%M`=(=l~i3tJQ<9xZp*7K&U9t17b7(#T*WmumTBH z5~M{AMMM(R)moLY31K~IijaL501%=@;N(&jl&NYg3(MH%Nv)8mIL%X#i4&C9NwBfB zfAg=Lms|1jw`x%<{csgOQYA%Kp#&`Z!k}s}R{55|#u5#0Ls(=}Vc{l(t>B=OVJvYL z2x5UT#b!bYm}IYE_^eEdfp~?RqHsk6(9Jz8=o0#uz!~G+RD6;Bbx6K7KQ76@-UPMf zBq)sq=pxPUd)^6UAAY(?6-IeqC1lM0nC6WHidA8&mnPpI(%}I2x#F za+z6vTs#viJ80=I-rc3+j@{K&fZyHt6w-E#;tSEWW0VW3CzQB%jB?;93r{U;@Ktp} zLtC<{>a&wgDfM)WVk;IS`qdXDjU8#OtE#^;nWoIs!or?mI`{rXXvOsR6Rj9kRXtiD!fDZl`E0OfUcaCB)j{Fc{RSfuL%-TrzC6ReH?Jp;WR%(snigF3QT~$JH|m^l6T4GBah9c}3WVbN-Y~CikhpOxa$#8=KM1vY{Wq32VbHyvdb!4K)%D6vlQx z)7nNh-o!v_!W|EnWajyfbNdGWpPdjv=-7Q??+!bvp7IyTUZM$SS%;{}@@YJr@I%Cg}R-Ng-^FX7g7Y6}^xQNN#{lpbC7) z;cy6~1!uNaGnoV~78FIHr2woO^>nO0kQsrN1dhQ3ER~X+gd#AU35{q7Y<eNVL>Xeee&E2!Hfffxpm$1E9B^coKt%UQs2qOxB=c1zW*h@-h9fHB21n z1w}wCE8;0Lz&$=ZFaT9aOO9bY=5<0p%j?Po&FL4p7!@LpsZm02^fK)fYGK>+DqJv( zBpRq0^G`rDqM&Qu+y1Eq<-IjCP?6L^T?T?M1$X|kf1seC#s)?Yh;uj21)Tu0<-uI6 zvP;oS@rBUxEM`@BwWAvaNGdKY=Wv?oe3%$&Le;bQBSao;^5j{B{=w~koUe!^ihm332rD)dis%ct()k1BN z?%C)uFa8a>)l!5SS7vTO(I9p_gUoL=-gz1GT!T2!xY)po*mHN%c9{MId6fO0Zk=}% zV$3PZ-S8KB1YSX|sMfL}eQ!C28j8U#aREDKo$z-QlT+6sqpGm}kn|Nh3W}Y(rdZLE zGrr9QSCSX8QN{42=L!LfYX2o%=CYSLLd6bGRcOBEZ+HJB?U^+w1fmq$*$ur6#T_kG zC%1i+p9`K6rv-)*{6Uq`S@q0%#I!JXiXRKnIarGE0>nUn>L5@S4S#eJmegakWYiwS zc_61=E9cQ3$bc6o<=2V04D=4CNV2T>oGffk;&U?bZIOa9z z=qD-FzHv{p&EZLGf2X}sQ*{6(ab{KFGTv|dbC%H$o#wH8^zhL?Uxj`Q$$Z^{IvpBE z60@LRAOGorpnqNqN(;u;gD%`bCff93D+gGHjs(bW+^Swati4FVH%29&gG`+4b#PFF z<*TiC3{2hHKAfC!fZW2%A0jHZ?d_9iv`LVS?4pwQgD(@Wmg(dN{1sK$#NEV4ePUI; z*V7B}D`e;})0G(m^6y38YC(P6Ta~UN>&5>`YNqu;fqY$oNdhcXTdOJUvAMvKeqS0ti&x zF7&Z&&;bJ0)|*xTN3>MSXjf%iXnfQb%`!S&!I81eUQdp@wO8fwFpn0`XlG&^uRw*S zo-6Xswhu3Hc1gx$5-gvPqYsX5Gbc)f6M3~b@=C3Bj2Nb=G7io_1V{ClA6L+s24i5+`?xeC<V1 z0)ctZOj4XaXxd@VfiRpV_CRQYlgI+!z;-)swZ>yE?nd_YK|zz}iagOXaSaHxa1oCa zLtY9pSY`B({GZj9cOjpZt80_IM+wKv8vZjzDl36-2)|68Wd!vRbZ@Kb^F$FcFv;Ow z&`;PE)=Eriq8N2=f#``E{bl!X>Ni4j&ME7~=3Y?qudw!B4&6BoQg25>fITu-6{ zI=n|XnjK#5F!6It{q*pMN8s>*0>?2pa+mw|WWsfi^nwEy%!fQ3-d5&#g*;HC;yA`8 z>?{~tGj>N&=-?1g<>rU~f+TDs+=akNMMY=CcZ`@aw!pc46p$dE5gwZhMFK|%C!fHH zhaE=XP*Lclz4jP$bVe$UyfyuVohA6w>&bEiRbr$`t3CeKgWYdc4xW&!w1R&4gBi5F z1*aFj)(qdklF;ed?r+?MrVDoD0z0rO9pT%@RTg?wwt^Ui13VB@Ox#IaiW{kX(L#;{ zuSh`^G}pOSekNpING~20LC&&5Et;yrNmDymES!HDCu1{Lt(36{aFqpB3$@NM?Bq9p z8b6E1=mLatJ)-ba^yy_EYvF?ckfi-tR;U1Q!7w6@CQ-*;)4~HA>J~=HhWgKBU$vA< zrQO-*r)$?I2#-{lN~|tQAt(O`X9!p_!Gz&b<7~wX!}F@)HooFWW&DJ#6Xy1(b$22) z`0epe&lWCkF212envxoPhha1BaHw>b#^=mJlK7l!`K=^nKS3*_$Jz0q?XvK_!)Gib zLnnUC_2VLl#2FH~xwi$_5r4b)a`<}@n|;1w)j+@iJE*c((1Yiz3O(L~pj;^d!oLU{ zFI!b+qe@6z4EQHGG(|zS95W|@D(E0QD_of$pTkDQ=dgjQ5Ob7dr)uHI=D=CXanlr+ z5-c0DkRG|L9>mTWo=zf_-3eUfaKT@u@nPGCS=O#%reT8WE(q#ZaZfRVm%fZsDwPtA zM*x#&0ktlXe0aDZrRSrv+^RHKjX$U}qG(iWbhP`W!;#1C2%?XSH``8voj%(3L4pPU z6}X`bjT3Eu$ub7dj$H%471g=I}f;DI*?$x5j4zOXVqIAcfD}L?w1a>^*Rworv0Gt+qS2o%}+1JutvwRFO!sFl9dSkIp*mFjQ=0> zy%itot!wLbs1$Fue#qX7>`4m_#pCrSPa~Nq@n2~rMrXQI4L?8>#%~cz`&W53y53T4 zNH!K;S4?uFo@B>cy#U~Ct-YhIN@Wo2&Mv+>jW^lNqpWWBu-~{R34U-{>j(BK<1@rH zbxKF4^dQ26zq_odv$fZ*2oV}GN;XZZzcXO)nP7vpJHgCr#zxJ!&tcr`H12X4H6G)u znfa~p-z8;xup`LS!cdL6&k?@M6|V7wznU4p HQtUz0Frt!JH1-w?8p9Lu|Y*~!g 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%0AW4H|29s6hZaR0={e*{tQ)!q@I|E_)!9BK4} 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

gt8Zwnek_($IK`>ej_tbD25}JaM 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 Gxb)nk_$KA!tEVDc_ieik!X0 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

b14dQ_^izO&`kxBd6d^neE_ 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ⅇ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

=^pLbUQErhjn4zcKwTQ7 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%0AuXB2E)9aGbYv=yjsM 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

>Cw}MmV+5d%)OJjzhw3ls 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

)@~f@-3wQFxBm+AjIEIJpt&=`!_;(b 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�l1| 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 z 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

J5xRpOSSOVZ)VW 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

    ry9;+A9Lu+f7xwDI^n@ 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 z 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

    j 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� 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 L{> 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%0A%7vd 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 lz+?r+o0cP71mVLZ& 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

    B*QJc8+Rh@QLN)y7UcV(Dm0QF(rJb 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≪H(MFuxTEXBPA4?QcIqRz8{;Ng#R`Cu&b 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

    0hFfh%SVzd(}BC} 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

    #s!aVhf6k+`&io(E%eQ>>q&%b*b4ZHo*OC_7<0X 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�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∈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း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%0AAxU&a= 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 2-p=f}>OQ!PcXr*|)=<*aZ$Rem5B?F& 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≶2c$-*bH_iald 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%0D$PGOgHU=;6Z1y7)QEhpd^)F(FG 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

    szJ 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 Zyya^;{%GsWPjbJWGV9?_ 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 z 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≪8uGzh;sP!LLkR|E#g#S74)1j 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

    tjzen)bYQS{jPX=Syjo)7UrNZsRAMu>NTc*;= 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%0A-$`9X;9q37Z$*&*%TqA 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Ν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

    v&xz5S}*#wO24pO;GdpJ8}IoNeq>h^ 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�*GZOrHpY`nkU#}*#95{jjQaL9Z)^PsC++i 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℞BuoQL6U@sn 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≶LR7bh(+`rDLQ6TBWbl85mY>O(B(x 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

    PLN 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�qcm+uaS>h?AOizgdF;A{cDhi)4Yp;GZ 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%0D6pGD6A}DR+gAqS<;V{czLk% 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/ubuntu/Makefile b/linux-0.11-lab - 副本/ubuntu/Makefile new file mode 100644 index 0000000..99fc01d --- /dev/null +++ b/linux-0.11-lab - 副本/ubuntu/Makefile @@ -0,0 +1,16 @@ +EXES =execve getdents pipe sleep getcwd mmap munmap clone + +.PHONY: all test + + +all: ${EXES} + +test: + @for i in $(EXES); \ + do \ + (echo "--------------testing " $$i":"); \ + (./$$i); \ + done + +clean: + -rm ${EXES} test_mmap.txt *.o > /dev/null 2>&1 diff --git a/linux-0.11-lab - 副本/ubuntu/clone b/linux-0.11-lab - 副本/ubuntu/clone new file mode 100644 index 0000000000000000000000000000000000000000..2bc4f9bcb7e5a6a92268e6d3aa164317bc71299c GIT binary patch literal 7692 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/ubuntu/clone.c b/linux-0.11-lab - 副本/ubuntu/clone.c new file mode 100644 index 0000000..4826412 --- /dev/null +++ b/linux-0.11-lab - 副本/ubuntu/clone.c @@ -0,0 +1,48 @@ +/* + * 测试成功时输出: + * "clone success." + * 测试失败时输出: + * "clone error." + */ +#include +#include +#include +#include +#include +#include + +size_t stack[1024] = {0}; +static int child_pid; +int g_shared = 0; + +static int child_func(void){ + g_shared = 1; + printf(" Child says hello.\n"); + return 0; +} + +void test_clone(void){ + int wstatus; + child_pid = clone(child_func, stack+1024, SIGCHLD|CLONE_VM); + assert(child_pid != -1); + + if (child_pid == 0){ + exit(0); + } + printf("child pid: %d\n", child_pid); + + int ret = wait(&wstatus); + if(ret == child_pid) { + if (g_shared == 1) { + printf("clone success.\n"); + } + } + else { + printf("clone error.\n"); + } +} + +int main(void){ + test_clone(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/execve b/linux-0.11-lab - 副本/ubuntu/execve new file mode 100644 index 0000000000000000000000000000000000000000..06fdc8a7171f5cf4afe65b02117c8cb22f7fd22a GIT binary patch literal 7399 zcmeHMZ)_CD6`wmF5#YVFgDZ5niz6P}2~V!#)!e+ki1dRT`G_-P(8M{@#?C90qbwNVSbfJ+s%ghrLBs{d4?o?BO?O+xuVxc+`K zJFo_#s^9v-@AU4?Z{C|XGjHGQ&dz=*+TH2%`Gh9Fs1ZavN`YW2YFb z|L9)yLGK;kRn(E`pYvOnP7SO}Cz{f!Y;nXac+IUUAN6gRr``TLmYP%38&Ooe;xCry%SRJAS|xmPIpY zV|mBQ#8O$*3}tdzx5g4%ySuiuTP@~#cE>sS@#CC)@~2`W=aCzmYgg9EdR;^Z#oOb3^OjMTM3O-S$J4w}t z0%%oT6~sR)s;lTd$>P)>(X6_Py(Fodx*#!oOY%}qotBurCV2^`P5?Lmeec+xN|!G0 z=~1o8iDEo@2?Gj_M=S2Q*r0OadbNr%CRlb*K3}H8OP4FJ z!ME%mHIFw}_w1^ih5B$gx)hgly76c_yng(RS{PM)s2?u{QGDRsnd|-|SDe)=ngUc3XYvM>H%=`ZoT%_=nP4jZf^go-F@u{)Cs_N2T!j30%#tOseGGZCSu?vpH8gqp(47D^2JD<Kyh=0rcIsTrra3kCAL-mW$^FDAx-z(Mf zzHtcE&q5!&p^t=WpRZ{T)jb!8gc?e7dPD2|kA@l|ic9z`*`okU`j1Nv?%__sfAGUP43|o6`Fr`96wW zr+i=I`&BJ4_g8#J`tW)+cO37V+}Eu|JHFe!4g3j6?z{Lt#r@E|U=sI`0y}N)iwrRL zczoUdB={uSvwR$qdom7;@6eRkO688B9$Uj4$9fs^ATWymGx7adH(G>u{`jSD*+-BI))V$HPR5mR_n1#`d6B~eZ z@=7LkDV25X{ID>yImb35Te_N@*pQ2cvPE;Cn8I6iDj`gwWDMJGGclTlKP8>K(j2h! zg;Xv(16a`I?KJIGVL0swGnGx@-?2yVKL`L-E)jEL!nBjtU_O?ytz-f%HBv3CSUw*c zRV{S+3vrmic`TEPqvISL;?I=5D31e$f-vK`OvcVSI=i8|6s z@Lgcq$#V}V43sr7KS|ACZTA9llkX5=sZoF0t^@E2@{0bL)5l$Z^4tM+v?KR|nb)*q zuD=bteJC^cQIs~!`8{CfJMFkO)}p{Qp^3JnyUCQQ$h%{j#3CAIx>YGS|W} z6bzKT{Q`=o!FPjc$F+1E1tzxk$2ky}z}k*$@1*OGcI;o<9YdL8Wk0+(ybC+VUK8y| z&x5s{;9A1u<@=e`s`~(KU-a1V%xwqkF6v-F$Jmj+4%Ys7FA8H|`kjz^-S5k;9p~Ey zyEfQuqJc}=?z_PBM>}~A2D?_*hCt8aC{g{&>((_c35H(NONC3iNXcufY0Vh@{pd)F23eEiI z{fIT{#8};T6jnX+{-Utzf%g%GRRnmyP#8%C;(bA3UQxCF73LjFt#gH?nOx5bbLFaM zrow#Us`aTb?@%E3nN}lLG~#gs^9iq>@su?(lhyiB7|8K_M`r-G0^v>t@y`h@^qD8?b>9tx87 z-+<&^2?F|hA&>6}Kpc-ZuZYi}-g!>jFA%>3_KuhBG|`^xUiUBHe;QcF(}#F|2(0_3 zKFAK;`1ugeWxzb2Wv141{+RtEG~@U_u&uq%>h9XrZ&@N?=k1|X0UJTf$yo7pE^8OW9jYuV zk+X)PN;tWE!HN|}1ol_MY1^?A=7xthHpBBBj4bZ-)V|HaUMxQ<)J`u^%w$H< z#Dgqu5NDXGlUzCI&b~-b)Qa|YVAN^~x;&#*LRcN2>y7kuwZqDzksnBewY7WumPog? zy|Z&ywBPEFZ0U~Do&1IpFBIiq@wuhH$GRDr{+@Qmr9U>1=J%G7whiWx?O4Nc%Sjfq z`^|w7!9Az?;vy_tZa`g6mPf7Tgj&|5A2ZLD)rfD+X1W3&4u=KtWZEASQh54W6q%H%$N}pb@=Xn Ij*|WT2en+iS^xk5 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/ubuntu/execve.c b/linux-0.11-lab - 副本/ubuntu/execve.c new file mode 100644 index 0000000..f292094 --- /dev/null +++ b/linux-0.11-lab - 副本/ubuntu/execve.c @@ -0,0 +1,21 @@ +/* + * 测试成功则输出: + * " I am test_echo." + * 测试失败则输出: + * " execve error." + */ +#include +#include +#include + +void test_execve(void){ + char *argv[] = {"/bin/sh", "-c", "echo \" I am test_echo.\"", NULL}; + char *env[] = {NULL}; + execve("/bin/sh", argv, env); + printf(" execve error.\n"); +} + +int main(void){ + test_execve(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/getcwd b/linux-0.11-lab - 副本/ubuntu/getcwd new file mode 100644 index 0000000000000000000000000000000000000000..d64df75bd2a68525ea8dbf2669016c5782d56f8c GIT binary patch literal 7485 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 +#include +#include +#include + +void test_getcwd(void){ + char *cwd = NULL; + char buf[128] = {0}; + cwd = getcwd(buf, 128); + if(cwd != NULL) { + printf("current dir: %s\n", buf); + printf("getcwd OK.\n"); + } + else printf("getcwd ERROR.\n"); +} + +int main(void){ + test_getcwd(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/getdents b/linux-0.11-lab - 副本/ubuntu/getdents new file mode 100644 index 0000000000000000000000000000000000000000..501a3c8d3288f9f014757a85290a28a9a4182089 GIT binary patch literal 7685 zcmeHMZEPIH8J@E*VG}MFCvj;YDY=4Ek~UfF)Cmp&;fs9Wnhs6d&8vLK`$5(kby9yBP6fGM=0SPGO7s7pCu2ti?e(V*#AKfY;{QCOeXcYQX~dwn*wI-AKA2Tdn$u2DADrG0bvPW-FupwGn+ z)@_8a?`XF_To(G>)1v3csljX#h=pIpplVpuuZhAaDcGPf7OAI$?Ef zvm7^-$yr6mPKkk{>+mm`P85V?B^<{txK>{xlNAGnOwR2S$!y-SMSj4}31`SjCbC)Z z=nrlZ;PxjnIh5?~&*!`nOKjfKwXwrmV>YAxIys8?uYUpbD}U-9Ly3k=W*(UX1W0Ew z)@I`dg~o!$Wgs?C;R`(urXI0jru=KKVPgzvg2Enc_H}KCGs>|7Wn%RlBK(8)m6lvNfPD{*a z(j00N$0TM{X%4Z8=Okuy=?L+d#Ede%g7~n+j5f_Kn%E;TqfWOG4@k`D)9u8&fLs24 z|H#{=@yYG+p7dL|x9I`=-En979;nJwAbi|+*#8?{+En)AqZ{CEbsPRl)3YBAl#jx( zKp#x)9C^2NX7R~j6K&Pgr^<((r|Br6f+U!N`p%D<8o-_R9DI-7#J z@*AhhBU6WdBZuRjo7>?)6c*t1fzcvLX-orcZYN_72qw)zDkC*pe ziD71ej8`Oq&y;8i9t1rC)AWLKUz{#o7LDfc>c-$y%}+D2A2Avy!uRz_L<-mgh4 zoeZr1XYsG4mzUmizja^v{dtG|>7%kY&q}hzMQo81i|cFveQU}!B+{3(3kuAn$QA5FD)Qxz=4 z*w_>f-8TPnH#jJ6xoX2#*EC&2dpjh7wpK!mXxP|Ww{hMq`xSUm^>?B80oXtB+v`4% z1lHdJxdpLt-9A^pTh(tv(HNu^_5`%DN5i50^&R1ceZgqBu{5hY++25SxG`D|H$+c_ zL(!9ABl=1>$c5?8kTmLIWM4{`df-wITKJ#eW9{;xgIus3K-;+>a4;4v#D1U*~| z8h8m1laHidj%5`XepHUBK$H~DTh`~=<=pkD*#R_PH4-+%c0 z`vQcCdk}%W7oUT-Lio(*>-HBRt!S6|RnU9}GcdkGQ{&N@51|}eg*;=Ogq}is$o|iX z@6Wo@^YD2B@+RbOkSWM)^vM;FuRzv${X_odj*c56D|Yr4b8a!xYPOlJtJf4IYI&@s z)ogBEsY)*-u36o(-eW4x8X-()sNYTWLc0Z}(>jN@J-aX<%v|2J&FIFi)ox<9hj!lNM%bC&aYMAaS~{MyawVD zMDsWwTfw{4<8f`!yo1OyR<^_SVi>$@k=Kblru`7j8v}0)yfGTQ#6BVSyAaLeIb1sm zpW#J$i99C0KWHA;r*QkLzjZb9irp!*=P9FXIiL!}}BL zycgujGeYnxUKx~Zm-lxZqW$q~=j=uNF~$iWkLxuT@n)3iL=NRci1ybEUNd-XM<;Ta zrXeh6eC^=1ffw=J-w4W?K84VqZi~FFG@FX3ab{ljwq~phwFvHYBq9R zP?&dA&3}ctVyStqu%yZ7rNW%K>N%<~pTcT>D$ErM^AGb-Va{mW5APXQFZk3~&wc88 zIg-`g1{f8T=QgDS6Bw;#aD!5VwK>#xK0b4)zv!%<+p zN22{MV2)q<4WM=(H0LiA@FKwjFz%~}$^Sky&+~}`=#Qh!c!}|pk>|k`*NgyGgqiX3 z+~COry8Z(39dO=PWB zX-6z>#iJXy#OO|bc}Y4&c^&wg6W?l`@3i>V4t7~Q(VMlw9c)`?B4leIX}RfQ?m@G6 zP;fh}zSDRgc-q^~f32}>xm)&pTYfIS6V)(lKlq@loxGJ!FuwV#}7&u%aH zmQ+*o{N=KP^oOb%ik(a84^uVeUN`m)Sm}pFZ?W&(DKa_+Zv$Q*sIOPIJ!JKG +#include +#include +#include +#include +#include +#include + +struct linux_dirent { + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[]; +}; + +int getdents(int fd, struct linux_dirent *dirp, unsigned long len){ + return syscall(SYS_getdents, fd, dirp, len); +} + +char buf[512]; +void test_getdents(void){ + int fd, nread, bpos; + struct linux_dirent *dirp, *tmp; + dirp = (struct linux_dirent *)buf; + fd = open(".", O_RDONLY); + printf("open fd: %d\n", fd); + + nread = getdents(fd, dirp, 512); + printf("getdents fd: %d\n", nread); + assert(nread != -1); + + for(bpos = 0; bpos < nread;){ + tmp = (struct linux_dirent *)(buf + bpos); + printf( "%s\t", tmp->d_name); + bpos += tmp->d_reclen; + } + printf("\n"); + + printf("getdents success.\n"); + close(fd); +} + +int main(void){ + test_getdents(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/mmap b/linux-0.11-lab - 副本/ubuntu/mmap new file mode 100644 index 0000000000000000000000000000000000000000..207c6100e898cf314945e79218cb771269cb5916 GIT binary patch literal 7723 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/ubuntu/mmap.c b/linux-0.11-lab - 副本/ubuntu/mmap.c new file mode 100644 index 0000000..b2ae8f5 --- /dev/null +++ b/linux-0.11-lab - 副本/ubuntu/mmap.c @@ -0,0 +1,42 @@ +/* + * 测试成功时输出: + * " Hello, mmap success." + * 测试失败时输出: + * "mmap error." + */ +#include +#include +#include +#include +#include +#include +#include +#include + +static struct stat kst; +void test_mmap(void){ + char *array; + const char *str = " Hello, mmap success."; + int fd; + + fd = open("test_mmap.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR); + write(fd, str, strlen(str)); + fstat(fd, &kst); + printf("file len: %d\n", (int)kst.st_size); + array = mmap(NULL, kst.st_size, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, fd, 0); + printf("mmap addr: %x\n", (unsigned int)array); + + if (array == MAP_FAILED) { + printf("mmap error.\n"); + }else{ + printf("mmap content: %s\n", array); + munmap(array, kst.st_size); + } + + close(fd); +} + +int main(void){ + test_mmap(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/munmap b/linux-0.11-lab - 副本/ubuntu/munmap new file mode 100644 index 0000000000000000000000000000000000000000..b90557eb93fca1610e704fec9167dcb9be83c21d GIT binary patch literal 7725 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/ubuntu/munmap.c b/linux-0.11-lab - 副本/ubuntu/munmap.c new file mode 100644 index 0000000..f48b66a --- /dev/null +++ b/linux-0.11-lab - 副本/ubuntu/munmap.c @@ -0,0 +1,50 @@ +/* + * 测试成功时输出: + * "munmap success." + * 测试失败时输出: + * "munmap error." + */ +#include +#include +#include +#include +#include +#include +#include +#include + +static struct stat kst; +void test_mmap(void){ + char *array; + const char *str = " Hello, mmap success."; + int fd; + + fd = open("test_mmap.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR); + write(fd, str, strlen(str)); + fstat(fd, &kst); + printf("file len: %d\n", (int)kst.st_size); + array = mmap(NULL, kst.st_size, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, fd, 0); + printf("mmap addr: %x\n", (unsigned int)array); + + if (array == MAP_FAILED) { + printf("mmap error.\n"); + }else{ + printf("mmap content: %s\n", array); + + int ret = munmap(array, kst.st_size); + printf("munmap return: %d\n", ret); + + if (ret == 0) { + printf("munmap success.\n"); + } else { + printf("munmap error.\n"); + } + } + + close(fd); +} + +int main(void){ + test_mmap(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/pipe b/linux-0.11-lab - 副本/ubuntu/pipe new file mode 100644 index 0000000000000000000000000000000000000000..5693375dedb8159b54eeed88269cef725908bf79 GIT binary patch literal 7805 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 +#include +#include +#include +#include + +static int fd[2]; + +void test_pipe(void){ + int cpid; + char buf[128] = {0}; + int ret = pipe2(fd, 0); + assert(ret != -1); + const char *data = " Write to pipe successfully.\n"; + cpid = fork(); + printf("cpid: %d\n", cpid); + if(cpid > 0){ + close(fd[1]); + while(read(fd[0], buf, 1) > 0) + write(STDOUT_FILENO, buf, 1); + write(STDOUT_FILENO, "\n", 1); + close(fd[0]); + wait(NULL); + }else{ + close(fd[0]); + write(fd[1], data, strlen(data)); + close(fd[1]); + exit(0); + } +} + +int main(void){ + test_pipe(); + return 0; +} diff --git a/linux-0.11-lab - 副本/ubuntu/sleep b/linux-0.11-lab - 副本/ubuntu/sleep new file mode 100644 index 0000000000000000000000000000000000000000..db3f70875d0b1c9188d33b34f9259da9b190b60e GIT binary patch literal 7556 zcmeHMZERE589q)7bxY!gkao1NVGW~(32u`tprjouCLa(MLI@5WYsbZjo!G^(Bl{YX zuB9+HKm?H@y6!`o)>f0c{a_MOrxtD98fqHEgtV-hP^W1c+o+a|Ok{(x{GfQxbIv{C zCQwcNpVxZ*p69&J`Tn@)p8HZmbEC`U5?TsGp&+`Pb$hB|UtX*{)xsz47vJ2|;CgQKI~w2Zivw=Jrs_ zk!TH+<s7L`f`GOy6Dt$Sus9h3Leh*WI4`KrEp}2ba-e5SG%SAJF}CX@!uk&!@2jC3voPqE1%B~j93fCzk$f?InOgW79;ZO+(?mM<-xzit5{-` z!HLUAl3&G=qx4OTNz58VIaMY`BxX&boFWsaC1#DHKH}FUX3e7I#KRJ^hEaCO#3A6y zf9@IlOZLiCYp^Zaim{1a9&meh?22B58GjFi8(qWB-|^-CoD-k|*o_G7{%a2{i4ZTg*8A8cFJ6$mN{@H)5aE<+LI^)XyLMHrBCmgKz zyLI9ZFXRSq4!!#r8HYA71Cd!G^Y@IufGUnIV4Um1b=2&Q5)2&5U!g1V@JvPMK}9C| zkz{xxjeqGXA8ME!bo<9o-p=QbH%tzU^!v}(`-{$@Ghn%n1+2T5*zNCw8Gi>t8~H?5>!%D~LHKGBD)|o4C7=sAHuuWZ_(HT?_Ra$wbAKGhnrwzGM&o;7Z@~`3mY@}mIIL~) z736aWR(L&)-lDA!F0$Nx;;BcU{8E+wi}Y`VzKZ5vgB1a5OA?tr%}yP(BeQLx2Z7RY%^0;ArdzFl4P5M!u6SgXKF8-Mv$y0dWLp`xh6r4nc_%mcFD#wm=S{R+lo}Ng;(mnhC zE$1D_oAX89tpIRNXrYg?5{g$;$&+^=aQJ|=aIR7+p_+FL^OR>^zx1d-&8r8zi8;n{ zIloWY`Ej08$fLGEImgN4yuSz@&)ZxF2ucp;|1K!!K6zXx&mzF}p@m$^9w_HHd7R&) z2yiXvav4wE2j!YznCs#r1bhfP%LNqAL+^)@$8|N004KK2k8L2%LN$-;kd@{7B#(Q7 z=AA&8b!9o+Cu+c3iLe&(C`X~1w->y<;2omF7WN6bC!w0h`?t&BrC3>8$fJB8s(IX( zf~bIghoN7W`y-pjETZ5=!Rsc$7R`GTnE8>%`!L>(RofgI&HFjRn&&=>dmc=lv3u}- zjW{n9)mL|Tc*oXxkgmhOL71=K_ zh?05Geqx6!2q5HbQ$hL9vZ#DMFfT1Hg13+kTXc}tF^xp^!&sLn`16Q2psWLu$~o`M z?;IX*BaVbRKTz)y?njJNx5w)4RbiC@_ZNj#3EW2%Rz1M|LSeNUxi2Wp5moD7VeVLJ zohvM9ay=`|l?&mzg%k=tebxG;EtETy5L|}}b49EBZiV@@SI>KeIg{1;Q5cg2!gZoB zdk%ew^`J0EMa_GKxnrsMt+3j$Igb@qD_1{<3+>YZ=cV#vuqd2=kV17j5S(WUFQt+5 zNnxH+?nog{Db8_oi+|>$4I4PXo&vIan7`cfoS~ z!T>K3L$Ewg5tIJ|Sl;6kyRd_wVZavFX9Qth$MM!``3m3Ee6*0q2I>>?f!J3f7b)IqCT9trKo=+{kHgEJAg~jKF-|I zf@0AJtjEKL+x)D9&(VJsSl((PTmt_O=lJ1RMSeH179RrNa`0K-qjUUk0Q33EG^JR-KXLe(r|3*s zX)Dv!g?mNQ+*;RWHaG1Inx+UxQjzXh8V5M=Xx$wVZL>&CmHOf#G`yW`1@P}~e# z$yC}5W%>lpXT9-=6$u;b*VR@c=X;P$o)p!&&%{|S)i2aZF`Vh?=|>U=GI_w9MU_{U zvd*n-4Z+}Uv$4IUF4(la#Wano+I8!YzOgN^t-)+)sYh#6({y-NZed~8?`{cfYpMgw z;gR1?gt@tS`=&s%xxKM*XG72o1~xS}Fgy8qr8Aw8jld_G;5PG4j|I2YvA=?$jyS*4 z^wq34x+9j^+i6ub(-uWbBM&wbK7rD-8*=A>iUAXDY3}1(4 zQD%Sk!9b*wW;B!tvu3kDEZz0ZXm&m`EoL7%?~O5d=tH}^x_Zs%0kj#XbUR9YecHO; hY_lg%U7Vk-(jcLq^!Ts?_3WD6eX_V&pSqm&`X2#AWi0>z literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/ubuntu/sleep.c b/linux-0.11-lab - 副本/ubuntu/sleep.c new file mode 100644 index 0000000..5eb6c8f --- /dev/null +++ b/linux-0.11-lab - 副本/ubuntu/sleep.c @@ -0,0 +1,32 @@ +/* + * 测试通过时的输出: + * "sleep success." + * 测试失败时的输出: + * "sleep error." + */ +#include +#include +#include +#include + +void test_sleep() { + int time1, time2; + time(&time1); + assert(time1 >= 0); + int ret = sleep(1); + assert(ret == 0); + time(&time2); + assert(time2 >= 0); + + if(time2 - time1 >= 1){ + printf("time passwd: %d\n", time2-time1); + printf("sleep success.\n"); + }else{ + printf("sleep error.\n"); + } +} + +int main(void) { + test_sleep(); + return 0; +}

    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 zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* n1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz`#Bb_yeX4 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/images/rootimage-0.11.lock b/linux-0.11-lab - 副本/images/rootimage-0.11.lock new file mode 100644 index 0000000..e69de29 diff --git a/linux-0.11-lab - 副本/linux-0.11-lab.zip b/linux-0.11-lab - 副本/linux-0.11-lab.zip new file mode 100644 index 0000000000000000000000000000000000000000..917afdb8971ce1b51ef4695a464dd29121b1d699 GIT binary patch literal 2916982 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�Yh~6hG}k6X1d|` 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%0D>(_lmq!=0iWjmgUR>z+JuS(r`%Xk)nh%_( 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/Makefile b/linux-0.11-lab - 副本/cur/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab - 副本/cur/linux/System.map b/linux-0.11-lab - 副本/cur/linux/System.map new file mode 100644 index 0000000..79c0563 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/System.map @@ -0,0 +1,587 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd3 T print_nr +00006c04 T show_task +00006c89 T show_stat +00006ccf T math_state_restore +00006d2d T schedule +00006edf T sys_pause +00006ef5 T sleep_on +00006f54 T interruptible_sleep_on +0000700f T ticks_to_floppy_on +000070da T floppy_on +00007109 T floppy_off +00007119 T do_floppy_timer +00007311 T do_timer +00007400 T sys_alarm +0000747f T sys_getpid +0000748b T sys_getppid +00007497 T sys_getuid +000074a6 T sys_geteuid +000074b6 T sys_getgid +000074c6 T sys_getegid +000074d5 T sys_nice +00007500 T sched_init +00007690 t bad_sys_call +00007698 t reschedule +000076a4 T system_call +000076df t ret_from_sys_call +00007728 T coprocessor_error +0000774a T device_not_available +00007784 T timer_interrupt +000077bc T sys_execve +000077cc T sys_execve2 +000077dc T sys_fork +000077f4 T hd_interrupt +00007830 T floppy_interrupt +00007866 T parallel_interrupt +0000786d t _get_base +0000789f t die +00007a81 T do_double_fault +00007aa4 T do_general_protection +00007ac7 T do_divide_error +00007aea T do_int3 +00007bb2 T do_nmi +00007bd5 T do_debug +00007bf8 T do_overflow +00007c1b T do_bounds +00007c3e T do_invalid_op +00007c61 T do_device_not_available +00007c84 T do_coprocessor_segment_overrun +00007ca7 T do_invalid_TSS +00007cca T do_segment_not_present +00007ced T do_stack_segment +00007d10 T do_coprocessor_error +00007d44 T do_reserved +00007d67 T trap_init +0000804b T divide_error +00008050 t no_error_code +00008080 T debug +00008087 T nmi +0000808e T int3 +00008095 T overflow +0000809c T bounds +000080a3 T invalid_op +000080aa T coprocessor_segment_overrun +000080b1 T reserved +000080b8 T irq13 +000080cd T double_fault +000080d2 t error_code +00008104 T invalid_TSS +0000810b T segment_not_present +00008112 T stack_segment +00008119 T general_protection +00008120 t _get_base +00008152 T verify_area +000081b9 T copy_mem +00008313 T copy_process +000087c0 T find_empty_process +00008854 T panic +0000888f T printk +000088e0 t skip_atoi +0000893b t number +00008bac T vsprintf +00009038 t get_fs_long +0000904e t put_fs_byte +00009066 t put_fs_long +00009072 T sys_ftime +00009078 T sys_break +0000907e T sys_ptrace +00009084 T sys_stty +0000908a T sys_gtty +00009090 T sys_rename +00009096 T sys_prof +0000909c T sys_setregid +00009155 T sys_setgid +000091ec T sys_acct +000091f2 T sys_phys +000091f8 T sys_lock +000091fe T sys_mpx +00009204 T sys_ulimit +0000920a T sys_time +00009266 T sys_setreuid +00009348 T sys_setuid +000093dd T sys_stime +00009433 T sys_times +000094d3 T sys_brk +00009515 T sys_setpgid +000095ee T sys_getpgrp +000095fa T sys_setsid +00009674 T sys_getgroups +0000967a T sys_setgroups +00009680 T sys_uname +000096e9 T sys_sethostname +000096ef T sys_getrlimit +000096f5 T sys_setrlimit +000096fb T sys_getrusage +00009701 T sys_gettimeofday +00009707 T sys_settimeofday +0000970d T sys_umask +00009740 t _get_base +00009772 t put_fs_long +0000977e T release +000097e2 t send_sig +00009861 t kill_session +000098bb T sys_kill +00009a6b t tell_father +00009af5 T do_exit +00009d29 T sys_exit +00009d42 T sys_waitpid +00009f68 t get_fs_byte +00009f76 t put_fs_byte +00009f8e t put_fs_long +00009f9a T sys_sgetmask +00009fa6 T sys_ssetmask +00009fd2 T sys_sigpending +00009fd8 T sys_sigsuspend +00009fde t save_old +0000a031 t get_new +0000a071 T sys_signal +0000a0f5 T sys_sigaction +0000a1ff T do_signal +0000a3eb T kernel_mktime +0000a530 t oom +0000a54f T get_free_page +0000a58b T free_page +0000a5fa T free_page_tables +0000a6f9 T copy_page_tables +0000a87a T put_page +0000a966 T un_wp_page +0000aa1e T do_wp_page +0000aaa9 T get_empty_page +0000aae9 t try_to_share +0000ac7b t share_page +0000ad2f T do_no_page +0000aec4 T do_no_page2 +0000b026 T mem_init +0000b09a T calc_mem +0000b18f T page_fault +0000b1c6 t get_fs_long +0000b1dc T sys_ustat +0000b1e2 T sys_utime +0000b28f T sys_access +0000b36b T sys_chdir +0000b3df T sys_chroot +0000b453 T sys_chmod +0000b4ed T sys_chown +0000b568 T sys_open +0000b80b T sys_creat +0000b82e T sys_close +0000b8fd T sys_lseek +0000ba14 T sys_read +0000bc07 T sys_write +0000bdb5 t lock_inode +0000bde2 t unlock_inode +0000be00 T invalidate_inodes +0000be6f T sync_inodes +0000bec6 t _bmap +0000c2b2 T bmap +0000c2d5 T create_block +0000c2f8 T iput +0000c467 T get_empty_inode +0000c5bc T get_pipe_inode +0000c631 T iget +0000c7f6 t read_inode +0000ca2c T sys_sync +0000ca8f T sync_dev +0000cb88 T invalidate_buffers +0000cbfa T check_disk_change +0000cca4 t remove_from_queues +0000cd9b t insert_into_queues +0000ce60 t find_buffer +0000cec8 T get_hash_table +0000cf4a T getblk +0000d0e8 T brelse +0000d131 T bread +0000d1b6 T bread_page +0000d2d8 T breada +0000d3cd T buffer_init +0000d4fc t lock_super +0000d529 t free_super +0000d56e T get_super +0000d5dd T put_super +0000d6b0 t read_super +0000d9f3 T sys_umount +0000db54 T sys_mount +0000dcc5 T mount_root +0000ded3 t get_fs_byte +0000dee1 t put_fs_byte +0000def9 T block_write +0000e04b T block_read +0000e176 t get_fs_byte +0000e184 t put_fs_byte +0000e19c t rw_ttyx +0000e1e4 t rw_tty +0000e234 t rw_ram +0000e23a t rw_mem +0000e240 t rw_kmem +0000e246 t rw_port +0000e2e0 t rw_memory +0000e3b6 T rw_char +0000e420 t get_fs_byte +0000e42e t put_fs_byte +0000e446 T file_read +0000e5f1 T file_write +0000e7eb t put_fs_byte +0000e803 t cp_stat +0000e8da T sys_stat +0000e924 T sys_lstat +0000e93f T sys_fstat +0000e99c T sys_readlink +0000e9a2 t _get_base +0000e9d4 t get_fs_byte +0000e9e2 t get_fs_long +0000e9f8 t put_fs_byte +0000ea10 t put_fs_long +0000ea1c t get_fs +0000ea30 t get_ds +0000ea44 t set_fs +0000ea4b T sys_uselib +0000ea51 t create_tables +0000eb9c t count +0000ebdb t copy_strings +0000ed97 t change_ldt +0000ef1a T do_execve +0000f99c T do_execve2 +0001046e T sys_sleep +000104a7 T sys_getdents +000105e0 T sys_getcwd +0001095b T sys_mmap +000109b7 T sys_munmap +000109b8 T sys_clone +000109b9 t get_fs_byte +000109c7 t put_fs_byte +000109df t put_fs_long +000109eb T read_pipe +00010cc0 T sys_pipe +00010ec2 T sys_pipe2 +00010ee1 t get_fs_byte +00010eef t permission +00010f90 t match +00010ff8 t find_entry +00011452 t get_dir +0001163f t dir_namei +000116be T namei +000117d4 T open_namei +00011b27 T sys_mknod +00011d57 T sys_mkdir +00012108 t empty_dir +000122e6 T sys_rmdir +0001263e T sys_unlink +000128df T sys_symlink +000128e5 T sys_link +00012b3f T free_block +00012cb1 T new_block +00012e55 T free_inode +00012fbc T new_inode +00013196 t dupfd +00013270 T sys_dup2 +00013297 T sys_dup +000132b2 T sys_fcntl +000133f1 T sys_ioctl +000134c2 t free_ind +00013561 t free_dind +00013600 T truncate +00013735 T sys_select +0001373b t lock_buffer +00013768 t unlock_buffer +0001395a t make_request +00013afe T ll_rw_block +00013b57 T blk_dev_init +00013ba5 t unlock_buffer +00013bda t end_request +00013c8b T floppy_deselect +00013cc2 T floppy_change +00013d48 t setup_DMA +00013dfe t output_byte +00013e74 t result +00013f31 t bad_flp_intr +00013f90 t rw_interrupt +0001407f T setup_rw_floppy +00014140 t seek_interrupt +00014199 t transfer +000142ce t recal_interrupt +00014318 T unexpected_floppy_interrupt +0001435d t recalibrate_floppy +000143bf t reset_interrupt +00014404 t reset_floppy +00014481 t floppy_on_interrupt +000144ec t do_fd_request +000146f0 T floppy_init +00014742 t unlock_buffer +00014777 t end_request +00014816 T sys_setup +00014bc9 t controller_ready +00014c5d t hd_out +00014d4a t drive_busy +00014db0 t reset_controller +00014e2d t reset_hd +00014ec5 T unexpected_hd_interrupt +00014ed8 t bad_rw_intr +00014f16 t read_intr +0001503c t recal_intr +00015056 t do_hd_request +00015357 T hd_init +000153d1 t unlock_buffer +00015406 t end_request +000154a5 t do_rd_request +000155db T rd_init +00015631 T rd_load +000158dd t get_fs_byte +000158eb t put_fs_byte +00015903 T tty_init +00015914 T tty_intr +00015988 t sleep_if_empty +000159c0 t sleep_if_full +00015a34 T copy_to_cooked +00015fef T tty_read +0001635d T tty_write +0001656f T do_tty_interrupt +00016597 T chr_dev_init +00016598 t gotoxy +000165e6 t set_origin +0001664c t scrup +0001683c t scrdown +00016933 t lf +00016969 t ri +0001699f t cr +000169c0 t del +000169f2 t csi_J +00016a83 t csi_K +00016b35 T csi_m +00016b9c t set_cursor +00016c02 t respond +00016c5a t insert_char +00016cbd t insert_line +00016d01 t delete_char +00016d5f t delete_line +00016da3 t csi_at +00016de1 t csi_L +00016e1f t csi_P +00016e5d t csi_M +00016e9b t save_cur +00016eb0 t restore_cur +00016ecf T con_write +0001755d T con_init +00017794 T sysbeepstop +000177bd t sysbeep +0001781b t mode +0001781c t leds +0001781d t e0 +0001781e T keyboard_interrupt +00017847 t e0_e1 +00017872 t set_e0 +0001787b t set_e1 +00017884 t put_queue +000178bd t ctrl +000178d5 t unctrl +000178d9 t unalt +000178ef t lshift +000178f7 t unlshift +000178ff t rshift +00017907 t unrshift +0001790f t caps +00017931 t set_leds +00017947 t uncaps +0001794f t scroll +00017958 t num +00017961 t cursor +00017981 t cur2 +000179aa t cur +000179b6 t ok_cur +000179c4 t num_table +000179d1 t cur_table +000179de t func +000179fb t ok_func +00017a0e t end_func +00017a0f t func_table +00017a3f t key_map +00017aa0 t shift_map +00017b62 t do_self +00017bca t none +00017bcb t minus +00017be0 t key_table +00017fe0 t kb_wait +00017fe9 t reboot +00017ffb t die +00017ffd t init +00018072 T rs_init +000180f5 T rs_write +00018144 T rs1_interrupt +0001814c T rs2_interrupt +00018151 t rs_int +00018168 t rep_int +00018185 t end +00018193 t jmp_table +000181a4 t modem_status +000181ac t line_status +000181b4 t read_char +0001823b t get_fs_byte +00018249 t get_fs_long +0001825f t put_fs_byte +00018277 t put_fs_long +00018283 t change_speed +00018301 t flush +00018313 t send_break +00018314 t get_termios +00018370 t set_termios +000183c0 t get_termio +00018488 t set_termio +0001854c T tty_ioctl +0001884a t get_fs_byte +00018858 T math_emulate +0001893b T math_error +0001895b T _exit +0001896b T open +000189b4 T close +00018a28 T dup +00018a5f T setsid +00018a8e T execve +00018b2b T strcpy +00018b47 T strncpy +00018b6c T strcat +00018b97 T strncat +00018bcc T strcmp +00018bf3 T strncmp +00018c21 T strchr +00018c4e T strrchr +00018c7d T strspn +00018cba T strcspn +00018cf7 T strpbrk +00018d2e T strstr +00018d67 T strlen +00018d8a T strtok +00018e0d T memcpy +00018e2d T memmove +00018e81 T memcmp +00018eab T memchr +00018ee3 T memset +0001cec8 d envp_rc +0001cedc d envp +0001cf00 D sys_call_table +0001d07c D NR_syscalls +0001d080 d init_task +0001e080 D current +0001e0a0 D task +0001e1a0 D stack_start +0001e1a8 D current_DOR +0001e1c0 d thisname.1955 +0001e200 d month +0001e240 d last_inode.1935 +0001e244 D start_buffer +0001e260 d crw_table +0001e280 d ioctl_table +0001e2a0 d floppy_type +0001e360 d cur_spec1 +0001e364 d cur_rate +0001e368 d floppy +0001e36c d current_track +0001e370 d callable.1844 +0001e380 D tty_table +000208a0 D table_list +000208c0 d quotient +000208e0 D _ctype +000209e1 B __bss_start +000209e1 D _edata +00020a00 b printbuf +00020e00 b memory_end +00020e04 b buffer_memory_end +00020e08 b main_memory_start +00020e20 B jiffies +00020e24 B startup_time +00020e28 B last_task_used_math +00020e3c b mon_timer +00020e4c b moff_timer +00020e60 b timer_list +00021160 b next_timer +00021164 B last_pid +00021180 b buf +00021580 b HIGH_MEMORY +000215a0 b mem_map +000224a0 B inode_table +00022ba0 B nr_buffers +00022ba4 b free_list +00022ba8 b buffer_wait +00022bac B ROOT_DEV +00022be0 B blk_dev +00022c18 B do_floppy +00022c1c B selected +00022c24 b recalibrate +00022c28 b reset +00022c2c b seek +00022c30 b reply_buffer +00022c37 b current_drive +00022c38 b sector +00022c39 b head +00022c3a b track +00022c3b b seek_track +00022c3c b command +00022c40 B do_hd +00022c60 B hd_info +00022c90 b recalibrate +00022c94 b reset +00022c98 b NR_HD +00022ca0 b hd +00022cf0 B rd_length +00022cf4 b cr_flag.1923 +00022d00 B beepcount +00022d04 b video_type +00022d08 b video_num_columns +00022d0c b video_size_row +00022d10 b video_num_lines +00022d14 b video_page +00022d18 b video_mem_start +00022d1c b video_mem_end +00022d20 b video_port_reg +00022d22 b video_port_val +00022d24 b video_erase_char +00022d28 b origin +00022d2c b scr_end +00022d30 b pos +00022d34 b x +00022d38 b y +00022d3c b top +00022d40 b bottom +00022d44 b state +00022d48 b npar +00022d60 b par +00022da0 b ques +00022da4 b saved_x +00022da8 b saved_y +00022dc0 B drive_info +00022de0 B user_stack +00023de0 B hash_table +000242c0 B super_block +00024620 B file_table +00024a20 B request +00024ea0 B rd_start +00024ea4 B _ctmp +00024ea8 B errno +00024eac B ___strtok +00024eb0 B end +00024eb0 B _end diff --git a/linux-0.11-lab - 副本/cur/linux/System.map.2 b/linux-0.11-lab - 副本/cur/linux/System.map.2 new file mode 100644 index 0000000..0865d1c --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/System.map.2 @@ -0,0 +1,1085 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x18f07 + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x744 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + 0x0000000000006bd3 print_nr + .text 0x0000000000006c04 0x392c kernel/kernel.o + 0x0000000000006c04 show_task + 0x0000000000006c89 show_stat + 0x0000000000006ccf math_state_restore + 0x0000000000006d2d schedule + 0x0000000000006edf sys_pause + 0x0000000000006ef5 sleep_on + 0x0000000000006f54 interruptible_sleep_on + 0x0000000000006fe7 wake_up + 0x000000000000700f ticks_to_floppy_on + 0x00000000000070da floppy_on + 0x0000000000007109 floppy_off + 0x0000000000007119 do_floppy_timer + 0x00000000000071ed add_timer + 0x0000000000007311 do_timer + 0x0000000000007400 sys_alarm + 0x000000000000747f sys_getpid + 0x000000000000748b sys_getppid + 0x0000000000007497 sys_getuid + 0x00000000000074a6 sys_geteuid + 0x00000000000074b6 sys_getgid + 0x00000000000074c6 sys_getegid + 0x00000000000074d5 sys_nice + 0x0000000000007500 sched_init + 0x00000000000076a4 system_call + 0x0000000000007728 coprocessor_error + 0x000000000000774a device_not_available + 0x0000000000007784 timer_interrupt + 0x00000000000077bc sys_execve + 0x00000000000077cc sys_execve2 + 0x00000000000077dc sys_fork + 0x00000000000077f4 hd_interrupt + 0x0000000000007830 floppy_interrupt + 0x0000000000007866 parallel_interrupt + 0x0000000000007a81 do_double_fault + 0x0000000000007aa4 do_general_protection + 0x0000000000007ac7 do_divide_error + 0x0000000000007aea do_int3 + 0x0000000000007bb2 do_nmi + 0x0000000000007bd5 do_debug + 0x0000000000007bf8 do_overflow + 0x0000000000007c1b do_bounds + 0x0000000000007c3e do_invalid_op + 0x0000000000007c61 do_device_not_available + 0x0000000000007c84 do_coprocessor_segment_overrun + 0x0000000000007ca7 do_invalid_TSS + 0x0000000000007cca do_segment_not_present + 0x0000000000007ced do_stack_segment + 0x0000000000007d10 do_coprocessor_error + 0x0000000000007d44 do_reserved + 0x0000000000007d67 trap_init + 0x000000000000804b divide_error + 0x0000000000008080 debug + 0x0000000000008087 nmi + 0x000000000000808e int3 + 0x0000000000008095 overflow + 0x000000000000809c bounds + 0x00000000000080a3 invalid_op + 0x00000000000080aa coprocessor_segment_overrun + 0x00000000000080b1 reserved + 0x00000000000080b8 irq13 + 0x00000000000080cd double_fault + 0x0000000000008104 invalid_TSS + 0x000000000000810b segment_not_present + 0x0000000000008112 stack_segment + 0x0000000000008119 general_protection + 0x0000000000008152 verify_area + 0x00000000000081b9 copy_mem + 0x0000000000008313 copy_process + 0x00000000000087c0 find_empty_process + 0x0000000000008854 panic + 0x000000000000888f printk + 0x0000000000008bac vsprintf + 0x0000000000009072 sys_ftime + 0x0000000000009078 sys_break + 0x000000000000907e sys_ptrace + 0x0000000000009084 sys_stty + 0x000000000000908a sys_gtty + 0x0000000000009090 sys_rename + 0x0000000000009096 sys_prof + 0x000000000000909c sys_setregid + 0x0000000000009155 sys_setgid + 0x00000000000091ec sys_acct + 0x00000000000091f2 sys_phys + 0x00000000000091f8 sys_lock + 0x00000000000091fe sys_mpx + 0x0000000000009204 sys_ulimit + 0x000000000000920a sys_time + 0x0000000000009266 sys_setreuid + 0x0000000000009348 sys_setuid + 0x00000000000093dd sys_stime + 0x0000000000009433 sys_times + 0x00000000000094d3 sys_brk + 0x0000000000009515 sys_setpgid + 0x00000000000095ee sys_getpgrp + 0x00000000000095fa sys_setsid + 0x0000000000009674 sys_getgroups + 0x000000000000967a sys_setgroups + 0x0000000000009680 sys_uname + 0x00000000000096e9 sys_sethostname + 0x00000000000096ef sys_getrlimit + 0x00000000000096f5 sys_setrlimit + 0x00000000000096fb sys_getrusage + 0x0000000000009701 sys_gettimeofday + 0x0000000000009707 sys_settimeofday + 0x000000000000970d sys_umask + 0x000000000000977e release + 0x00000000000098bb sys_kill + 0x0000000000009af5 do_exit + 0x0000000000009d29 sys_exit + 0x0000000000009d42 sys_waitpid + 0x0000000000009f9a sys_sgetmask + 0x0000000000009fa6 sys_ssetmask + 0x0000000000009fd2 sys_sigpending + 0x0000000000009fd8 sys_sigsuspend + 0x000000000000a071 sys_signal + 0x000000000000a0f5 sys_sigaction + 0x000000000000a1ff do_signal + 0x000000000000a3eb kernel_mktime + .text 0x000000000000a530 0xc96 mm/mm.o + 0x000000000000a54f get_free_page + 0x000000000000a58b free_page + 0x000000000000a5fa free_page_tables + 0x000000000000a6f9 copy_page_tables + 0x000000000000a87a put_page + 0x000000000000a966 un_wp_page + 0x000000000000aa1e do_wp_page + 0x000000000000aa50 write_verify + 0x000000000000aaa9 get_empty_page + 0x000000000000ad2f do_no_page + 0x000000000000aec4 do_no_page2 + 0x000000000000b026 mem_init + 0x000000000000b09a calc_mem + 0x000000000000b18f page_fault + .text 0x000000000000b1c6 0x8575 fs/fs.o + 0x000000000000b1dc sys_ustat + 0x000000000000b1e2 sys_utime + 0x000000000000b28f sys_access + 0x000000000000b36b sys_chdir + 0x000000000000b3df sys_chroot + 0x000000000000b453 sys_chmod + 0x000000000000b4ed sys_chown + 0x000000000000b568 sys_open + 0x000000000000b80b sys_creat + 0x000000000000b82e sys_close + 0x000000000000b8fd sys_lseek + 0x000000000000ba14 sys_read + 0x000000000000bc07 sys_write + 0x000000000000be00 invalidate_inodes + 0x000000000000be6f sync_inodes + 0x000000000000c2b2 bmap + 0x000000000000c2d5 create_block + 0x000000000000c2f8 iput + 0x000000000000c467 get_empty_inode + 0x000000000000c5bc get_pipe_inode + 0x000000000000c631 iget + 0x000000000000ca2c sys_sync + 0x000000000000ca8f sync_dev + 0x000000000000cb88 invalidate_buffers + 0x000000000000cbfa check_disk_change + 0x000000000000cec8 get_hash_table + 0x000000000000cf4a getblk + 0x000000000000d0e8 brelse + 0x000000000000d131 bread + 0x000000000000d1b6 bread_page + 0x000000000000d2d8 breada + 0x000000000000d3cd buffer_init + 0x000000000000d56e get_super + 0x000000000000d5dd put_super + 0x000000000000d9f3 sys_umount + 0x000000000000db54 sys_mount + 0x000000000000dcc5 mount_root + 0x000000000000def9 block_write + 0x000000000000e04b block_read + 0x000000000000e3b6 rw_char + 0x000000000000e446 file_read + 0x000000000000e5f1 file_write + 0x000000000000e8da sys_stat + 0x000000000000e924 sys_lstat + 0x000000000000e93f sys_fstat + 0x000000000000e99c sys_readlink + 0x000000000000ea4b sys_uselib + 0x000000000000ef1a do_execve + 0x000000000000f99c do_execve2 + 0x000000000001046e sys_sleep + 0x00000000000104a7 sys_getdents + 0x00000000000105e0 sys_getcwd + 0x000000000001095b sys_mmap + 0x00000000000109b7 sys_munmap + 0x00000000000109b8 sys_clone + 0x00000000000109eb read_pipe + 0x0000000000010b41 write_pipe + 0x0000000000010cc0 sys_pipe + 0x0000000000010ec2 sys_pipe2 + 0x00000000000116be namei + 0x00000000000117d4 open_namei + 0x0000000000011b27 sys_mknod + 0x0000000000011d57 sys_mkdir + 0x00000000000122e6 sys_rmdir + 0x000000000001263e sys_unlink + 0x00000000000128df sys_symlink + 0x00000000000128e5 sys_link + 0x0000000000012b3f free_block + 0x0000000000012cb1 new_block + 0x0000000000012e55 free_inode + 0x0000000000012fbc new_inode + 0x0000000000013270 sys_dup2 + 0x0000000000013297 sys_dup + 0x00000000000132b2 sys_fcntl + 0x00000000000133f1 sys_ioctl + 0x0000000000013600 truncate + 0x0000000000013735 sys_select + .text 0x000000000001373b 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000013afe ll_rw_block + 0x0000000000013b57 blk_dev_init + .text 0x0000000000013ba5 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000013c8b floppy_deselect + 0x0000000000013cc2 floppy_change + 0x000000000001407f setup_rw_floppy + 0x0000000000014318 unexpected_floppy_interrupt + 0x00000000000146f0 floppy_init + .text 0x0000000000014742 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000014816 sys_setup + 0x0000000000014ec5 unexpected_hd_interrupt + 0x0000000000015357 hd_init + .text 0x00000000000153d1 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x00000000000155db rd_init + 0x0000000000015631 rd_load + .text 0x00000000000158dd 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x0000000000015903 tty_init + 0x0000000000015914 tty_intr + 0x0000000000015a21 wait_for_keypress + 0x0000000000015a34 copy_to_cooked + 0x0000000000015fef tty_read + 0x000000000001635d tty_write + 0x000000000001656f do_tty_interrupt + 0x0000000000016597 chr_dev_init + .text 0x0000000000016598 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000016b35 csi_m + 0x0000000000016ecf con_write + 0x000000000001755d con_init + 0x0000000000017794 sysbeepstop + .text 0x000000000001781b 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x000000000001781e keyboard_interrupt + .text 0x0000000000017ffd 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000018072 rs_init + 0x00000000000180f5 rs_write + *fill* 0x0000000000018142 0x2 + .text 0x0000000000018144 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000018144 rs1_interrupt + 0x000000000001814c rs2_interrupt + .text 0x000000000001823b 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x000000000001854c tty_ioctl + .text 0x000000000001884a 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000018858 math_emulate + 0x000000000001893b math_error + .text 0x000000000001895b 0x0 lib/lib.a(ctype.o) + .text 0x000000000001895b 0x10 lib/lib.a(_exit.o) + 0x000000000001895b _exit + .text 0x000000000001896b 0x49 lib/lib.a(open.o) + 0x000000000001896b open + .text 0x00000000000189b4 0x37 lib/lib.a(close.o) + 0x00000000000189b4 close + .text 0x00000000000189eb 0x0 lib/lib.a(errno.o) + .text 0x00000000000189eb 0x3d lib/lib.a(write.o) + 0x00000000000189eb write + .text 0x0000000000018a28 0x37 lib/lib.a(dup.o) + 0x0000000000018a28 dup + .text 0x0000000000018a5f 0x2f lib/lib.a(setsid.o) + 0x0000000000018a5f setsid + .text 0x0000000000018a8e 0x3d lib/lib.a(execve.o) + 0x0000000000018a8e execve + .text 0x0000000000018acb 0x60 lib/lib.a(wait.o) + 0x0000000000018acb waitpid + 0x0000000000018b08 wait + .text 0x0000000000018b2b 0x3dc lib/lib.a(string.o) + 0x0000000000018b2b strcpy + 0x0000000000018b47 strncpy + 0x0000000000018b6c strcat + 0x0000000000018b97 strncat + 0x0000000000018bcc strcmp + 0x0000000000018bf3 strncmp + 0x0000000000018c21 strchr + 0x0000000000018c4e strrchr + 0x0000000000018c7d strspn + 0x0000000000018cba strcspn + 0x0000000000018cf7 strpbrk + 0x0000000000018d2e strstr + 0x0000000000018d67 strlen + 0x0000000000018d8a strtok + 0x0000000000018e0d memcpy + 0x0000000000018e2d memmove + 0x0000000000018e81 memcmp + 0x0000000000018eab memchr + 0x0000000000018ee3 memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x0000000000018f07 PROVIDE (__etext, .) + 0x0000000000018f07 PROVIDE (_etext, .) + 0x0000000000018f07 PROVIDE (etext, .) + +.rodata 0x0000000000018f08 0x140e + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000018f08 0xc9 init/main.o + *fill* 0x0000000000018fd1 0x3 + .rodata 0x0000000000018fd4 0x438 kernel/kernel.o + .rodata 0x000000000001940c 0x1b5 mm/mm.o + *fill* 0x00000000000195c1 0x3 + .rodata 0x00000000000195c4 0x62c fs/fs.o + .rodata 0x0000000000019bf0 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000019c6a 0x2 + .rodata 0x0000000000019c6c 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000019d9f 0x1 + .rodata 0x0000000000019da0 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000019f3b 0x1 + .rodata 0x0000000000019f3c 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a0c4 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a241 0x3 + .rodata 0x000000000001a244 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a2c4 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x000000000001a318 0x2b9c + *(.eh_frame) + .eh_frame 0x000000000001a318 0x108 init/main.o + .eh_frame 0x000000000001a420 0xb04 kernel/kernel.o + 0xbf4 (size before relaxing) + .eh_frame 0x000000000001af24 0x1b0 mm/mm.o + 0x1c8 (size before relaxing) + .eh_frame 0x000000000001b0d4 0xed4 fs/fs.o + 0x106c (size before relaxing) + .eh_frame 0x000000000001bfa8 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001c040 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001c27c 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001c464 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001c510 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001c63c 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001c8fc 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001c950 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001ca98 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001caf4 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001cb10 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001cb34 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cb54 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cb74 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cb94 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001cbac 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cbcc 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001cc04 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001ceb4 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001ceb4 0x0 + 0x000000000001ceb4 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001ceb4 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001ceb4 0x0 + 0x000000000001ceb4 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001ceb4 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001ceb4 0x0 + 0x000000000001ceb4 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001ceb4 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001ceb4 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001cec0 0x3b21 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001cec0 0x0 boot/head.o + .data 0x000000000001cec0 0x28 init/main.o + *fill* 0x000000000001cee8 0x18 + .data 0x000000000001cf00 0x1330 kernel/kernel.o + 0x000000000001cf00 sys_call_table + 0x000000000001d07c NR_syscalls + 0x000000000001e080 current + 0x000000000001e0a0 task + 0x000000000001e1a0 stack_start + 0x000000000001e1a8 current_DOR + .data 0x000000000001e230 0x0 mm/mm.o + *fill* 0x000000000001e230 0x10 + .data 0x000000000001e240 0x60 fs/fs.o + 0x000000000001e244 start_buffer + .data 0x000000000001e2a0 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e2a0 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001e36d 0x3 + .data 0x000000000001e370 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001e374 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001e374 0xc + .data 0x000000000001e380 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001e380 tty_table + 0x00000000000208a0 table_list + .data 0x00000000000208b8 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x00000000000208b9 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x00000000000208b9 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x00000000000208b9 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x00000000000208b9 0x7 + .data 0x00000000000208c0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x00000000000208e0 0x0 kernel/math/math.a(math_emulate.o) + .data 0x00000000000208e0 0x101 lib/lib.a(ctype.o) + 0x00000000000208e0 _ctype + .data 0x00000000000209e1 0x0 lib/lib.a(_exit.o) + .data 0x00000000000209e1 0x0 lib/lib.a(open.o) + .data 0x00000000000209e1 0x0 lib/lib.a(close.o) + .data 0x00000000000209e1 0x0 lib/lib.a(errno.o) + .data 0x00000000000209e1 0x0 lib/lib.a(write.o) + .data 0x00000000000209e1 0x0 lib/lib.a(dup.o) + .data 0x00000000000209e1 0x0 lib/lib.a(setsid.o) + .data 0x00000000000209e1 0x0 lib/lib.a(execve.o) + .data 0x00000000000209e1 0x0 lib/lib.a(wait.o) + .data 0x00000000000209e1 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x00000000000209e1 _edata = . + 0x00000000000209e1 PROVIDE (edata, .) + 0x00000000000209e1 . = . + 0x00000000000209e1 __bss_start = . + +.bss 0x0000000000020a00 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x0000000000020a00 0x0 boot/head.o + .bss 0x0000000000020a00 0x40c init/main.o + *fill* 0x0000000000020e0c 0x14 + .bss 0x0000000000020e20 0x760 kernel/kernel.o + 0x0000000000020e20 jiffies + 0x0000000000020e24 startup_time + 0x0000000000020e28 last_task_used_math + 0x0000000000021164 last_pid + .bss 0x0000000000021580 0xf20 mm/mm.o + .bss 0x00000000000224a0 0x710 fs/fs.o + 0x00000000000224a0 inode_table + 0x0000000000022ba0 nr_buffers + 0x0000000000022bac ROOT_DEV + *fill* 0x0000000000022bb0 0x10 + .bss 0x0000000000022bc0 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000022bc0 wait_for_request + 0x0000000000022be0 blk_dev + .bss 0x0000000000022c18 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000022c18 do_floppy + 0x0000000000022c1c selected + 0x0000000000022c20 wait_on_floppy_select + *fill* 0x0000000000022c3d 0x3 + .bss 0x0000000000022c40 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000022c40 do_hd + 0x0000000000022c60 hd_info + .bss 0x0000000000022cf0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000022cf0 rd_length + .bss 0x0000000000022cf4 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000022cf8 0x8 + .bss 0x0000000000022d00 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000022d00 beepcount + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000022dac 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(open.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(close.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(errno.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(write.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(dup.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(execve.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(wait.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000022dac 0x14 + COMMON 0x0000000000022dc0 0x20 init/main.o + 0x0000000000022dc0 drive_info + COMMON 0x0000000000022de0 0x1000 kernel/kernel.o + 0x0000000000022de0 user_stack + COMMON 0x0000000000023de0 0xc40 fs/fs.o + 0x0000000000023de0 hash_table + 0x00000000000242c0 super_block + 0x0000000000024620 file_table + COMMON 0x0000000000024a20 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000024a20 request + COMMON 0x0000000000024ea0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000024ea0 rd_start + COMMON 0x0000000000024ea4 0x1 lib/lib.a(ctype.o) + 0x0000000000024ea4 _ctmp + *fill* 0x0000000000024ea5 0x3 + COMMON 0x0000000000024ea8 0x4 lib/lib.a(errno.o) + 0x0000000000024ea8 errno + COMMON 0x0000000000024eac 0x4 lib/lib.a(string.o) + 0x0000000000024eac ___strtok + 0x0000000000024eb0 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000024eb0 . = ALIGN (0x4) + 0x0000000000024eb0 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000024eb0 . = ALIGN (0x4) + 0x0000000000024eb0 _end = . + 0x0000000000024eb0 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x17986 + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0xb73 init/main.o + .debug_info 0x0000000000000b73 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005829 0xba8 mm/mm.o + .debug_info 0x00000000000063d1 0xa856 fs/fs.o + .debug_info 0x0000000000010c27 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x0000000000011559 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x00000000000121f8 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x0000000000012f57 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000013a2c 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x00000000000144f9 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x00000000000152a9 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000015b05 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x000000000001664c 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x0000000000016e01 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000016e67 0x77 lib/lib.a(_exit.o) + .debug_info 0x0000000000016ede 0xd0 lib/lib.a(open.o) + .debug_info 0x0000000000016fae 0x97 lib/lib.a(close.o) + .debug_info 0x0000000000017045 0x36 lib/lib.a(errno.o) + .debug_info 0x000000000001707b 0xc9 lib/lib.a(write.o) + .debug_info 0x0000000000017144 0x97 lib/lib.a(dup.o) + .debug_info 0x00000000000171db 0x95 lib/lib.a(setsid.o) + .debug_info 0x0000000000017270 0xcb lib/lib.a(execve.o) + .debug_info 0x000000000001733b 0xed lib/lib.a(wait.o) + .debug_info 0x0000000000017428 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x44cc + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x237 init/main.o + .debug_abbrev 0x0000000000000237 0xf63 kernel/kernel.o + .debug_abbrev 0x000000000000119a 0x20b mm/mm.o + .debug_abbrev 0x00000000000013a5 0x1aa0 fs/fs.o + .debug_abbrev 0x0000000000002e45 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000002fae 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x000000000000322b 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x0000000000003467 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x000000000000360f 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003888 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x0000000000003af3 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003c68 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003df5 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003f58 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000003f96 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000003fe7 0x97 lib/lib.a(open.o) + .debug_abbrev 0x000000000000407e 0x75 lib/lib.a(close.o) + .debug_abbrev 0x00000000000040f3 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x000000000000411f 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x00000000000041c0 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x0000000000004235 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x00000000000042a8 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x000000000000432d 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x00000000000043e3 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x4886 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1e5 init/main.o + .debug_line 0x00000000000001e5 0xe86 kernel/kernel.o + .debug_line 0x000000000000106b 0x2b4 mm/mm.o + .debug_line 0x000000000000131f 0x1ebf fs/fs.o + .debug_line 0x00000000000031de 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x0000000000003375 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x00000000000035c1 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x0000000000003880 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x00000000000039e0 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003d1b 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x00000000000040c6 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x000000000000419f 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x000000000000437a 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000445b 0x28 lib/lib.a(ctype.o) + .debug_line 0x0000000000004483 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000044bc 0x62 lib/lib.a(open.o) + .debug_line 0x000000000000451e 0x5c lib/lib.a(close.o) + .debug_line 0x000000000000457a 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000045a2 0x76 lib/lib.a(write.o) + .debug_line 0x0000000000004618 0x5a lib/lib.a(dup.o) + .debug_line 0x0000000000004672 0x77 lib/lib.a(setsid.o) + .debug_line 0x00000000000046e9 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004746 0x7a lib/lib.a(wait.o) + .debug_line 0x00000000000047c0 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2228 + *(.debug_str) + .debug_str 0x0000000000000000 0x3bd init/main.o + 0x460 (size before relaxing) + .debug_str 0x00000000000003bd 0x8f4 kernel/kernel.o + 0x232a (size before relaxing) + .debug_str 0x0000000000000cb1 0x18d mm/mm.o + 0x4e8 (size before relaxing) + .debug_str 0x0000000000000e3e 0xa37 fs/fs.o + 0x4b07 (size before relaxing) + .debug_str 0x0000000000001875 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x491 (size before relaxing) + .debug_str 0x0000000000001965 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x673 (size before relaxing) + .debug_str 0x0000000000001b34 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e8 (size before relaxing) + .debug_str 0x0000000000001c92 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x58a (size before relaxing) + .debug_str 0x0000000000001cd5 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4e3 (size before relaxing) + .debug_str 0x0000000000001dd0 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b7 (size before relaxing) + .debug_str 0x0000000000001f89 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3fc (size before relaxing) + .debug_str 0x0000000000001fa3 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a7 (size before relaxing) + .debug_str 0x000000000000202e 0x70 kernel/math/math.a(math_emulate.o) + 0x392 (size before relaxing) + .debug_str 0x000000000000209e 0x8d lib/lib.a(ctype.o) + 0xb6 (size before relaxing) + .debug_str 0x000000000000212b 0x31 lib/lib.a(_exit.o) + 0xde (size before relaxing) + .debug_str 0x0000000000000000 0x31 lib/lib.a(open.o) + 0xee (size before relaxing) + .debug_str 0x000000000000215c 0x8 lib/lib.a(close.o) + 0xe0 (size before relaxing) + .debug_str 0x0000000000002164 0x8 lib/lib.a(errno.o) + 0x93 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xec (size before relaxing) + .debug_str 0x000000000000216c 0x6 lib/lib.a(dup.o) + 0xd8 (size before relaxing) + .debug_str 0x0000000000002172 0x9 lib/lib.a(setsid.o) + 0xe8 (size before relaxing) + .debug_str 0x000000000000217b 0x9 lib/lib.a(execve.o) + 0xf1 (size before relaxing) + .debug_str 0x0000000000002184 0x11 lib/lib.a(wait.o) + 0xfe (size before relaxing) + .debug_str 0x0000000000002195 0x93 lib/lib.a(string.o) + 0x147 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab - 副本/cur/linux/boot/bootsect b/linux-0.11-lab - 副本/cur/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/boot/bootsect.o b/linux-0.11-lab - 副本/cur/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/boot/bootsect.s b/linux-0.11-lab - 副本/cur/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * 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. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/cur/linux/boot/head.o b/linux-0.11-lab - 副本/cur/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + 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 $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab - 副本/cur/linux/boot/setup b/linux-0.11-lab - 副本/cur/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/boot/setup.s b/linux-0.11-lab - 副本/cur/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/cur/linux/execve2.patch b/linux-0.11-lab - 副本/cur/linux/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab - 副本/cur/linux/fs/Makefile b/linux-0.11-lab - 副本/cur/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.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 \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.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 \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.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 \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab - 副本/cur/linux/fs/bitmap.c b/linux-0.11-lab - 副本/cur/linux/fs/bitmap.c new file mode 100644 index 0000000..73951a8 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ + +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/bitmap.o b/linux-0.11-lab - 副本/cur/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..501d3c5e3fb1a044792589a0bdde55cbb41cfaa2 GIT binary patch literal 10280 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 J@|j5fe*vQQ&y@fG literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/block_dev.c b/linux-0.11-lab - 副本/cur/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/block_dev.o b/linux-0.11-lab - 副本/cur/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e5e9334ce9a4697061730271c4c9d92fcf4aa105 GIT binary patch literal 7296 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 + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iQ6+~nZ1VPZCP{pdlWadpWGMO3Y4-glv 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 +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/char_dev.o b/linux-0.11-lab - 副本/cur/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..2977060a7c0b215e10aa16a8395ed973d52837cd GIT binary patch literal 8288 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 O%Ys)0UlIH-!T$wZ8WjQn literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/exec.c b/linux-0.11-lab - 副本/cur/linux/fs/exec.c new file mode 100644 index 0000000..147734f --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/exec.c @@ -0,0 +1,695 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ + +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long *create_tables(char *p, int argc, int envc) +{ + unsigned long *argv, *envp; + unsigned long *sp; + + sp = (unsigned long *)(0xfffffffc & (unsigned long)p); + sp -= envc + 1; + envp = sp; + sp -= argc + 1; + argv = sp; + put_fs_long((unsigned long)envp, --sp); + put_fs_long((unsigned long)argv, --sp); + put_fs_long((unsigned long)argc, --sp); + while (argc-- > 0) + { + put_fs_long((unsigned long)p, argv++); + while (get_fs_byte(p++)) /* nothing */ + ; + } + put_fs_long(0, argv); + while (envc-- > 0) + { + put_fs_long((unsigned long)p, envp++); + while (get_fs_byte(p++)) /* nothing */ + ; + } + put_fs_long(0, envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char **argv) +{ + int i = 0; + char **tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *)(tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc, char **argv, unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem == 2) + set_fs(new_fs); + while (argc-- > 0) + { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv) + argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len = 0; /* remember zero-padding */ + do + { + len++; + } while (get_fs_byte(tmp++)); + if (p - len < 0) + { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) + { + --p; + --tmp; + --len; + if (--offset < 0) + { + offset = p % PAGE_SIZE; + if (from_kmem == 2) + set_fs(old_fs); + if (!(pag = (char *)page[p / PAGE_SIZE]) && + !(pag = (char *)(page[p / PAGE_SIZE] = + (unsigned long *)get_free_page()))) + return 0; + if (from_kmem == 2) + set_fs(new_fs); + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem == 2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size, unsigned long *page) +{ + unsigned long code_limit, data_limit, code_base, data_base; + int i; + + code_limit = text_size + PAGE_SIZE - 1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1], code_base); + set_limit(current->ldt[1], code_limit); + set_base(current->ldt[2], data_base); + set_limit(current->ldt[2], data_limit); + /* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs" ::); + data_base += data_limit; + for (i = MAX_ARG_PAGES - 1; i >= 0; i--) + { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i], data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long *eip, long tmp, char *filename, + char **argv, char **envp) +{ + struct m_inode *inode; + struct buffer_head *bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i, argc, envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p = PAGE_SIZE * MAX_ARG_PAGES - 4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i = 0; i < MAX_ARG_PAGES; i++) /* clear page-table */ + page[i] = 0; + if (!(inode = namei(filename))) /* get executables inode */ + return -ENOENT; + argc = count(argv); + envc = count(envp); + +restart_interp: + if (!S_ISREG(inode->i_mode)) + { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev, inode->i_zone[0]))) + { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *)bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) + { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data + 2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) + { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++) + ; + } + if (!cp || *cp == '\0') + { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for (; *cp && (*cp != ' ') && (*cp != '\t'); cp++) + { + if (*cp == '/') + i_name = cp + 1; + } + if (*cp) + { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv + 1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) + { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) + { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode = namei(interp))) + { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text + ex.a_data + ex.a_bss > 0x3000000 || + inode->i_size < ex.a_text + ex.a_data + ex.a_syms + N_TXTOFF(ex)) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) + { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(argc, argv, page, p, 0); + if (!p) + { + retval = -ENOMEM; + goto exec_error2; + } + } + /* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i = 0; i < 32; i++) + current->sigaction[i].sa_handler = NULL; + for (i = 0; i < NR_OPEN; i++) + if ((current->close_on_exec >> i) & 1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]), get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]), get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text, page) - MAX_ARG_PAGES * PAGE_SIZE; + p = (unsigned long)create_tables((char *)p, argc, envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i = 0; i < MAX_ARG_PAGES; i++) + free_page(page[i]); + return (retval); +} + +int do_execve2(unsigned long *eip, long tmp, char *filename, + char **argv, char **envp) +{ + struct m_inode *inode; + struct buffer_head *bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i, argc, envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p = PAGE_SIZE * MAX_ARG_PAGES - 4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i = 0; i < MAX_ARG_PAGES; i++) /* clear page-table */ + page[i] = 0; + if (!(inode = namei(filename))) /* get executables inode */ + return -ENOENT; + argc = count(argv); + envc = count(envp); + +restart_interp: + if (!S_ISREG(inode->i_mode)) + { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev, inode->i_zone[0]))) + { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *)bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) + { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data + 2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) + { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++) + ; + } + if (!cp || *cp == '\0') + { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for (; *cp && (*cp != ' ') && (*cp != '\t'); cp++) + { + if (*cp == '/') + i_name = cp + 1; + } + if (*cp) + { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv + 1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) + { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) + { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode = namei(interp))) + { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text + ex.a_data + ex.a_bss > 0x3000000 || + inode->i_size < ex.a_text + ex.a_data + ex.a_syms + N_TXTOFF(ex)) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) + { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(argc, argv, page, p, 0); + if (!p) + { + retval = -ENOMEM; + goto exec_error2; + } + } + /* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i = 0; i < 32; i++) + current->sigaction[i].sa_handler = NULL; + for (i = 0; i < NR_OPEN; i++) + if ((current->close_on_exec >> i) & 1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]), get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]), get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text, page) - MAX_ARG_PAGES * PAGE_SIZE; + p = (unsigned long)create_tables((char *)p, argc, envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + + char *tmp_buf; + for (tmp_buf = 0; tmp_buf < current->brk; tmp_buf += 4096) + do_no_page2(4, current->start_code + tmp_buf); + + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i = 0; i < MAX_ARG_PAGES; i++) + free_page(page[i]); + return (retval); +} + +int sys_sleep(unsigned int seconds) +{ + sys_signal(14, SIG_IGN, NULL); + sys_alarm(seconds); + + sys_pause(); + return 0; +} +struct linux_dirent +{ + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[14]; +}; +int sys_getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) +{ + struct m_inode *my_inode = current->filp[fd]->f_inode; + struct buffer_head *my_head = bread(my_inode->i_dev, my_inode->i_zone[0]); + struct dir_entry *my_dir = (struct dir_entry *)my_head->b_data; + unsigned int qq = sizeof(struct linux_dirent); + // struct dir_entry *ptr = mydir; + int c = 0; + int i = 0; + struct linux_dirent tmp; + while (c * qq < count && my_dir->inode != 0) + { + tmp.d_ino = my_dir->inode; + tmp.d_off = qq; + tmp.d_reclen = qq; + // strcpy(tmp->d_name, my_dir->name); + for (i = 0; i < 14; i++) + { + tmp.d_name[i] = my_dir->name[i]; + } + // printk("%d %d %d %s\n", tmp->d_ino, tmp->d_off, tmp->d_reclen, tmp->d_name); + + for (i = 0; i < qq; i++) + { + put_fs_byte(((char *)&tmp)[i], ((char *)(dirp + c)) + i); + } + my_dir += 1; + c++; + } + // dirp->d_name[0] ='o'; + + // if(my_dir->inode==0&& c*qq!=count) return 0; + return c * qq; +} + +long sys_getcwd(char *buf, size_t size) +{ + struct m_inode *kp_inode = current->pwd; + struct buffer_head *kp_head = bread(kp_inode->i_dev, kp_inode->i_zone[0]); + struct dir_entry *kp_dir = (struct dir_entry *)kp_head->b_data; + + struct m_inode *cur_inode = kp_inode; + struct buffer_head *cur_head = kp_head; + struct dir_entry *cur_dir = kp_dir; + + struct m_inode *father_inode = cur_inode; + struct buffer_head *father_head = cur_head; + struct dir_entry *father_dir = cur_dir + 1; + + int c = 0; + int i = 0; + int k = 0; + int j = 0; + char path[20][30]; + while (1) + { + father_inode = iget(cur_inode->i_dev, father_dir->inode); + father_head = bread(father_inode->i_dev, father_inode->i_zone[0]); + father_dir = (struct dir_entry *)father_head->b_data; + + while (father_dir->inode != cur_dir->inode) + { + father_dir++; + } + for (i = 0; father_dir->name[i] != '\0'; i++) + { + path[c][i] = father_dir->name[i]; + } + path[c++][i] = '\0'; + + cur_inode = father_inode; + cur_head = father_head; + cur_dir = (struct dir_entry *)cur_head->b_data; + father_dir = cur_dir + 1; + if (father_dir->inode == cur_dir->inode) + break; + } + for (i = c - 1; i >= 0; i--) + { + put_fs_byte('/', buf + k); + k++; + for (j = 0; path[i][j] != '\0'; j++) + { + put_fs_byte(path[i][j], buf + k); + k++; + } + } + return buf; +} +long sys_mmap(void *start, size_t len, int prot, int flags, int fd, off_t off) +{ + struct m_inode *my_inode = current->filp[fd]->f_inode; + struct buffer_head *my_head = bread(my_inode->i_dev, my_inode->i_zone[0]); + struct dir_entry *my_dir = (struct dir_entry *)my_head->b_data; + int i=0; + return 0; +} +int sys_munmap() {} +int sys_clone() {} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/cur/linux/fs/exec.o b/linux-0.11-lab - 副本/cur/linux/fs/exec.o new file mode 100644 index 0000000000000000000000000000000000000000..ae39d6ccf8d2f43dd6bf3e9fd968b36edef23e85 GIT binary patch literal 23260 zcmeHv3wTx4weDPN@2sqZBm|N`uu*no13^Q=BU)6@fPg@vMnOeHH#^xo56R2@K(HQ! z?x2Ja3oU(FD(JO6eTcQU)uz4aq#GHG;Tp#8KOX2 z8N2w&-;W>f*^@j5F@ie|abUxq+kQ+BG<(J$4u)$NQQtHEJdV(MNnGB^s{te`Z$1T;@6AYj= zwa4G5hCi|=^|#>();pK0E+446Xy<2O43x<{)6-KUo{k$yYPW6}yY_cbseno^W>Z&R zPcV<}cWdCy%0q zB02^6yYyLWe5Uo_kio)~FkZQei7XUX&3&~t#yc=vmr8Trx;dCZ2w?T5>Cjk#hShMf z+Ekl2{NX(V1=^@@-Ga2uQRs=ME%cPpOY?b8CUf_i1UUoajp-Jep5T;fuBiFY!tPUt zEo_A~qGu-P@Iu5hA~Wh{4ofoeH)i5o40SL7T=fom9%?H&#EhE3a9=~{m>+^ldVX|9 z|B|i!u%%D+Zwo#IqIch;@UD6f_5Qwh@4MfCW7E7z%^Wv;!=1hii(1Iahi|wAGWgfE zH+(~TrUniJSOD(dA;WU__sC6E zMe1o$Gu%KnN|$13MXZ6un}bYF;ty#L`DrosaxX(V)4z4n4$$osLd$_z1ND_&|rG@Bu*RD4qNT0bboBaTDkk{W6tbqnd7iM}XBF7-P44M9R3><#Be?ZC=jEnd2&3f_v=l)oC zFyShvqj7_dXlEfFw9@a8I1o|=Z4d``Ch8si)4!#IK;~rM;83v?E~YoEu8;Oc#Y}Hs zJ;~e0y3li+5zy5qxj^-BEQ3qxJuc1fKy>uRzv}2;Asr))Y^()h_$(T-r`kIMXr~R^ zFNeA;d2Xm%j$MIpRk5D znjImnpO^^ij0xvmgm)?8X0I3C;uAKNuRw)U2Kb0shs#sc@=hk-)ZE9Kv(i~K@Z?o+ zc+mXRv%L#tsCVkVb*n+5IEyk^Z%&M8n@(!)7Aj(9x&8AqFxG3PWX|3{`mKY{=$4_E z-b0yI=NPLkx567DrtQYPzj~whpuVK&>ltNU2q*d~TDw=9KeLYJ{5*=IsT%Iv!|m!N zOlIG94O%OGdK>c&vblWlJo4!1L8BLq5y2Soki_0!d;3HqbBNM9yly@tY4EPD&#a5+ zkT53JC@xAh0Pl*n854r)<+`&DPFBk1K1>ek8n&5j40nc5)6*!|!aT+L!wttSX9xzGZ zQLmRrAQJrzd7zk=UfbLjECQc-na!-I)5U9_IsBcva>lOx4b-?w*YD?{^ST>C|GQ40 z+=2Nyv2;K23A75w2860tHOlZBmZ4eMka{Q3*+$BVf>dvMJR^S833SUp>IBLvK!=>$ z@!UJHaeV9vl)Jnxx#qtA`zO%b|4S!OUi7em5(Y1q`UHBR@xvB<0(}s~$tO_Le8LIT zi2kz^sL?q21Ukv9Y)k-kGT6+effMLN#*6EQcLGgYqLAK0Tl)NX;t6z;H2-5xpl6#i zI{SlPo@@{|0UQqtSi%(mem?pHN`0&&I)OD|llq69K-oRKehB!aCr~+E4LN~w8FDt> z`19ai{mD+Cp1&a{(0c|Q@$zpWM+j7Jh~^~h+4Y}rAfevT=%6h!Cnr!2^`lRqncg@Q zvukT_qfhe2fN-(+=z#PbXSjIr&2&~Ipi`eo-bdF*kG`RmUn2b$X{7Z-AcpUqFhA-9 zN*k)b0Cf}>_j+>zy$21j_u6-%-8+E}Sw{~-bMORu0GymapEo2=pbr^uj{@`wR3Al8 zc>>MUM?e`TP_LHH7)a0BsZXF8=K5NN z8HXqD1o{WgohjK<&-Q<$4zgT)DyD7fV8lTWm%H_NbC`4~)J{w<~e@kDji=pue{uDfv)KBZkp8Tk8Zm<$cmHN5= zOaxF-%8us-X8?%$b=$FT(Cggb%x3+#5S|OcRRD{LeC1W@=?$#0{a`7^w29Ne@^4I=0t$se#XY?Ml_E>la=Ieb@Tk>}awrJ?nfpuV$8vf(- zGsf#)LlV%$<_pk&Y6b7#S}i=4w#21@ak7sAH)ROk z0-8=qF?OaNH{5^72zQ_!I~ld0!XcnY8f-lB;mCRqpb8H3=WXB+EinDtgPfoKJU+YD z+6N{RHWp$%kvPd$t&OLtUx%3f`sY}PQG3?)C2v41F#Qi1&&7`C`JncU=eZDY{IHbS zYd2hi{mCSk<(3{+W6(`#C=h+a@t64{xLd%!Ys3;}HfG&3dXg&sByE_JX`p>m%LCgcNf^ zPH@+Q71oSkk8jq2;NZY+@FwzfE;}=}_4_%SynRo-XJ)4pF0J=K7aPz7`D%!bssi$zdx(3GogHT z_6VHye3r{w7<)DpvI3tr+P~Bd&dqR}wHPJ=$N3FfoCM@fHc917L!;x;z2D*G)X5?3 zI`@&*-R3z;?6pbDd+T33>Goo31xlg@KG(6hCq6}P&DIYp$eqP)<~*++wG zE(B9-=d2*Jl;bS5bIzffX3FfGF31cMuyY$@D}@Q#IcKC>D(u|uwurK>rRz#Nhl}1Y zQ|z1$2BTYQ?3^CD*31k$=WFSfnRafH4wlV>Wv!j_8xB%4bL^bwF?_?!wR2mjb{*B` z+c_~h(98lm=g%C1W)|5w|H^)rGn{%m=W&K}J(&hO=eM-c%o022OuE+0Qak6L(=E&G zoP%j*g`M*%9o#SvzY#k(kyxXw70g?!o$~@)!fa_r4sJ$ljXVT)+c_`MbrYF{owF3v zX+_AawsU^SK%>m{t#%Hd^jXcTF+J<--1bO9S*>@1If#DZab?|jI@}z!QLQY^Z2zBO zHH_VT2Tt;C0O6{v)1WgW`+8mE|AaoWb*RemL7p9=w(WeG<||AgAEHi}wCh;#lig?v z_G^%2H<^MxlRA;R&|2X9f_|D=eF5hO)M=q@(0PnS+Df{@xs`s}*jJ@fk1=K6NV>|I zN!yjAr#MBV+v$Ir^DK2bNKbd3U~HYFYn(NtyGWnow2|9 z%%}4(m6Gg0Id~_pvR9F|o$oWan@Rhfe`d$4sqQ+w6U<(-81g*ilWEMl4@_b9*N3CU z`2)v&H_epuSGw3iv8{$hA>n${NzYeV%fP#?zZRnWuyV7Q29@6^lwaAGz&a3DReicJrItx|LN)IxoMu3AHtubYXsTSC_J? zNEd^Kyqa{W^F{c#rqF$v8b%RIQIEbzWql9yi`H~*E6#0Htf7W-W+I=~Ii&sh@%R*F zolDwvW>fxY(s__iRn`pBh0b35TIZ22hJ2c`&L>@(-xQm!tP4n&^vsJ)pQ~ZNh4y4iCm}X_%+(~d?K5Z@vnt#UA^qE1 zSL^WYF^4thSEaoev^}m9Y#zSW_J2=Xj58gW0o&u)U~l!KJIYUcosm|PyanH4Z94%k zDfG~$&I506y+xgtP50+gjT3CtF7?!Acxt7$V;<~T_d*5pg(z-+Qd(Kq_ zSNgZ{#R7v~Ss}nTjj??XR2>Uv``a|`hWIc-eqY@qPaJ6Yk zAajRdRJIyFzHScdJS1ng4taonbeP@7R=jo_TYvFeQ1x}2SX>V7CX<)E;;T8Fn~YVV z=`qfJ?5*viy2CBXCtT~O_GqW_C5&dIZMq4}c_gxcX ztKL$T?!9*s6Tb@=R%OojWSJTKS%9hY#P@ZMT)^q5YISgI&uQpO+X*^sEUN zDbd9xTtmrsIcqN%&H9oEvnAYul4D4t?`NiMMaePd;OB;0J_=(yD06YfQtJKoLfDRd zhXebJ^-a7nAG?Om{>l0w=s+IIpMU)H7MAd+#$>bdeQ=%*wSU#9Ciwcmp7rJm)5pvLQ2PFXU|c>f0@u>xrD}J1jHVwG%nn8!a>2TW%}Yv)yZ% z>E5z-BBpzj4$t1&TCV5YV;nWJ?&q$_F#iE^M0Yd`ZRCeYwbHgmp5@b&$CSe8Y+HD_5z!Eybo8NNh)wB zZcH}49W>Q*B%S35;5cLsEGVJ*}?B_A6^WekU{tbAU@Hm&}e4A%P z>@O9U1APm$Vh@@psfv{}U8p5r(vq`sSeSKMG6}w)XK7uf*{n~&H&|f?*yUJz@c903^Xt32SFJL#<*rs+?l)pu%OKnp;%gdjp^0oHW+O~b-O*bjuGI6|g zVw3VM*WIIZSVz|j6Pc)s`39SZ7JF+gE)Jx!{cm8*!L#UcwLY+1SfuNcdJ@trogrmM)2D*ZyzC)Ph6IWuP3A1$K zjmp<6%#!j47|te}qx5Zk?G|%KaWgn`(9^%CtKb6+v*i8R}=|t)2|Gp%u z)lC0?PY)fV{ekqdLY?ie{05_XSW8L*h*ig1c@?{VL`z4drIY*7>MybmL#JvVGHmto zrm|`?$xS4cHNqNSP&CX}@Tr0k)<~xi3(g*;dGD%m>Y_1TZqp8Mg7fqTgZz>S z^7JapvpA{kj9iI$1ZH`xFj-^*!!WHQ9j2pPhJ|!+9A}yqTq|{wk@jG^hpdx&7%#&T z;|Y>6VJAw8gsm8Kw6JKVPVpr4sLnc3uGHBq4?MO=Cj$;Lk}-KO;)}-2!~|D~03~Gv z`s9rL0Us2ye7q;5WO<`!>+`#1eSqTy{{5F;CMfr+s_M4RruJkcTHW5(nOv3S8C1e&dN)TW1TTSXqfR-O)HmL@1AV zDQ%_*4qBsO&sAGXXSm(iU}5QD`ChiHE0Rgyn#B8ce%rTw?b2~ut9`?&F4|Rh>5d&& z7VYxo1};opdnvy~EqU<@O>Ng~JY~7lCd}s1;J6QC1@^Q9p;7^^~zO1gU?)7Jl%zc+aw~oKp@Mrza z$>eSlzApE(8awazO>nD{kJnwd{Ml5>y*6c^S7c8s(!a%Zshuge#U58cRcDcNOI^n| zcRk?FVu$v#{Bg(Xri8Q8J+i~S*1gVMwQHHHgLU4a0)Kq3@yAJORV~$mUmK~rYlr)I zifxDZ^FQm{;$6$^8TfIvz;UY_U#@+og|QwvlCsAaGikPSfZ7TC_zpNfCGFhpJO`s) zyQVz*s^-~fYqbN;3(vW;UU7Tui;CcDp=Hl3N%qj?RX9tPlRKM5Pq9hDr~-?mS}>H zTpL4?=qeR&y9J6$@86+FTMRp~R*LJbR7IlkCYZ*OO$ikaC1O-p(auOH5>A9wQ&;yI zwqm13H{noodl*C_7H*1$8ru>b;cnFy>V)r=aRuKYIFGGS-Qh$l*U+OOD?-AaB-lfYDQH}U~)$|*3>$y zZTgIJK{vHW0+U+;lbgFb+7gqSW8seI9*Y-2#t$<4{mrbJs;XB?u=uE{z* zle=SGiD*-zE2b|*Di$@l)219tJQ`g&nCEGbbm-Kh<4@y4mI&cdYAD2%B)V2opXq{+ zL{zooHD`dY6(gZow29~6W*B1}ZK3YA?kEOqW>ID+f?UN_lrNSjK?2&_8WB)}&kK<$ zUi8$;Zk@4aNjxStgvYvQH5p=5-sD9>ok#5Q&Mn6YS7a;rVyOpPMIoO28b`qlnf zPDx!w3O7U{-rg{naC9wf)K}wVTa<~s05YlWHI5TE=L~? zaY)TF*tQVnK!?@X-qp0SGsfh0c7^b0EIQ4k>;!96MO!R^3TlZeJ)ZQ;@YNbCJJcAC zBjv4Ku|!~qX?HBT%8Z~{|d`7v- zZw|w@Ep$s)C!#m=)3^r1<0>{Cnq^zv+SL)Q?o37!)m?FOpqo6UYU=!l8)SG{T`qynWEa(Nly5F7SA?sjCx3 z+a5-}B(U;X>ay11SyzXtX0sKT(S;+Cm@;LUp5&(1a16oV?+Ta^Bw5!0YfdjL>>^AQ zO0OI5iLjSp9Y{(;Ivr>l9t{uN_oVTn|SV0?PpQoh_JMyf{T~SbFGO*SD!RqilXzZP*p#ttct1 zE#0Z4(QK-yT0}(G-C<-9o^&yH$X0-5%yq`f)GM2#H@g#-px(kzcHK%(fNb~lg&Jkm zU{}P#<&aIOV1F=!94y1B-2XA2NIOQ`h$WQh(u)XE?xI~W=3lJvayY#$wIP{E&MGVx zQ{{1vqs>%ptP35hOD?|n{6NK3jkv}o&3-?5T2gaU*G{deno={#Nb$&2aDA*#if zuYA%Go_++6}W9yF@dFG>lF$a_j~w$4`04rfqj|p5{qH$KKYmJ-s=#wm3{^-0kl;>?!Dgd za#8Dh*fQBbJ9O%yg1nUP;(}T{B7RN>TQ&N{{>+KMY8uN|NGgU5P$%y>qo zKg@0B^8zm)c%ZBBsxSSixePUeyLLQB(e|uSJpIDIb22=d^rtQ$gn;MoZ1B|oIK3&* zp$(=&f9eBDT`x3&{qn>0?)fJF?SN9N@O0Aqcx^Kv$Q;N0S76;E5RQX6@W!zKv}XfS zjh(L454|8V+LmR|)O!(snH3-*AI}H(mCSz2V8|L{zm$9Zc7XP5K&toP?>;=U@jhN# z8w8pDD&dd$q(3}CO8Z*_nl{WMKVP{(so!~%4W4cM_6T}<$vJpD1)2Bp^!gzn?R|DY zFZ1KI-2)+MFJ(KSx5Z;1_vY>Epfkr&gK>NdGLD1!@$!Oa)9G3Psiw?R>boT5uKm;Sr9b**pI+^ORNLy6+Tl3?pFy%Y{mGR3)!WC@4IobZe@`Nx*#mjM zo+H}ux@DsmmMCdnr^ufHti_ktCi0vE@0vvZT=3qth&p>kD~q72Y+4eCEfeveZflylV^FSA+MiBPZ);6c+S+>Cqamz7uAe?X1+nk5A!E zWyZ&+@SZ8-n+>)r-R;gmi!mNd)HX<-sybs=1=bK z^r1fUPA~K3C-X*C?yCs65s|z26Ca_NBk~E4J2DRMJSoc!dUv=J_k`LbZn5=!Z2FFf zed;^c!3Qm*6de{8xt5e?XA0pUJ;0$d{hv`Ip`{ zHpTA&+3!Q-(eJy&fKqp1;ZyJDg0BhYV#A}nLGTMeyBx1paFMjn#J?{hj>8{E5QBL8 zKpd|WU#`(_iiq~}ap-5i7Xj@FSX<=b7ccBIjt0`cO!x}~ZxXzV?Gte}7XH_Q|3Y~M zuGQH1=`RQ*e-`;kh(qM(2|q{p`vo5rd`j?L!92uDe*wYo0~z0oL|ja!V$ZWjEdU*^8 zDb{kh)Ofz&0>R4#mk5RhTLn7=*9dM9+$#8WL0)?q&kqIn3ceutir_K9zX-lB$m<#H zM+%-Hc$VO~f^!5f6XbP?cFlq@!L@>Yf?pB5PmuShw9|hI2s|MCi-NBT{zdQuK^M8D z-I;J2+kJd-}_U(R4^jgEy%x(WcxjW78VxyGX&2P zJXi2C!DhiP3F_+#?3VNT0^A{Zzu;qnPYeD^@KwP9BIfpe;a%7G87){&MEexsuNGV( z@-E@OB)DDVj|qQ3@Mj_)5S~YH#+yro|B1p+75*~emk1vd{#N1d5Pqxh_Y40c!2^Q7 z7JNtWLn8VcmTUSyUvMrF^2Nf31-k@$1@{X6T<~{-Zwme^5q`38-RAg;1j_|^U8j7O zV4YyIU^fx=Ulab@f{zG3CHNP?9G(NzA5q_QUcL={( z@P{JbC-_UjR|VfD!r$M8AI|dy_);R`s}sCh +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/fcntl.o b/linux-0.11-lab - 副本/cur/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..17a6ecacd50cb07b4337da65f94d880d02b367a8 GIT binary patch literal 6748 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/file_dev.c b/linux-0.11-lab - 副本/cur/linux/fs/file_dev.c new file mode 100644 index 0000000..0c50eaa --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/file_dev.c @@ -0,0 +1,90 @@ +/* + * linux/fs/file_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/file_dev.o b/linux-0.11-lab - 副本/cur/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e1ba8a5aa9f848cbe07cc40a116357db631d2c89 GIT binary patch literal 7828 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 SclH@D3RwcTDjZc + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab - 副本/cur/linux/fs/file_table.o b/linux-0.11-lab - 副本/cur/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..422bcb331f1423abef699440aa5b0f0ff3a8b671 GIT binary patch literal 2644 zcma)8ONbmr7_OR`-P!Hgo!w=9BnF`a8xkecvzttkb&W;|x+aF`!4(DLY)?=3Ogq!v zV?VOl_&SK&K#0s-B=xPW^?j%FhrbeTlMCJwT9?XVawWCSbyVX|l2jSv>;r0{YaW6k_^T zz^c43M3{C3LO#m~p?wD-+vFv!O1}9tWJUXp+$5jUK4*OA9`G6MD!D~It9?Y?9e~%h zNpi;q*R@lSvd7#dtx0>I{E+r8?Jnm!to=&<9J!$#WXynkS-U~|kmDcG>f|2zQB7xz zPu|k*q&*-%ra=ffB0sKOX3X>CC&cs`U|z-_!=_!MBjE%>dy4!bc}e?}e2cuIh2)nQ zKBe73zWo5~GpHxaSY_e9qLcMJC2H@1m#062oG8PB_yu{OzE~^Q_tocb$KXq%R=Xc6 z!W5mtG`ERzeXVwH?aU$)7onWoi!GZ&EG<G-(`FDL5GCjLkzBG)c>s!O5Yd43kpIj0J zL$ni?^gGLma)}S#8gV?s>Amp;_i=x>NJiF;9-MAS< z4d33%KD)7OtgJMKW~aHF8JbRnjKu9i4g+f-0>^2`Q2fM$^wI?~uoxN5N}`rr)!X zkOgp0bB?ivVFjLNqo#(BEj4ghvMo+e;Qti+cm>cWRebh7?!!!*IMC1w&2`!#>Rb)&9ZYkHg8gkiQ-5obM!ho&zcta4TOYQ7!kK zhn{n~t|E>PMc#7XSs04*p2N$^c{neB7xH;8faf`&;yT9LBvCE*xzNe^-E4CxbDRBJaN~jlSq|VjswDS1$X0~#=Lq&ga zCz+rAOpXJ}=@*Vw_-pAt>oj4i1@Xtt-Oowk-9QNMj)Y*HB&K4`iTsa2WPK#+q${0w zg!W?!)3XcxL8Yf>6#9nJ`D4X+Q{jsW-%$9r!fOgYRQQR)FBEb=InIv?e^L0SLLMmk uXB6&HxTJ7d;Yo#$D11WUrb18Qw!+sGzNPRTh3_l;TH*IZ6fvzQ&gs8hV_9GT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/fs.o b/linux-0.11-lab - 副本/cur/linux/fs/fs.o new file mode 100644 index 0000000000000000000000000000000000000000..7999a26bff73139e169f038b726c079dddea9773 GIT binary patch literal 151449 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 O1;uUNxR`jIDE|-LKnqj= literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/inode.c b/linux-0.11-lab - 副本/cur/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/inode.o b/linux-0.11-lab - 副本/cur/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..dd67bfa4d43e1073c47e0226043fc43f5f0e9153 GIT binary patch literal 14072 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 I1a}MmH>)TywEzGB literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/ioctl.c b/linux-0.11-lab - 副本/cur/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/ioctl.o b/linux-0.11-lab - 副本/cur/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..1f1f33c5568ad7f154251149e1ecc40766da48c1 GIT binary patch literal 5828 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 +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/namei.o b/linux-0.11-lab - 副本/cur/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..0514463113d5878e35d040844344865d47c7032e GIT binary patch literal 20756 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 a@7aEaV1r +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/open.o b/linux-0.11-lab - 副本/cur/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..aceb4b8d44365ee59ea3c9bb01413542e9cf0177 GIT binary patch literal 11184 zcmb_id6ZPunZNbA>eZ|6uBM=kP*x_jwU8%oHH)R8MV#0&gi)H{C@X+uPBI~ z@sD}uy!w6Lcfal4``!EQd);3-|Dxp{k4L$eM^&lgoKgo)by_+!%uwUiIMx3~XmD9` zePU1zENiX>S=)ak^!UC%jE;^z-v7od2-*j{&98n89t!pSH#XO+QuV%1!N0Z>ejw;j z#c9y%px&^f*GRtqpqHY%9Z_WD%)uZ7@0+}Hc~ z5n$us8r%psu(}x}#UL%h6J2vXnw6yX(YXJ}EGFBZXzuW%u`=Tb5{xk8cbV}cP=-Qe zP>uP?!D*uy932f2**Ufhh+m!5;GQnSF-Q(}8Od`Fm;8rrY;H71nsjq=aL;mS-`!O^ z=En!A;nNy$)!6@ne=3Gy0q&At=Q%RRal3-%3=2~w1O zI%nw{S}VKNh;B71xaCBQe3{{#KB>2qI#+cmRSZ)&;11Ip)SE8ha|rLYI3kSqz#fV# z#}f|z|6&$DJ0`_nIA+Nm_9d`l_hed%&C;-g4H(#yI?uTu>4ZVYw9zr>`eE7*s%h%2 z(b2$DEVkr;L77z7@nNf|F0_CCXk76H5}3mToM1~Bt#g;oW7ldfyU!1O#pV5PIQ<*k zkw*7Wx$i%vYj+BK97WYI$&p5PBJ00;_+AJGy?an##z@U5>k7*@eDl9LP`&SUu7$<$ z<=Bj;gTcFRREU!r+3@#dtuLU7^vUHc#?1Zp1~#FuH?WH?`_MPLs*X-mQEno zeFxABtegR7X>U8D?AdX2)VqfXGQH%{F0ZB{uU(E5APQBkk|qr1&fhw^A(T>G^3bbR zvi}2bDeL&$u@F7qd2r0Fk3vaAy^d($yR>sg4sL0UiNPK)a0@jY%zGgTX2#u^^W)%teN=r_NwrwsI22R+T$^-W&{oRMz9UZYx?(GJp zO579NTwQmLo>P}B%gPefBk18|h0xOI?7@vkyK0d)hqJ!_Nb}X#VejQ`-ORZ{eRyTl zY#NY+`;Rm}uB#YD(H`C`Me#Rq;q>yv`fLBp`g1hbG`E+l8_~+UAPaiLK1ruyV5ClK zk9s-cNUa?-V?L7g=RkX$JE9Cg-G9x{SIAaf;0tlkJ-M`j)K ziWtFn%1omXJOc_&OOsL8o!=x(vk@FyZkb`!UyYlHPx0I!Bg3ynH5IxFtgUo zg+_1*9bCh7E;54ana;IjR->o1(aahn_>D5N4r`wZoNh@%9a>g(inp+$gTT!Smuo2n{*H-Q#6A2F`WdNtw!)3CTer6Z#06RGHCLb zn4TR*T{=-zX75X2o3zofv7$Y(yIV?u(#PYp%erKTbMmzDRju88qw6SLr9ox@$5o zrA`lRo6VQ$vzPP?Gf({#W6d(FsK1ePt9cjcO{Ck+e$r|BpJQG`x{vf+a{>KiNOzb# zo%^$-&oV#6uRllnY;!IBUr&0T@;#4KLjEF0(&S3VQIIH6fR-pVN!kh| zQ#obMB3&Cu#xegbq(gyZHml55()FMrZzCNs{|^4mcDip=eu`Kwx;VnhcL{p*8*?s~ zzWFc}JE);d9?Z?NNP7c?Lc220CT*FkD4$2V7V_E3>?9pBS5tlt>3YcLD04pPNFbh{ ztIP$Y8v`~IUr4&i{D}JJl5P&zv8~EHkMxXy9e3$j0XyN+?E$;nr8@$40e%)yzY}uM zU8EO6o>Jyw(p|6xy@d2K$d$R2d+xoTL<-!w>oqmqnw5))nlC~ccP(soD=0S%EL~S9Od;~)3t%_Qc_iqpGp_1 zb}e8-ZFP&!f+yx)-OAo5lRJ2I8_T=d+>GDqcG5G8#f=GJWk$dnt$|&6KT`qwr33wQPjG^9R z%PQ(Uh@9C+&pms~p;k#KrwbQ5&eJOL3jJP1s|KX%SpBwab=3)0*OaXi%r`}=+hBFK zj@3}@b}My4x3pThTbs&0@OV?kHu{*3%x};>HkEyB6CV?KKycLHVC!M0r>aa^HSO4Za1qp%WClG481lohQ#C79giF8lghY_>m37MpHjx{bZrdv z)+dpKFbNeI$Byi0+xgI)syhpOK<@~P)TBYA;eTK~B$EPYGIw*WPkIqQ=HPBf z8(FB6o@LY5N&2}EA4J2cYEl7O)${HKgJtKLRu`_Rs+&|d)-%owO+*6Cs;1^Vi16r~ zpsMQT*DR=68OAmyax4yC*i%(kQ^OVyTFhWstrJfD9?!}!<<=CnGTa7901B4lhYHnN zj)z#y7=)tlTJ6y1It*4ggj!vNIoL7dJ<}WLKjedd?3d%!bga&Ctw@Rhd4u9$t%!b~aFtNBWadOS$z9-i~?oa9;!FfC%VOa3B6B32n)7sjW z%EZ&9gxwY^^r;HAu&q$RR*-G!RHn35se;|pXJ?A7y>yh#*_qZj;}y5%>;i;Hs8me# z*&tCky>=`C3i%b{y|$1^>QR*H$;8r*V$sg`rLt^*70%P5QOu_@J&uqEG6t#|>sd6s z%4=K@UO%e*X**Sg3!Gdw)pzkmIuUF#vShW1;flC^ie6}|y4Ql5ADQ&=@zT7U5( ztEXhG+P~Rqd*w42>Y3IprWJ<9@8HkT2eRfC1;;Xec zYk$dFzkk0qTzX}_VPeK&aSo=!tVBzNVyvj}lP^Z`8{ec7b|DTjUy2u%ok>I!v0_XW zV$ozehT}{zAB)@3?o_camQ$%{2J^S603xP6>Pb?izF1+CO2&%4c3zbVb|Tsb8bPwT zoSje?T(Y)lX;VjQXKP1OOJ6J>?>#p)xASb!@pPi8rKhPSne9szTax)$pWTwn;)UGK zLzrSPyCqr5ApLBn08u8}qLXgP<+DXQUd-lI4xutI)V+)M=CfIJ&yHs^iCBIc5-r&F zCO{v*7%0S@$HItSU$RTKVjtL>7X8QF|l;4Z;Mkj*$fXG~3T>w&eN>H_kl z2B!|rSR4oujdK2q*-c7z7ljvScS_?0y$mq#aeC2AD#MXrbvWJRtgE)(Y@gkhDJ6<+ z*+NUk-r{V8E$ywdXSbwd-EHlTpbak*I} zIo*rGr@Mn_i8BUHJZN$6&>Mnm>!=gVT?#dXn(vEB7-#1|)#`Ow#0KJyDIGbjaMT;i zB+|$NB#xZyLhu*|WIb_b&?*!QrOBI#g1E7Q1Qx_~7+tj>#98+=|6 z8D9-}QFjGy_s9?3cH^NsFXbC>KZ%>CHZA|XBgf;ge4^I!oFnHqb@$9%DgQp??x|SI z?{xGJLhhb)wR}sRcLrp?$L*e1)#5tqYsTWb+WsnJR`ngDu6FU`b=Kl1&>!aLMStBx zCVVtSA*T<%4Y|k26MYy*D_r3FOkrCe>K=$iqp{be@^-qlXm2g5R=wM_c4J#;&1W5k zjS0KE)Pn*^W}%|#Sa)|G`$+5Y)>uB4=|QDei1ca|1H@9T@oXOt7pgUbheRtLKh8tL zv9Wuj`ay$EeZgxo^w53hJ1mfMUU@=d8?Q;Y@nTcHLd{A&ibk9lwLQ;Q7Vc@nAT*}?JeV|<%km@D) zJ5nKV$rRcu{jG*Sjwk)G+pfQDplQQ#D(LFniwQqdbO^5AZ9=o+(nx1PkGeGw8@&6R zAfE&8J|D<$2k$-?$g_^!=K*=vt9!Ax-*y=w`3Fwohfm`F0lfRnpg-pBJ}bySbCSOM zzE^p+)DL~0!1bxjdHnO(kt!c;PI%glpednTusoadvY$ZUYN31N4lO zJp&8%0OeR4tKhAILxO)H_(Q>cf=>&+A^1OnChG}t!h$V=`U5=U3m+5A2;LyLOYjcC`vrBq z!v28p&kDXJ_=#XO>kxVq1=k9)ektd7b>cR`oq|Jx-xYjF@NWeV3I0m(Il)&1-xmBt zkRL`FXT0DP!4|=D1eXh5Cdj`Y(@w7&ApePh{4Iia2;M9Bu;4yHy}qFTl<@y0xR&b$ z^1Ps4SKxOGf4|_*1YZ~YORg8_Ju3LF;HY2?)(_h!3QiSl6I>v;PS6&-UhpQt0m1tP z9}(OycvSEi!G9AR5&S^#RIFj*Df}mbHQ19F{}jPy zBI3*y{#wDb;AUyxDf~AD?-P7P@MXb265;P-;j0mg@frlD64Aa$_)7#g3YG+S2<{R5 yo*>Fec`%1OXV8z{=YUP%`HbVc2$6rCBqjuJ6#SOp!-7WypBJ>SKhds9@P7eekoV01 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/pipe.c b/linux-0.11-lab - 副本/cur/linux/fs/pipe.c new file mode 100644 index 0000000..25ec154 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/pipe.c @@ -0,0 +1,128 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode *inode, char *buf, int count) +{ + int chars, size, read = 0; + + while (count > 0) + { + while (!(size = PIPE_SIZE(*inode))) + { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE - PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE - 1); + while (chars-- > 0) + put_fs_byte(((char *)inode->i_size)[size++], buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode *inode, char *buf, int count) +{ + int chars, size, written = 0; + + while (count > 0) + { + while (!(size = (PAGE_SIZE - 1) - PIPE_SIZE(*inode))) + { + wake_up(&inode->i_wait); + if (inode->i_count != 2) + { /* no readers */ + current->signal |= (1 << (SIGPIPE - 1)); + return written ? written : -1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE - PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE - 1); + while (chars-- > 0) + ((char *)inode->i_size)[size++] = get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long *fildes) +{ + struct m_inode *inode; + struct file *f[2]; + int fd[2]; + int i, j; + + j = 0; + for (i = 0; j < 2 && i < NR_FILE; i++) + if (!file_table[i].f_count) + (f[j++] = i + file_table)->f_count++; + if (j == 1) + f[0]->f_count = 0; + if (j < 2) + return -1; + j = 0; + for (i = 0; j < 2 && i < NR_OPEN; i++) + if (!current->filp[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; +} + +int sys_pipe2(int fd[2], int flags) +{ + if (flags == 0) + { + sys_pipe(fd); + } + return 0; +} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/cur/linux/fs/pipe.o b/linux-0.11-lab - 副本/cur/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..9e490f31d426d6d481936684b6825f18ba17187f GIT binary patch literal 8300 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 w@p5PUy+r7bDE_3v(+ZKU&_MIuM7u953k literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/fs/read_write.c b/linux-0.11-lab - 副本/cur/linux/fs/read_write.c new file mode 100644 index 0000000..341274a --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/fs/read_write.c @@ -0,0 +1,103 @@ +/* + * linux/fs/read_write.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/read_write.o b/linux-0.11-lab - 副本/cur/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..998aad95c9e243e4bfcae9647b34d9235f717844 GIT binary patch literal 7520 zcmbVQYiu0Xb-wf1;mmSLQCvzEBRN?cD{Ezw%cVq1v`kvGMN5?Yh^&V#Id)e2nB}gu zukOx@q+v9+7!{=nR}lg_n!NhJNvN*AKtHNnh1&}46z~!@%^Y@GbSM+Hi&+) z_;%mobMb-b+=o9$?eekszzdgui_HAQ(sVq6%82lGEQ2mj+2<~K+Z0`%8Y+DCs$GC; zV2x_=J>yLH^>=UFxN+@EjO6>iI5qb1OJ4Z(A5i~kU%zGXJdej%Du+ZXEIWMdE6BC9h62MA z*FFygV$Ps-_G5ajP3=Mn;$%Hxqn(z}dF12FaS1v7nUqezq2$`NXa9Tx3EU5_B zL$CjYX`J?3NG#KDtN2$TCPhq$*1Zh&l1x{kusqd^+NERhKFsb6Fan$gvIpkZ%{V(N zJ9h0yU~pX(?-b(gl<{Vm{vh7}iuG{ZTvFY;_QjjTnG(X=ur~Pf2%cx~W!c#o?aC5o zF|j;l-gEiPMoHx)B4Ls3mzS=f%QG^`AM27yzCH~b=81h{o|vy84vfA_LB5zxe^jjM z9J8Fe#WyB?t|@!ilpGHtFFl zG?T&>J^VrFd?BWHXB(%L5ZA*9sf2{yT`%Q@agw2j^l+UuQb_6H?=qSc#`N%HTNp>8+rvEJx4)o5!!}`*qrI4X_Fzhoh5X`%-#!?RyM(FD@9{_~zL|4j2;x%w9$JMc&t58@?@;k{*%Ok&w+_nm(x-f>wBUT}Y`5z|l zvkJAEFp}g0;LwkdZ*m?(d?Us1TSSB^E*H5tq9XJNM)WtvPHuhY01d}zA)MbPznk2& zn$46jc9Gl8%hc~Ck3c^vjB)Zl=ZnmvPvfOOI$1JyrID2V74n6o3`2_SOVcbtX1z+$7$fuzf z#y-*+i|LvseHgtI#)G7Xtvu*{(qmQu^Z@AzYZi2d^eId3xr5}VoD`nMA@aP#H>UB> zLFBV2B0s`pbC1f@en><{!TD3E?lQRpBN@0H2(-Fb|3^riHYk?`YIr1RpZPrM`wMyK zx$5)_BKi)}r44df>KDxDH>E@${enHf<*sdJOZtWR4PK=#v@L#}CpJ#PNZU=3q2H0= zLwI$`@Viy`{%orNt0fg4pnTfl@A1Qz2WHvW9_|(WLQ!n|1Byo(J`5F43+*%cApFr) z;g7BgFMZnKkFN^H=1fZEM%|d~h12YwZX1EEo#gGu) z9YG*QH0@xN!Fz5K2csjf@7D7k2pa5;4Px7%5bKlL-a$Xmw!wo@j$&%lryh`& z{h@Zp^i4uUA*v2g92i?AZh)vp!P<>Ci~Fm7+*?*W_YO{=6F38qIQ)<(`Q#(Gu8<$X z9O~jMn5O-tw+B!8iN~2uCPzxuT)CBZN6MvYYhH9HnhVViQHTaERp~iipOQI-EkaHf z1;R9QMOV>6(^q*5b(a+VYL;fJnKC$*6Q)o0)ELyJaNE%=&(af7$?T+MPhR}?Mf-MD z(RwxISM*ygdopETgyKx=k+xqvda-rUo_zIHY4t-qb^9B58Yiri_Cxx;Q9O34*oQ3p zA^U=TvenY>7_b*lu8Hz9W26}9jwrlz6S>RPTDb8wy-dSP(njZDr>XG>lsQy0i-nt2qZbQK9d-2};arHU(B^0_LwP87g;d-OyxjC=aK!2L9dm2!Y<3!}$)RmrfIcCol zrke6DakVbaq-CWDdWXrC|B6De`0AbV3 zI&vghRW21bucG^jE~U|1-O>dyJwbU2k99UU%bvLh*9F@l#|I|sR9rXghZux<(^B%33bI~Q|P$2|hd zI=WPCRRjhAP>qn_(w-a3FZ#M!xarHmwlsj9X z9E{rcG6Zg*9mQzx!l0frx>Af)nPNQ7^hz-V7E4Dl1SY$q7&4 + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab - 副本/cur/linux/fs/select.o b/linux-0.11-lab - 副本/cur/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..d61f73a39bf58c107d845f3825c695fe69663502 GIT binary patch literal 1776 zcma)7&ubG=5T2J!Yc*|X8^x9irr?h%?k3TorD`oLDvI>~7iJXeveV zCY}@#J&1bs?8UqPfKX4Kdi3hqL;YsoPO~}bz`U9HX5P%3>16x#`kfm}DH2j-P~Rf@ zl+m7QEas>{P2kmV>r<>uh}!akeCds_eOT8?M2Wg)X97y zXXIz{6KZmJ{3ubzqHEJeej#@`cdNkQ($w4KX(HnU<#LNTV+09~f%U6&dCo2MSm&o^ z=r~TL{^ZAS#{HoyMWNGi>XB9FIHI9A%~auDMj@)y@?EFobsJI14^7W`RO+<7ZqF=R zm5SN1Yo)RVO3jdNuC5hVidAdgsuoSx4(hF|?F;i4q1QW&qPbBto4(tQ%w}M_j=AZh zUncKQJrYawEG&Ru~0ZwnU4Z zUPM;Ij%>1OVMtcsbgYI`>u#*Ky`~RWtlPC(;57dvg*F;I@kis zL)RAOsi&aRIIZ<~a{8_RbIu@$_g4DiB@mtO%TCWGy1^hwHd9;uxYGc5+5Qz*MvUa< z9Gq{Nm4w8{zmS6hLcYY~mLMmkQ0ApQ$Ac%gz;MoiD`Am=g*R7#1j7tNTI!1mRP(~3C{b&IOkWGJ +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/stat.o b/linux-0.11-lab - 副本/cur/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..fdb41d331a01a0b46c2a069b24d4be4631d5abd0 GIT binary patch literal 7212 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 +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab - 副本/cur/linux/fs/super.o b/linux-0.11-lab - 副本/cur/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..b551798da16bfa699c2dc2848c061720be0e1b2a GIT binary patch literal 12284 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 + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab - 副本/cur/linux/fs/truncate.o b/linux-0.11-lab - 副本/cur/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..8975b924958105c719b40601717933b390dce7b0 GIT binary patch literal 6848 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 T&knY~U11EUL+(?^{YLp;_3Udb literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/include/a.out.h b/linux-0.11-lab - 副本/cur/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab - 副本/cur/linux/include/asm/io.h b/linux-0.11-lab - 副本/cur/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab - 副本/cur/linux/include/asm/memory.h b/linux-0.11-lab - 副本/cur/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab - 副本/cur/linux/include/asm/segment.h b/linux-0.11-lab - 副本/cur/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab - 副本/cur/linux/include/asm/system.h b/linux-0.11-lab - 副本/cur/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#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 --git a/linux-0.11-lab - 副本/cur/linux/include/const.h b/linux-0.11-lab - 副本/cur/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/ctype.h b/linux-0.11-lab - 副本/cur/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/errno.h b/linux-0.11-lab - 副本/cur/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/fcntl.h b/linux-0.11-lab - 副本/cur/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/config.h b/linux-0.11-lab - 副本/cur/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/fdreg.h b/linux-0.11-lab - 副本/cur/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/fs.h b/linux-0.11-lab - 副本/cur/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/hdreg.h b/linux-0.11-lab - 副本/cur/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/head.h b/linux-0.11-lab - 副本/cur/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/kernel.h b/linux-0.11-lab - 副本/cur/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/mm.h b/linux-0.11-lab - 副本/cur/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/sched.h b/linux-0.11-lab - 副本/cur/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +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))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/linux/sys.h b/linux-0.11-lab - 副本/cur/linux/include/linux/sys.h new file mode 100644 index 0000000..b691343 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/sys.h @@ -0,0 +1,123 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); + +extern int sys_execve2(); +extern int sys_getdents(); +extern int sys_pipe2(); +extern int sys_sleep(); +extern int sys_getcwd(); +extern int sys_mmap(); +extern int sys_munmap(); +extern int sys_clone(); + + + +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, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +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, +sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_pipe2, +sys_sleep, sys_getcwd, sys_mmap, sys_munmap, sys_clone }; + +/* 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 - 副本/cur/linux/include/linux/tty.h b/linux-0.11-lab - 副本/cur/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/signal.h b/linux-0.11-lab - 副本/cur/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab - 副本/cur/linux/include/stdarg.h b/linux-0.11-lab - 副本/cur/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab - 副本/cur/linux/include/stddef.h b/linux-0.11-lab - 副本/cur/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/string.h b/linux-0.11-lab - 副本/cur/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/sys/times.h b/linux-0.11-lab - 副本/cur/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/sys/types.h b/linux-0.11-lab - 副本/cur/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/sys/utsname.h b/linux-0.11-lab - 副本/cur/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/sys/wait.h b/linux-0.11-lab - 副本/cur/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/termios.h b/linux-0.11-lab - 副本/cur/linux/include/termios.h new file mode 100644 index 0000000..2b7b913 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/time.h b/linux-0.11-lab - 副本/cur/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/unistd.h b/linux-0.11-lab - 副本/cur/linux/include/unistd.h new file mode 100644 index 0000000..1ff873d --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/unistd.h @@ -0,0 +1,287 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_execve2 87 +#define __NR_getdents 88 +#define __NR_pipe2 89 +#define __NR_sleep 90 +#define __NR_getcwd 91 +#define __NR_mmap 92 +#define __NR_munmap 93 +#define __NR_clone 94 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +int execve2(const char * filename, char ** argv, char ** envp); +int getdents(unsigned int fd, struct linux_dirent *dirp,unsigned int count); +int pipe2(int fd[2], int flags); +unsigned int sleep(unsigned int seconds); +long getcwd(char * buf, size_t size); +long mmap(void *start, size_t len, int prot, int flags, int fd, off_t off); +int munmap(void * start, size_t len); +int clone(int (*fn)(void *), void *child_stack, int flags, void *arg); + + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/include/utime.h b/linux-0.11-lab - 副本/cur/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/init/main.c b/linux-0.11-lab - 副本/cur/linux/init/main.c new file mode 100644 index 0000000..bd86a68 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/init/main.c @@ -0,0 +1,216 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +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; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + 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\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",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); /* NOTE! _exit, not exit() */ +} + +void print_nr(int sid) +{ + if (sid > 86) + printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); +} diff --git a/linux-0.11-lab - 副本/cur/linux/init/main.o b/linux-0.11-lab - 副本/cur/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..9ed63d582781a9df2d1b9989bb6eb32f7072e04a GIT binary patch literal 12208 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/Makefile b/linux-0.11-lab - 副本/cur/linux/kernel/Makefile new file mode 100644 index 0000000..29b8f8d --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/Makefile @@ -0,0 +1,83 @@ +# +# Makefile for the FREAX-kernel. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fomit-frame-pointer -finline-functions \ + -nostdinc -fno-stack-protector -mcld -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = sched.o system_call.o traps.o asm.o fork.o \ + panic.o printk.o vsprintf.o sys.o exit.o \ + signal.o mktime.o + +kernel.o: $(OBJS) + $(LD) -r -o kernel.o $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make keyboard.s + for i in *.c;do rm -f `basename $$i .c`.s;done + (cd chr_drv; make clean) + (cd blk_drv; make clean) + (cd math; make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/asm.o b/linux-0.11-lab - 副本/cur/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/Makefile b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk.h b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk.h new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/blk_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..02751f123aa0c72fe90e820ca24599de825468be GIT binary patch literal 52212 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 +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/floppy.o new file mode 100644 index 0000000000000000000000000000000000000000..33235bcdcc660371f0cfe6077089e24f2a1c3a96 GIT binary patch literal 16612 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.c b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.c new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.o b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/hd.o new file mode 100644 index 0000000000000000000000000000000000000000..bf2b0d10bc58477ea1758f63f765ba3eab8d6225 GIT binary patch literal 15520 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ll_rw_blk.c new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; iYkGs}N`|^F* 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 + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab - 副本/cur/linux/kernel/blk_drv/ramdisk.o new file mode 100644 index 0000000000000000000000000000000000000000..d37a922496b20c46741e78e22466958ee16e9dcd GIT binary patch literal 10664 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 azd^gt2s%I$JikGRTt|uA(-65=A^s1$?rygL literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/Makefile b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/chr_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..d2f3869a9d5cd226117476be64275b50d1cf4aa7 GIT binary patch literal 68902 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ਞ(_ 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 E8yu$yWB>pF literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.c b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.c new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.o b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/console.o new file mode 100644 index 0000000000000000000000000000000000000000..cdb09cf249a683c556a1bd6a57bcc3dbe96270a4 GIT binary patch literal 20896 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" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/keyboard.S new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/rs_io.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/serial.o b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..bf80e08be94a19c3982f10989e20a6e929a1d240 GIT binary patch literal 6752 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_io.o new file mode 100644 index 0000000000000000000000000000000000000000..37e2b15961ebc5713d826d6c25e53571ac6fbb83 GIT binary patch literal 22504 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 O^kQA0pRj`M3jQCx0hyNo literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.c b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.c new file mode 100644 index 0000000..e4e3745 --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.c @@ -0,0 +1,204 @@ +/* + * linux/kernel/chr_drv/tty_ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab - 副本/cur/linux/kernel/chr_drv/tty_ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..6fcf766d95e129c53038533553e2124de8516b4b GIT binary patch literal 10648 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/exit.c b/linux-0.11-lab - 副本/cur/linux/kernel/exit.c new file mode 100644 index 0000000..2406ebe --- /dev/null +++ b/linux-0.11-lab - 副本/cur/linux/kernel/exit.c @@ -0,0 +1,197 @@ +/* + * linux/kernel/exit.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab - 副本/cur/linux/kernel/exit.o b/linux-0.11-lab - 副本/cur/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..97c5057fd4da000378b2c23ca0dba2b274e9b855 GIT binary patch literal 11164 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(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; + + 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); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(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->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + 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(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; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; 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%0DpUmH!xG_V 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/Makefile b/linux-0.11-lab - 副本/3/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab - 副本/3/linux/System.map b/linux-0.11-lab - 副本/3/linux/System.map new file mode 100644 index 0000000..79c0563 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/System.map @@ -0,0 +1,587 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd3 T print_nr +00006c04 T show_task +00006c89 T show_stat +00006ccf T math_state_restore +00006d2d T schedule +00006edf T sys_pause +00006ef5 T sleep_on +00006f54 T interruptible_sleep_on +0000700f T ticks_to_floppy_on +000070da T floppy_on +00007109 T floppy_off +00007119 T do_floppy_timer +00007311 T do_timer +00007400 T sys_alarm +0000747f T sys_getpid +0000748b T sys_getppid +00007497 T sys_getuid +000074a6 T sys_geteuid +000074b6 T sys_getgid +000074c6 T sys_getegid +000074d5 T sys_nice +00007500 T sched_init +00007690 t bad_sys_call +00007698 t reschedule +000076a4 T system_call +000076df t ret_from_sys_call +00007728 T coprocessor_error +0000774a T device_not_available +00007784 T timer_interrupt +000077bc T sys_execve +000077cc T sys_execve2 +000077dc T sys_fork +000077f4 T hd_interrupt +00007830 T floppy_interrupt +00007866 T parallel_interrupt +0000786d t _get_base +0000789f t die +00007a81 T do_double_fault +00007aa4 T do_general_protection +00007ac7 T do_divide_error +00007aea T do_int3 +00007bb2 T do_nmi +00007bd5 T do_debug +00007bf8 T do_overflow +00007c1b T do_bounds +00007c3e T do_invalid_op +00007c61 T do_device_not_available +00007c84 T do_coprocessor_segment_overrun +00007ca7 T do_invalid_TSS +00007cca T do_segment_not_present +00007ced T do_stack_segment +00007d10 T do_coprocessor_error +00007d44 T do_reserved +00007d67 T trap_init +0000804b T divide_error +00008050 t no_error_code +00008080 T debug +00008087 T nmi +0000808e T int3 +00008095 T overflow +0000809c T bounds +000080a3 T invalid_op +000080aa T coprocessor_segment_overrun +000080b1 T reserved +000080b8 T irq13 +000080cd T double_fault +000080d2 t error_code +00008104 T invalid_TSS +0000810b T segment_not_present +00008112 T stack_segment +00008119 T general_protection +00008120 t _get_base +00008152 T verify_area +000081b9 T copy_mem +00008313 T copy_process +000087c0 T find_empty_process +00008854 T panic +0000888f T printk +000088e0 t skip_atoi +0000893b t number +00008bac T vsprintf +00009038 t get_fs_long +0000904e t put_fs_byte +00009066 t put_fs_long +00009072 T sys_ftime +00009078 T sys_break +0000907e T sys_ptrace +00009084 T sys_stty +0000908a T sys_gtty +00009090 T sys_rename +00009096 T sys_prof +0000909c T sys_setregid +00009155 T sys_setgid +000091ec T sys_acct +000091f2 T sys_phys +000091f8 T sys_lock +000091fe T sys_mpx +00009204 T sys_ulimit +0000920a T sys_time +00009266 T sys_setreuid +00009348 T sys_setuid +000093dd T sys_stime +00009433 T sys_times +000094d3 T sys_brk +00009515 T sys_setpgid +000095ee T sys_getpgrp +000095fa T sys_setsid +00009674 T sys_getgroups +0000967a T sys_setgroups +00009680 T sys_uname +000096e9 T sys_sethostname +000096ef T sys_getrlimit +000096f5 T sys_setrlimit +000096fb T sys_getrusage +00009701 T sys_gettimeofday +00009707 T sys_settimeofday +0000970d T sys_umask +00009740 t _get_base +00009772 t put_fs_long +0000977e T release +000097e2 t send_sig +00009861 t kill_session +000098bb T sys_kill +00009a6b t tell_father +00009af5 T do_exit +00009d29 T sys_exit +00009d42 T sys_waitpid +00009f68 t get_fs_byte +00009f76 t put_fs_byte +00009f8e t put_fs_long +00009f9a T sys_sgetmask +00009fa6 T sys_ssetmask +00009fd2 T sys_sigpending +00009fd8 T sys_sigsuspend +00009fde t save_old +0000a031 t get_new +0000a071 T sys_signal +0000a0f5 T sys_sigaction +0000a1ff T do_signal +0000a3eb T kernel_mktime +0000a530 t oom +0000a54f T get_free_page +0000a58b T free_page +0000a5fa T free_page_tables +0000a6f9 T copy_page_tables +0000a87a T put_page +0000a966 T un_wp_page +0000aa1e T do_wp_page +0000aaa9 T get_empty_page +0000aae9 t try_to_share +0000ac7b t share_page +0000ad2f T do_no_page +0000aec4 T do_no_page2 +0000b026 T mem_init +0000b09a T calc_mem +0000b18f T page_fault +0000b1c6 t get_fs_long +0000b1dc T sys_ustat +0000b1e2 T sys_utime +0000b28f T sys_access +0000b36b T sys_chdir +0000b3df T sys_chroot +0000b453 T sys_chmod +0000b4ed T sys_chown +0000b568 T sys_open +0000b80b T sys_creat +0000b82e T sys_close +0000b8fd T sys_lseek +0000ba14 T sys_read +0000bc07 T sys_write +0000bdb5 t lock_inode +0000bde2 t unlock_inode +0000be00 T invalidate_inodes +0000be6f T sync_inodes +0000bec6 t _bmap +0000c2b2 T bmap +0000c2d5 T create_block +0000c2f8 T iput +0000c467 T get_empty_inode +0000c5bc T get_pipe_inode +0000c631 T iget +0000c7f6 t read_inode +0000ca2c T sys_sync +0000ca8f T sync_dev +0000cb88 T invalidate_buffers +0000cbfa T check_disk_change +0000cca4 t remove_from_queues +0000cd9b t insert_into_queues +0000ce60 t find_buffer +0000cec8 T get_hash_table +0000cf4a T getblk +0000d0e8 T brelse +0000d131 T bread +0000d1b6 T bread_page +0000d2d8 T breada +0000d3cd T buffer_init +0000d4fc t lock_super +0000d529 t free_super +0000d56e T get_super +0000d5dd T put_super +0000d6b0 t read_super +0000d9f3 T sys_umount +0000db54 T sys_mount +0000dcc5 T mount_root +0000ded3 t get_fs_byte +0000dee1 t put_fs_byte +0000def9 T block_write +0000e04b T block_read +0000e176 t get_fs_byte +0000e184 t put_fs_byte +0000e19c t rw_ttyx +0000e1e4 t rw_tty +0000e234 t rw_ram +0000e23a t rw_mem +0000e240 t rw_kmem +0000e246 t rw_port +0000e2e0 t rw_memory +0000e3b6 T rw_char +0000e420 t get_fs_byte +0000e42e t put_fs_byte +0000e446 T file_read +0000e5f1 T file_write +0000e7eb t put_fs_byte +0000e803 t cp_stat +0000e8da T sys_stat +0000e924 T sys_lstat +0000e93f T sys_fstat +0000e99c T sys_readlink +0000e9a2 t _get_base +0000e9d4 t get_fs_byte +0000e9e2 t get_fs_long +0000e9f8 t put_fs_byte +0000ea10 t put_fs_long +0000ea1c t get_fs +0000ea30 t get_ds +0000ea44 t set_fs +0000ea4b T sys_uselib +0000ea51 t create_tables +0000eb9c t count +0000ebdb t copy_strings +0000ed97 t change_ldt +0000ef1a T do_execve +0000f99c T do_execve2 +0001046e T sys_sleep +000104a7 T sys_getdents +000105e0 T sys_getcwd +0001095b T sys_mmap +000109b7 T sys_munmap +000109b8 T sys_clone +000109b9 t get_fs_byte +000109c7 t put_fs_byte +000109df t put_fs_long +000109eb T read_pipe +00010cc0 T sys_pipe +00010ec2 T sys_pipe2 +00010ee1 t get_fs_byte +00010eef t permission +00010f90 t match +00010ff8 t find_entry +00011452 t get_dir +0001163f t dir_namei +000116be T namei +000117d4 T open_namei +00011b27 T sys_mknod +00011d57 T sys_mkdir +00012108 t empty_dir +000122e6 T sys_rmdir +0001263e T sys_unlink +000128df T sys_symlink +000128e5 T sys_link +00012b3f T free_block +00012cb1 T new_block +00012e55 T free_inode +00012fbc T new_inode +00013196 t dupfd +00013270 T sys_dup2 +00013297 T sys_dup +000132b2 T sys_fcntl +000133f1 T sys_ioctl +000134c2 t free_ind +00013561 t free_dind +00013600 T truncate +00013735 T sys_select +0001373b t lock_buffer +00013768 t unlock_buffer +0001395a t make_request +00013afe T ll_rw_block +00013b57 T blk_dev_init +00013ba5 t unlock_buffer +00013bda t end_request +00013c8b T floppy_deselect +00013cc2 T floppy_change +00013d48 t setup_DMA +00013dfe t output_byte +00013e74 t result +00013f31 t bad_flp_intr +00013f90 t rw_interrupt +0001407f T setup_rw_floppy +00014140 t seek_interrupt +00014199 t transfer +000142ce t recal_interrupt +00014318 T unexpected_floppy_interrupt +0001435d t recalibrate_floppy +000143bf t reset_interrupt +00014404 t reset_floppy +00014481 t floppy_on_interrupt +000144ec t do_fd_request +000146f0 T floppy_init +00014742 t unlock_buffer +00014777 t end_request +00014816 T sys_setup +00014bc9 t controller_ready +00014c5d t hd_out +00014d4a t drive_busy +00014db0 t reset_controller +00014e2d t reset_hd +00014ec5 T unexpected_hd_interrupt +00014ed8 t bad_rw_intr +00014f16 t read_intr +0001503c t recal_intr +00015056 t do_hd_request +00015357 T hd_init +000153d1 t unlock_buffer +00015406 t end_request +000154a5 t do_rd_request +000155db T rd_init +00015631 T rd_load +000158dd t get_fs_byte +000158eb t put_fs_byte +00015903 T tty_init +00015914 T tty_intr +00015988 t sleep_if_empty +000159c0 t sleep_if_full +00015a34 T copy_to_cooked +00015fef T tty_read +0001635d T tty_write +0001656f T do_tty_interrupt +00016597 T chr_dev_init +00016598 t gotoxy +000165e6 t set_origin +0001664c t scrup +0001683c t scrdown +00016933 t lf +00016969 t ri +0001699f t cr +000169c0 t del +000169f2 t csi_J +00016a83 t csi_K +00016b35 T csi_m +00016b9c t set_cursor +00016c02 t respond +00016c5a t insert_char +00016cbd t insert_line +00016d01 t delete_char +00016d5f t delete_line +00016da3 t csi_at +00016de1 t csi_L +00016e1f t csi_P +00016e5d t csi_M +00016e9b t save_cur +00016eb0 t restore_cur +00016ecf T con_write +0001755d T con_init +00017794 T sysbeepstop +000177bd t sysbeep +0001781b t mode +0001781c t leds +0001781d t e0 +0001781e T keyboard_interrupt +00017847 t e0_e1 +00017872 t set_e0 +0001787b t set_e1 +00017884 t put_queue +000178bd t ctrl +000178d5 t unctrl +000178d9 t unalt +000178ef t lshift +000178f7 t unlshift +000178ff t rshift +00017907 t unrshift +0001790f t caps +00017931 t set_leds +00017947 t uncaps +0001794f t scroll +00017958 t num +00017961 t cursor +00017981 t cur2 +000179aa t cur +000179b6 t ok_cur +000179c4 t num_table +000179d1 t cur_table +000179de t func +000179fb t ok_func +00017a0e t end_func +00017a0f t func_table +00017a3f t key_map +00017aa0 t shift_map +00017b62 t do_self +00017bca t none +00017bcb t minus +00017be0 t key_table +00017fe0 t kb_wait +00017fe9 t reboot +00017ffb t die +00017ffd t init +00018072 T rs_init +000180f5 T rs_write +00018144 T rs1_interrupt +0001814c T rs2_interrupt +00018151 t rs_int +00018168 t rep_int +00018185 t end +00018193 t jmp_table +000181a4 t modem_status +000181ac t line_status +000181b4 t read_char +0001823b t get_fs_byte +00018249 t get_fs_long +0001825f t put_fs_byte +00018277 t put_fs_long +00018283 t change_speed +00018301 t flush +00018313 t send_break +00018314 t get_termios +00018370 t set_termios +000183c0 t get_termio +00018488 t set_termio +0001854c T tty_ioctl +0001884a t get_fs_byte +00018858 T math_emulate +0001893b T math_error +0001895b T _exit +0001896b T open +000189b4 T close +00018a28 T dup +00018a5f T setsid +00018a8e T execve +00018b2b T strcpy +00018b47 T strncpy +00018b6c T strcat +00018b97 T strncat +00018bcc T strcmp +00018bf3 T strncmp +00018c21 T strchr +00018c4e T strrchr +00018c7d T strspn +00018cba T strcspn +00018cf7 T strpbrk +00018d2e T strstr +00018d67 T strlen +00018d8a T strtok +00018e0d T memcpy +00018e2d T memmove +00018e81 T memcmp +00018eab T memchr +00018ee3 T memset +0001cec8 d envp_rc +0001cedc d envp +0001cf00 D sys_call_table +0001d07c D NR_syscalls +0001d080 d init_task +0001e080 D current +0001e0a0 D task +0001e1a0 D stack_start +0001e1a8 D current_DOR +0001e1c0 d thisname.1955 +0001e200 d month +0001e240 d last_inode.1935 +0001e244 D start_buffer +0001e260 d crw_table +0001e280 d ioctl_table +0001e2a0 d floppy_type +0001e360 d cur_spec1 +0001e364 d cur_rate +0001e368 d floppy +0001e36c d current_track +0001e370 d callable.1844 +0001e380 D tty_table +000208a0 D table_list +000208c0 d quotient +000208e0 D _ctype +000209e1 B __bss_start +000209e1 D _edata +00020a00 b printbuf +00020e00 b memory_end +00020e04 b buffer_memory_end +00020e08 b main_memory_start +00020e20 B jiffies +00020e24 B startup_time +00020e28 B last_task_used_math +00020e3c b mon_timer +00020e4c b moff_timer +00020e60 b timer_list +00021160 b next_timer +00021164 B last_pid +00021180 b buf +00021580 b HIGH_MEMORY +000215a0 b mem_map +000224a0 B inode_table +00022ba0 B nr_buffers +00022ba4 b free_list +00022ba8 b buffer_wait +00022bac B ROOT_DEV +00022be0 B blk_dev +00022c18 B do_floppy +00022c1c B selected +00022c24 b recalibrate +00022c28 b reset +00022c2c b seek +00022c30 b reply_buffer +00022c37 b current_drive +00022c38 b sector +00022c39 b head +00022c3a b track +00022c3b b seek_track +00022c3c b command +00022c40 B do_hd +00022c60 B hd_info +00022c90 b recalibrate +00022c94 b reset +00022c98 b NR_HD +00022ca0 b hd +00022cf0 B rd_length +00022cf4 b cr_flag.1923 +00022d00 B beepcount +00022d04 b video_type +00022d08 b video_num_columns +00022d0c b video_size_row +00022d10 b video_num_lines +00022d14 b video_page +00022d18 b video_mem_start +00022d1c b video_mem_end +00022d20 b video_port_reg +00022d22 b video_port_val +00022d24 b video_erase_char +00022d28 b origin +00022d2c b scr_end +00022d30 b pos +00022d34 b x +00022d38 b y +00022d3c b top +00022d40 b bottom +00022d44 b state +00022d48 b npar +00022d60 b par +00022da0 b ques +00022da4 b saved_x +00022da8 b saved_y +00022dc0 B drive_info +00022de0 B user_stack +00023de0 B hash_table +000242c0 B super_block +00024620 B file_table +00024a20 B request +00024ea0 B rd_start +00024ea4 B _ctmp +00024ea8 B errno +00024eac B ___strtok +00024eb0 B end +00024eb0 B _end diff --git a/linux-0.11-lab - 副本/3/linux/System.map.2 b/linux-0.11-lab - 副本/3/linux/System.map.2 new file mode 100644 index 0000000..0865d1c --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/System.map.2 @@ -0,0 +1,1085 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x18f07 + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x744 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + 0x0000000000006bd3 print_nr + .text 0x0000000000006c04 0x392c kernel/kernel.o + 0x0000000000006c04 show_task + 0x0000000000006c89 show_stat + 0x0000000000006ccf math_state_restore + 0x0000000000006d2d schedule + 0x0000000000006edf sys_pause + 0x0000000000006ef5 sleep_on + 0x0000000000006f54 interruptible_sleep_on + 0x0000000000006fe7 wake_up + 0x000000000000700f ticks_to_floppy_on + 0x00000000000070da floppy_on + 0x0000000000007109 floppy_off + 0x0000000000007119 do_floppy_timer + 0x00000000000071ed add_timer + 0x0000000000007311 do_timer + 0x0000000000007400 sys_alarm + 0x000000000000747f sys_getpid + 0x000000000000748b sys_getppid + 0x0000000000007497 sys_getuid + 0x00000000000074a6 sys_geteuid + 0x00000000000074b6 sys_getgid + 0x00000000000074c6 sys_getegid + 0x00000000000074d5 sys_nice + 0x0000000000007500 sched_init + 0x00000000000076a4 system_call + 0x0000000000007728 coprocessor_error + 0x000000000000774a device_not_available + 0x0000000000007784 timer_interrupt + 0x00000000000077bc sys_execve + 0x00000000000077cc sys_execve2 + 0x00000000000077dc sys_fork + 0x00000000000077f4 hd_interrupt + 0x0000000000007830 floppy_interrupt + 0x0000000000007866 parallel_interrupt + 0x0000000000007a81 do_double_fault + 0x0000000000007aa4 do_general_protection + 0x0000000000007ac7 do_divide_error + 0x0000000000007aea do_int3 + 0x0000000000007bb2 do_nmi + 0x0000000000007bd5 do_debug + 0x0000000000007bf8 do_overflow + 0x0000000000007c1b do_bounds + 0x0000000000007c3e do_invalid_op + 0x0000000000007c61 do_device_not_available + 0x0000000000007c84 do_coprocessor_segment_overrun + 0x0000000000007ca7 do_invalid_TSS + 0x0000000000007cca do_segment_not_present + 0x0000000000007ced do_stack_segment + 0x0000000000007d10 do_coprocessor_error + 0x0000000000007d44 do_reserved + 0x0000000000007d67 trap_init + 0x000000000000804b divide_error + 0x0000000000008080 debug + 0x0000000000008087 nmi + 0x000000000000808e int3 + 0x0000000000008095 overflow + 0x000000000000809c bounds + 0x00000000000080a3 invalid_op + 0x00000000000080aa coprocessor_segment_overrun + 0x00000000000080b1 reserved + 0x00000000000080b8 irq13 + 0x00000000000080cd double_fault + 0x0000000000008104 invalid_TSS + 0x000000000000810b segment_not_present + 0x0000000000008112 stack_segment + 0x0000000000008119 general_protection + 0x0000000000008152 verify_area + 0x00000000000081b9 copy_mem + 0x0000000000008313 copy_process + 0x00000000000087c0 find_empty_process + 0x0000000000008854 panic + 0x000000000000888f printk + 0x0000000000008bac vsprintf + 0x0000000000009072 sys_ftime + 0x0000000000009078 sys_break + 0x000000000000907e sys_ptrace + 0x0000000000009084 sys_stty + 0x000000000000908a sys_gtty + 0x0000000000009090 sys_rename + 0x0000000000009096 sys_prof + 0x000000000000909c sys_setregid + 0x0000000000009155 sys_setgid + 0x00000000000091ec sys_acct + 0x00000000000091f2 sys_phys + 0x00000000000091f8 sys_lock + 0x00000000000091fe sys_mpx + 0x0000000000009204 sys_ulimit + 0x000000000000920a sys_time + 0x0000000000009266 sys_setreuid + 0x0000000000009348 sys_setuid + 0x00000000000093dd sys_stime + 0x0000000000009433 sys_times + 0x00000000000094d3 sys_brk + 0x0000000000009515 sys_setpgid + 0x00000000000095ee sys_getpgrp + 0x00000000000095fa sys_setsid + 0x0000000000009674 sys_getgroups + 0x000000000000967a sys_setgroups + 0x0000000000009680 sys_uname + 0x00000000000096e9 sys_sethostname + 0x00000000000096ef sys_getrlimit + 0x00000000000096f5 sys_setrlimit + 0x00000000000096fb sys_getrusage + 0x0000000000009701 sys_gettimeofday + 0x0000000000009707 sys_settimeofday + 0x000000000000970d sys_umask + 0x000000000000977e release + 0x00000000000098bb sys_kill + 0x0000000000009af5 do_exit + 0x0000000000009d29 sys_exit + 0x0000000000009d42 sys_waitpid + 0x0000000000009f9a sys_sgetmask + 0x0000000000009fa6 sys_ssetmask + 0x0000000000009fd2 sys_sigpending + 0x0000000000009fd8 sys_sigsuspend + 0x000000000000a071 sys_signal + 0x000000000000a0f5 sys_sigaction + 0x000000000000a1ff do_signal + 0x000000000000a3eb kernel_mktime + .text 0x000000000000a530 0xc96 mm/mm.o + 0x000000000000a54f get_free_page + 0x000000000000a58b free_page + 0x000000000000a5fa free_page_tables + 0x000000000000a6f9 copy_page_tables + 0x000000000000a87a put_page + 0x000000000000a966 un_wp_page + 0x000000000000aa1e do_wp_page + 0x000000000000aa50 write_verify + 0x000000000000aaa9 get_empty_page + 0x000000000000ad2f do_no_page + 0x000000000000aec4 do_no_page2 + 0x000000000000b026 mem_init + 0x000000000000b09a calc_mem + 0x000000000000b18f page_fault + .text 0x000000000000b1c6 0x8575 fs/fs.o + 0x000000000000b1dc sys_ustat + 0x000000000000b1e2 sys_utime + 0x000000000000b28f sys_access + 0x000000000000b36b sys_chdir + 0x000000000000b3df sys_chroot + 0x000000000000b453 sys_chmod + 0x000000000000b4ed sys_chown + 0x000000000000b568 sys_open + 0x000000000000b80b sys_creat + 0x000000000000b82e sys_close + 0x000000000000b8fd sys_lseek + 0x000000000000ba14 sys_read + 0x000000000000bc07 sys_write + 0x000000000000be00 invalidate_inodes + 0x000000000000be6f sync_inodes + 0x000000000000c2b2 bmap + 0x000000000000c2d5 create_block + 0x000000000000c2f8 iput + 0x000000000000c467 get_empty_inode + 0x000000000000c5bc get_pipe_inode + 0x000000000000c631 iget + 0x000000000000ca2c sys_sync + 0x000000000000ca8f sync_dev + 0x000000000000cb88 invalidate_buffers + 0x000000000000cbfa check_disk_change + 0x000000000000cec8 get_hash_table + 0x000000000000cf4a getblk + 0x000000000000d0e8 brelse + 0x000000000000d131 bread + 0x000000000000d1b6 bread_page + 0x000000000000d2d8 breada + 0x000000000000d3cd buffer_init + 0x000000000000d56e get_super + 0x000000000000d5dd put_super + 0x000000000000d9f3 sys_umount + 0x000000000000db54 sys_mount + 0x000000000000dcc5 mount_root + 0x000000000000def9 block_write + 0x000000000000e04b block_read + 0x000000000000e3b6 rw_char + 0x000000000000e446 file_read + 0x000000000000e5f1 file_write + 0x000000000000e8da sys_stat + 0x000000000000e924 sys_lstat + 0x000000000000e93f sys_fstat + 0x000000000000e99c sys_readlink + 0x000000000000ea4b sys_uselib + 0x000000000000ef1a do_execve + 0x000000000000f99c do_execve2 + 0x000000000001046e sys_sleep + 0x00000000000104a7 sys_getdents + 0x00000000000105e0 sys_getcwd + 0x000000000001095b sys_mmap + 0x00000000000109b7 sys_munmap + 0x00000000000109b8 sys_clone + 0x00000000000109eb read_pipe + 0x0000000000010b41 write_pipe + 0x0000000000010cc0 sys_pipe + 0x0000000000010ec2 sys_pipe2 + 0x00000000000116be namei + 0x00000000000117d4 open_namei + 0x0000000000011b27 sys_mknod + 0x0000000000011d57 sys_mkdir + 0x00000000000122e6 sys_rmdir + 0x000000000001263e sys_unlink + 0x00000000000128df sys_symlink + 0x00000000000128e5 sys_link + 0x0000000000012b3f free_block + 0x0000000000012cb1 new_block + 0x0000000000012e55 free_inode + 0x0000000000012fbc new_inode + 0x0000000000013270 sys_dup2 + 0x0000000000013297 sys_dup + 0x00000000000132b2 sys_fcntl + 0x00000000000133f1 sys_ioctl + 0x0000000000013600 truncate + 0x0000000000013735 sys_select + .text 0x000000000001373b 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000013afe ll_rw_block + 0x0000000000013b57 blk_dev_init + .text 0x0000000000013ba5 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000013c8b floppy_deselect + 0x0000000000013cc2 floppy_change + 0x000000000001407f setup_rw_floppy + 0x0000000000014318 unexpected_floppy_interrupt + 0x00000000000146f0 floppy_init + .text 0x0000000000014742 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000014816 sys_setup + 0x0000000000014ec5 unexpected_hd_interrupt + 0x0000000000015357 hd_init + .text 0x00000000000153d1 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x00000000000155db rd_init + 0x0000000000015631 rd_load + .text 0x00000000000158dd 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x0000000000015903 tty_init + 0x0000000000015914 tty_intr + 0x0000000000015a21 wait_for_keypress + 0x0000000000015a34 copy_to_cooked + 0x0000000000015fef tty_read + 0x000000000001635d tty_write + 0x000000000001656f do_tty_interrupt + 0x0000000000016597 chr_dev_init + .text 0x0000000000016598 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000016b35 csi_m + 0x0000000000016ecf con_write + 0x000000000001755d con_init + 0x0000000000017794 sysbeepstop + .text 0x000000000001781b 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x000000000001781e keyboard_interrupt + .text 0x0000000000017ffd 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000018072 rs_init + 0x00000000000180f5 rs_write + *fill* 0x0000000000018142 0x2 + .text 0x0000000000018144 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000018144 rs1_interrupt + 0x000000000001814c rs2_interrupt + .text 0x000000000001823b 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x000000000001854c tty_ioctl + .text 0x000000000001884a 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000018858 math_emulate + 0x000000000001893b math_error + .text 0x000000000001895b 0x0 lib/lib.a(ctype.o) + .text 0x000000000001895b 0x10 lib/lib.a(_exit.o) + 0x000000000001895b _exit + .text 0x000000000001896b 0x49 lib/lib.a(open.o) + 0x000000000001896b open + .text 0x00000000000189b4 0x37 lib/lib.a(close.o) + 0x00000000000189b4 close + .text 0x00000000000189eb 0x0 lib/lib.a(errno.o) + .text 0x00000000000189eb 0x3d lib/lib.a(write.o) + 0x00000000000189eb write + .text 0x0000000000018a28 0x37 lib/lib.a(dup.o) + 0x0000000000018a28 dup + .text 0x0000000000018a5f 0x2f lib/lib.a(setsid.o) + 0x0000000000018a5f setsid + .text 0x0000000000018a8e 0x3d lib/lib.a(execve.o) + 0x0000000000018a8e execve + .text 0x0000000000018acb 0x60 lib/lib.a(wait.o) + 0x0000000000018acb waitpid + 0x0000000000018b08 wait + .text 0x0000000000018b2b 0x3dc lib/lib.a(string.o) + 0x0000000000018b2b strcpy + 0x0000000000018b47 strncpy + 0x0000000000018b6c strcat + 0x0000000000018b97 strncat + 0x0000000000018bcc strcmp + 0x0000000000018bf3 strncmp + 0x0000000000018c21 strchr + 0x0000000000018c4e strrchr + 0x0000000000018c7d strspn + 0x0000000000018cba strcspn + 0x0000000000018cf7 strpbrk + 0x0000000000018d2e strstr + 0x0000000000018d67 strlen + 0x0000000000018d8a strtok + 0x0000000000018e0d memcpy + 0x0000000000018e2d memmove + 0x0000000000018e81 memcmp + 0x0000000000018eab memchr + 0x0000000000018ee3 memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x0000000000018f07 PROVIDE (__etext, .) + 0x0000000000018f07 PROVIDE (_etext, .) + 0x0000000000018f07 PROVIDE (etext, .) + +.rodata 0x0000000000018f08 0x140e + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000018f08 0xc9 init/main.o + *fill* 0x0000000000018fd1 0x3 + .rodata 0x0000000000018fd4 0x438 kernel/kernel.o + .rodata 0x000000000001940c 0x1b5 mm/mm.o + *fill* 0x00000000000195c1 0x3 + .rodata 0x00000000000195c4 0x62c fs/fs.o + .rodata 0x0000000000019bf0 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000019c6a 0x2 + .rodata 0x0000000000019c6c 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000019d9f 0x1 + .rodata 0x0000000000019da0 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000019f3b 0x1 + .rodata 0x0000000000019f3c 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x000000000001a0c4 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x000000000001a241 0x3 + .rodata 0x000000000001a244 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x000000000001a2c4 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x000000000001a318 0x2b9c + *(.eh_frame) + .eh_frame 0x000000000001a318 0x108 init/main.o + .eh_frame 0x000000000001a420 0xb04 kernel/kernel.o + 0xbf4 (size before relaxing) + .eh_frame 0x000000000001af24 0x1b0 mm/mm.o + 0x1c8 (size before relaxing) + .eh_frame 0x000000000001b0d4 0xed4 fs/fs.o + 0x106c (size before relaxing) + .eh_frame 0x000000000001bfa8 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001c040 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001c27c 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001c464 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001c510 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001c63c 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001c8fc 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001c950 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001ca98 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001caf4 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001cb10 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001cb34 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cb54 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cb74 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cb94 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001cbac 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001cbcc 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001cc04 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001ceb4 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001ceb4 0x0 + 0x000000000001ceb4 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001ceb4 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001ceb4 0x0 + 0x000000000001ceb4 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001ceb4 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001ceb4 0x0 + 0x000000000001ceb4 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001ceb4 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001ceb4 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001cec0 0x3b21 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001cec0 0x0 boot/head.o + .data 0x000000000001cec0 0x28 init/main.o + *fill* 0x000000000001cee8 0x18 + .data 0x000000000001cf00 0x1330 kernel/kernel.o + 0x000000000001cf00 sys_call_table + 0x000000000001d07c NR_syscalls + 0x000000000001e080 current + 0x000000000001e0a0 task + 0x000000000001e1a0 stack_start + 0x000000000001e1a8 current_DOR + .data 0x000000000001e230 0x0 mm/mm.o + *fill* 0x000000000001e230 0x10 + .data 0x000000000001e240 0x60 fs/fs.o + 0x000000000001e244 start_buffer + .data 0x000000000001e2a0 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001e2a0 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001e36d 0x3 + .data 0x000000000001e370 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001e374 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001e374 0xc + .data 0x000000000001e380 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001e380 tty_table + 0x00000000000208a0 table_list + .data 0x00000000000208b8 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x00000000000208b9 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x00000000000208b9 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x00000000000208b9 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x00000000000208b9 0x7 + .data 0x00000000000208c0 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x00000000000208e0 0x0 kernel/math/math.a(math_emulate.o) + .data 0x00000000000208e0 0x101 lib/lib.a(ctype.o) + 0x00000000000208e0 _ctype + .data 0x00000000000209e1 0x0 lib/lib.a(_exit.o) + .data 0x00000000000209e1 0x0 lib/lib.a(open.o) + .data 0x00000000000209e1 0x0 lib/lib.a(close.o) + .data 0x00000000000209e1 0x0 lib/lib.a(errno.o) + .data 0x00000000000209e1 0x0 lib/lib.a(write.o) + .data 0x00000000000209e1 0x0 lib/lib.a(dup.o) + .data 0x00000000000209e1 0x0 lib/lib.a(setsid.o) + .data 0x00000000000209e1 0x0 lib/lib.a(execve.o) + .data 0x00000000000209e1 0x0 lib/lib.a(wait.o) + .data 0x00000000000209e1 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x00000000000209e1 _edata = . + 0x00000000000209e1 PROVIDE (edata, .) + 0x00000000000209e1 . = . + 0x00000000000209e1 __bss_start = . + +.bss 0x0000000000020a00 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x0000000000020a00 0x0 boot/head.o + .bss 0x0000000000020a00 0x40c init/main.o + *fill* 0x0000000000020e0c 0x14 + .bss 0x0000000000020e20 0x760 kernel/kernel.o + 0x0000000000020e20 jiffies + 0x0000000000020e24 startup_time + 0x0000000000020e28 last_task_used_math + 0x0000000000021164 last_pid + .bss 0x0000000000021580 0xf20 mm/mm.o + .bss 0x00000000000224a0 0x710 fs/fs.o + 0x00000000000224a0 inode_table + 0x0000000000022ba0 nr_buffers + 0x0000000000022bac ROOT_DEV + *fill* 0x0000000000022bb0 0x10 + .bss 0x0000000000022bc0 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000022bc0 wait_for_request + 0x0000000000022be0 blk_dev + .bss 0x0000000000022c18 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000022c18 do_floppy + 0x0000000000022c1c selected + 0x0000000000022c20 wait_on_floppy_select + *fill* 0x0000000000022c3d 0x3 + .bss 0x0000000000022c40 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x0000000000022c40 do_hd + 0x0000000000022c60 hd_info + .bss 0x0000000000022cf0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000022cf0 rd_length + .bss 0x0000000000022cf4 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000022cf8 0x8 + .bss 0x0000000000022d00 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000022d00 beepcount + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000022dac 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000022dac 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(open.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(close.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(errno.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(write.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(dup.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(execve.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(wait.o) + .bss 0x0000000000022dac 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000022dac 0x14 + COMMON 0x0000000000022dc0 0x20 init/main.o + 0x0000000000022dc0 drive_info + COMMON 0x0000000000022de0 0x1000 kernel/kernel.o + 0x0000000000022de0 user_stack + COMMON 0x0000000000023de0 0xc40 fs/fs.o + 0x0000000000023de0 hash_table + 0x00000000000242c0 super_block + 0x0000000000024620 file_table + COMMON 0x0000000000024a20 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000024a20 request + COMMON 0x0000000000024ea0 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000024ea0 rd_start + COMMON 0x0000000000024ea4 0x1 lib/lib.a(ctype.o) + 0x0000000000024ea4 _ctmp + *fill* 0x0000000000024ea5 0x3 + COMMON 0x0000000000024ea8 0x4 lib/lib.a(errno.o) + 0x0000000000024ea8 errno + COMMON 0x0000000000024eac 0x4 lib/lib.a(string.o) + 0x0000000000024eac ___strtok + 0x0000000000024eb0 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000024eb0 . = ALIGN (0x4) + 0x0000000000024eb0 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000024eb0 . = ALIGN (0x4) + 0x0000000000024eb0 _end = . + 0x0000000000024eb0 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x17986 + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0xb73 init/main.o + .debug_info 0x0000000000000b73 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005829 0xba8 mm/mm.o + .debug_info 0x00000000000063d1 0xa856 fs/fs.o + .debug_info 0x0000000000010c27 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x0000000000011559 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x00000000000121f8 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x0000000000012f57 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000013a2c 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x00000000000144f9 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x00000000000152a9 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000015b05 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x000000000001664c 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x0000000000016e01 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000016e67 0x77 lib/lib.a(_exit.o) + .debug_info 0x0000000000016ede 0xd0 lib/lib.a(open.o) + .debug_info 0x0000000000016fae 0x97 lib/lib.a(close.o) + .debug_info 0x0000000000017045 0x36 lib/lib.a(errno.o) + .debug_info 0x000000000001707b 0xc9 lib/lib.a(write.o) + .debug_info 0x0000000000017144 0x97 lib/lib.a(dup.o) + .debug_info 0x00000000000171db 0x95 lib/lib.a(setsid.o) + .debug_info 0x0000000000017270 0xcb lib/lib.a(execve.o) + .debug_info 0x000000000001733b 0xed lib/lib.a(wait.o) + .debug_info 0x0000000000017428 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x44cc + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x237 init/main.o + .debug_abbrev 0x0000000000000237 0xf63 kernel/kernel.o + .debug_abbrev 0x000000000000119a 0x20b mm/mm.o + .debug_abbrev 0x00000000000013a5 0x1aa0 fs/fs.o + .debug_abbrev 0x0000000000002e45 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000002fae 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x000000000000322b 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x0000000000003467 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x000000000000360f 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003888 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x0000000000003af3 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003c68 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003df5 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003f58 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000003f96 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000003fe7 0x97 lib/lib.a(open.o) + .debug_abbrev 0x000000000000407e 0x75 lib/lib.a(close.o) + .debug_abbrev 0x00000000000040f3 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x000000000000411f 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x00000000000041c0 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x0000000000004235 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x00000000000042a8 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x000000000000432d 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x00000000000043e3 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x4886 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1e5 init/main.o + .debug_line 0x00000000000001e5 0xe86 kernel/kernel.o + .debug_line 0x000000000000106b 0x2b4 mm/mm.o + .debug_line 0x000000000000131f 0x1ebf fs/fs.o + .debug_line 0x00000000000031de 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x0000000000003375 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x00000000000035c1 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x0000000000003880 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x00000000000039e0 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003d1b 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x00000000000040c6 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x000000000000419f 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x000000000000437a 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000445b 0x28 lib/lib.a(ctype.o) + .debug_line 0x0000000000004483 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000044bc 0x62 lib/lib.a(open.o) + .debug_line 0x000000000000451e 0x5c lib/lib.a(close.o) + .debug_line 0x000000000000457a 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000045a2 0x76 lib/lib.a(write.o) + .debug_line 0x0000000000004618 0x5a lib/lib.a(dup.o) + .debug_line 0x0000000000004672 0x77 lib/lib.a(setsid.o) + .debug_line 0x00000000000046e9 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004746 0x7a lib/lib.a(wait.o) + .debug_line 0x00000000000047c0 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2228 + *(.debug_str) + .debug_str 0x0000000000000000 0x3bd init/main.o + 0x460 (size before relaxing) + .debug_str 0x00000000000003bd 0x8f4 kernel/kernel.o + 0x232a (size before relaxing) + .debug_str 0x0000000000000cb1 0x18d mm/mm.o + 0x4e8 (size before relaxing) + .debug_str 0x0000000000000e3e 0xa37 fs/fs.o + 0x4b07 (size before relaxing) + .debug_str 0x0000000000001875 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x491 (size before relaxing) + .debug_str 0x0000000000001965 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x673 (size before relaxing) + .debug_str 0x0000000000001b34 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e8 (size before relaxing) + .debug_str 0x0000000000001c92 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x58a (size before relaxing) + .debug_str 0x0000000000001cd5 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4e3 (size before relaxing) + .debug_str 0x0000000000001dd0 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b7 (size before relaxing) + .debug_str 0x0000000000001f89 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3fc (size before relaxing) + .debug_str 0x0000000000001fa3 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a7 (size before relaxing) + .debug_str 0x000000000000202e 0x70 kernel/math/math.a(math_emulate.o) + 0x392 (size before relaxing) + .debug_str 0x000000000000209e 0x8d lib/lib.a(ctype.o) + 0xb6 (size before relaxing) + .debug_str 0x000000000000212b 0x31 lib/lib.a(_exit.o) + 0xde (size before relaxing) + .debug_str 0x0000000000000000 0x31 lib/lib.a(open.o) + 0xee (size before relaxing) + .debug_str 0x000000000000215c 0x8 lib/lib.a(close.o) + 0xe0 (size before relaxing) + .debug_str 0x0000000000002164 0x8 lib/lib.a(errno.o) + 0x93 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xec (size before relaxing) + .debug_str 0x000000000000216c 0x6 lib/lib.a(dup.o) + 0xd8 (size before relaxing) + .debug_str 0x0000000000002172 0x9 lib/lib.a(setsid.o) + 0xe8 (size before relaxing) + .debug_str 0x000000000000217b 0x9 lib/lib.a(execve.o) + 0xf1 (size before relaxing) + .debug_str 0x0000000000002184 0x11 lib/lib.a(wait.o) + 0xfe (size before relaxing) + .debug_str 0x0000000000002195 0x93 lib/lib.a(string.o) + 0x147 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab - 副本/3/linux/boot/bootsect b/linux-0.11-lab - 副本/3/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/boot/bootsect.o b/linux-0.11-lab - 副本/3/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/boot/bootsect.s b/linux-0.11-lab - 副本/3/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * 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. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/3/linux/boot/head.o b/linux-0.11-lab - 副本/3/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + 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 $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab - 副本/3/linux/boot/setup b/linux-0.11-lab - 副本/3/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/boot/setup.s b/linux-0.11-lab - 副本/3/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/3/linux/execve2.patch b/linux-0.11-lab - 副本/3/linux/execve2.patch new file mode 100644 index 0000000..7d99d4f --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/execve2.patch @@ -0,0 +1,41 @@ +diff -Naur 0/linux/init/main.c 4/linux/init/main.c +--- 0/linux/init/main.c 2016-08-08 09:40:13.000000000 +0800 ++++ 4/linux/init/main.c 2021-07-06 14:16:56.000000000 +0800 +@@ -208,3 +208,9 @@ + } + _exit(0); /* NOTE! _exit, not exit() */ + } ++ ++void print_nr(int sid) ++{ ++ if (sid > 86) ++ printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); ++} +diff -Naur 0/linux/kernel/system_call.s 4/linux/kernel/system_call.s +--- 0/linux/kernel/system_call.s 2015-09-03 20:21:09.000000000 +0800 ++++ 4/linux/kernel/system_call.s 2021-07-06 14:18:56.000000000 +0800 +@@ -91,6 +91,11 @@ + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs ++ ++ pushl %eax #by wyj ++ call print_nr ++ popl %eax ++ + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax +diff -Naur 0/linux/mm/memory.c 4/linux/mm/memory.c +--- 0/linux/mm/memory.c 2015-09-04 15:24:20.000000000 +0800 ++++ 4/linux/mm/memory.c 2021-07-06 14:21:45.000000000 +0800 +@@ -370,6 +370,9 @@ + unsigned long page; + int block,i; + ++ if (current->pid > 5) ++ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); ++ + address &= 0xfffff000; + tmp = address - current->start_code; + if (!current->executable || tmp >= current->end_data) { diff --git a/linux-0.11-lab - 副本/3/linux/fs/Makefile b/linux-0.11-lab - 副本/3/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.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 \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.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 \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.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 \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab - 副本/3/linux/fs/bitmap.c b/linux-0.11-lab - 副本/3/linux/fs/bitmap.c new file mode 100644 index 0000000..73951a8 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ + +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/bitmap.o b/linux-0.11-lab - 副本/3/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..501d3c5e3fb1a044792589a0bdde55cbb41cfaa2 GIT binary patch literal 10280 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 J@|j5fe*vQQ&y@fG literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/block_dev.c b/linux-0.11-lab - 副本/3/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/block_dev.o b/linux-0.11-lab - 副本/3/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e5e9334ce9a4697061730271c4c9d92fcf4aa105 GIT binary patch literal 7296 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 + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iQ6+~nZ1VPZCP{pdlWadpWGMO3Y4-glv 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 +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/char_dev.o b/linux-0.11-lab - 副本/3/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..2977060a7c0b215e10aa16a8395ed973d52837cd GIT binary patch literal 8288 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 O%Ys)0UlIH-!T$wZ8WjQn literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/exec.c b/linux-0.11-lab - 副本/3/linux/fs/exec.c new file mode 100644 index 0000000..147734f --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/exec.c @@ -0,0 +1,695 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ + +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long *create_tables(char *p, int argc, int envc) +{ + unsigned long *argv, *envp; + unsigned long *sp; + + sp = (unsigned long *)(0xfffffffc & (unsigned long)p); + sp -= envc + 1; + envp = sp; + sp -= argc + 1; + argv = sp; + put_fs_long((unsigned long)envp, --sp); + put_fs_long((unsigned long)argv, --sp); + put_fs_long((unsigned long)argc, --sp); + while (argc-- > 0) + { + put_fs_long((unsigned long)p, argv++); + while (get_fs_byte(p++)) /* nothing */ + ; + } + put_fs_long(0, argv); + while (envc-- > 0) + { + put_fs_long((unsigned long)p, envp++); + while (get_fs_byte(p++)) /* nothing */ + ; + } + put_fs_long(0, envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char **argv) +{ + int i = 0; + char **tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *)(tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc, char **argv, unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem == 2) + set_fs(new_fs); + while (argc-- > 0) + { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv) + argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len = 0; /* remember zero-padding */ + do + { + len++; + } while (get_fs_byte(tmp++)); + if (p - len < 0) + { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) + { + --p; + --tmp; + --len; + if (--offset < 0) + { + offset = p % PAGE_SIZE; + if (from_kmem == 2) + set_fs(old_fs); + if (!(pag = (char *)page[p / PAGE_SIZE]) && + !(pag = (char *)(page[p / PAGE_SIZE] = + (unsigned long *)get_free_page()))) + return 0; + if (from_kmem == 2) + set_fs(new_fs); + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem == 2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size, unsigned long *page) +{ + unsigned long code_limit, data_limit, code_base, data_base; + int i; + + code_limit = text_size + PAGE_SIZE - 1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1], code_base); + set_limit(current->ldt[1], code_limit); + set_base(current->ldt[2], data_base); + set_limit(current->ldt[2], data_limit); + /* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs" ::); + data_base += data_limit; + for (i = MAX_ARG_PAGES - 1; i >= 0; i--) + { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i], data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long *eip, long tmp, char *filename, + char **argv, char **envp) +{ + struct m_inode *inode; + struct buffer_head *bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i, argc, envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p = PAGE_SIZE * MAX_ARG_PAGES - 4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i = 0; i < MAX_ARG_PAGES; i++) /* clear page-table */ + page[i] = 0; + if (!(inode = namei(filename))) /* get executables inode */ + return -ENOENT; + argc = count(argv); + envc = count(envp); + +restart_interp: + if (!S_ISREG(inode->i_mode)) + { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev, inode->i_zone[0]))) + { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *)bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) + { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data + 2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) + { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++) + ; + } + if (!cp || *cp == '\0') + { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for (; *cp && (*cp != ' ') && (*cp != '\t'); cp++) + { + if (*cp == '/') + i_name = cp + 1; + } + if (*cp) + { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv + 1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) + { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) + { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode = namei(interp))) + { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text + ex.a_data + ex.a_bss > 0x3000000 || + inode->i_size < ex.a_text + ex.a_data + ex.a_syms + N_TXTOFF(ex)) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) + { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(argc, argv, page, p, 0); + if (!p) + { + retval = -ENOMEM; + goto exec_error2; + } + } + /* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i = 0; i < 32; i++) + current->sigaction[i].sa_handler = NULL; + for (i = 0; i < NR_OPEN; i++) + if ((current->close_on_exec >> i) & 1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]), get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]), get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text, page) - MAX_ARG_PAGES * PAGE_SIZE; + p = (unsigned long)create_tables((char *)p, argc, envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i = 0; i < MAX_ARG_PAGES; i++) + free_page(page[i]); + return (retval); +} + +int do_execve2(unsigned long *eip, long tmp, char *filename, + char **argv, char **envp) +{ + struct m_inode *inode; + struct buffer_head *bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i, argc, envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p = PAGE_SIZE * MAX_ARG_PAGES - 4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i = 0; i < MAX_ARG_PAGES; i++) /* clear page-table */ + page[i] = 0; + if (!(inode = namei(filename))) /* get executables inode */ + return -ENOENT; + argc = count(argv); + envc = count(envp); + +restart_interp: + if (!S_ISREG(inode->i_mode)) + { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev, inode->i_zone[0]))) + { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *)bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) + { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data + 2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) + { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++) + ; + } + if (!cp || *cp == '\0') + { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for (; *cp && (*cp != ' ') && (*cp != '\t'); cp++) + { + if (*cp == '/') + i_name = cp + 1; + } + if (*cp) + { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv + 1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) + { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) + { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode = namei(interp))) + { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text + ex.a_data + ex.a_bss > 0x3000000 || + inode->i_size < ex.a_text + ex.a_data + ex.a_syms + N_TXTOFF(ex)) + { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) + { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) + { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(argc, argv, page, p, 0); + if (!p) + { + retval = -ENOMEM; + goto exec_error2; + } + } + /* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i = 0; i < 32; i++) + current->sigaction[i].sa_handler = NULL; + for (i = 0; i < NR_OPEN; i++) + if ((current->close_on_exec >> i) & 1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]), get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]), get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text, page) - MAX_ARG_PAGES * PAGE_SIZE; + p = (unsigned long)create_tables((char *)p, argc, envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + + char *tmp_buf; + for (tmp_buf = 0; tmp_buf < current->brk; tmp_buf += 4096) + do_no_page2(4, current->start_code + tmp_buf); + + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i = 0; i < MAX_ARG_PAGES; i++) + free_page(page[i]); + return (retval); +} + +int sys_sleep(unsigned int seconds) +{ + sys_signal(14, SIG_IGN, NULL); + sys_alarm(seconds); + + sys_pause(); + return 0; +} +struct linux_dirent +{ + long d_ino; + off_t d_off; + unsigned short d_reclen; + char d_name[14]; +}; +int sys_getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) +{ + struct m_inode *my_inode = current->filp[fd]->f_inode; + struct buffer_head *my_head = bread(my_inode->i_dev, my_inode->i_zone[0]); + struct dir_entry *my_dir = (struct dir_entry *)my_head->b_data; + unsigned int qq = sizeof(struct linux_dirent); + // struct dir_entry *ptr = mydir; + int c = 0; + int i = 0; + struct linux_dirent tmp; + while (c * qq < count && my_dir->inode != 0) + { + tmp.d_ino = my_dir->inode; + tmp.d_off = qq; + tmp.d_reclen = qq; + // strcpy(tmp->d_name, my_dir->name); + for (i = 0; i < 14; i++) + { + tmp.d_name[i] = my_dir->name[i]; + } + // printk("%d %d %d %s\n", tmp->d_ino, tmp->d_off, tmp->d_reclen, tmp->d_name); + + for (i = 0; i < qq; i++) + { + put_fs_byte(((char *)&tmp)[i], ((char *)(dirp + c)) + i); + } + my_dir += 1; + c++; + } + // dirp->d_name[0] ='o'; + + // if(my_dir->inode==0&& c*qq!=count) return 0; + return c * qq; +} + +long sys_getcwd(char *buf, size_t size) +{ + struct m_inode *kp_inode = current->pwd; + struct buffer_head *kp_head = bread(kp_inode->i_dev, kp_inode->i_zone[0]); + struct dir_entry *kp_dir = (struct dir_entry *)kp_head->b_data; + + struct m_inode *cur_inode = kp_inode; + struct buffer_head *cur_head = kp_head; + struct dir_entry *cur_dir = kp_dir; + + struct m_inode *father_inode = cur_inode; + struct buffer_head *father_head = cur_head; + struct dir_entry *father_dir = cur_dir + 1; + + int c = 0; + int i = 0; + int k = 0; + int j = 0; + char path[20][30]; + while (1) + { + father_inode = iget(cur_inode->i_dev, father_dir->inode); + father_head = bread(father_inode->i_dev, father_inode->i_zone[0]); + father_dir = (struct dir_entry *)father_head->b_data; + + while (father_dir->inode != cur_dir->inode) + { + father_dir++; + } + for (i = 0; father_dir->name[i] != '\0'; i++) + { + path[c][i] = father_dir->name[i]; + } + path[c++][i] = '\0'; + + cur_inode = father_inode; + cur_head = father_head; + cur_dir = (struct dir_entry *)cur_head->b_data; + father_dir = cur_dir + 1; + if (father_dir->inode == cur_dir->inode) + break; + } + for (i = c - 1; i >= 0; i--) + { + put_fs_byte('/', buf + k); + k++; + for (j = 0; path[i][j] != '\0'; j++) + { + put_fs_byte(path[i][j], buf + k); + k++; + } + } + return buf; +} +long sys_mmap(void *start, size_t len, int prot, int flags, int fd, off_t off) +{ + struct m_inode *my_inode = current->filp[fd]->f_inode; + struct buffer_head *my_head = bread(my_inode->i_dev, my_inode->i_zone[0]); + struct dir_entry *my_dir = (struct dir_entry *)my_head->b_data; + int i=0; + return 0; +} +int sys_munmap() {} +int sys_clone() {} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/3/linux/fs/exec.o b/linux-0.11-lab - 副本/3/linux/fs/exec.o new file mode 100644 index 0000000000000000000000000000000000000000..ae39d6ccf8d2f43dd6bf3e9fd968b36edef23e85 GIT binary patch literal 23260 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 +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/fcntl.o b/linux-0.11-lab - 副本/3/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..17a6ecacd50cb07b4337da65f94d880d02b367a8 GIT binary patch literal 6748 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/file_dev.c b/linux-0.11-lab - 副本/3/linux/fs/file_dev.c new file mode 100644 index 0000000..0c50eaa --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/file_dev.c @@ -0,0 +1,90 @@ +/* + * linux/fs/file_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/file_dev.o b/linux-0.11-lab - 副本/3/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e1ba8a5aa9f848cbe07cc40a116357db631d2c89 GIT binary patch literal 7828 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 SclH@D3RwcTDjZc + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab - 副本/3/linux/fs/file_table.o b/linux-0.11-lab - 副本/3/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..422bcb331f1423abef699440aa5b0f0ff3a8b671 GIT binary patch literal 2644 zcma)8ONbmr7_OR`-P!Hgo!w=9BnF`a8xkecvzttkb&W;|x+aF`!4(DLY)?=3Ogq!v zV?VOl_&SK&K#0s-B=xPW^?j%FhrbeTlMCJwT9?XVawWCSbyVX|l2jSv>;r0{YaW6k_^T zz^c43M3{C3LO#m~p?wD-+vFv!O1}9tWJUXp+$5jUK4*OA9`G6MD!D~It9?Y?9e~%h zNpi;q*R@lSvd7#dtx0>I{E+r8?Jnm!to=&<9J!$#WXynkS-U~|kmDcG>f|2zQB7xz zPu|k*q&*-%ra=ffB0sKOX3X>CC&cs`U|z-_!=_!MBjE%>dy4!bc}e?}e2cuIh2)nQ zKBe73zWo5~GpHxaSY_e9qLcMJC2H@1m#062oG8PB_yu{OzE~^Q_tocb$KXq%R=Xc6 z!W5mtG`ERzeXVwH?aU$)7onWoi!GZ&EG<G-(`FDL5GCjLkzBG)c>s!O5Yd43kpIj0J zL$ni?^gGLma)}S#8gV?s>Amp;_i=x>NJiF;9-MAS< z4d33%KD)7OtgJMKW~aHF8JbRnjKu9i4g+f-0>^2`Q2fM$^wI?~uoxN5N}`rr)!X zkOgp0bB?ivVFjLNqo#(BEj4ghvMo+e;Qti+cm>cWRebh7?!!!*IMC1w&2`!#>Rb)&9ZYkHg8gkiQ-5obM!ho&zcta4TOYQ7!kK zhn{n~t|E>PMc#7XSs04*p2N$^c{neB7xH;8faf`&;yT9LBvCE*xzNe^-E4CxbDRBJaN~jlSq|VjswDS1$X0~#=Lq&ga zCz+rAOpXJ}=@*Vw_-pAt>oj4i1@Xtt-Oowk-9QNMj)Y*HB&K4`iTsa2WPK#+q${0w zg!W?!)3XcxL8Yf>6#9nJ`D4X+Q{jsW-%$9r!fOgYRQQR)FBEb=InIv?e^L0SLLMmk uXB6&HxTJ7d;Yo#$D11WUrb18Qw!+sGzNPRTh3_l;TH*IZ6fvzQ&gs8hV_9GT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/fs.o b/linux-0.11-lab - 副本/3/linux/fs/fs.o new file mode 100644 index 0000000000000000000000000000000000000000..7999a26bff73139e169f038b726c079dddea9773 GIT binary patch literal 151449 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 O1;uUNxR`jIDE|-LKnqj= literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/inode.c b/linux-0.11-lab - 副本/3/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/inode.o b/linux-0.11-lab - 副本/3/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..dd67bfa4d43e1073c47e0226043fc43f5f0e9153 GIT binary patch literal 14072 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 I1a}MmH>)TywEzGB literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/ioctl.c b/linux-0.11-lab - 副本/3/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/ioctl.o b/linux-0.11-lab - 副本/3/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..1f1f33c5568ad7f154251149e1ecc40766da48c1 GIT binary patch literal 5828 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 +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/namei.o b/linux-0.11-lab - 副本/3/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..0514463113d5878e35d040844344865d47c7032e GIT binary patch literal 20756 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 a@7aEaV1r +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/open.o b/linux-0.11-lab - 副本/3/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..aceb4b8d44365ee59ea3c9bb01413542e9cf0177 GIT binary patch literal 11184 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/pipe.c b/linux-0.11-lab - 副本/3/linux/fs/pipe.c new file mode 100644 index 0000000..25ec154 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/pipe.c @@ -0,0 +1,128 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode *inode, char *buf, int count) +{ + int chars, size, read = 0; + + while (count > 0) + { + while (!(size = PIPE_SIZE(*inode))) + { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE - PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE - 1); + while (chars-- > 0) + put_fs_byte(((char *)inode->i_size)[size++], buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode *inode, char *buf, int count) +{ + int chars, size, written = 0; + + while (count > 0) + { + while (!(size = (PAGE_SIZE - 1) - PIPE_SIZE(*inode))) + { + wake_up(&inode->i_wait); + if (inode->i_count != 2) + { /* no readers */ + current->signal |= (1 << (SIGPIPE - 1)); + return written ? written : -1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE - PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE - 1); + while (chars-- > 0) + ((char *)inode->i_size)[size++] = get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long *fildes) +{ + struct m_inode *inode; + struct file *f[2]; + int fd[2]; + int i, j; + + j = 0; + for (i = 0; j < 2 && i < NR_FILE; i++) + if (!file_table[i].f_count) + (f[j++] = i + file_table)->f_count++; + if (j == 1) + f[0]->f_count = 0; + if (j < 2) + return -1; + j = 0; + for (i = 0; j < 2 && i < NR_OPEN; i++) + if (!current->filp[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; +} + +int sys_pipe2(int fd[2], int flags) +{ + if (flags == 0) + { + sys_pipe(fd); + } + return 0; +} \ No newline at end of file diff --git a/linux-0.11-lab - 副本/3/linux/fs/pipe.o b/linux-0.11-lab - 副本/3/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..9e490f31d426d6d481936684b6825f18ba17187f GIT binary patch literal 8300 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 w@p5PUy+r7bDE_3v(+ZKU&_MIuM7u953k literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/fs/read_write.c b/linux-0.11-lab - 副本/3/linux/fs/read_write.c new file mode 100644 index 0000000..341274a --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/fs/read_write.c @@ -0,0 +1,103 @@ +/* + * linux/fs/read_write.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/read_write.o b/linux-0.11-lab - 副本/3/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..998aad95c9e243e4bfcae9647b34d9235f717844 GIT binary patch literal 7520 zcmbVQYiu0Xb-wf1;mmSLQCvzEBRN?cD{Ezw%cVq1v`kvGMN5?Yh^&V#Id)e2nB}gu zukOx@q+v9+7!{=nR}lg_n!NhJNvN*AKtHNnh1&}46z~!@%^Y@GbSM+Hi&+) z_;%mobMb-b+=o9$?eekszzdgui_HAQ(sVq6%82lGEQ2mj+2<~K+Z0`%8Y+DCs$GC; zV2x_=J>yLH^>=UFxN+@EjO6>iI5qb1OJ4Z(A5i~kU%zGXJdej%Du+ZXEIWMdE6BC9h62MA z*FFygV$Ps-_G5ajP3=Mn;$%Hxqn(z}dF12FaS1v7nUqezq2$`NXa9Tx3EU5_B zL$CjYX`J?3NG#KDtN2$TCPhq$*1Zh&l1x{kusqd^+NERhKFsb6Fan$gvIpkZ%{V(N zJ9h0yU~pX(?-b(gl<{Vm{vh7}iuG{ZTvFY;_QjjTnG(X=ur~Pf2%cx~W!c#o?aC5o zF|j;l-gEiPMoHx)B4Ls3mzS=f%QG^`AM27yzCH~b=81h{o|vy84vfA_LB5zxe^jjM z9J8Fe#WyB?t|@!ilpGHtFFl zG?T&>J^VrFd?BWHXB(%L5ZA*9sf2{yT`%Q@agw2j^l+UuQb_6H?=qSc#`N%HTNp>8+rvEJx4)o5!!}`*qrI4X_Fzhoh5X`%-#!?RyM(FD@9{_~zL|4j2;x%w9$JMc&t58@?@;k{*%Ok&w+_nm(x-f>wBUT}Y`5z|l zvkJAEFp}g0;LwkdZ*m?(d?Us1TSSB^E*H5tq9XJNM)WtvPHuhY01d}zA)MbPznk2& zn$46jc9Gl8%hc~Ck3c^vjB)Zl=ZnmvPvfOOI$1JyrID2V74n6o3`2_SOVcbtX1z+$7$fuzf z#y-*+i|LvseHgtI#)G7Xtvu*{(qmQu^Z@AzYZi2d^eId3xr5}VoD`nMA@aP#H>UB> zLFBV2B0s`pbC1f@en><{!TD3E?lQRpBN@0H2(-Fb|3^riHYk?`YIr1RpZPrM`wMyK zx$5)_BKi)}r44df>KDxDH>E@${enHf<*sdJOZtWR4PK=#v@L#}CpJ#PNZU=3q2H0= zLwI$`@Viy`{%orNt0fg4pnTfl@A1Qz2WHvW9_|(WLQ!n|1Byo(J`5F43+*%cApFr) z;g7BgFMZnKkFN^H=1fZEM%|d~h12YwZX1EEo#gGu) z9YG*QH0@xN!Fz5K2csjf@7D7k2pa5;4Px7%5bKlL-a$Xmw!wo@j$&%lryh`& z{h@Zp^i4uUA*v2g92i?AZh)vp!P<>Ci~Fm7+*?*W_YO{=6F38qIQ)<(`Q#(Gu8<$X z9O~jMn5O-tw+B!8iN~2uCPzxuT)CBZN6MvYYhH9HnhVViQHTaERp~iipOQI-EkaHf z1;R9QMOV>6(^q*5b(a+VYL;fJnKC$*6Q)o0)ELyJaNE%=&(af7$?T+MPhR}?Mf-MD z(RwxISM*ygdopETgyKx=k+xqvda-rUo_zIHY4t-qb^9B58Yiri_Cxx;Q9O34*oQ3p zA^U=TvenY>7_b*lu8Hz9W26}9jwrlz6S>RPTDb8wy-dSP(njZDr>XG>lsQy0i-nt2qZbQK9d-2};arHU(B^0_LwP87g;d-OyxjC=aK!2L9dm2!Y<3!}$)RmrfIcCol zrke6DakVbaq-CWDdWXrC|B6De`0AbV3 zI&vghRW21bucG^jE~U|1-O>dyJwbU2k99UU%bvLh*9F@l#|I|sR9rXghZux<(^B%33bI~Q|P$2|hd zI=WPCRRjhAP>qn_(w-a3FZ#M!xarHmwlsj9X z9E{rcG6Zg*9mQzx!l0frx>Af)nPNQ7^hz-V7E4Dl1SY$q7&4 + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab - 副本/3/linux/fs/select.o b/linux-0.11-lab - 副本/3/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..d61f73a39bf58c107d845f3825c695fe69663502 GIT binary patch literal 1776 zcma)7&ubG=5T2J!Yc*|X8^x9irr?h%?k3TorD`oLDvI>~7iJXeveV zCY}@#J&1bs?8UqPfKX4Kdi3hqL;YsoPO~}bz`U9HX5P%3>16x#`kfm}DH2j-P~Rf@ zl+m7QEas>{P2kmV>r<>uh}!akeCds_eOT8?M2Wg)X97y zXXIz{6KZmJ{3ubzqHEJeej#@`cdNkQ($w4KX(HnU<#LNTV+09~f%U6&dCo2MSm&o^ z=r~TL{^ZAS#{HoyMWNGi>XB9FIHI9A%~auDMj@)y@?EFobsJI14^7W`RO+<7ZqF=R zm5SN1Yo)RVO3jdNuC5hVidAdgsuoSx4(hF|?F;i4q1QW&qPbBto4(tQ%w}M_j=AZh zUncKQJrYawEG&Ru~0ZwnU4Z zUPM;Ij%>1OVMtcsbgYI`>u#*Ky`~RWtlPC(;57dvg*F;I@kis zL)RAOsi&aRIIZ<~a{8_RbIu@$_g4DiB@mtO%TCWGy1^hwHd9;uxYGc5+5Qz*MvUa< z9Gq{Nm4w8{zmS6hLcYY~mLMmkQ0ApQ$Ac%gz;MoiD`Am=g*R7#1j7tNTI!1mRP(~3C{b&IOkWGJ +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/stat.o b/linux-0.11-lab - 副本/3/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..fdb41d331a01a0b46c2a069b24d4be4631d5abd0 GIT binary patch literal 7212 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 +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab - 副本/3/linux/fs/super.o b/linux-0.11-lab - 副本/3/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..b551798da16bfa699c2dc2848c061720be0e1b2a GIT binary patch literal 12284 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 + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab - 副本/3/linux/fs/truncate.o b/linux-0.11-lab - 副本/3/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..8975b924958105c719b40601717933b390dce7b0 GIT binary patch literal 6848 zcmcgwdyHIF89(>2d#5wI)5mVhwk&i?wxz)C>}RR2risfTDql6k`Ht2u6*dO`w#bK=6S=tiRv6=WeG+qVW$; zGWYlUzVn^$ob#RUoO|xvxMKZEP18hBG+~G{k`QlC^lN%0%oeR;qB!to=Yf44y`t7| z@;0bP2ReF320Bb&V#Mrt{e#n|PeX2nO{?&>LftwlplClf(9uRWr@EnQ&y9-Q%};vM z6d(WSlOJ|+8ukZZsefu;N84$P>V{)oIdalx`sZq+&6FOSe)Fj-{&w=Ie>99d`_y~WFFJadTJ43AqqG|toJ|<@VPr7G zHGRzzLV6OWb`yc;{;AyO6kEYc` z{VE5~ko71U8LKPcVe2Su){sZ6HuAOPP1bwl>&Tm}ZSZfbPoUKVtA%Yh%*V6UT138) zyv;gJ`;U>gTbGg#lE*~Iya_(W-2>qX!`w(G*89+ygPeh|-i2@T3OO6Ag?tlv$eIO1 z^Gfn2YcKViA8ADY;mzb*sGp#R6BMpWLul2*AqrP>wrzTN$C%Krhi5|P*TnQlx;m_c z4n2$tCCt_%6(=jqt#sX~hjXlvLP8IBaWGQo)x)E7ErmWkynL)?kshhh!6z8wemxvR z5PV^o9)5{tvSvV!4AJZwnyu8sb66vV)$m5wQdp~pzfWNshqGP}Z{cvRr7)<6x3P^B zHtXSA$Aqi(@cnEfYqsg(E5>TJ>)|3DT*pqcdc^bg2y=THLS7GVXHAMV1;k(%#+LpJ z^17mjkJCYhf~SW!b3R!LyY=t|?8j!T_vzs%&2mp;dG_m(LKX>|{|$r}(2wg1bBEI) z#OpdTp%X4b<_KCfvAgwX*SrBFB=r5@ea5wm;okZ*oEvhe!g8TElC;*XKjUd^XQ!t1 zAZ=3QA?s&wYoz_O9iUCdPumP_vP{yb^;`PMG5cZ`yEKN_w!^xGZS&-_t#;Zw?5oq7 zM*AJ)aqAB9Ve*8vhrB@lbF8)GMe@1UMEWU__gW|LG|J@jtlyJY$md&pT^QGsFA)0s z=xl=FF`ibK6*YDsteNCH$#v^S@?GSn^&C6fP4kcyBHzQ~rU~(67#r8Yw9(qkX51|k z8WS(l^LJR+^9rc2hRNsL25wq$C>rOc@eEl3Hhlm>wpC%vS+=7yK8@ z*;}!cMus_Z5pz)(F8Rgers0uaLLM@5PDPlVK6%J`m-+?dP0;rU zvyXg&B`q)IvlaR|!dyt+W@M^!g?SlyyJ2(Si^yY^i+;_;%Wv?>V?_d03~Cy9i_EV0wJ}f|!C!rZ7i;4Xbk)w<+Id65U2Bw29ix zXiLP1o*SL0O=_HQ4w|=UMl=#x7`ZH>wO}7K3nN5fO-mo*WOj&1WCbi+?{vUcHAYQ{G} zgQTAYwuaLljGXbsUPWP3Jg`d zrBfH7zjNlv-m#exDuz(ql*qWNf^q^x7yI$lwD+UUc*=V}7c3s{c1oE-Eo*ldoKkJK zs8hIm+&U4jr)sT~NqKfWL&teLm5n0-g~+)+x|zJKRNkJ7O)UoDIzy#Y0URrjg_6TE zBHHD(t)X8XI`qTP=Y)IDF|=;$q0kI{R?8oxW^Lo1(5s<$ zLkAx|pwDa3O-#)7QdKXBXJ%NWliWObro5EM+HMB=YAxdlyOi~nZYr58q_DfaYARzV z(~eh6RfLl)Ar`|fNXm1Hwy4P`&YC%*R!q6WBA4>=c2(3|JDV(m*N0}+#x1esvEF!J zyf@ZWOjR@a#m?Nm`QVvCHr6#1>&lgjj@Ol|riyk~rHs3$U4_zNr*>BkG4`Bt$%U#^ z?vgXc!4# zmQGfx_D+AGSdxUmqX(_n4_ehKSZ)~%Gx%jN89l1VP)6l{)cSIXhY_LfVwOd{#u_EQK^NXeChfsDLsyDk<|;CdDW zIpfO7!obH8$CoOkszuSAFBk3ZQZ4Ism))+Cz02Q^U5R*4Pgfz8?oRlMZoHPp;*rUx zszOE_*_d;%Ks%gV&cRzQm#pBu4^;)jX23A2QmyFEMeRvZ8LC!<&FM-J<_vd; z7S}*kgHl}jb7wu@Znl$1Bu??HyYS}uD+tXjT&VQlu6G&Vua-)voTYEtUCp{F;V=)K6- z;&|n;gQD%-B(!}Y?c65QycMSw_44By$XB9R9!=<9iJH{+DqX#ve_*V~FL>9{-ssVy zc+27X>h39GhXB2*kNJRA?Lyqc))H}f4#m^BZN#a}+UeR5CYURuO7c`X&6TRFO;uB+ zAuMN|il;=-0DXvfrd%xA*zoZZ4v9F9AOFzs+t_*R6dW`h%iaj;B3Qrv%G}=B2EOs zgv>hr_9+bPeuTkY3|&wHyPKgP56THnqOJsW_d-V=EbHsA%huU(d@Oh2S3i%3Fc0o2 z&SN}&!94i4W8JXDdMF-%E+|32^?kAqcQ7#sC9Y#*{y1dzS?_N<@|55CK?(c?a)9-E zQ@nFJ&=b%8r<8Ji50p)O=J|zZh>i$hc=DVHWK}J}kQsSKV~DzhhT4!TUSBW&QyEhj zW4-w*L*PzaR}2}EGYUgA3-0rvFiza3L7|)o1R!O8>;z}uB+REDa!^>mIuL-A>+eKk z?~Jqr>pn2wGP5RoJIDEY^#{sJr@_4A3a zJECwA5|vl?O+*~_Jm)lQD6SX3zLqlP?`M^Kx5BS0JfiRi3ZGH zctqi|3Xdy%OW_9!$6-s-&jy8C71|1~SNKVVBMR?Qcv#`X3LjVaQ-!}!_&bFs75+t` zh69cLH!GZ~aHhf@g-aB!Rrqm*X@w<)dllZU@JkB6q42v3pHTR$!apk9(BO|}hr*o- zZ&LVWh2K+nT;YA#Ae_fT3Qs9~hlp55aa6H>wZe@==!cbjNa2G@|A>;GSNMuTxDy&U T&knY~U11EUL+(?^{YLp;_3Udb literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/include/a.out.h b/linux-0.11-lab - 副本/3/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab - 副本/3/linux/include/asm/io.h b/linux-0.11-lab - 副本/3/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab - 副本/3/linux/include/asm/memory.h b/linux-0.11-lab - 副本/3/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab - 副本/3/linux/include/asm/segment.h b/linux-0.11-lab - 副本/3/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab - 副本/3/linux/include/asm/system.h b/linux-0.11-lab - 副本/3/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#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 --git a/linux-0.11-lab - 副本/3/linux/include/const.h b/linux-0.11-lab - 副本/3/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/ctype.h b/linux-0.11-lab - 副本/3/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/errno.h b/linux-0.11-lab - 副本/3/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/fcntl.h b/linux-0.11-lab - 副本/3/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/config.h b/linux-0.11-lab - 副本/3/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/fdreg.h b/linux-0.11-lab - 副本/3/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/fs.h b/linux-0.11-lab - 副本/3/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/hdreg.h b/linux-0.11-lab - 副本/3/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/head.h b/linux-0.11-lab - 副本/3/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/kernel.h b/linux-0.11-lab - 副本/3/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/mm.h b/linux-0.11-lab - 副本/3/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/sched.h b/linux-0.11-lab - 副本/3/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +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))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/linux/sys.h b/linux-0.11-lab - 副本/3/linux/include/linux/sys.h new file mode 100644 index 0000000..b691343 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/sys.h @@ -0,0 +1,123 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); + +extern int sys_execve2(); +extern int sys_getdents(); +extern int sys_pipe2(); +extern int sys_sleep(); +extern int sys_getcwd(); +extern int sys_mmap(); +extern int sys_munmap(); +extern int sys_clone(); + + + +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, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +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, +sys_lstat, sys_readlink, sys_uselib, sys_execve2, sys_getdents, sys_pipe2, +sys_sleep, sys_getcwd, sys_mmap, sys_munmap, sys_clone }; + +/* 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 - 副本/3/linux/include/linux/tty.h b/linux-0.11-lab - 副本/3/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/signal.h b/linux-0.11-lab - 副本/3/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab - 副本/3/linux/include/stdarg.h b/linux-0.11-lab - 副本/3/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab - 副本/3/linux/include/stddef.h b/linux-0.11-lab - 副本/3/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/string.h b/linux-0.11-lab - 副本/3/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/sys/times.h b/linux-0.11-lab - 副本/3/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/sys/types.h b/linux-0.11-lab - 副本/3/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/sys/utsname.h b/linux-0.11-lab - 副本/3/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/sys/wait.h b/linux-0.11-lab - 副本/3/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/termios.h b/linux-0.11-lab - 副本/3/linux/include/termios.h new file mode 100644 index 0000000..2b7b913 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/time.h b/linux-0.11-lab - 副本/3/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/unistd.h b/linux-0.11-lab - 副本/3/linux/include/unistd.h new file mode 100644 index 0000000..1ff873d --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/unistd.h @@ -0,0 +1,287 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_execve2 87 +#define __NR_getdents 88 +#define __NR_pipe2 89 +#define __NR_sleep 90 +#define __NR_getcwd 91 +#define __NR_mmap 92 +#define __NR_munmap 93 +#define __NR_clone 94 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +int execve2(const char * filename, char ** argv, char ** envp); +int getdents(unsigned int fd, struct linux_dirent *dirp,unsigned int count); +int pipe2(int fd[2], int flags); +unsigned int sleep(unsigned int seconds); +long getcwd(char * buf, size_t size); +long mmap(void *start, size_t len, int prot, int flags, int fd, off_t off); +int munmap(void * start, size_t len); +int clone(int (*fn)(void *), void *child_stack, int flags, void *arg); + + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/include/utime.h b/linux-0.11-lab - 副本/3/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/init/main.c b/linux-0.11-lab - 副本/3/linux/init/main.c new file mode 100644 index 0000000..bd86a68 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/init/main.c @@ -0,0 +1,216 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +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; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + 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\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",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); /* NOTE! _exit, not exit() */ +} + +void print_nr(int sid) +{ + if (sid > 86) + printk(" --syscall: sid=%d, pid=%d\n", sid, current->pid); +} diff --git a/linux-0.11-lab - 副本/3/linux/init/main.o b/linux-0.11-lab - 副本/3/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..9ed63d582781a9df2d1b9989bb6eb32f7072e04a GIT binary patch literal 12208 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/Makefile b/linux-0.11-lab - 副本/3/linux/kernel/Makefile new file mode 100644 index 0000000..29b8f8d --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/Makefile @@ -0,0 +1,83 @@ +# +# Makefile for the FREAX-kernel. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fomit-frame-pointer -finline-functions \ + -nostdinc -fno-stack-protector -mcld -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = sched.o system_call.o traps.o asm.o fork.o \ + panic.o printk.o vsprintf.o sys.o exit.o \ + signal.o mktime.o + +kernel.o: $(OBJS) + $(LD) -r -o kernel.o $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make keyboard.s + for i in *.c;do rm -f `basename $$i .c`.s;done + (cd chr_drv; make clean) + (cd blk_drv; make clean) + (cd math; make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab - 副本/3/linux/kernel/asm.o b/linux-0.11-lab - 副本/3/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/Makefile b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk.h b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk.h new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/blk_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..02751f123aa0c72fe90e820ca24599de825468be GIT binary patch literal 52212 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 +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/floppy.o new file mode 100644 index 0000000000000000000000000000000000000000..33235bcdcc660371f0cfe6077089e24f2a1c3a96 GIT binary patch literal 16612 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.c b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.c new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.o b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/hd.o new file mode 100644 index 0000000000000000000000000000000000000000..bf2b0d10bc58477ea1758f63f765ba3eab8d6225 GIT binary patch literal 15520 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ll_rw_blk.c new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; iYkGs}N`|^F* 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 + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab - 副本/3/linux/kernel/blk_drv/ramdisk.o new file mode 100644 index 0000000000000000000000000000000000000000..d37a922496b20c46741e78e22466958ee16e9dcd GIT binary patch literal 10664 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 azd^gt2s%I$JikGRTt|uA(-65=A^s1$?rygL literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/Makefile b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/chr_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..d2f3869a9d5cd226117476be64275b50d1cf4aa7 GIT binary patch literal 68902 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ਞ(_ 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 E8yu$yWB>pF literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.c b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.c new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.o b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/console.o new file mode 100644 index 0000000000000000000000000000000000000000..cdb09cf249a683c556a1bd6a57bcc3dbe96270a4 GIT binary patch literal 20896 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" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/keyboard.S new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/rs_io.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/serial.o b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..bf80e08be94a19c3982f10989e20a6e929a1d240 GIT binary patch literal 6752 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_io.o new file mode 100644 index 0000000000000000000000000000000000000000..37e2b15961ebc5713d826d6c25e53571ac6fbb83 GIT binary patch literal 22504 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 O^kQA0pRj`M3jQCx0hyNo literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.c b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.c new file mode 100644 index 0000000..e4e3745 --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.c @@ -0,0 +1,204 @@ +/* + * linux/kernel/chr_drv/tty_ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} diff --git a/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab - 副本/3/linux/kernel/chr_drv/tty_ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..6fcf766d95e129c53038533553e2124de8516b4b GIT binary patch literal 10648 zcma)C4Rn-MdcNN`cfuDlGZ~T)0z{q2AmApG2}FqeNPr-q;6{lpC^}4LzDWiqnK(b; z=TH|n*e0ad;@PvS)fM!#cDuW7_w2SS6>Cx0)nluR9xU3mt-D)$P|(&ro-S2))91P0 z{U#H3PuoxLJn#G7_wT;<=eslEOY1h>WEh5UA47P=Bqzjo8=anZ1q(#Is1;kryTVrT zkQhBR`qo{iMlJ@y*CofrSXbBw(l>HC2&tsjs0<&H;qjiZFF9(CoR+5`lwhsonCV)M zcSch%4Wvf)hXbN$UWn7*c&9b;Zgpz>pbAU{->22jK<#k1=lB5#Ke`|;2ugg_KRB6! z&w!FJfz%7gP|6^}q?#y-=Tkm|Y{6<_^Dh9KOWJ>E=^g zMlRODQIPzFx!O_iaH9#51q>Ny=-}9|CniQca6ws+F3!>yyIw_?c2~!;uVAh zZ-TQP@UM)nsYGhcn5gDy_q|oJU|pJF(S^F8oBEg4<-=d8x=^WkcaG*PF+UfK-Gn^5M7*Q&=j~pYRm*QAMWOo3zj&Goi!zvOS2B#p`LI( z)knL7rMOLu2_YuoP-i9Pwi(Vt#w#N)21nNz7;*?h4q?bN97CyBBON^#Va^2y7R9O? zx#TT|pWs-=5A>UYTOtb6sMuTol3G_n&C&(y{$w~hLA9Q6bnJ|A(m3B=c`9K{yC*DQ84ybU%YH={3_XnxLm3J~ah9qZ0=JsFh z&{J&Ev{~lZOzAkrj;5*3Ud8HioxS1EQ*7F?I^X{gM+b)6A&L#I?o(xUkAhZJd;c^P zkAHwQ@&2HZ&650gXeQ0Z|gn$_yX*_^W z;~oT9Q!M@d&m zA3i;8G__^mO|E1evLjRUlNzpqM7T>A`~V{1kC5DHo&1iVNvg0j*w5 zNt$!}n$mkEpmIMxriEAn)2R4s4rLSQB-#}m3Knveq{O!vRejFmy>$>eawa6+ZdwWX z8jWrvEoBdadv7Og$)l8SA?=eNQr>eB6B6`)i}W3o2TlK%$owvcQD^!$lG)0H8%+P} zC8p8z*Fxs>gv>y1ZkJ}lrXL-eSzrc+(n;anM%T@ze;a!g6E*!$F&V|QoBk_GOo!=z zw#2M314TNxlT+Sl`q#jZ!>lp=U&ZhprppZUQSC0O-DLW|MF)!6VEVt#tQB*!>2Ifl z?M!Er>EFzB?k3Z1`p?rwF+HY#4qYo|tLdLt>e+7k|GC8MF#S8|;2s7|ngMJ);oZTy z^_%`J?1{4{gBt8cZoSXL=aA`tlCBeE3a0iYLD^!v~{ugy( z)HY=hh7~&)PRcgQyw*+nUA=>)}2LT2Y@DX1l51HWQ?fA3@JrbeaL>wGdc~IrZ>Ho%XAs;}g|X z4N?xr^f0|jUJ3AU(lXu!M?hN%u8xIVg~G~{zK*oC3Z%b4+OksVA>nN%?Xyw|%zq2% zpq0vIg*QUF4m9Mgq#NW3e0rmF-zdBkak;3)Q7b&Nk@;EgVs3r;I2GHeA!Hjy>b;({ zwDS3=@Gc>3$t9F8CGCT}O?W#<2jz0gZy;R<`62`&-C!khi-mVN=|;DjieV?cEY8bEj#JbQOoXi>2}M`!_O+}cR&uhlk^J6)55!&bSG>*VN=@Ob03Vc5kE&Eo=OP#K zyIgxUq^0~L%4$u%~R&OySDran=3*p-g*x{>eIYUo;vsFfp;!{W-u9dA^ zd0|}xQ} zxILnN44Inqe}vBI%Dx@;wd<)fpCs%NiN&t}oRK2usHHUTDMgCtNTU928ZLgTr1RyH z&SF<*)?w;&aKd?2-mZL|F6nh>y;`mpvx6NNZCzTJ%V=UA$sixDqFKLY=4&Xt9<5vX z@m=ALe$5m=Ys&m|IerRa)^3hy6WIsQUREBqmpp88J@6W6ZeoYdPXVt0oP;??^ocD1ZJg9S^S~OgTW5BGTPcI?}F{cLLJ;WXD z<(^uOo<=d}2Jn?jqhPQ%jCq0DDo0WuqFI~c<-Hr7&J(Iht3wn8#Zn_^{K(6uIYE9*<9xL+!L9BozA2(=L&d@7LF z4dgEi1hqh!FR;}!jQO(|H|RxNRC9)yKMQ+3f@JAo{;Z9)9871!*VZUKe7A7(HnENC z+DoaCopG)5Qa@=v#Tf5acOcYmfU&Lt*;$iTZqTnfL1#ydRkJQnNcYW|bh2vJ3gq6{ z#OYECgoOTPL(2UsL;4(+jw${Qlwo{^qTu&GNVtoQNTe12rw0?6V$yDn=Lf_T$yBa2 zlO8PYxlESdn-?N)_YK&Cg-Ac0mcHUe5{zE3a|7vY9(`E3{dPPF3JWQp=(jbQVkbm} zy+bxhtj2u0Z!n&5Y~au7$I^id98YtPw0f!{tDe4P^UEDTG?v#HCg;` z+qtIAwN2-m=GNgqbl`Sn9_5EQkKcxjikmAQ+O~OfNo>98N>6ONtJ7Nf^obKEo}TRe z8{LcD_FMdP-&zuv`8oIAx!>ji{%<_-Uh%CF>x6a8I{5F;SqGiZ;)&;u9V=S3MXR;= zo)tZM43D+a>N{rL0yHDF>a%XR^xSDmOk}j=%*n8|mu@LXg*rKmgqP!T&<_e-0 z)51yFC5DQHSSlZ5Mk0qj5W5#S#_~g$4pAKBYPXXrRYX&11-~I8$>$BH%uay zRvGPv%od4EHgCtWgE5X9gHLOtRHm5k7ln8_gT1@Y=2jMYRtaNMOGor(vWZ<>H3LKL zLQ2Q>WwBy)aeDW{KZmWdu$>7=+WCZAcDRbGm4eLFgifx>JeEm5k3}RB#as?Yk-+y* z*DjG)bxXt&30f+KbM4GpJekBgcjq9{AI}LjR7_F%Nd{|GhE#gWOk;M2@XZF&AvOP~ zvl<6BS8+feV`8W;HzaIUgXf=6F*2aA!9Wl8*;olSN~7i(LKHrY<>PE_m98@a>|?b# zF>CO(JC5RGBcwCf7u*k6UN{B@V(CFnBUU9>OIoiUZj`ht47Rshnb!X7fZaM+Ocq+R z`IbR@w{yg|L?dl&Etz<4Yt#|6?y_@(cBVDapNl1P!#q%scQS)qLFR0n2szLx9XikS z(lI6|a#?Ipv3~8^WuXOk^djA&b5gV{Dk`q+zP9#Aw0)r?6?Ht|@fiDV7sh_enB$Xj z6fYILGu3;JeY}#3)d6e7+;l2{mj!J)w47IUu{Kb5J31)mwJ?lEd&sRG$oV&!el+*8 z%`WQhM{_UI^kMD`Na}tC&AlLlRQBHhx>sRW_8f?}(D-uYL!W2R+-oj;M$N4O8G`IQ zntN?^#RtQ(-?UKbhH^Qp;F z;TMkl-T^FpU?JyVzf0xpOr&7%DTs(VNg}=YLK>kkmvscBlXh>h5A&SLLQT=}UYt|I zj;5C6xTv+UBT}y>ZGdFLTm-cxuOnhWTDN|Jgz0`*#XBPO%q)D3!tg*>K$+sfQ*kD zm-&!Z7Z@P*4glRp%?+3+T6umO<~nPN`QZ**%C8f&>l-A0LKf?JGuMyX$2DH=FBBHy z5`xhmOiKPXfp%>`iuL$IBfqG*k4xSIflIUREH2U^68drb?gU>Rw_%~PZx|Qfg-UVn z1?}2^6raG~Ps#)?Ie@-$e+%G`b*Dcc8tX@%-x_JdI`aAP3?cs9EiQQWv5jhU^@e8) zaUEpt({70lIt~QH-M>GLC~^z}<0>cGnb0 zb@=_IBAgG`b$LwoghKd05*W5x>+}~yW6W}YA*}l|khzcR&*fb#mrL>Sgexab{g(se z%OjANLjBwhU7pz{DugdBism^@p8G6}#xsk28_+$M$*%;@Cxpg-t8f!=0~&wqVE-22 zkI+~z^4oy!xlBF{-aV7a7r?vcG5G`F-E)}yAA)z!T=HK7@1C{f%O8*0k&_aS+EL|v z`AoAOT=|oaN3Gm)UcK2$0*{)x5(|5da`N$rYVqVGtF*rZ-aYqgkni!!`cGcQvv%&o zbu#77qc4u?LQ{T;EWfao-)u{Fj48Jo=W2NQZKdpjTYhgYztT<0%fEdL+qraVZ!C_x z@no{4Yu`|OFr83x=XRIHkPIx#i$D{H|HGIl|t}04FhN0jX?7%A>!omGPzI7 zKf(s0{u&&<#0NEUzZ%$QT(`tVjUkO()08jJ*sPJ~4dv|`J2Z05Q{JhuOC#4h<(o8i zYwXduRpWMzJ2WOW@@%1fM&po1?gPsAXxy(6uO(q%a6Te_)!~XG@;o7O|I)6Bh)t}< z2YHL`zd_?VjkjsMTO;=){qR>`;z5m%YCNX#+ZvB+JgxDJ#&<6|1t&$6)NuhF!BLE~#0`L3e;yhanXA>XKRp+^3dg7UQ* z`R6C{J2f8Ectqpl8u_K)gpepm+ohUWiO<3)`XT({^CX>8HBOyhcu4`@81k$-om z-Ct;{Eo(FHNK&d|CWGuv#~*lXEna7 zaV{=Xlt(qL(6~WkkH!Iw`!xQ(#)mXMuJM~1f1vS{#`79~LFAlUPTct#+lY{NYQ9h7 zfR-Q9{39BVYWZ`Te_i7_E&oLGCSGM6-*k;LiHLKp=9g<+t>rPz+nOKI{9(<1Q}chX z@l7rNh35TuRWja8BI2}b{#K0%jRU&>kmmnXfFQK zGstrU@%}+$2*^Fn^O?wVm&o&!ctGRB8hLI}ep2IEjTbfY&)V!?pi%ub2>ky5vO$7Z literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/3/linux/kernel/exit.c b/linux-0.11-lab - 副本/3/linux/kernel/exit.c new file mode 100644 index 0000000..2406ebe --- /dev/null +++ b/linux-0.11-lab - 副本/3/linux/kernel/exit.c @@ -0,0 +1,197 @@ +/* + * linux/kernel/exit.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab - 副本/3/linux/kernel/exit.o b/linux-0.11-lab - 副本/3/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..97c5057fd4da000378b2c23ca0dba2b274e9b855 GIT binary patch literal 11164 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(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; + + 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); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(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->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + 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(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; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; 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%0DpUmH!xG_V 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/Makefile b/linux-0.11-lab - 副本/2/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab - 副本/2/linux/System.map b/linux-0.11-lab - 副本/2/linux/System.map new file mode 100644 index 0000000..6e469c2 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/System.map @@ -0,0 +1,576 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd4 T show_task +00006c59 T show_stat +00006c9f T math_state_restore +00006cfd T schedule +00006eaf T sys_pause +00006ec5 T sleep_on +00006f24 T interruptible_sleep_on +00006fdf T ticks_to_floppy_on +000070aa T floppy_on +000070d9 T floppy_off +000070e9 T do_floppy_timer +000072e1 T do_timer +000073d0 T sys_alarm +0000744f T sys_getpid +0000745b T sys_getppid +00007467 T sys_getuid +00007476 T sys_geteuid +00007486 T sys_getgid +00007496 T sys_getegid +000074a5 T sys_nice +000074d0 T sched_init +00007660 t bad_sys_call +00007668 t reschedule +00007674 T system_call +000076a8 t ret_from_sys_call +000076f0 T coprocessor_error +00007712 T device_not_available +0000774c T timer_interrupt +00007784 T sys_execve +00007794 T sys_fork +000077ac T hd_interrupt +000077e8 T floppy_interrupt +0000781e T parallel_interrupt +00007825 t _get_base +00007857 t die +00007a39 T do_double_fault +00007a5c T do_general_protection +00007a7f T do_divide_error +00007aa2 T do_int3 +00007b6a T do_nmi +00007b8d T do_debug +00007bb0 T do_overflow +00007bd3 T do_bounds +00007bf6 T do_invalid_op +00007c19 T do_device_not_available +00007c3c T do_coprocessor_segment_overrun +00007c5f T do_invalid_TSS +00007c82 T do_segment_not_present +00007ca5 T do_stack_segment +00007cc8 T do_coprocessor_error +00007cfc T do_reserved +00007d1f T trap_init +00008003 T divide_error +00008008 t no_error_code +00008038 T debug +0000803f T nmi +00008046 T int3 +0000804d T overflow +00008054 T bounds +0000805b T invalid_op +00008062 T coprocessor_segment_overrun +00008069 T reserved +00008070 T irq13 +00008085 T double_fault +0000808a t error_code +000080bc T invalid_TSS +000080c3 T segment_not_present +000080ca T stack_segment +000080d1 T general_protection +000080d8 t _get_base +0000810a T verify_area +00008171 T copy_mem +000082cb T copy_process +00008778 T find_empty_process +0000880c T panic +00008847 T printk +00008898 t skip_atoi +000088f3 t number +00008b64 T vsprintf +00008ff0 t get_fs_long +00009006 t put_fs_byte +0000901e t put_fs_long +0000902a T sys_ftime +00009030 T sys_break +00009036 T sys_ptrace +0000903c T sys_stty +00009042 T sys_gtty +00009048 T sys_rename +0000904e T sys_prof +00009054 T sys_setregid +0000910d T sys_setgid +000091a4 T sys_acct +000091aa T sys_phys +000091b0 T sys_lock +000091b6 T sys_mpx +000091bc T sys_ulimit +000091c2 T sys_time +0000921e T sys_setreuid +00009300 T sys_setuid +00009395 T sys_stime +000093eb T sys_times +0000948b T sys_brk +000094cd T sys_setpgid +000095a6 T sys_getpgrp +000095b2 T sys_setsid +0000962c T sys_getgroups +00009632 T sys_setgroups +00009638 T sys_uname +000096a1 T sys_sethostname +000096a7 T sys_getrlimit +000096ad T sys_setrlimit +000096b3 T sys_getrusage +000096b9 T sys_gettimeofday +000096bf T sys_settimeofday +000096c5 T sys_umask +000096f8 t _get_base +0000972a t put_fs_long +00009736 T release +0000979a t send_sig +00009819 t kill_session +00009873 T sys_kill +00009a23 t tell_father +00009aad T do_exit +00009ce1 T sys_exit +00009cfa T sys_waitpid +00009f20 t get_fs_byte +00009f2e t put_fs_byte +00009f46 t put_fs_long +00009f52 T sys_sgetmask +00009f5e T sys_ssetmask +00009f8a T sys_sigpending +00009f90 T sys_sigsuspend +00009f96 t save_old +00009fe9 t get_new +0000a029 T sys_signal +0000a0ad T sys_sigaction +0000a1b7 T do_signal +0000a3a3 T kernel_mktime +0000a4e8 t oom +0000a507 T get_free_page +0000a543 T free_page +0000a5b2 T free_page_tables +0000a6b1 T copy_page_tables +0000a832 T put_page +0000a91e T un_wp_page +0000a9d6 T do_wp_page +0000aa61 T get_empty_page +0000aaa1 t try_to_share +0000ac33 t share_page +0000ace7 T do_no_page +0000ae49 T mem_init +0000aebd T calc_mem +0000afb2 T page_fault +0000afe9 t get_fs_long +0000afff T sys_ustat +0000b005 T sys_utime +0000b0b2 T sys_access +0000b18e T sys_chdir +0000b202 T sys_chroot +0000b276 T sys_chmod +0000b310 T sys_chown +0000b38b T sys_open +0000b62e T sys_creat +0000b651 T sys_close +0000b720 T sys_lseek +0000b837 T sys_read +0000ba2a T sys_write +0000bbd8 t lock_inode +0000bc05 t unlock_inode +0000bc23 T invalidate_inodes +0000bc92 T sync_inodes +0000bce9 t _bmap +0000c0d5 T bmap +0000c0f8 T create_block +0000c11b T iput +0000c28a T get_empty_inode +0000c3df T get_pipe_inode +0000c454 T iget +0000c619 t read_inode +0000c84f T sys_sync +0000c8b2 T sync_dev +0000c9ab T invalidate_buffers +0000ca1d T check_disk_change +0000cac7 t remove_from_queues +0000cbbe t insert_into_queues +0000cc83 t find_buffer +0000cceb T get_hash_table +0000cd6d T getblk +0000cf0b T brelse +0000cf54 T bread +0000cfd9 T bread_page +0000d0fb T breada +0000d1f0 T buffer_init +0000d31f t lock_super +0000d34c t free_super +0000d391 T get_super +0000d400 T put_super +0000d4d3 t read_super +0000d816 T sys_umount +0000d977 T sys_mount +0000dae8 T mount_root +0000dcf6 t get_fs_byte +0000dd04 t put_fs_byte +0000dd1c T block_write +0000de6e T block_read +0000df99 t get_fs_byte +0000dfa7 t put_fs_byte +0000dfbf t rw_ttyx +0000e007 t rw_tty +0000e057 t rw_ram +0000e05d t rw_mem +0000e063 t rw_kmem +0000e069 t rw_port +0000e103 t rw_memory +0000e1d9 T rw_char +0000e243 t get_fs_byte +0000e251 t put_fs_byte +0000e269 T file_read +0000e414 T file_write +0000e60e t put_fs_byte +0000e626 t cp_stat +0000e6fd T sys_stat +0000e747 T sys_lstat +0000e762 T sys_fstat +0000e7bf T sys_readlink +0000e7c5 t _get_base +0000e7f7 t get_fs_byte +0000e805 t get_fs_long +0000e81b t put_fs_byte +0000e833 t put_fs_long +0000e83f t get_fs +0000e853 t get_ds +0000e867 t set_fs +0000e86e T sys_uselib +0000e874 t create_tables +0000e9bf t count +0000e9fe t copy_strings +0000ebba t change_ldt +0000ed3d T do_execve +0000f7bf t get_fs_byte +0000f7cd t put_fs_byte +0000f7e5 t put_fs_long +0000f7f1 T read_pipe +0000fac6 T sys_pipe +0000fcc8 t get_fs_byte +0000fcd6 t permission +0000fd77 t match +0000fddf t find_entry +00010239 t get_dir +00010426 t dir_namei +000104a5 T namei +000105bb T open_namei +0001090e T sys_mknod +00010b3e T sys_mkdir +00010eef t empty_dir +000110cd T sys_rmdir +00011425 T sys_unlink +000116c6 T sys_symlink +000116cc T sys_link +00011926 T free_block +00011a98 T new_block +00011c3c T free_inode +00011da3 T new_inode +00011f7d t dupfd +00012057 T sys_dup2 +0001207e T sys_dup +00012099 T sys_fcntl +000121d8 T sys_ioctl +000122a9 t free_ind +00012348 t free_dind +000123e7 T truncate +0001251c T sys_select +00012522 t lock_buffer +0001254f t unlock_buffer +00012741 t make_request +000128e5 T ll_rw_block +0001293e T blk_dev_init +0001298c t unlock_buffer +000129c1 t end_request +00012a72 T floppy_deselect +00012aa9 T floppy_change +00012b2f t setup_DMA +00012be5 t output_byte +00012c5b t result +00012d18 t bad_flp_intr +00012d77 t rw_interrupt +00012e66 T setup_rw_floppy +00012f27 t seek_interrupt +00012f80 t transfer +000130b5 t recal_interrupt +000130ff T unexpected_floppy_interrupt +00013144 t recalibrate_floppy +000131a6 t reset_interrupt +000131eb t reset_floppy +00013268 t floppy_on_interrupt +000132d3 t do_fd_request +000134d7 T floppy_init +00013529 t unlock_buffer +0001355e t end_request +000135fd T sys_setup +000139b0 t controller_ready +00013a44 t hd_out +00013b31 t drive_busy +00013b97 t reset_controller +00013c14 t reset_hd +00013cac T unexpected_hd_interrupt +00013cbf t bad_rw_intr +00013cfd t read_intr +00013e23 t recal_intr +00013e3d t do_hd_request +0001413e T hd_init +000141b8 t unlock_buffer +000141ed t end_request +0001428c t do_rd_request +000143c2 T rd_init +00014418 T rd_load +000146c4 t get_fs_byte +000146d2 t put_fs_byte +000146ea T tty_init +000146fb T tty_intr +0001476f t sleep_if_empty +000147a7 t sleep_if_full +0001481b T copy_to_cooked +00014dd6 T tty_read +00015144 T tty_write +00015356 T do_tty_interrupt +0001537e T chr_dev_init +0001537f t gotoxy +000153cd t set_origin +00015433 t scrup +00015623 t scrdown +0001571a t lf +00015750 t ri +00015786 t cr +000157a7 t del +000157d9 t csi_J +0001586a t csi_K +0001591c T csi_m +00015983 t set_cursor +000159e9 t respond +00015a41 t insert_char +00015aa4 t insert_line +00015ae8 t delete_char +00015b46 t delete_line +00015b8a t csi_at +00015bc8 t csi_L +00015c06 t csi_P +00015c44 t csi_M +00015c82 t save_cur +00015c97 t restore_cur +00015cb6 T con_write +00016344 T con_init +0001657b T sysbeepstop +000165a4 t sysbeep +00016602 t mode +00016603 t leds +00016604 t e0 +00016605 T keyboard_interrupt +0001662e t e0_e1 +00016659 t set_e0 +00016662 t set_e1 +0001666b t put_queue +000166a4 t ctrl +000166bc t unctrl +000166c0 t unalt +000166d6 t lshift +000166de t unlshift +000166e6 t rshift +000166ee t unrshift +000166f6 t caps +00016718 t set_leds +0001672e t uncaps +00016736 t scroll +0001673f t num +00016748 t cursor +00016768 t cur2 +00016791 t cur +0001679d t ok_cur +000167ab t num_table +000167b8 t cur_table +000167c5 t func +000167e2 t ok_func +000167f5 t end_func +000167f6 t func_table +00016826 t key_map +00016887 t shift_map +00016949 t do_self +000169b1 t none +000169b2 t minus +000169c7 t key_table +00016dc7 t kb_wait +00016dd0 t reboot +00016de2 t die +00016de4 t init +00016e59 T rs_init +00016edc T rs_write +00016f2c T rs1_interrupt +00016f34 T rs2_interrupt +00016f39 t rs_int +00016f50 t rep_int +00016f6d t end +00016f7b t jmp_table +00016f8c t modem_status +00016f94 t line_status +00016f9c t read_char +00017023 t get_fs_byte +00017031 t get_fs_long +00017047 t put_fs_byte +0001705f t put_fs_long +0001706b t change_speed +000170e9 t flush +000170fb t send_break +000170fc t get_termios +00017158 t set_termios +000171a8 t get_termio +00017270 t set_termio +00017334 T tty_ioctl +00017632 t get_fs_byte +00017640 T math_emulate +00017723 T math_error +00017743 T _exit +00017753 T open +0001779c T close +00017810 T dup +00017847 T setsid +00017876 T execve +00017913 T strcpy +0001792f T strncpy +00017954 T strcat +0001797f T strncat +000179b4 T strcmp +000179db T strncmp +00017a09 T strchr +00017a36 T strrchr +00017a65 T strspn +00017aa2 T strcspn +00017adf T strpbrk +00017b16 T strstr +00017b4f T strlen +00017b72 T strtok +00017bf5 T memcpy +00017c15 T memmove +00017c69 T memcmp +00017c93 T memchr +00017ccb T memset +0001bb48 d envp_rc +0001bb5c d envp +0001bb80 D sys_call_table +0001bcdc D NR_syscalls +0001bce0 d init_task +0001cce0 D current +0001cd00 D task +0001ce00 D stack_start +0001ce08 D current_DOR +0001ce20 d thisname.1955 +0001ce60 d month +0001cea0 d last_inode.1935 +0001cea4 D start_buffer +0001cec0 d crw_table +0001cee0 d ioctl_table +0001cf00 d floppy_type +0001cfc0 d cur_spec1 +0001cfc4 d cur_rate +0001cfc8 d floppy +0001cfcc d current_track +0001cfd0 d callable.1844 +0001cfe0 D tty_table +0001f500 D table_list +0001f520 d quotient +0001f540 D _ctype +0001f641 B __bss_start +0001f641 D _edata +0001f660 b printbuf +0001fa60 b memory_end +0001fa64 b buffer_memory_end +0001fa68 b main_memory_start +0001fa80 B jiffies +0001fa84 B startup_time +0001fa88 B last_task_used_math +0001fa9c b mon_timer +0001faac b moff_timer +0001fac0 b timer_list +0001fdc0 b next_timer +0001fdc4 B last_pid +0001fde0 b buf +000201e0 b HIGH_MEMORY +00020200 b mem_map +00021100 B inode_table +00021800 B nr_buffers +00021804 b free_list +00021808 b buffer_wait +0002180c B ROOT_DEV +00021840 B blk_dev +00021878 B do_floppy +0002187c B selected +00021884 b recalibrate +00021888 b reset +0002188c b seek +00021890 b reply_buffer +00021897 b current_drive +00021898 b sector +00021899 b head +0002189a b track +0002189b b seek_track +0002189c b command +000218a0 B do_hd +000218c0 B hd_info +000218f0 b recalibrate +000218f4 b reset +000218f8 b NR_HD +00021900 b hd +00021950 B rd_length +00021954 b cr_flag.1923 +00021960 B beepcount +00021964 b video_type +00021968 b video_num_columns +0002196c b video_size_row +00021970 b video_num_lines +00021974 b video_page +00021978 b video_mem_start +0002197c b video_mem_end +00021980 b video_port_reg +00021982 b video_port_val +00021984 b video_erase_char +00021988 b origin +0002198c b scr_end +00021990 b pos +00021994 b x +00021998 b y +0002199c b top +000219a0 b bottom +000219a4 b state +000219a8 b npar +000219c0 b par +00021a00 b ques +00021a04 b saved_x +00021a08 b saved_y +00021a20 B drive_info +00021a40 B user_stack +00022a40 B hash_table +00022f20 B super_block +00023280 B file_table +00023680 B request +00023b00 B rd_start +00023b04 B _ctmp +00023b08 B errno +00023b0c B ___strtok +00023b10 B end +00023b10 B _end diff --git a/linux-0.11-lab - 副本/2/linux/System.map.2 b/linux-0.11-lab - 副本/2/linux/System.map.2 new file mode 100644 index 0000000..44e841e --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/System.map.2 @@ -0,0 +1,1075 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x17cef + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x713 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + *fill* 0x0000000000006bd3 0x1 + .text 0x0000000000006bd4 0x3914 kernel/kernel.o + 0x0000000000006bd4 show_task + 0x0000000000006c59 show_stat + 0x0000000000006c9f math_state_restore + 0x0000000000006cfd schedule + 0x0000000000006eaf sys_pause + 0x0000000000006ec5 sleep_on + 0x0000000000006f24 interruptible_sleep_on + 0x0000000000006fb7 wake_up + 0x0000000000006fdf ticks_to_floppy_on + 0x00000000000070aa floppy_on + 0x00000000000070d9 floppy_off + 0x00000000000070e9 do_floppy_timer + 0x00000000000071bd add_timer + 0x00000000000072e1 do_timer + 0x00000000000073d0 sys_alarm + 0x000000000000744f sys_getpid + 0x000000000000745b sys_getppid + 0x0000000000007467 sys_getuid + 0x0000000000007476 sys_geteuid + 0x0000000000007486 sys_getgid + 0x0000000000007496 sys_getegid + 0x00000000000074a5 sys_nice + 0x00000000000074d0 sched_init + 0x0000000000007674 system_call + 0x00000000000076f0 coprocessor_error + 0x0000000000007712 device_not_available + 0x000000000000774c timer_interrupt + 0x0000000000007784 sys_execve + 0x0000000000007794 sys_fork + 0x00000000000077ac hd_interrupt + 0x00000000000077e8 floppy_interrupt + 0x000000000000781e parallel_interrupt + 0x0000000000007a39 do_double_fault + 0x0000000000007a5c do_general_protection + 0x0000000000007a7f do_divide_error + 0x0000000000007aa2 do_int3 + 0x0000000000007b6a do_nmi + 0x0000000000007b8d do_debug + 0x0000000000007bb0 do_overflow + 0x0000000000007bd3 do_bounds + 0x0000000000007bf6 do_invalid_op + 0x0000000000007c19 do_device_not_available + 0x0000000000007c3c do_coprocessor_segment_overrun + 0x0000000000007c5f do_invalid_TSS + 0x0000000000007c82 do_segment_not_present + 0x0000000000007ca5 do_stack_segment + 0x0000000000007cc8 do_coprocessor_error + 0x0000000000007cfc do_reserved + 0x0000000000007d1f trap_init + 0x0000000000008003 divide_error + 0x0000000000008038 debug + 0x000000000000803f nmi + 0x0000000000008046 int3 + 0x000000000000804d overflow + 0x0000000000008054 bounds + 0x000000000000805b invalid_op + 0x0000000000008062 coprocessor_segment_overrun + 0x0000000000008069 reserved + 0x0000000000008070 irq13 + 0x0000000000008085 double_fault + 0x00000000000080bc invalid_TSS + 0x00000000000080c3 segment_not_present + 0x00000000000080ca stack_segment + 0x00000000000080d1 general_protection + 0x000000000000810a verify_area + 0x0000000000008171 copy_mem + 0x00000000000082cb copy_process + 0x0000000000008778 find_empty_process + 0x000000000000880c panic + 0x0000000000008847 printk + 0x0000000000008b64 vsprintf + 0x000000000000902a sys_ftime + 0x0000000000009030 sys_break + 0x0000000000009036 sys_ptrace + 0x000000000000903c sys_stty + 0x0000000000009042 sys_gtty + 0x0000000000009048 sys_rename + 0x000000000000904e sys_prof + 0x0000000000009054 sys_setregid + 0x000000000000910d sys_setgid + 0x00000000000091a4 sys_acct + 0x00000000000091aa sys_phys + 0x00000000000091b0 sys_lock + 0x00000000000091b6 sys_mpx + 0x00000000000091bc sys_ulimit + 0x00000000000091c2 sys_time + 0x000000000000921e sys_setreuid + 0x0000000000009300 sys_setuid + 0x0000000000009395 sys_stime + 0x00000000000093eb sys_times + 0x000000000000948b sys_brk + 0x00000000000094cd sys_setpgid + 0x00000000000095a6 sys_getpgrp + 0x00000000000095b2 sys_setsid + 0x000000000000962c sys_getgroups + 0x0000000000009632 sys_setgroups + 0x0000000000009638 sys_uname + 0x00000000000096a1 sys_sethostname + 0x00000000000096a7 sys_getrlimit + 0x00000000000096ad sys_setrlimit + 0x00000000000096b3 sys_getrusage + 0x00000000000096b9 sys_gettimeofday + 0x00000000000096bf sys_settimeofday + 0x00000000000096c5 sys_umask + 0x0000000000009736 release + 0x0000000000009873 sys_kill + 0x0000000000009aad do_exit + 0x0000000000009ce1 sys_exit + 0x0000000000009cfa sys_waitpid + 0x0000000000009f52 sys_sgetmask + 0x0000000000009f5e sys_ssetmask + 0x0000000000009f8a sys_sigpending + 0x0000000000009f90 sys_sigsuspend + 0x000000000000a029 sys_signal + 0x000000000000a0ad sys_sigaction + 0x000000000000a1b7 do_signal + 0x000000000000a3a3 kernel_mktime + .text 0x000000000000a4e8 0xb01 mm/mm.o + 0x000000000000a507 get_free_page + 0x000000000000a543 free_page + 0x000000000000a5b2 free_page_tables + 0x000000000000a6b1 copy_page_tables + 0x000000000000a832 put_page + 0x000000000000a91e un_wp_page + 0x000000000000a9d6 do_wp_page + 0x000000000000aa08 write_verify + 0x000000000000aa61 get_empty_page + 0x000000000000ace7 do_no_page + 0x000000000000ae49 mem_init + 0x000000000000aebd calc_mem + 0x000000000000afb2 page_fault + .text 0x000000000000afe9 0x7539 fs/fs.o + 0x000000000000afff sys_ustat + 0x000000000000b005 sys_utime + 0x000000000000b0b2 sys_access + 0x000000000000b18e sys_chdir + 0x000000000000b202 sys_chroot + 0x000000000000b276 sys_chmod + 0x000000000000b310 sys_chown + 0x000000000000b38b sys_open + 0x000000000000b62e sys_creat + 0x000000000000b651 sys_close + 0x000000000000b720 sys_lseek + 0x000000000000b837 sys_read + 0x000000000000ba2a sys_write + 0x000000000000bc23 invalidate_inodes + 0x000000000000bc92 sync_inodes + 0x000000000000c0d5 bmap + 0x000000000000c0f8 create_block + 0x000000000000c11b iput + 0x000000000000c28a get_empty_inode + 0x000000000000c3df get_pipe_inode + 0x000000000000c454 iget + 0x000000000000c84f sys_sync + 0x000000000000c8b2 sync_dev + 0x000000000000c9ab invalidate_buffers + 0x000000000000ca1d check_disk_change + 0x000000000000cceb get_hash_table + 0x000000000000cd6d getblk + 0x000000000000cf0b brelse + 0x000000000000cf54 bread + 0x000000000000cfd9 bread_page + 0x000000000000d0fb breada + 0x000000000000d1f0 buffer_init + 0x000000000000d391 get_super + 0x000000000000d400 put_super + 0x000000000000d816 sys_umount + 0x000000000000d977 sys_mount + 0x000000000000dae8 mount_root + 0x000000000000dd1c block_write + 0x000000000000de6e block_read + 0x000000000000e1d9 rw_char + 0x000000000000e269 file_read + 0x000000000000e414 file_write + 0x000000000000e6fd sys_stat + 0x000000000000e747 sys_lstat + 0x000000000000e762 sys_fstat + 0x000000000000e7bf sys_readlink + 0x000000000000e86e sys_uselib + 0x000000000000ed3d do_execve + 0x000000000000f7f1 read_pipe + 0x000000000000f947 write_pipe + 0x000000000000fac6 sys_pipe + 0x00000000000104a5 namei + 0x00000000000105bb open_namei + 0x000000000001090e sys_mknod + 0x0000000000010b3e sys_mkdir + 0x00000000000110cd sys_rmdir + 0x0000000000011425 sys_unlink + 0x00000000000116c6 sys_symlink + 0x00000000000116cc sys_link + 0x0000000000011926 free_block + 0x0000000000011a98 new_block + 0x0000000000011c3c free_inode + 0x0000000000011da3 new_inode + 0x0000000000012057 sys_dup2 + 0x000000000001207e sys_dup + 0x0000000000012099 sys_fcntl + 0x00000000000121d8 sys_ioctl + 0x00000000000123e7 truncate + 0x000000000001251c sys_select + .text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x00000000000128e5 ll_rw_block + 0x000000000001293e blk_dev_init + .text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000012a72 floppy_deselect + 0x0000000000012aa9 floppy_change + 0x0000000000012e66 setup_rw_floppy + 0x00000000000130ff unexpected_floppy_interrupt + 0x00000000000134d7 floppy_init + .text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x00000000000135fd sys_setup + 0x0000000000013cac unexpected_hd_interrupt + 0x000000000001413e hd_init + .text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x00000000000143c2 rd_init + 0x0000000000014418 rd_load + .text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x00000000000146ea tty_init + 0x00000000000146fb tty_intr + 0x0000000000014808 wait_for_keypress + 0x000000000001481b copy_to_cooked + 0x0000000000014dd6 tty_read + 0x0000000000015144 tty_write + 0x0000000000015356 do_tty_interrupt + 0x000000000001537e chr_dev_init + .text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x000000000001591c csi_m + 0x0000000000015cb6 con_write + 0x0000000000016344 con_init + 0x000000000001657b sysbeepstop + .text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x0000000000016605 keyboard_interrupt + .text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000016e59 rs_init + 0x0000000000016edc rs_write + *fill* 0x0000000000016f29 0x3 + .text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000016f2c rs1_interrupt + 0x0000000000016f34 rs2_interrupt + .text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000017334 tty_ioctl + .text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000017640 math_emulate + 0x0000000000017723 math_error + .text 0x0000000000017743 0x0 lib/lib.a(ctype.o) + .text 0x0000000000017743 0x10 lib/lib.a(_exit.o) + 0x0000000000017743 _exit + .text 0x0000000000017753 0x49 lib/lib.a(open.o) + 0x0000000000017753 open + .text 0x000000000001779c 0x37 lib/lib.a(close.o) + 0x000000000001779c close + .text 0x00000000000177d3 0x0 lib/lib.a(errno.o) + .text 0x00000000000177d3 0x3d lib/lib.a(write.o) + 0x00000000000177d3 write + .text 0x0000000000017810 0x37 lib/lib.a(dup.o) + 0x0000000000017810 dup + .text 0x0000000000017847 0x2f lib/lib.a(setsid.o) + 0x0000000000017847 setsid + .text 0x0000000000017876 0x3d lib/lib.a(execve.o) + 0x0000000000017876 execve + .text 0x00000000000178b3 0x60 lib/lib.a(wait.o) + 0x00000000000178b3 waitpid + 0x00000000000178f0 wait + .text 0x0000000000017913 0x3dc lib/lib.a(string.o) + 0x0000000000017913 strcpy + 0x000000000001792f strncpy + 0x0000000000017954 strcat + 0x000000000001797f strncat + 0x00000000000179b4 strcmp + 0x00000000000179db strncmp + 0x0000000000017a09 strchr + 0x0000000000017a36 strrchr + 0x0000000000017a65 strspn + 0x0000000000017aa2 strcspn + 0x0000000000017adf strpbrk + 0x0000000000017b16 strstr + 0x0000000000017b4f strlen + 0x0000000000017b72 strtok + 0x0000000000017bf5 memcpy + 0x0000000000017c15 memmove + 0x0000000000017c69 memcmp + 0x0000000000017c93 memchr + 0x0000000000017ccb memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x0000000000017cef PROVIDE (__etext, .) + 0x0000000000017cef PROVIDE (_etext, .) + 0x0000000000017cef PROVIDE (etext, .) + +.rodata 0x0000000000017cf0 0x13ca + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000017cf0 0xad init/main.o + *fill* 0x0000000000017d9d 0x3 + .rodata 0x0000000000017da0 0x438 kernel/kernel.o + .rodata 0x00000000000181d8 0x18f mm/mm.o + *fill* 0x0000000000018367 0x1 + .rodata 0x0000000000018368 0x62c fs/fs.o + .rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000018a0e 0x2 + .rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000018b43 0x1 + .rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000018cdf 0x1 + .rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x0000000000018fe5 0x3 + .rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x00000000000190bc 0x2a6c + *(.eh_frame) + .eh_frame 0x00000000000190bc 0xf0 init/main.o + .eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o + 0xbf4 (size before relaxing) + .eh_frame 0x0000000000019cb0 0x194 mm/mm.o + 0x1ac (size before relaxing) + .eh_frame 0x0000000000019e44 0xdd8 fs/fs.o + 0xf70 (size before relaxing) + .eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001bb28 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001bb28 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001bb28 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001bb28 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001bb28 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001bb40 0x3b01 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001bb40 0x0 boot/head.o + .data 0x000000000001bb40 0x28 init/main.o + *fill* 0x000000000001bb68 0x18 + .data 0x000000000001bb80 0x1310 kernel/kernel.o + 0x000000000001bb80 sys_call_table + 0x000000000001bcdc NR_syscalls + 0x000000000001cce0 current + 0x000000000001cd00 task + 0x000000000001ce00 stack_start + 0x000000000001ce08 current_DOR + .data 0x000000000001ce90 0x0 mm/mm.o + *fill* 0x000000000001ce90 0x10 + .data 0x000000000001cea0 0x60 fs/fs.o + 0x000000000001cea4 start_buffer + .data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001cfcd 0x3 + .data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001cfd4 0xc + .data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001cfe0 tty_table + 0x000000000001f500 table_list + .data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x000000000001f519 0x7 + .data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) + .data 0x000000000001f540 0x101 lib/lib.a(ctype.o) + 0x000000000001f540 _ctype + .data 0x000000000001f641 0x0 lib/lib.a(_exit.o) + .data 0x000000000001f641 0x0 lib/lib.a(open.o) + .data 0x000000000001f641 0x0 lib/lib.a(close.o) + .data 0x000000000001f641 0x0 lib/lib.a(errno.o) + .data 0x000000000001f641 0x0 lib/lib.a(write.o) + .data 0x000000000001f641 0x0 lib/lib.a(dup.o) + .data 0x000000000001f641 0x0 lib/lib.a(setsid.o) + .data 0x000000000001f641 0x0 lib/lib.a(execve.o) + .data 0x000000000001f641 0x0 lib/lib.a(wait.o) + .data 0x000000000001f641 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x000000000001f641 _edata = . + 0x000000000001f641 PROVIDE (edata, .) + 0x000000000001f641 . = . + 0x000000000001f641 __bss_start = . + +.bss 0x000000000001f660 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x000000000001f660 0x0 boot/head.o + .bss 0x000000000001f660 0x40c init/main.o + *fill* 0x000000000001fa6c 0x14 + .bss 0x000000000001fa80 0x760 kernel/kernel.o + 0x000000000001fa80 jiffies + 0x000000000001fa84 startup_time + 0x000000000001fa88 last_task_used_math + 0x000000000001fdc4 last_pid + .bss 0x00000000000201e0 0xf20 mm/mm.o + .bss 0x0000000000021100 0x710 fs/fs.o + 0x0000000000021100 inode_table + 0x0000000000021800 nr_buffers + 0x000000000002180c ROOT_DEV + *fill* 0x0000000000021810 0x10 + .bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000021820 wait_for_request + 0x0000000000021840 blk_dev + .bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000021878 do_floppy + 0x000000000002187c selected + 0x0000000000021880 wait_on_floppy_select + *fill* 0x000000000002189d 0x3 + .bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x00000000000218a0 do_hd + 0x00000000000218c0 hd_info + .bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000021950 rd_length + .bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000021958 0x8 + .bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000021960 beepcount + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000021a0c 0x14 + COMMON 0x0000000000021a20 0x20 init/main.o + 0x0000000000021a20 drive_info + COMMON 0x0000000000021a40 0x1000 kernel/kernel.o + 0x0000000000021a40 user_stack + COMMON 0x0000000000022a40 0xc40 fs/fs.o + 0x0000000000022a40 hash_table + 0x0000000000022f20 super_block + 0x0000000000023280 file_table + COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000023680 request + COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000023b00 rd_start + COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) + 0x0000000000023b04 _ctmp + *fill* 0x0000000000023b05 0x3 + COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) + 0x0000000000023b08 errno + COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) + 0x0000000000023b0c ___strtok + 0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000023b10 . = ALIGN (0x4) + 0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000023b10 . = ALIGN (0x4) + 0x0000000000023b10 _end = . + 0x0000000000023b10 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x16d23 + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0x553 init/main.o + .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005209 0xb2b mm/mm.o + .debug_info 0x0000000000005d34 0xa290 fs/fs.o + .debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) + .debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) + .debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) + .debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x43b9 + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x1d3 init/main.o + .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o + .debug_abbrev 0x0000000000001136 0x20b mm/mm.o + .debug_abbrev 0x0000000000001341 0x19f1 fs/fs.o + .debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) + .debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x4599 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1a7 init/main.o + .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o + .debug_line 0x000000000000102d 0x274 mm/mm.o + .debug_line 0x00000000000012a1 0x1c50 fs/fs.o + .debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) + .debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) + .debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) + .debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) + .debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) + .debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2093 + *(.debug_str) + .debug_str 0x0000000000000000 0x1c0 init/main.o + 0x1ff (size before relaxing) + .debug_str 0x00000000000001c0 0xac0 kernel/kernel.o + 0x2332 (size before relaxing) + .debug_str 0x0000000000000c80 0x185 mm/mm.o + 0x4e0 (size before relaxing) + .debug_str 0x0000000000000e05 0x904 fs/fs.o + 0x49ab (size before relaxing) + .debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x491 (size before relaxing) + .debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x673 (size before relaxing) + .debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e8 (size before relaxing) + .debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x58a (size before relaxing) + .debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4e3 (size before relaxing) + .debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b7 (size before relaxing) + .debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3fc (size before relaxing) + .debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a7 (size before relaxing) + .debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) + 0x392 (size before relaxing) + .debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) + 0xb6 (size before relaxing) + .debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) + 0xe2 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) + 0xf2 (size before relaxing) + .debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) + 0xe4 (size before relaxing) + .debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) + 0x93 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xf0 (size before relaxing) + .debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o) + 0xdc (size before relaxing) + .debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o) + 0xec (size before relaxing) + .debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) + 0xf5 (size before relaxing) + .debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) + 0x102 (size before relaxing) + .debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) + 0x147 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab - 副本/2/linux/boot/bootsect b/linux-0.11-lab - 副本/2/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/boot/bootsect.o b/linux-0.11-lab - 副本/2/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/boot/bootsect.s b/linux-0.11-lab - 副本/2/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * 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. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/2/linux/boot/head.o b/linux-0.11-lab - 副本/2/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + 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 $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab - 副本/2/linux/boot/setup b/linux-0.11-lab - 副本/2/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/boot/setup.s b/linux-0.11-lab - 副本/2/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/2/linux/fs/Makefile b/linux-0.11-lab - 副本/2/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.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 \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.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 \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.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 \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab - 副本/2/linux/fs/bitmap.c b/linux-0.11-lab - 副本/2/linux/fs/bitmap.c new file mode 100644 index 0000000..73951a8 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ + +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/bitmap.o b/linux-0.11-lab - 副本/2/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..501d3c5e3fb1a044792589a0bdde55cbb41cfaa2 GIT binary patch literal 10280 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 J@|j5fe*vQQ&y@fG literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/block_dev.c b/linux-0.11-lab - 副本/2/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/block_dev.o b/linux-0.11-lab - 副本/2/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e5e9334ce9a4697061730271c4c9d92fcf4aa105 GIT binary patch literal 7296 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 + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iQ6+~nZ1VPZCP{pdlWadpWGMO3Y4-glv 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 +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/char_dev.o b/linux-0.11-lab - 副本/2/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..2977060a7c0b215e10aa16a8395ed973d52837cd GIT binary patch literal 8288 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 O%Ys)0UlIH-!T$wZ8WjQn literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/exec.c b/linux-0.11-lab - 副本/2/linux/fs/exec.c new file mode 100644 index 0000000..2ff220e --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/exec.c @@ -0,0 +1,359 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ + +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long * create_tables(char * p,int argc,int envc) +{ + unsigned long *argv,*envp; + unsigned long * sp; + + sp = (unsigned long *) (0xfffffffc & (unsigned long) p); + sp -= envc+1; + envp = sp; + sp -= argc+1; + argv = sp; + put_fs_long((unsigned long)envp,--sp); + put_fs_long((unsigned long)argv,--sp); + put_fs_long((unsigned long)argc,--sp); + while (argc-->0) { + put_fs_long((unsigned long) p,argv++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,argv); + while (envc-->0) { + put_fs_long((unsigned long) p,envp++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char ** argv) +{ + int i=0; + char ** tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *) (tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc,char ** argv,unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem==2) + set_fs(new_fs); + while (argc-- > 0) { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv)+argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len=0; /* remember zero-padding */ + do { + len++; + } while (get_fs_byte(tmp++)); + if (p-len < 0) { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) { + --p; --tmp; --len; + if (--offset < 0) { + offset = p % PAGE_SIZE; + if (from_kmem==2) + set_fs(old_fs); + if (!(pag = (char *) page[p/PAGE_SIZE]) && + !(pag = (char *) (page[p/PAGE_SIZE] = + (unsigned long *) get_free_page()))) + return 0; + if (from_kmem==2) + set_fs(new_fs); + + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem==2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size,unsigned long * page) +{ + unsigned long code_limit,data_limit,code_base,data_base; + int i; + + code_limit = text_size+PAGE_SIZE -1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1],code_base); + set_limit(current->ldt[1],code_limit); + set_base(current->ldt[2],data_base); + set_limit(current->ldt[2],data_limit); +/* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs"::); + data_base += data_limit; + for (i=MAX_ARG_PAGES-1 ; i>=0 ; i--) { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i],data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ifk_u6V*Yk91+DAroFcU|k2`}@7; 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/fcntl.c b/linux-0.11-lab - 副本/2/linux/fs/fcntl.c new file mode 100644 index 0000000..c201aa8 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/fcntl.c @@ -0,0 +1,75 @@ +/* + * linux/fs/fcntl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/fcntl.o b/linux-0.11-lab - 副本/2/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..17a6ecacd50cb07b4337da65f94d880d02b367a8 GIT binary patch literal 6748 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/file_dev.c b/linux-0.11-lab - 副本/2/linux/fs/file_dev.c new file mode 100644 index 0000000..0c50eaa --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/file_dev.c @@ -0,0 +1,90 @@ +/* + * linux/fs/file_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/file_dev.o b/linux-0.11-lab - 副本/2/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e1ba8a5aa9f848cbe07cc40a116357db631d2c89 GIT binary patch literal 7828 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 SclH@D3RwcTDjZc + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab - 副本/2/linux/fs/file_table.o b/linux-0.11-lab - 副本/2/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..422bcb331f1423abef699440aa5b0f0ff3a8b671 GIT binary patch literal 2644 zcma)8ONbmr7_OR`-P!Hgo!w=9BnF`a8xkecvzttkb&W;|x+aF`!4(DLY)?=3Ogq!v zV?VOl_&SK&K#0s-B=xPW^?j%FhrbeTlMCJwT9?XVawWCSbyVX|l2jSv>;r0{YaW6k_^T zz^c43M3{C3LO#m~p?wD-+vFv!O1}9tWJUXp+$5jUK4*OA9`G6MD!D~It9?Y?9e~%h zNpi;q*R@lSvd7#dtx0>I{E+r8?Jnm!to=&<9J!$#WXynkS-U~|kmDcG>f|2zQB7xz zPu|k*q&*-%ra=ffB0sKOX3X>CC&cs`U|z-_!=_!MBjE%>dy4!bc}e?}e2cuIh2)nQ zKBe73zWo5~GpHxaSY_e9qLcMJC2H@1m#062oG8PB_yu{OzE~^Q_tocb$KXq%R=Xc6 z!W5mtG`ERzeXVwH?aU$)7onWoi!GZ&EG<G-(`FDL5GCjLkzBG)c>s!O5Yd43kpIj0J zL$ni?^gGLma)}S#8gV?s>Amp;_i=x>NJiF;9-MAS< z4d33%KD)7OtgJMKW~aHF8JbRnjKu9i4g+f-0>^2`Q2fM$^wI?~uoxN5N}`rr)!X zkOgp0bB?ivVFjLNqo#(BEj4ghvMo+e;Qti+cm>cWRebh7?!!!*IMC1w&2`!#>Rb)&9ZYkHg8gkiQ-5obM!ho&zcta4TOYQ7!kK zhn{n~t|E>PMc#7XSs04*p2N$^c{neB7xH;8faf`&;yT9LBvCE*xzNe^-E4CxbDRBJaN~jlSq|VjswDS1$X0~#=Lq&ga zCz+rAOpXJ}=@*Vw_-pAt>oj4i1@Xtt-Oowk-9QNMj)Y*HB&K4`iTsa2WPK#+q${0w zg!W?!)3XcxL8Yf>6#9nJ`D4X+Q{jsW-%$9r!fOgYRQQR)FBEb=InIv?e^L0SLLMmk uXB6&HxTJ7d;Yo#$D11WUrb18Qw!+sGzNPRTh3_l;TH*IZ6fvzQ&gs8hV_9GT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/fs.o b/linux-0.11-lab - 副本/2/linux/fs/fs.o new file mode 100644 index 0000000000000000000000000000000000000000..86ce3ba38e0ee4154487cb990d4dbcff00fb67a3 GIT binary patch literal 142937 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/inode.c b/linux-0.11-lab - 副本/2/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/inode.o b/linux-0.11-lab - 副本/2/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..dd67bfa4d43e1073c47e0226043fc43f5f0e9153 GIT binary patch literal 14072 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 I1a}MmH>)TywEzGB literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/ioctl.c b/linux-0.11-lab - 副本/2/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/ioctl.o b/linux-0.11-lab - 副本/2/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..1f1f33c5568ad7f154251149e1ecc40766da48c1 GIT binary patch literal 5828 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 +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/namei.o b/linux-0.11-lab - 副本/2/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..0514463113d5878e35d040844344865d47c7032e GIT binary patch literal 20756 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 a@7aEaV1r +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/open.o b/linux-0.11-lab - 副本/2/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..aceb4b8d44365ee59ea3c9bb01413542e9cf0177 GIT binary patch literal 11184 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/fs/pipe.c b/linux-0.11-lab - 副本/2/linux/fs/pipe.c new file mode 100644 index 0000000..dfc4480 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/fs/pipe.c @@ -0,0 +1,111 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, read = 0; + + while (count>0) { + while (!(size=PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + put_fs_byte(((char *)inode->i_size)[size++],buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, written = 0; + + while (count>0) { + while (!(size=(PAGE_SIZE-1)-PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) { /* no readers */ + current->signal |= (1<<(SIGPIPE-1)); + return written?written:-1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + ((char *)inode->i_size)[size++]=get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long * fildes) +{ + struct m_inode * inode; + struct file * f[2]; + int fd[2]; + int i,j; + + 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; +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/pipe.o b/linux-0.11-lab - 副本/2/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..d5b5db26c38f6881a408d3b6291aeb9d28c67659 GIT binary patch literal 8104 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 Jg} +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/read_write.o b/linux-0.11-lab - 副本/2/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..998aad95c9e243e4bfcae9647b34d9235f717844 GIT binary patch literal 7520 zcmbVQYiu0Xb-wf1;mmSLQCvzEBRN?cD{Ezw%cVq1v`kvGMN5?Yh^&V#Id)e2nB}gu zukOx@q+v9+7!{=nR}lg_n!NhJNvN*AKtHNnh1&}46z~!@%^Y@GbSM+Hi&+) z_;%mobMb-b+=o9$?eekszzdgui_HAQ(sVq6%82lGEQ2mj+2<~K+Z0`%8Y+DCs$GC; zV2x_=J>yLH^>=UFxN+@EjO6>iI5qb1OJ4Z(A5i~kU%zGXJdej%Du+ZXEIWMdE6BC9h62MA z*FFygV$Ps-_G5ajP3=Mn;$%Hxqn(z}dF12FaS1v7nUqezq2$`NXa9Tx3EU5_B zL$CjYX`J?3NG#KDtN2$TCPhq$*1Zh&l1x{kusqd^+NERhKFsb6Fan$gvIpkZ%{V(N zJ9h0yU~pX(?-b(gl<{Vm{vh7}iuG{ZTvFY;_QjjTnG(X=ur~Pf2%cx~W!c#o?aC5o zF|j;l-gEiPMoHx)B4Ls3mzS=f%QG^`AM27yzCH~b=81h{o|vy84vfA_LB5zxe^jjM z9J8Fe#WyB?t|@!ilpGHtFFl zG?T&>J^VrFd?BWHXB(%L5ZA*9sf2{yT`%Q@agw2j^l+UuQb_6H?=qSc#`N%HTNp>8+rvEJx4)o5!!}`*qrI4X_Fzhoh5X`%-#!?RyM(FD@9{_~zL|4j2;x%w9$JMc&t58@?@;k{*%Ok&w+_nm(x-f>wBUT}Y`5z|l zvkJAEFp}g0;LwkdZ*m?(d?Us1TSSB^E*H5tq9XJNM)WtvPHuhY01d}zA)MbPznk2& zn$46jc9Gl8%hc~Ck3c^vjB)Zl=ZnmvPvfOOI$1JyrID2V74n6o3`2_SOVcbtX1z+$7$fuzf z#y-*+i|LvseHgtI#)G7Xtvu*{(qmQu^Z@AzYZi2d^eId3xr5}VoD`nMA@aP#H>UB> zLFBV2B0s`pbC1f@en><{!TD3E?lQRpBN@0H2(-Fb|3^riHYk?`YIr1RpZPrM`wMyK zx$5)_BKi)}r44df>KDxDH>E@${enHf<*sdJOZtWR4PK=#v@L#}CpJ#PNZU=3q2H0= zLwI$`@Viy`{%orNt0fg4pnTfl@A1Qz2WHvW9_|(WLQ!n|1Byo(J`5F43+*%cApFr) z;g7BgFMZnKkFN^H=1fZEM%|d~h12YwZX1EEo#gGu) z9YG*QH0@xN!Fz5K2csjf@7D7k2pa5;4Px7%5bKlL-a$Xmw!wo@j$&%lryh`& z{h@Zp^i4uUA*v2g92i?AZh)vp!P<>Ci~Fm7+*?*W_YO{=6F38qIQ)<(`Q#(Gu8<$X z9O~jMn5O-tw+B!8iN~2uCPzxuT)CBZN6MvYYhH9HnhVViQHTaERp~iipOQI-EkaHf z1;R9QMOV>6(^q*5b(a+VYL;fJnKC$*6Q)o0)ELyJaNE%=&(af7$?T+MPhR}?Mf-MD z(RwxISM*ygdopETgyKx=k+xqvda-rUo_zIHY4t-qb^9B58Yiri_Cxx;Q9O34*oQ3p zA^U=TvenY>7_b*lu8Hz9W26}9jwrlz6S>RPTDb8wy-dSP(njZDr>XG>lsQy0i-nt2qZbQK9d-2};arHU(B^0_LwP87g;d-OyxjC=aK!2L9dm2!Y<3!}$)RmrfIcCol zrke6DakVbaq-CWDdWXrC|B6De`0AbV3 zI&vghRW21bucG^jE~U|1-O>dyJwbU2k99UU%bvLh*9F@l#|I|sR9rXghZux<(^B%33bI~Q|P$2|hd zI=WPCRRjhAP>qn_(w-a3FZ#M!xarHmwlsj9X z9E{rcG6Zg*9mQzx!l0frx>Af)nPNQ7^hz-V7E4Dl1SY$q7&4 + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab - 副本/2/linux/fs/select.o b/linux-0.11-lab - 副本/2/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..d61f73a39bf58c107d845f3825c695fe69663502 GIT binary patch literal 1776 zcma)7&ubG=5T2J!Yc*|X8^x9irr?h%?k3TorD`oLDvI>~7iJXeveV zCY}@#J&1bs?8UqPfKX4Kdi3hqL;YsoPO~}bz`U9HX5P%3>16x#`kfm}DH2j-P~Rf@ zl+m7QEas>{P2kmV>r<>uh}!akeCds_eOT8?M2Wg)X97y zXXIz{6KZmJ{3ubzqHEJeej#@`cdNkQ($w4KX(HnU<#LNTV+09~f%U6&dCo2MSm&o^ z=r~TL{^ZAS#{HoyMWNGi>XB9FIHI9A%~auDMj@)y@?EFobsJI14^7W`RO+<7ZqF=R zm5SN1Yo)RVO3jdNuC5hVidAdgsuoSx4(hF|?F;i4q1QW&qPbBto4(tQ%w}M_j=AZh zUncKQJrYawEG&Ru~0ZwnU4Z zUPM;Ij%>1OVMtcsbgYI`>u#*Ky`~RWtlPC(;57dvg*F;I@kis zL)RAOsi&aRIIZ<~a{8_RbIu@$_g4DiB@mtO%TCWGy1^hwHd9;uxYGc5+5Qz*MvUa< z9Gq{Nm4w8{zmS6hLcYY~mLMmkQ0ApQ$Ac%gz;MoiD`Am=g*R7#1j7tNTI!1mRP(~3C{b&IOkWGJ +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/stat.o b/linux-0.11-lab - 副本/2/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..fdb41d331a01a0b46c2a069b24d4be4631d5abd0 GIT binary patch literal 7212 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 +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab - 副本/2/linux/fs/super.o b/linux-0.11-lab - 副本/2/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..b551798da16bfa699c2dc2848c061720be0e1b2a GIT binary patch literal 12284 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 + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab - 副本/2/linux/fs/truncate.o b/linux-0.11-lab - 副本/2/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..8975b924958105c719b40601717933b390dce7b0 GIT binary patch literal 6848 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 T&knY~U11EUL+(?^{YLp;_3Udb literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/include/a.out.h b/linux-0.11-lab - 副本/2/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab - 副本/2/linux/include/asm/io.h b/linux-0.11-lab - 副本/2/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab - 副本/2/linux/include/asm/memory.h b/linux-0.11-lab - 副本/2/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab - 副本/2/linux/include/asm/segment.h b/linux-0.11-lab - 副本/2/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab - 副本/2/linux/include/asm/system.h b/linux-0.11-lab - 副本/2/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#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 --git a/linux-0.11-lab - 副本/2/linux/include/const.h b/linux-0.11-lab - 副本/2/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/ctype.h b/linux-0.11-lab - 副本/2/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/errno.h b/linux-0.11-lab - 副本/2/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/fcntl.h b/linux-0.11-lab - 副本/2/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/config.h b/linux-0.11-lab - 副本/2/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/fdreg.h b/linux-0.11-lab - 副本/2/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/fs.h b/linux-0.11-lab - 副本/2/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/hdreg.h b/linux-0.11-lab - 副本/2/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/head.h b/linux-0.11-lab - 副本/2/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/kernel.h b/linux-0.11-lab - 副本/2/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/mm.h b/linux-0.11-lab - 副本/2/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/sched.h b/linux-0.11-lab - 副本/2/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +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))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/linux/sys.h b/linux-0.11-lab - 副本/2/linux/include/linux/sys.h new file mode 100644 index 0000000..2a1c8be --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/sys.h @@ -0,0 +1,111 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); + +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, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +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, +sys_lstat, sys_readlink, sys_uselib }; + +/* 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 - 副本/2/linux/include/linux/tty.h b/linux-0.11-lab - 副本/2/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/signal.h b/linux-0.11-lab - 副本/2/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab - 副本/2/linux/include/stdarg.h b/linux-0.11-lab - 副本/2/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab - 副本/2/linux/include/stddef.h b/linux-0.11-lab - 副本/2/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/string.h b/linux-0.11-lab - 副本/2/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/sys/times.h b/linux-0.11-lab - 副本/2/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/sys/types.h b/linux-0.11-lab - 副本/2/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/sys/utsname.h b/linux-0.11-lab - 副本/2/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/sys/wait.h b/linux-0.11-lab - 副本/2/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/termios.h b/linux-0.11-lab - 副本/2/linux/include/termios.h new file mode 100644 index 0000000..2b7b913 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/time.h b/linux-0.11-lab - 副本/2/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/unistd.h b/linux-0.11-lab - 副本/2/linux/include/unistd.h new file mode 100644 index 0000000..dcbc754 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/unistd.h @@ -0,0 +1,269 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/include/utime.h b/linux-0.11-lab - 副本/2/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/init/main.c b/linux-0.11-lab - 副本/2/linux/init/main.c new file mode 100644 index 0000000..0892fdc --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/init/main.c @@ -0,0 +1,210 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +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; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + 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\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",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); /* NOTE! _exit, not exit() */ +} diff --git a/linux-0.11-lab - 副本/2/linux/init/main.o b/linux-0.11-lab - 副本/2/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..20bade066c6c637fb950d7858a4e12b8dcd54564 GIT binary patch literal 9040 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 UIUey|!5+cgf` tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab - 副本/2/linux/kernel/asm.o b/linux-0.11-lab - 副本/2/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/Makefile b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk.h b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk.h new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/blk_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..02751f123aa0c72fe90e820ca24599de825468be GIT binary patch literal 52212 zcmdUY34B%6wf?^6o;&6y1QH-Xgc}SJHG}{W5kUhYGHOIrCJh;GNFbBRy$lv{2v{Sc zqSo4q1{_+S6}5dG(9nvCAl0_Cwc6=f+Nv)UTiaq=94i0s+k5Ssn*eHu_kRC(e#!mT zT6^uahqKST*V=iLDq5;)&k2u?_T0vtamLuO6V50eGa(u+)=8N zjwhN~gcwUS##T3LbJk2vPLDV7#|9FZXbl{f%9gWU{lc7`S}Xl%&nI%a0>WoUMha7S~QaMx+aYy`F^(h90f6 ze}&wztIvjSex&y`dNN8w?HVGc*Q2t>3$Z^+oOpoXO$2suKppb!z^{U}9EfvN{8VJ0 zphryHcd!;JI#VLNcUrz4Y=?rRn3V}Co<;D)IfOWd>=2sJjsdv*??;d7B{=*b2}9DCB=wg;|KPjUv@SFEIv153fHHI6bwIJrxf|7nU2B{}ecI~tbMvoX zo1cp;s`bqzbqb0=Q<8T3(C!xKq>l4LUu3ZxOM`vBwVy`YxjS;vVvt66mrp+T>mN_*tr|s7npU!u0#f!QU+4@_aR+~uKN7^Ah5W7 zJ`AHr0~i*@a3;Di!pw)pLm|?>9~JT7$MI3PSK(Z7v{yn@CouUa@}e4%Ve6i6+nxEm zN}k(rIxni47_Cgy)Wlk%jZN_=&+xJ8aJo`cE2^XVgdfEPAX?Sb&`{A>T^Mahw8o>A zvFNn{fKBYmLVmp-PLRV4|)n2D3#Wr7$G0 zxt^`~^-KV_-AjQ|%T0=M3cv&%cRIjZp&TCx<*gLTRjwQO5Mvmy3A+*Sea-n!2l!kc zt`*940z;VQ2^PY-zlkZ)#W3S~{9lB`xfiMV-f5>GA<&QJ&nKw@hw$s2&Jx`Kd)#|L z9e#s>#i*QjMlt zU|>1rmynJGzDN1|ulrGc_{*d(r99IKw~@KL5=^!eo=;{0TbtvAznx@qo$zGHOiI*A zt87^zOuoZA5n&3PwC1{M&%}jN|Ja-sonv=GSYKy5h-3hOx0nN;C!gtfOW@b6zQ<$=Z)tTdj8(5ty z$dozZkC>vF`A+y$n%2w$Cp<8jvcw4=PBKfK@Mapgl7&_~Y4P|Pc^;#!9m*v###_qY!Nvp5MfUW&G znEfcHwN<&x>u_LqIT#6rFcEaykt@RD<{)4CTo6I!NJoZ7vTMaw~=&7pfBkr z(q{z1q?<{P56q_ht4N=zoT5a2L1H6cN6D&XlE+V~>v=jIR=~blNz-kt}n(D#8 z1uS^YD##<~Pj;g}0abrsKC|&?$@CY$Ld#|N@sIfxepSFFJy!4202}NdSBc+Xpoa32 zx9}TL8C2~`HGH$H=K1i^|(d`ZUt6H%|I=(m`)cU9)lv zNk_ajRTu@MNN0L$nwpebL^>NZ#nB%R}}Y8j{8 zvq|TAW32cj($T;k+L=r`-y5q~t=w}+7kFb;mM-+hsx4jYja6E@#2agcopY%_0dml# zq$fdMr`#!|OOY4!RMOKRSMGTvXL#9N(@4%iEtPvd$ue&>$mt~Kduu>mKyrb18ORwV zmw5G&HU}OX`{?1Ar zc*}8CO?xfvH0;_uWah|TpX=Zmb^eYvR9g*x}^$emTEJRK(UY87Ei{s5^S8GbeBGb}qw zJs&9SS?-%Yq2y2+#6jZee>ABuXdTNK%sp&!C{JI{h>WZ>Z^n>}zMg*mOguU|Ssrgj zTH3_4v(r3T7*XlU8zeI`YeE|KYraZLI|mtHLP(hR4^Z9=ql5u~9KtY1un%&~gr$%+ z?6Zb(zm`|2ED(&orP zY(Z(x-BYzzKVP!m4sN@%N_w!_NR>J=6+1PR9S|0l*NuTio^uBsw}_l$Q$BABAJlE{ z+(9e==TP)4cM^^ayV*NZ@^_*nN8Jg^v!bU~5%vOhoZD%`r+*zt*~CjTQBvF+}hx287;x zy6WE3Jd^WAE64Tx_VKp7xs$hdw!Jy;-0gYWw+HjK=d~?b$RvMo0l@J)GjN%3ouh4< z3(jI%u!g^Wr+`VGqq8*^oaJ}U?xV@a{0Cp#o;P5IvpBe2 zOB`l!wAcw=$3*`u|7yp@PSEdh_%?^Hru54y{8q#(lJBWn<1L9Qys3({RzXeEc+phB z{#LQZYNOm*ffr2`xG=<9Dym}Tm38rkie^<;-iV#Kq7_6%ysjap68aaHsj({2P|>VgX|jh+`RDVk7J5*^jR_kfe@#!VOxx~jf9 zI%-*TR83PuU3^qcOGQI$RCAMl(FI{0i;j(|NizW!{A!=+IrQ12Gxuq$Nw_{B$ zsZVmKWNR$80?^Quz!MNkIg_%wtMPsvUo`2!%+=Xs$)oOu4|5=*Q#`e7;nXE zq#u~uc2{LNTT))r5{s#(nws)B2O(axfjH)kVQh7*DiN=!tcP9m^3c3iqavOWRYi4m z_uED6vvPJY>Q~;{jE={PJC5&IwN%qotgakgfZne(Zy+066kY{3wX~WB^~i#KUx(Lv zb>)0sXsvB(iAQ^-H@C!AnxblJ)r0#l+0$ zL*py-?pE>!w!Eehx_WQ5##&o35L83OideD>@vva`Qlc?+FjlqdE<;|874;P@4c)zq z*RCx}cP<8OO&xYtO?fl!EI~G_#uf}Dj;>bJmfeLKG$tD4%%hr@wKS`kZlAmzZizL= zD&ndt(b9rP{$$;BA!h8TdK_&iYIJQ=Lu_!bI9v*u zVnE({sq-?Tbs4UfmxzqFW0YS7IWJ#x@Xz}Y-h)x@eaeFr+$iFo*9d!Og|uStR+GkZ z*5lva5HZcUG{dEwFWl^{4&>R+ESM{5UDJSr8yIgfSZk@4Sbb5PC%htk_ARQ!ZFo@& zd#?hB#OhdOVi`IOFY1M^sI27ZN=dC~;pYHmOlII&&}Kkcs)(Bng(qmNQi60+H}%fP3W z`^!AsAVS7+DYxY|fVO!+s-M8#=TiihtV3F=y|-bH^`<@Cize-@0nI$@M{f0fmD+4O z4LsBMzh2Pl{k^|Z`q2n-ZdPxT&{~L}k@zZ?x>1kYHvE&e`>g3NC$~2zem_8C{&uiqzfw$+f zWAodi7)sc@dPEr7@Ton`bdHqn&6}*9k$DvcU&`jyJ=ZPpsti>MHj4l2(6N2hpO5mm z;l_UMi(fuyM)A+%j(i2sZrl&cEdwNfRWF|7*KSO|7XS8q-4Fe-5xhN5lTY3f^1_yS zN6_>BAoV`1#~p>eh8}ZgC%1E|wLTVW#=Q@3jT+-Ca0`h05qxuPu4t@7i6{C}%<=2s zm^ugO!EQQ_JjO839}XUBug8Hx`Het6kG)DB1NMO62ZDSorkrnj`K)<5kaoX99)tWX z!9NjU@2^ZpIXuTP-^GF)DIV;8zT@}c+{XG5VM-&%p$BE=5iw{_5&2BPGQrCQuN15o zY!zHBxIvKb$XU+af)5BjF8H+I9>E_8zApGX!M_SR*yXgBAvjoYl;A|c>4NhFuM}J^ zxKgl9@OHub1RoXLE%>@1zn8H5BZ7PoCC_7&SSUDM@DjnLf(?RK3w~DcF2QYrj|;vi z$QRzU|Bm2?g8GFOkL4KB?{2IY_!Osb96WlKNl;8`3KNS2g!GnT-5%h3; z!G5~nAi)uWV+79;oF#afV5MNA;MIbg1n&`iNbpI)oq{h4{$6k{?gLn#<$@~(ZxH;V z;MW9yBe(?z2=hH6cu24hUU5-AL~x|wIKguTFB7a2ObA{tc&p%DMC`k-3jZzPUlIQ2 z!Vkv9o#jS}&>t;)Ot4jOjig^I{08A47yjFV&x`yW;Xfea{E>-E1k1@K;(U=O{3s&M zH|PfC37c~@>#>zQFbZ^lJkJw(ejxIEK)gwCtDu?bB9lun$LEvgmy8)de#}_tML)&- zlE|qj1RL*V@$MZHhq5@o1mB=#HpxFQWn>#~95$-9173cS=A;xO(KAPeSsLG-qc@d> zElbsnP{mj0s7j1Yon2s6Fw?@23SYZ}{FDx@Gf`G|8Ew0AY?(-7Q@Yd4CvPzpeUO!G zGZSOBQnAlBccI2-qrrM^10Rlb-aQ!I*iy}zZ2WRxY)d=TqkpzCN77(%JfsDflk@Z5 zDbAs%cKi+Jf%fO#zG+(iu$%F}e%G3;RMTeK2In>;OWQ&F{LFv(WtX(Qohfa~Mwdk1 z$E1kJ(W8CTx*|IPU@JRf(hG@`l6uc|(!dU0``e#wf3^KrA0B@AN&j2nL+X$++HWP? zC#N5Bo}Beogu=Jd_=_q;-f~Gji$a3OW3OlGlSkk3Y4i#@#x$m-WG=q4TxLBKqrs7F zyg|W)BInQ&PWfQ94vpRMuIUllfYK23%8<4LyFd=UZY};35lA9W^ZfaTL;0Aikjt4M zeMTy^ZuedvEuvxEV=Vx^6U~%}NhqQaB4tYr@8B$mgZvnRqyi=#s_#|$NR%}a`*Os7 zq@stTC@Xp$=!72~PsjyxCD!*8Y6YF?<~JY+=_jnD2_iZgK$Tc0G&U*{hH3L)b&QxIW*}eRu_C4{gmu zKC~C}Wo~*-n+@%kK%Z~!-?j^BXFV66&@J2bAY~{V z7F5?*){X+H`Ec+^;}x%K0Mksv`qS2K2w`hjw`|vgl<9=0c@q2s4-(thaM$zbGChk+ z?{193u&(C8c4RVp?q2La-7-unn~ZY#?A3KYcJ{~YzH6Dx-jFIcap;|n%(!b%T@@dn zc`A}^1$|w^QNdn&BM%B)ci@M6qhE4w9Dwb%BTEyI)b%ATTN`*{fU?tkC3fj4(sAv5Qo51#%r z3fJQ&c^UED&MN~a(^ai|SF0K&T!lFCF4tVxJ@%Y&Gaut%?MH3D@t(CmUaE7n9r*A8 zicO-N2ed>d8-pm(eHSAUwZwohwZzHns~G=mCoj?Ydwsm$;AVR>-1Py@wg-QSF5Sj< z;oqu80LJZFhvlxkD^%=Ku1JYfzvgLmTf3({Yeyam@4jW|gBy@OxD>S=c;;!Q{DBv-=Rtg$Z9hgN zO2m6H-qoA!H0M`pDTF**QeGzVA?jC{P1aK%byU>fih*M7SbfTmr+>2N`1+J%zPNs; z*t6Up=;NKoJgdSV^Q<#5$}fm^wrORIQ%228Da<$(o#@Qb7e)2gJxo5}#M2SQC94a~ zEYj!*PE76PNH8&4-BPzQrYEmj7X)Zs+Q?6koRQj!Z@kgUHF3>MpLQM+FNnqYK{U}C z~ z_=+jB_*Buf2H*Q^)6G=c?kTp~b0YaEbRs%pMPt*dMmy0~-HWq`%l^ZJ)$ifgGYR|b ze0_i`b)USpbk0Lc&}%2kdXp1n4drrb?6ufAI-A$O0NVZ$_^HKzfImm6vDk}3+`vpI zx~`8CP=d)hv^yyD1kXoRe204yN*b)A)`l%$K;n z^GT|34J$EyI!HG>lJX1I<2M-YhYN{s247)@!<(rylXP16bI9eJMLH7Z#30{n(&=Ho zwDHYZg5S*WW31EMO3>NiFk0xlkaSL%Gkts)kPB9L>Q1l!LK+FL zM!LU@O;X`{w&-Hryl@1G{&}Q>;g=}CgmfhQ5asg^pw^k`3DTERp6R4tOy=@yz+^k= z9x^hiHhp7~$#v2%f`UnjIvJc)YnXf|ou8KsQ{ZH9Qmua>O&2=pUtx-7ikRS)D7$lsV~JSg2;^JL$ZX8)ku%p2s{oWr>r%IhnH5 zN&gxRT**SKoeWN@^)F?=)jH`9Go^wl_2>gkjPzH24Q861^hVaYicH)|&%zG&SCd)o zq@Tx%%B0%#cF6oSe}wXNP6ns;`D^{SJKB$O@HNuE{Bx)WCe^073(zHLE{CpvJ$_ch zh&~=LsrDJ@Oz>S%2UFqKAouC2sxaS=`O2w{sm;jlGm~n=W1;9XlWM~cap+Z=VcQ5z zUzHiQ>uIN&x9J(-WvHF6hNCYUUPT=7wxWS%(#* zi^Dre*VF#k@Xe$fNRJEO%DOd@E(vo2s;`Ok8R0V0&7{YNkFcz(NMlkhpQJK6N6N@MX-finJRpVgpuFJs4htU*DQLAdjFw*^R#UkS!2sVm2NvnSo-S ze!>Cd3XDkuslpH7H!yYw^15N3lLF&70D|F@s8fPzVX)SRs+p9-FfH^=bNd3EJ+NQz zFW3NDPpb8w%CV^Qq+0)Jq|KyS|LLU7q*{L=X)~$TKZ>-ORO>GyZ6?+FN0ZJ8m!hfu zVw%rYeu_9~^x(jhs37Y6ihmqW0O9deETM)9|2OF~NSjHu{_&)P;kPM2leC#s>z_b6 zGkhn0{b!LjlWP4FNt;Qv{n|m3Ce`|q)i#^GNDRwf<=&^`u(=`6TtETK{yCdQz?b z0+M=Ct$zkdGpW`;ll0PX1%CarNLPo;vFrS^bI_l)%KtpNl1HlU+F^LDiUXDZ($#4$ zk3fC38epZERQo70=X(b7<*}Yr>&ekW#LG#woGe*zugii&J)(_xYZoJRXglt2{pjCu-m_+?ry;$T(b zE?OQWvz$k3VIWtf2G z%;!Ox9iC0Oru&CqhkZj2Q2nx4a*X!Rz`tk9Oq80%Ijk`@f-`vg(J98$z~rxLl?JF} zKgu>Yu#c$I|8Xi`^A=dXf%R;;on|o4%DF}#$WR&ZK2A5akrZN2V`-cyHD#Z8N$o8v)i^_(^7ByMAGeFHPqqXz2jibnsvl=XWZ8$sg`<{&;oz1u`4%tbnkTvjm`9M8nC~H2- z2so^UoXRQ`839fBnRzPg=`)C54Y>!rGj%K^K5q^cc-&T5g@77z5iMMLiB>?m8p3at zPO~w&i-JqopsS2vHwBZ}ik2_yEH6Tk=F;ep4IrJ?jrjF>hf$B`9Vc!CQ3~`CpD=A%r12w5 zFj72YM?*4_U!OcBJiirOi}rXbc+&ELMcRL|fyFdAatX=0hd>tG%aX4)1yQZwH^||9 zh9*qDe{EKJ>Qr>Uokbq7v&e(plh#98hO+T^W@mqM!g`vWupa3-VLd%X4Y@E$J2^2P zY#%#4J=082?`x)~_dCJ#^sJuK)3bZcM?ZFExlC&xkeV_xtH+f0fvMBhbJ8%kpHD!X zi!KxRIrCv~?+VG3^&#C;)~S};t=6lQlZ;`0tsGh;9hWlq9^dARluVfS^^iwJyQefy z3QCpI_He1TZ)O(jbFx%V*nDZKk2CZ~B>N<3L>hHUciYb$Gzl-aM|QW;2ntdKEa}~s2Xlv-c%kvH-GNr zU|#2&?=k|TBGkbC{t25E*4b3{IQ%~f7iZkE+!G8Wbf?1=3lRH;-E}XY) zXI@9!=HRzKt7pRBPK{aq!tZn}>R7aO{ra}NRZngn-4X0abeyIYX89lP=$t!w{pOC2 z;F}%GIufJ3YaIBKnrZaj@ckW~3+GPm+;@2AzMUNxFVph-{mz)IH-m}8KV7)6SW9mA zzZvX2+_`YoIyky>^TK)On3?|f`-6v}-LY`qj=^v z!MFkp(^+QuSHcfAk$oTySJP-ak zhXXsaTEFVzl=ZQgAKqNQ#(EwYUxZ`)4_ab)QB_yj!YS?l3%&?!o1Hxd4-4(cpd)se zmu*Vd<9JRAm{|>H0&{R-e)d1=v7q0{aWZ~)iPnn&Z{cF`s#@&}VJCQ}dNb%AO3BCf zg#U<(gRZ%Df}n2$b`#tfVpVV`_@_M^#L@l}Jsj}PvN;hi*A+J24&8Irwa3TD`#zX1 z@9waF!50D^GmWi?AAle(RXwA#$R7P4bC$3XXS%&6Oo_)tnZYoi3y=)XRG$jHx2$J{ zJw8Fkn0C=TREC}#`sMSn{u|mcHLxE@S!KV9uu#Ku2d-}hEMhi(Y{wnrx4~g)#e`TJ}*j_ z86P3OrNx1msHZ>BKjT2c#~yAU=Rd*+fBJ*aPlWm<__r?uD0j9Se~&qkzlDFk0HC~8 z^sB+zCw|C_of|UTV#wCw-#)~vDH*}fI#V(tH+rXJWVX39`&dTil;<-dQ}$#8r|cD5 zPa=Y;n%4ef-w)DMtPXGPon``~%( zgFV;>QRtRH*FJ<(x6L^(BgdHojpw0(?Nj;qX#X7T+Vg+e&nNYv0bQ#%eu&`<3%liy z!`pT|r199H4*Ll2LDZ?j>*r|D2k>0V4|R5n3NZqhYH$8oCO_>lueCQCH0@e@PvX&? zdF`h64HzE3tcQM(08($9tvq&Nqh z%|jbE48{v1TZxo3JrAA=vK`G;Dry;^wXq0vYPp4_=5-!T!?2OZ_lB7`&??!vn zFL+9dQcBvxLffiSkI{GRX7}4R2vXZItyHP4kg;F-;@`G|v>huT)e@Wto**F`>&A_k zQjA(#s8ke2`a=#<+sg#9%v5_@&~VPhx0|(Rd5fv?f7~C)XU%Bz;xhpEJvUyX=-RmO$iEBTUjN8@(J*`6BOd{8uXW^e!P{#Y z`O)C*HH`eZ;O(`G{2cK1nngZ!^Xk3QE%Ejk`5cdSG#DMP-t(#Y8Ql!1WBs#ulyq7yKx-x+pgWnuj$2K-;2Mc7tgQlX6zXIUjiS59b4W`@Z1Ny&!WH9 z%f0gR+Hdc-nEqC;blwBljr9wp9HZn1g17fM%s&#my(b}mUN8N*y?FZP*p2o$b;I5- zFn>$0^p(AMd2Yg8e@}pQz=oyfXFqr^hReo_F=V9u`o7c_Qxpdf_;aZ@nMH z4KJ;eKIrjkqx*@lm;YVQr>=4YYB)AJgPkE|QjU4(k@Av3T5Xr{NmA0}aX48sm3;cE z!-T8yq;p{JXWQN{&pz%klD>(Ynbjgbh4H$o6|LoQ8)}xmhf=w(PQF7mqsAC~k-C7st^+T|ob zmh&w6F_^0>{7aJls-X7ggZ}Tx;{x}0BFdvbAIl2@J!5fgBjO&kKjpAnK*Y&|vv(;U zPkw?@XOo8=o^P4&QsLW}j&|NHsQvg*?rx@|GdMrhgOd}dO0oW&!b|NO&Gc^x zK1W17_X1hZUx=Ku$f(yOcr_7v*8-_`J9*gOBKRLf=zpE*B}%;@@*j)*SAri3YJWQD z55+(8jS`$BIE#q#E&{T=`64eT5Buwc|11&pxSNP}-YY!6gwgJI@K60W$m0e{f7?eJ zwLcwX{GLlaPB|my3Kj}-o*v~3h^YGtLC(>k{2PKV3Vu(JpV*lG-$dkl8|X}gU#0L~ zzmZ1-2MQJlP7~xuP3B)9SS461xQd8!ZWg=~$a3x{kM=%5M0>w1={p7Y3I0OxJwZ;e zqP-l!^8~g3ALIp4^mpmZbeTvA(kUt0Kck<}(Ddf@L z7n4W+OGUnjSc-d8!D`|ZbC1t@WNvBJAf8M~YuK(q~Hgg@P*t zTLjk#epc{S!8--F3Vu`YIl=D>{#@`a!9NRrBpBxT8ub_;I9#wuQ2T)+eY)@q1#1Lb z1Udhgc5W8rb%Q+TfDm=GKOpa8$?NL}@Kxb?e@b~6eMIE_C{fR{0*(=$fjuc-Ajtbl z@|>?syhZQ}f?pEklq#n05@h5~@;?`RS1<$nl5#x*3|Jui8G>sBHwbPPyiZVHpOEhx z!apncJ;9#|zA5-8!M_WJFjiT9f5ALKecgimEa5q|ntD1e0q_dpmkX{Gyg~3*!7mDa zN$@Gb-GciCIq`({^>qyRuJD6!3{k#D@NU5e1RocqV-59Q7tG*!AN-4g41`I3AkWLd zvjr~@yhN~EaE0Ivf}a!ICb(VjX~8{$KN5UhP+t#F-d}~!2%7TwEXsO}6dXmwn3yGe zneco@rJlZC0OKOxEb@DW|CaFDZya`>6Zy|Yen5EbM_!=RMU{($g@g#WYfe;3~6`4sih=Y7-z5fsgNj0nC! z_;JEd6#jhS=Lmnf@K*|7Cw#N;n}okh_zvN}B>Xpo-!1r($n|vr_4ujq|1GF^eug|k z#MtdC{7J$O7rsdN^Mt=hczu3H{$}zxHWQM5z3?{*e~0j&7yd!v9~b^w+%}z9IObU@^}3v@=6+so+|{ zy96H-$h@e#g$Dk_f+xB1wT>u~&v0FB^rEbv8>S+@ZSk>i=r z8d65aaV)SEu+WAgGU$FD#`HTT;3yl4^#PjX$_o`tQl`P!GI-CV! z?fM;efPA_cKicng$5o)Zy#`N)*Wk&Bm@vH0H}Ny#k4Qv=@-^3Xpii&H4d`y1Z74D* zT^gep94bz>>G&=iuK!W!;cq@x=xBF;vJ?s@NRA-c?j#JU{7iO$yY6eOSG%;2qs;EWfx3y7N=^oQ|tviqnUkC$3ktkueuRKkFQAaF^FU>|JYM54)$hd-t#kJT&$kN33SF zKYtu?soVbS@x?sQiqWu~_k;S}ki8k!+vE9}?MtwJ%^ZaMkwtFqXS56LR}D9Q3?hC| zlB${r7W%4YBBh{qZAbiwed6Y`vR!MB;Gom#Oz^J5X?;HAX5bDT)bpi9TuYZo$4y+Vp#AOl0Zixt; zIjg-ab7N_yITN#Pj9+z#uJf!+*N^{(qPK%;+nv3*T$mm=LmL-X^e?fBlyFTeaZL=AYh z%V9y3^&0FtghA=k$fOX$0QoQ|Cmlym-~4o|O@LYn4*W?{_e^9h-o}xKKAddEAZ_mT z@p8ujU=(rd^x}?XH8nMVJNU!*+h2V4$goopyrCTzlsXKBgEv8Q8*{))i^&V-WApa7 z6)AO7k2jud!4rsh9MFg{qWhg88m6)6p$Ow~Fr7u41Ifj8tIvin8SNa7Ddf&B29F#Q z&{E!ol>m7^HwnnjDF!AjzWg2ne@x4t!;%iU=%+b2LC*OW9)PYLVNZ|}L1{EjlB03f zYCFIXU^8%inW5s}(|`amA7NA;T#NIAsoHTz^<}o&7^3H()Epjota0=osPSObSVw~3 zE|8PY{A8qu99YW6WAszaNbQW{M-K&@%x$EHTR$e!!-x-%-Nbreqjzir+kGj|KnG-? z14cYUEvDfr#E1|m<%AoecUM=}wXXR1hzeHglVd7$M@!J_cQs>WL_}+EYK-cM@6o0j z39_IAFrZdk8|)aR##E(NRo2tU2!vT!Q3OAp?zO^9kOh2WMT`a=%znl+gg?Mk(D%Kk0=tYYhVq}ojnru=hJ9S1wxuvPekyDv8$nUDJHI()g+@R zBKg5mXIHkDCPq&X!J%8>m>3Q=XhUr^D%ijU($r$qiKkEedicof;rrEHMxt)h2O%Co zW+CMh;x;V7$<{XzdMAwAP=dQC#BIohBH}izKsnuU8@@=PC)foQ-!7yi<2HN_RdHrO zj4%yTkPzZCuLW8UpR|N&h@3`7!ZbvF%-j;DA;P88 z43q0bE<@W56Lr#4!!$&OCsPWX^wcm7kw=*#VHzS$tc-+dh}=ul5~d;Ym1N2!Cp|Sx zLxeBfZJ370YiPa=(~zDTrXfOieH*4BqN5)yUXP+@Ig#J690}79xslb8FbxsL0=Hor zB8!vE0w=PUc_d6j1k1Jvv($-vl?JY)>1roEHB3X~A*M)}hIA9AVH+yd>_mP`165?= zPUHaFQ%z>I6Uk;dvFXUU)`{dn=CAn`cF%QAx(Ut824C`jXG=%7eE@2u%=aV*J8baTteH*5M>(^!a;_S~5FF_Kf zA@q6DCQL(!-&Q0{L+Du+wwmg}ke8K{Fb!ds-RRqcY!aq{M+?Fpvo+5p0n1;}IC_gq#L+EZa>mLZy5Nbua z|0lyV=m0(vrXjQlyUss5fc`|72FCf|k*d2EVH(~6&420Yu*)ORKLQ=)!+n>QB22?A z;4_0IH$xQafVtoq9Q7*1cp<^@q&=bEqtk8Oqaw#ELK%u)QeJ6J<%ffU(&QU)~~C1V2B8)8;Kvu^@NbU@9s z|0mnIFEEQN zqCN1#dXlT{Ux3;>I^2`9xpDwPV9dE*8>t?EuojNKk#III8F(w|kxfes9B>Usg0r~_ zo#}>M4#YuTmcNZfaKg`cpl8b-80xPhDLiD#UOn(WBqq&#*_c^{>{D2auTbmT(6~}( z=L`u}e7ngUAI#f2X6BR%U61X?z-QFJ50JzsFD?F>5x1gGPl4R|<`7u_y|(!vvSxvT zkfRoTmBnC5mUFZ8NRYH(mL4PDGMbToJZc=_GW#(EisiDi-s6tn!6D~t&gsvfJkHas zw`ZOj#P_Vu%jAMMsA?$P@_{t&`^Na{!TpiM#{Jed?uWK_22Mv(vT;8);+1F|KVdt+ zV5}xx(w34m(_#N*I;?)+H&QdcVKS~j#(PnY)5Qqm_vp%8j*R^nex%Ff#8-TNPIumE z!>(m_dA8*8ySel3-4I~X2L5d=cJX@~7E&4F*icVS0C2c0p9{=TV|umdE*N&S(#(4-H&~_OtJYad6L(s2CS1HT+aIX`!b-DtWbT zz$2grPsI<_`FNqTT#*cR4*r_b^sHJ}y)?(APc;PWm;`pGHbD1uNOfJY&%>R0)^jCjWSA<6#%%JG!& z6guK*N-H=>&1u2Uv*lcy&7($qp1Y@HG9*Ufe=F`pN*oF7im(kgk=8TZL?lHG6=n1Z zyAC7Re{nU$p5Z34lK~X4iej&D551R0?2f3wXbA&tl!+X+0;jfP!$wFbhQZxoBZedc zM5Hd-h{gf8S7vle}b>+-#7V-mNOa>xsN$#WOeS`sk3a?3MSuWqOp3Pb9z?roSkHYtb=FooZ#f0 z+N>$Z)bbUrf4hIRw^;{jV1@d%bhxi9d1J1iT0q`GX5P7rhxgCpa@WCU|zRcy=d3bU680i#B&SRoRPz zSo9LljQ;lIAJrhdzr3_H<`RW6lwfI&Qv)-|6Pe4@4*^}rgG zHL?=o376O8+gIcJuN&NJAx*s$qke~LbkJuUT?_)zJ0Qi!$D;TbVo#XT@XELxJ|kSw z(!M=LAQHYg?iqRlu|Qhtu)5%J*6Xa-%W?iYSM8iS^P)@i2&%?vpt5vl(jTZreNsFL z8%2UU%SJ9aZZHWhW(iN3ltnyKTx;~Mwk|O`f&?URbUNW0pY(V#j!rEMO@O1eyHEe= zFcMh&7~>+2HNtwX25LQ);L?P1!@n3Lg2$V7{Q9Ig5mgOMtyo9270deC!{4kIx~i^` zi+q}J40=J>UQ36v9Xx{3hZ0f5E+(29PeKB6w5mouI`uBVnwOs(LBa-)(A|-Yr1L+$ zzUUder9gax-ti&$%&%h%+?(M>LC(SdEBNO#zKt7D>fP?Ofdlve(u{xmxQ)Eo2=AaD zOm2eQK1WmTEHd#7wnA>7g>_j6jT~Rrl8>fZztYI}Lv9~0A=hyc3LxvkzkPb_8UMh! zJth2su1hu^KkQ>9%e+YH$oWF{X_E4*A*bzWklTk!+SYL{7+WFgY!=%LZ=rSheb7E` z_NYhH+0eTlTcB$nL{VPmWl|o$h1kc@9yXSG-*ZxoL{T@sVzrUR%TW2eev=kCt_m(RE$Kx~DRvUX><jI z_@TY{Q+n}Zz}xFH?au^nuW{rr?xjyZXS=a{+@1Y{u?Ng^GVVa_Q()1U2_+@RK1`(C zAIe>H%0t&NH_Ju^b6FHy*e|_-h3DX_D#B2>wFwO(G5;{k0F+7uNyuDp%xc$x6!l75r$cL?4q^6wB~XCD#m@#4me_68Ec-!HuOg@b&b z$o&zdqkU;Wwr>b|qz@w^A19xBFrn;J!6G8=U$EPiXAnQu19RoP0_-n5l5~FTV&%d8 z>?tCjDR`ma3PGM4a6b*O&uGlbVMIlxy4&pFY$zJePBHw)e`_!U8VWKjPF!CwjT^DgCn^fi%_V~A0~ ziGupP1$l+=oXbbO&j{Wm_&LD`1fLMxDY#EipU;s0@4|<@#@;}|d_k^!!*b$+*9kIC z73KE`J|xJ6F)80E_@dw|f(HcO7Ca*8VyrV?reLmMfnbSXso)&Jg@Q4`s|2qRY!~F@ zN!ouzP{#}b|BUc2334eV>it$Qh+~6%t>6YhegdZaK0zHD1iX$30{pwkzs2(;_~!+6 z%nk7Uczy#86+BIFs^Eo!iv()~TLjk$ZWMe%uv1XSz) z^B=HCaH8OJ!7Bxq3$_W~CaBM|$p47&j}tMrUK0L?!XFS``&>i+J&^}_J_J8Na5xcT zW1R3)1Z#<~t9`7Ye~0jlwZZ&P2)|eO9}54rU_j1~!-&uyA$*DO`uq!dnef_I8oWO5 z0`C_2LxPVJQ6GEWeM5L10|WYwoM*MqGxW|N5Bb?5Um*OI!q*AkB>dIFUnl%V;kC~* z>@f}|?L8#vPYC}_;eRE3gy(JOohEpeU?~xH&KJB=8AYQf};e_B1UmvBm5%b2)VxGnCEBK?;)PIflxKR#)4&nalu;zsZXEe zoq~MsA^)~u4$iyeIa7+r^E{FBGl^RTdEO@fhG0uY17AQV9h^VWx4C%y_>w5MrQvJO zpEKR#fg#x#!?2q}-T2}QTZ#Vt7k!)2?@8Zgq2V2)S9%w=9Ude-eVftm;tynVz_(eG zslLr;_0T$zZ!@!rZ?iELeUL~$y~{7dLaegZDtwc8>6KFS!m1wao5US!e3MM}TzJ+D zF>0l`-M&f9R&68iJj4!s5D$br`{9<7D>*VD0GlJ_&}{`PiRPk5a^M1!yD8#Gej4%Y zKkM1Gl(WZ&uFQH<%CJDqL{<`nR8i`iFbh=Rd-H*c%}A z@di$t)h=Xl90jJ3=M2Cs%A;p6mCe4Q0a+c_cW^3lY&2Hs1}4-DkIs&2W};J%qIQvu zcj=;8QMebn?c%1}zCQmk*lXLVK_%#t_p&YOAdkooH^J{4hN-quVHI**byfRo?XR~# zd-!3ITWe_Xq?*asX2pF6{{vZTz!$+`o;beGw|1FTYEk4?n9wzR_DJ|_!(LNh1?*th zrH-`yU68u%2QTsH<}&Ts17S(dhp@YAV15gd54w<|SyXk_ouBNPWFM9F>La)lvva!p zsdpb88nz9#)QJ_6otP`7N&V=bVXA)@^PBpintYxIr{ONszx|%VJ0vCJ8)@wHWapX@ zBSsmJNE^N0*kita*bw80Xl%Yi&;B7Ri(4^}9Jd7vl(!bMMEy zPKnYddrsk#EH4@@pnZPo zL;)ZxR>E=W)UcX^S41>pOQ+9N6AkKG6%`dli?OXx$;Eo3@D(%d8&O>tt*FF|1m@?f zrmzZf8&Oid!cf&sjj?E0G2RRIC^pxl-|x^-Dq$ol!b1?7;|4fc)ypZK@Rynka4VG8 zM?$%kLSZ7c8{oGNKoGZkj_aF>Tt2gkt>Xmvoa1^)_{&h9cL2os z?liuL3>47r`TCt?Uh}3{=jY!D~i1a3OVOl1>XSqLw?0bR_V3 z%4d^K576nzox}CdG6V0Co;x1D*?~(@xO*Y#oWS+ezld~h;0v@gpk906F7`AV)s0fh$>PwUb6~DBn`{Tdfn`z?2H6)T0mJ>Ef%r5jmTY!dh36i96vJ z*q&-KtDW$#+1D}l^;#!(CUphNCYU;7b;F8S~}`_@cqBC0!8U^hvjl777FWAnqG6U4Y5ywHXDaWj zs7j_AXMYA}Qz^j$RA2+?m86|O8Z)dS?FQ&B=B}oCFz^dDYz^N*N6??_MlV0y*Sl-4 zf>xlK$=4Wj&{6I>WA1d;_gZ7_$25H%X@6ibOXSfbwpGINQDB4-lC~-^s!ip7D|C zF49gwH~Mp=-GFZN-K3?_pC>JizK66l`U@$I{vzd>%FkC=fxrkbUY?KOZ^rcw1E;a@ zF@Nz&RpK`oD5Xxx4Cuh$jH-Po$F8G=%%FP#z`Kci&{xn2+NHml z?^GV`%55cm8fn*!lRlkv(5-nQl!}lkydj&IS$nXwo@>zren) znC5d;gd!f6x+k-g_Zqb572i0XVgtXXVhJ@=U=wzQ?+nte+uDkSkjIk_2JWEzOwtj^ z$0*+f(wTwl@asE^bT;H;m2V>H9Ji`vobsJbI@gV{;*&^615;40Z!+n8H&(G)`OYC- z;Kr&fUFgQDEnV!!DlJ{&V%DAVolE@*kb^EIJqhwU<(opf6nQ~UB|Qyt^Gq{;$wfjig#I&>1xPGRa;xB?1Y`*SwPyMMYqy|#FOrRFD&M2Xt&M1gxkX#}a z)k;e-4mM(!SxvXgtp0o5Q@Y(T=xWj1BPDg!Q}IV(2XrrhYFtyW@Tn|In&RYQ7e7r+ z>#?S4t~h$Yfy8)zoRsSM!6ik9rV38z3Syr*us8LGV#kC^^n8G2WbwicdtGrT6cvre zUtMEWeWE%xy1uS4v0C+%VVY=92`1{)uYeB+HhC!P?GJLCbwg8D6-`}26cbPJWCddw zix@Kwe^2ZXa__aXmf&&7<3EurLU0)!F+Bb^{O~GRw9gsdzccvP&d!DPr5&3$)A_v3||} zqW?j8L&a)Yu(bSYjAS!lT6;Mjq&OVtg)LO0dFg^B8Ly6+wE+24TbZcAI+|t{yHu~fd?MA>O3bpy?7MsL{CYx6qZ2!!9ld1j$1+Xy(|MoUE zIj{aky=Gw%*DOq3H*z&}?Y$@F%4a+CGTai#ZpXj9kxa3n*Pxu9vCHG_aC)r-i431= zeZ&9zbK+BPXL#?zZ3zBxY83Y*w%LocP*P@z4kzmdpCsavMO~JRnsJ3QJQ2 zmaIcsYCBfL9_vkexYbYETLYST*pJ*^z=3#k%06Kl|JMszy^98ax;gP{pqIMY`fU?? zcE7EK-tH7dwwGJ)Iq}z_9R-lH9qb?5FPt}O#}r6aiUIi*60+HHiMC88mEg(r0E9gM z&<5?%F8eOkUUr^*b%UInwP(2Q-&Fa(V@^Ex6*ta<=Nxc6bM%-KKLWfx*Zu!6M|>RW zV>kBWM9TolPwmCe>c#WD4fg^6`>H=5t(J7dyQ)!m0`0}|Z_nSH!@U;#QtV*903g2} zyxpk3$udClclF}$?Zu}&R-Jg!xt{kNpLSMt@+PPI8r@vch&vnb`WBsX&Zth_0%N9i zMRkRe3D=rqbvbT1M^ew31~Ur0(@*A1<3Kr|>A?Ad`Wym%zHWD*ujfo7{RTa{Rrp`#PNlLh4tzq7$qWo1d!>c zlgG3PzQv>76u~mV6_VaeMB{G}`IiJc1@{X6jtKkj0BOGu#t7}|IgOwh?vUm2RXgpS zCOp5Ok-ts&yM=$42z!qL*^f_<$9e20f=4LFc_JYBgAwWUqBSCd7gtjXj>i;N<1G^Z3f2p@3i95I`8EjN zEO@uz1A>nWJ}tOM@JE8L3;s^N)$Yr|=U6rwj5^5%sSWTrRj$uubrG z!TSUs72GZOx*%U-(%un4zEUASOt4UJy5J>(JbzKILGWt9&kEipxJ~eJL4FouzTXJG zBlw|Uh~oz7^a&v97s|kx@K*`)n*-C^1wSXK$0y|5g?~zriR7W}HB zg7*6go+NmxAivTxeTv{*!G(e`!5ai`75t*$mju5i_#MIT3cf1%8^L!3-xu`b0A>08 z1cwTqCU}wH6M`=b{#5V{!4CzqIrkR!rU`x|7!DfwT*0dZuMun){G8x6!5xBnZY}J- zCj4&&^?G-Z|CKz(re4Pg{2<(PkuM;EKT~kB$QKE(=hz~>QRJ-- zxnAE6`Ssje;CqsORMPc&MUd;cw!kZJE@ZuGh~QTW-XM6N;3I +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/floppy.o new file mode 100644 index 0000000000000000000000000000000000000000..33235bcdcc660371f0cfe6077089e24f2a1c3a96 GIT binary patch literal 16612 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.c b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.c new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.o b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/hd.o new file mode 100644 index 0000000000000000000000000000000000000000..bf2b0d10bc58477ea1758f63f765ba3eab8d6225 GIT binary patch literal 15520 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ll_rw_blk.c new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; iYkGs}N`|^F* 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 + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab - 副本/2/linux/kernel/blk_drv/ramdisk.o new file mode 100644 index 0000000000000000000000000000000000000000..d37a922496b20c46741e78e22466958ee16e9dcd GIT binary patch literal 10664 zcma)B4RjpUb$&BDt65fSS+-Un+cJ!)ln7(3WFw3*2K|=h6AVC->F(HH`P~#F3O5%{Dv?M5P?c&%W;q*8Skfu4!2?_MzKttO697s8+-}mN@ zw02L==^X8R_uhBkz4zUB=gpg^yVmrtH4H=fm!Se`ic{*HIbKVjhA!2rW~$M5+V`*S za2{Ab?cSrc$Vsb%ZEt-rF)=~$iRIH2ar9{OnAM@hqsQA{M5n_M=C&$2f&}{X8^70Jcs1O#j=X@Kb9?M%s|S_5%@9`qPMU>hfbdXZWLe_QQ#Z z)0?KoVX^0h>;;2SV03@0PWI;L{{D`(v6Ex3eek<4y?wdFYGI7?gpQ&|GkP?`Z+pEm z2mAm$>lp;is(5QL9lwg(=<$wQ0TT?n)B(w-;rAf* z*iT~Aky?w!9 z*i!$u!ekQL#hb*}@5gugVfOdpLzs_xoQ8+J{LcK2vM_9~zM;vaPbSx^7%^J*jqda8 zvEPJO2on$LQG;XANDkEW`+kEuM>hBRJx_8b6&K5W$621Y;0Y)v^66}4c&U>qyRMV0 zWioErNxIp>pi?X4im72Y9af^`tnazbam(dmIXq3J-JMQnZ{NrQCrLG@GYz5gRhK$t z_x74wsXDnVZfQ{E;%+xR)$a8w6rrKLs9IsTP~25;#94Q$n9nB)Y1rJH$U9z;ooOez zyXsaJIF)LmTxFDrs?$5tITD86Y7E4S&)GGU&AG5#9HvgDSoY1%gQ9QG$>tM-u2U@* zon&@!p5t`UKEr_nkcpj%Z0@44>MthJG~;`BvW04q26a@iSj_3gHLNDn;}i>%Sy|vD zl0`4n9PETuh*xJ{df21V#e(aE)sGMtW)zoYJd3-L!8Fx8iHhinLtR_;hY$y@fUWWGI07szge}W+R=cFzBTd)z_Ogd!GhV9_>q$Bn^>TEd|tA2C%Lee)--fV{7 zWrv%RV4`ODD`alwXxq&25~^vY-3)Jl%wrt0F4?G~!7 zHNzjF0nMy4!!u}FGaJnCH_2>gIQ?dL55xHwnE^9=f_*fz#SFhU$=qy)A7LNevfT`i zPqyqZ!w=EGt#q0;8>`jbD!7Ar8#2T9u_eKl9CEM=u_Zr_o+Y#}>J*u(8U7x}lO{7_ zhF@o{UFLeP89q&?nU7$4?lv29>8c72Edz53ekv6eyzPe#So}>?!UC8GS!3uGp}T(c zo3;f+NCkciyGyK(T?w!YkXt%bW&a8SD^6|Gz7*Z99bP$qi8=|=Av=y>tfW`A)U;Aw z*)F6`dKvCb_MI4tm0|Tcc9}YZ?Au|tu6kr1dYE*teVTNR z_7~aDk*I74wKr4#3DSLb zGv)VFXNx^dn_~?3W}9y_>jBc+?e}SOKW*-?A7|eOIVWj*7xfP?H$(Of)cGXotldxf zr%2zXB3x1SL7G`BBt4jJ}(jhC8EveuF z(h)0@!gJP5y4lJUiz*l+9R&?}59v1h53nEXrTKOhp@@&A&SZ-U+<_6j61;>3Jp1DJ~7rKByZQt4H}#iT>_LzG`eIs*AZ6+RP_&@=lT?Q+u5pnC=-BT|O%?bV zgdN6t$04$?Pg6#lE)gr0Pb*^@&+*FiH%Own@0D$pzW=+7Gtq0dpWK3=%Cb$``O?^ ztS-gRcx>i5O3kEQmv+sAO3j!?k9js9(khFg(&94IJj2#H+%uWy@#}3dwIBNmbfP)8 zpiDhX^WaeH*Jy7x2Vow}oqIVuwEq+x&U+Lh2gE1Qr?nG_HapneJeXE(C(w2Q+B|ue zC*PseENiwyOS+=Nh~-8o8IQfk(B7VGKxi$m&{3Zks1?mBbFoK{MDao~FZ1H5syQ|t zU$X8$E7^ zcCyKHvc0W3Tnop2O*jJ z9JGu+mcjYoqr)is20=kEokMA*1y7)i8AfMQOJksEPSXryW<&FNXzx&sjaNa0@w6C$ zrpCsljaM`pE$}@}1wv%jw=8Ld2~k8S4d<#rlh=YWf|@W?3r&Z;_2_<%wifiQ;bUY{ z4PiCb83!9NjP)&aI&Gd>-_ip+O|8a9XHkMd&|Gt?`sgeaVGJ?S=0|671k2kVS*f*V z1}B3x+c5WFB`C7dzB5`|!Pd2&8y0p3Qg>b>k~Fh{p4&VUMaD5HH9KZpJ%~%JhTKFNVpz>o zJglUKToF}wmt0B_W+gjVNaR4H>hM{KFEfuu&FDb{-c-hwN5)6r+<4Xao4>DpcVFm- zzZ*aDl4SA#+VM^piuOp>5{;mN!F#M`|_p4wR~anXio>GQ-GbC0^Kr&%lbR#PLa50&vyV zpSW?{Q^P8$CAcT538s%Mn##3Q6<^|&lux^bw5L-^#51`BUN_ZpBIU-D*(wcZ;{{C7 za0Nu7n$5eartf(9EmF07qB5*9iRzGBR<(+oj^{zEf;$2i@k*`amgD;4SY5N}24|Ji z7h4kRbGq}1a%$+x>?KPUgHGkrPWPbGohjzC)$R)bsOvX9aPkWfYViCyJq0;kFRIc@~21wUXD7aU-M1Z>gLumb3Wq%X+2i zO2J9V1#knk? zIuX%l)(`c>am1vGZQnIO;J=* zg)*v|rCvdXnRk^ga;~O|zEI11BbK#Jl?KZtvRkN5TF~)$ zwX1SSAA*rJL&f79Y_&M7dWMR5x2I4`S9^+;?t;6^TfMt`V+$8{=Mu@DUQf_7?3N2| zu18xa@04lb#Oo^4HQ^=7yC*PKEF{>34PyD28WbPFtXENaJkG2lJTI(q)Vh8Gkpmu) zF_Y4}3QPXvV01`iB0hve!5l|~vh*uD!A4{hVyvBvDCo=~op- z!zW7Dx2~yju~=2=npLZoI$bv;vCP!GC9Zo>O>+zHT-X=u?Yqd6@`V-U4VSTJvoiLE zj5!g@x*xAE%K1v=#qFzF)#TicGXTo_M8+*G<>nWgtS*rK_`QN3x3OwPQ|J@sil)fN z1FM>P12Lm1vf@NjXvImfF#;8T?+F`Gb90kLyPw9--$>TkSkcrxYOQTLY6K3MP0cG_ zth0s=vC8f|RxKdPLgSE6mEByd%H=<%UpuiRK5t@WE+Ppa8q;pFHi$%LicryXBAH}C z*R>|fiNYXeu1>_afZqYWRE$Txs9zPsaj+Z1>&1I1czxU}D$gd7w z%uW4vhHbp&;D?R-J(n@azXP8y#Dg-T?`@h>-DBKR8yO) zUg)rox8?Hev2Og!@3RboI0b=Ahm;-+t>p=T`K&r=Q zDD`xmz$dqzrMCu#9Cnb)*W?Kq?msJL&{JnMGT@y%E@B zK4}m8;YoYDL9-9@$m@Gir5>o86Snbpub{7Y-E8kO2x5KtdI!Lf_OIR0tH1oV!w{18 z=WQ?aj@K!2yu7$kt{=zU7)KXm90&8`=LPAXtQC-IISTTtB;@k_*85~r9}4^z5MtPh zHfWD_>C>-0kSaP){_92tmv7JGrtbA}Oa14>R159Zx00{-K;9p<*DIicdalTE?K9CI zA0e9Nnn#|`(<}IKts`H51tyT%ZuN6qW zwM1-cc2N$y`uq-fSoFRudPjxVhePQ11M-NE|LLQjc03fcKOab*=a=SO)IWLnbIGIM zlSKIY8t@^^**z3_h`4?BF%8F)8Fh*$z(LL*#joN6Mcf9>GrtJ}h`x z@auy7w-EdNQt(~D4+PI)-JpG=pgvFr?+SmrAphq;y)nVh3hMfV{D|=15oCQ*|3`xV zCdhw3QvL@)gY^Y|n&2$KPQitOR|#$qyiqVI$Rk+V*&}#B@biLC34T-X?*v~Gd{yvu z!T%6^UoePghxTU(&K0~!kpHD;`wGF0f?EY$!FvQhDfk7!FAIK4@b3kGAo!Z#F9qKf z{F7h<9#Hz9DR{o%e8KAkpA~#r@LvSq5d1(eivP>e-fF=Q1;ZgvzESXY!8-)U1V1Zy zSn%6|KNS3l;I9OKEBHquYO@8KE&88D1m7k6WrA0Ve4Fq?f(4OR1n(C4r-Xl0_-6#4 z6Zwn6|48tC!3k;a!rI4pRtkQMh`2Js?-aa8@NvPX1^-&`ABb2qj|+c_h;<%mR|b4> azd^gt2s%I$JikGRTt|uA(-65=A^s1$?rygL literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/Makefile b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/chr_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..d2f3869a9d5cd226117476be64275b50d1cf4aa7 GIT binary patch literal 68902 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ਞ(_ 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 E8yu$yWB>pF literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.c b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.c new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.o b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/console.o new file mode 100644 index 0000000000000000000000000000000000000000..cdb09cf249a683c556a1bd6a57bcc3dbe96270a4 GIT binary patch literal 20896 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" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/keyboard.S new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/rs_io.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/serial.o b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..bf80e08be94a19c3982f10989e20a6e929a1d240 GIT binary patch literal 6752 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_io.o new file mode 100644 index 0000000000000000000000000000000000000000..37e2b15961ebc5713d826d6c25e53571ac6fbb83 GIT binary patch literal 22504 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 O^kQA0pRj`M3jQCx0hyNo literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.c b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.c new file mode 100644 index 0000000..e4e3745 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.c @@ -0,0 +1,204 @@ +/* + * linux/kernel/chr_drv/tty_ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab - 副本/2/linux/kernel/chr_drv/tty_ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..6fcf766d95e129c53038533553e2124de8516b4b GIT binary patch literal 10648 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/exit.c b/linux-0.11-lab - 副本/2/linux/kernel/exit.c new file mode 100644 index 0000000..2406ebe --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/exit.c @@ -0,0 +1,197 @@ +/* + * linux/kernel/exit.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab - 副本/2/linux/kernel/exit.o b/linux-0.11-lab - 副本/2/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..97c5057fd4da000378b2c23ca0dba2b274e9b855 GIT binary patch literal 11164 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(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; + + 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); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(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->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + 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(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; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; 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 Mi^Z-!?KYSAen*aa+ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/math/Makefile b/linux-0.11-lab - 副本/2/linux/kernel/math/Makefile new file mode 100644 index 0000000..b35d488 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/math/Makefile @@ -0,0 +1,43 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = math_emulate.o + +math.a: $(OBJS) + $(AR) rcs math.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab - 副本/2/linux/kernel/math/math.a b/linux-0.11-lab - 副本/2/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..f92fb43a9c019f8e75bf744c65f88b59c8d4ba88 GIT binary patch literal 6628 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 + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/math/math_emulate.o b/linux-0.11-lab - 副本/2/linux/kernel/math/math_emulate.o new file mode 100644 index 0000000000000000000000000000000000000000..8a98b22720edd26bc9b196e2d1b86549665ddef0 GIT binary patch literal 6464 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 + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/mktime.o b/linux-0.11-lab - 副本/2/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6694bf8258168567f68b2aba8bfc5ed630e30698 GIT binary patch literal 2872 zcma)8U1%It6h3!mHraGH+f8=c=BL9R=z+QC zJLlZh2X+aMEv_t>trhe7 zs=+FMvsh7H_c`1WH#v6H&lF#_7Ezv9*R)o}g{=tMS}|I;&BYZj{7N|;Z9Xl?_laJb zy7!+sbi64(04lkZ^z#JEw@~X^<|*sGoj9@%qYI3-zKwt5w^gpqUj~T!PEd383^f<8 z5*2O|-T9N6-}eamWL(gJl4$n6A(|h2E>b)kOL|%2Nt}5PFW*T8(P1??!wQYF%COpD zFue+;jqZ;aTKk|*0Ft#II4RZEhrnBa!&WCpF}4Cntxo8-0mrQn^gX~ys}K5K;2vui za3An?3&%40fm0N+LM7Luwrebj!QH%qP@{PFZ$|B0mly;xE>pPX)Jg2cF5~jqj<1=E zhY-iO?9nD!cLZXD-J@6{INm?3=}2O4-(6lqCNC^>iQTb8#EkXFxcneQzY^j ztGFErVTL1-{gDF^k>ECTk{N?AnHY_52(>Xx)Mkr=y}s?i-pK?)jrF|qcrU!#Lu7`1 zFQbQ>HnKtNU{S?{b<<`}KFMAYAtn=WkM5+&M3&Rhc76;Lt)>d3#|T{J#~|E3A@0UH zd6kzHO|T+#TCCnYx$DpU%wJs-Bbgsx@RQRvR@s?bKYSJna`l3rj$BF>73&&%scXkDpCbUrK1xQ`%?p_ zW*V;7@Q;*vxFMzC3&SJ!(8!>#<*R`SFo|;~Nt_Rh{-|ZW&eP)8K+YOAIp2v`(i|5t zd6(__LdDC?kX`p`J}+uibIP{oob|{qJbHHN9lg{A-$Y1?s@gL!-S zBN1mE^5T3tFW>nM@!sQj^Q_aP`$J4UrLA^zH?rA;v#(!9l zgBc)OgxP>F5Bw(!k}2Q7b&W~#cYaM_$_cND?5(5uI+LR7MnXh#w zG`P#%nAqCq-~V;k_#GyCi}wmH8{YxJ+xEdL7= CPoF&i literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/panic.c b/linux-0.11-lab - 副本/2/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/panic.o b/linux-0.11-lab - 副本/2/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..da42b57864ffc04172b2020b3f3f9096af53eb86 GIT binary patch literal 5424 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 D&gTd! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/printk.c b/linux-0.11-lab - 副本/2/linux/kernel/printk.c new file mode 100644 index 0000000..0daa097 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/printk.c @@ -0,0 +1,41 @@ +/* + * linux/kernel/printk.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * When in kernel-mode, we cannot use printf, as fs is liable to + * point to 'interesting' things. Make a printf with fs-saving, and + * all is well. + */ +#include +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/printk.o b/linux-0.11-lab - 副本/2/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..93ce6e40ca451b8b2b024367e2fd7f575b694368 GIT binary patch literal 2424 zcma)7&2Jk;6o2DgCr+F=bwa44L}e?vC4jtkz$&FcNl74zT1BEwQKbUW+Fsk+*lV-9 zPLry@Ap#ObAoTzO!66j~E?kfhSCAS$gv5Ou_hxtEEfNw>nt8wXJ@aOE z_N^B#y(okrMS?WyOGHgQw3H>Ar3WZWSGNC{eQz;e-d)Vk>@DU?d#m}G-PL>wvi^gf zXV2gNK0G{xoZEXPpBvjhF?RP#ll3=3%l1L)`q*8>=C%)Juisi90ly z>aykdDJiyw91=P9O5ADEu%2|>07X85BF&XXc={4!l&3=tH3#1S8mjc_B(nQ}NevS+ zX2q$@L|V&CXR=~^;Mj4be2}!vx%AWNhz0-DrLfy04cA?ur zdfS82aa)dS7wSE?8aN%-hsx~~{J^TN7rI_2u&Y7GqgKal7(Lf_8m?V4_zbZkpEj(u zmg5KHJGbm$t7}uS*=gHFw^s{_9lzk(H;c&L+bopKxw%5isuWA1qPT8*uH6dra=N4a zR-2X=NkmHv3+Ig4tCgM`^uoOr9`8wM?#;QfSt>sgY6;&}NaEII61P)gdPLWE&{P9z zJ`yH*3>Pw~?ZiT+l(?8lUAUK#--hXLwF9d{rXP4AZz|;3Eiec z$O^M5i?7IF5RtO2K#teF2H_ZVT$lH!>e|3629V~E?;3-Ml+A)1&)0;&c{txNhRXLk zFvsw|nRb!ymk`RCZ9HyAT=~6`G|KE@(H-d7eQUg`kCXV589b>lVJwlj!6Ly5PP@Nmnz+;^@S&-W3E%tEI~ z@kn{1j;@ME+C(083(}ch`{!E#R3zOA&vW cIpTsy{wm_%F-Lt_7ZcwB_FIU!0iJ;T4?BzyrvLx| literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/sched.c b/linux-0.11-lab - 副本/2/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/sched.o b/linux-0.11-lab - 副本/2/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..8907e54fae556c36d88e61cb2d6e7dbb043a4216 GIT binary patch literal 22732 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 U-~)n>3HAxTA^3?P_htI|KkS5JegFUf literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/signal.c b/linux-0.11-lab - 副本/2/linux/kernel/signal.c new file mode 100644 index 0000000..8d5a65f --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/signal.c @@ -0,0 +1,129 @@ +/* + * linux/kernel/signal.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/signal.o b/linux-0.11-lab - 副本/2/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..1970f39f72c6b0c63a277c6955a88089975ca4d3 GIT binary patch literal 8960 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/sys.c b/linux-0.11-lab - 副本/2/linux/kernel/sys.c new file mode 100644 index 0000000..695f287 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/sys.c @@ -0,0 +1,292 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include +#include +#include + +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/sys.o b/linux-0.11-lab - 副本/2/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..a691166c6ad2230733c9baaa0609d3b8fe779594 GIT binary patch literal 13088 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 M35GC+)VB!!4-!@J2mk;8 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/system_call.o b/linux-0.11-lab - 副本/2/linux/kernel/system_call.o new file mode 100644 index 0000000000000000000000000000000000000000..ddce0649262248d052f5c003cc697385b7d0d869 GIT binary patch literal 2520 zcma);U1%It6vxlzt5st*N@_%FyJCv5#+YcU6+wvEqzNo^(C8hE#)L@xkZzL2X~8v@an@S&Rx&BsEWdJp{#SsXi)OAGkh-}qT;9JQX7e?%TKm*uNczHFZD&j#eUX- z-eP1q*|~hG8>|2R#l2sJKm1H|g)d%yBiT7J^%Jj{Og?k`MEJ~(y{N-mHooev`{hb? z)m?Y1S>L}#gge5K>bW*l5q_OhPtP24mr$O6ZhhO_j$8Km$koVlv@cTLYK^;d${)8~ z+lL&Lx1xQ!8(r&q#T{L&mb$`cXO2z#BR%W!siRz6uyiCoeVwk;@aEDkKA*+SV*47K zs}X0Dw|(Mxa%20sk>To+Ti{}~*uKj1oGXo4Ty%1S2JMBMP-mgSs%yq~mSzkJtt4nL ztqPR}XKkBv{NJ`0f&2`0coX>9`9ylC_^7$vjq4`Y)o(+9v#>mm!#Qpzu6-W2Lb?4Z zGTofcfoW0^;UE4 zf$8xP;}Q5fCB6@Sx5W3uMnH zzs}q^_nMOjH(SkF0Lb}Y1Izi}1k3r~0ngy7x0>^wZ(R-1MQC$=h%SLA8ZjZd0`H$^ zH~xCxf)98P1M?5ypS^hI-{AYCadc5k;#=WQNxTRClElOC7o>dS;EKdaFP6Lb+|&RU z0$d94%K=^r@Y?}?H^3JHycXc~0Dm6ftpNWL;9moLOXFFn?{`;#DKU9i8J&nlX>24( zV^8B6#T8A`c!I_f6vcfqPNR_V*vR1o9f?K95^*eA+-TY)-Z3Sam}^X|u63TbLFG^Oj;S*h0%GDb+A+ znpM->;SwP#mC@2gLxUBHZkf5}pfrtmhHhGOB(gcpQnFm6RV)a1Kr3mfd5tn@sb4qD zLSaGbD5w_J*9@sEt<7gsnvyq#qRy*XL!Ct(DYIaiDb2P`OTii@w&$1Vm#yIY!jVPG z((-}??>%iQ-cjXLk@04_);(DNJg7dJD;j*-FJyH+tJyr+-4`2gGkP|kRK}y literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/kernel/system_call.s b/linux-0.11-lab - 副本/2/linux/kernel/system_call.s new file mode 100644 index 0000000..b7987f0 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/system_call.s @@ -0,0 +1,285 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 86 /* 72 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/2/linux/kernel/traps.c b/linux-0.11-lab - 副本/2/linux/kernel/traps.c new file mode 100644 index 0000000..f9bd8f1 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/kernel/traps.c @@ -0,0 +1,208 @@ +/* + * linux/kernel/traps.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'Traps.c' handles hardware traps and faults after we have saved some + * state in 'asm.s'. Currently mostly a debugging-aid, will be extended + * to mainly kill the offending process (probably by giving it a signal, + * but possibly by killing it outright if necessary). + */ +#include + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/traps.o b/linux-0.11-lab - 副本/2/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..51de46fe88ac98ea479385c2c283bf030d1f46cd GIT binary patch literal 12972 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 +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab - 副本/2/linux/kernel/vsprintf.o b/linux-0.11-lab - 副本/2/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..5acfe6576413e77d5a31e400e048fdd1e4ad4bf8 GIT binary patch literal 6156 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab - 副本/2/linux/lib/_exit.c b/linux-0.11-lab - 副本/2/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab - 副本/2/linux/lib/_exit.o b/linux-0.11-lab - 副本/2/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..04229e90d130407cf5356bdac84c753b533235f4 GIT binary patch literal 1992 zcma)7&u<$=6n^8i6BDOylYnRxgf>!919aC8HK-H{g%ko5MWRq~s8F=FC-#bXH|(xy zS|NUj3y4z>hzkduN(oKlttQ8~1Zabz`rqA-Gz>6dHxVy`)-w zeh#QsZ~O}8)f;hANUb)%Mx|>0WNh;{j5PND z#>g0MH$<*{;%6~x@;GLt{%)VZY#N7VDB0DAaS;yahQKC@x1iR4sny_Sj51B~c$Da& z&z(E}e4J*5f6UYwrxV>tro*C>=0T!wcJ||BdKh%W&COsx>UX-O0&`#T__i)?9cbC! zx$bZIz3@WV^Mgs04aS$^^B11;gOMNXrIWY__OfWAgM$?5bp~aeAg&Jfrpcg)(e$sgLJ6H=w*9r>!QDLy+2KgX<0?^%+yGm zpKkWTZtuxb%l16X38Zdc6ZJ_`tu5B;U!jZc8_;I@{z|*~Wo_qvn@1tcZ%vA*4_;&? zA3Id&!$QJgR74W?^IXDA?}tO(pN@9pWG{uu;Hclv^v6|eltsx%A6vkdxCMwW;UJw% zG(K3Epd%r=Tz04oqsP0ZtE~9{5sy1>5AOnr_o{lvXd|s-5Zmh~SE#Iz^E(S2j`)B2 zb>ZXIFbw0}B(UUc=O91il;GWYkwfq$41NX<=6eyttpSuDG2S7tbH$6{*>`3C+GKt^>e0=$_K@Xv)aG4e$HF~ly7Y5%KAumFsl3bxv~$uaaRP&R*>~ow#`BT)By^5kJSRI|)z{^(f1IBD z_@9MxwGztJjFep$$|&CK);JkORmeNmDXwo-tdzOKBl3hDJR(mPXA#(gWp>Lw)a4s) zDp2UzBJ2uHV&BOhu^hh@QP|cxIS$;0)psnvWcd}#uUdZ1^7k$0`DL83mHA$%M)_^1 Mf7;r8aQtKBUyA6>L;wH) literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/close.c b/linux-0.11-lab - 副本/2/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab - 副本/2/linux/lib/close.o b/linux-0.11-lab - 副本/2/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..a80ba5284931b40ab6a906bea4c618b8b4d73713 GIT binary patch literal 2224 zcma)7&2Jk;6o0e3{%D*UCn=C9NGwt+Qef8!H4v4Sexy(pP!EL)B#@%Dy|!1ichmi# zX%(PSghUk%R0u^#9FTh9PpCLmDi;p)QVF=hfg2nO95`?&zc)J*Z%**!c^|*`=DnFW zp4ksye*G081Zfgv(%2&U#mqe|DHiDfP0<@$zc+4`0c^jyFnj&p_t&nUUYOk4T$rSd z@;21p8qELx=_b#)^#HW>ZR4FgpTV*iB1^Qv#a*x_+n^V6L55Xf&9F-QAxx_jgee(D z@iRp6VQFs=pR(lB$R-n`>D!JnLoLN6od$IQ9+}RlpJ~6vm5 z^@%#eDDmA6&&a|cNxSYKKfRK{n7L29idKqp6+N_!-k(MZnX)hm`k~*oxwXS6>`O(a zqGS-osl6wnIfzDnGt9baGfJG$zuX)KVYcBcxy#GW&}%oBasa$dejJApojG^GUbS29 zirccCkr#Ic$AZHv&)ZJlc6!k$NS$8njeKW4!V>%#U=Sjy@AR^;lLk?k016`~NxjZR zXFZNmzmrBWt*ym=f}N`McLrX(+kzyx>Ze!MeUd1hSzSG1FJ5S8VVdPDah}bjwfw_u=%-D|gF|GlEui@mUqofal=d-Md< zAh#2ZMm`SE4bdGJ9nZU!&+!Lqvcvh>{||p0L45D|S~Kx|Fa9C*n=lW29|tI^;$q-O z(-<7X7o6>b%2v+@U4&gEo$qOY9RFW&ydFJ=^KiZ$RupO9671so8c2Q(7_YB{q1Sf; zx}F0SZwsyvD~h!5JZ!DA>oN?R6-C;24tBBbr>NTi#&vmrx-Ks5o_sqkq8ozDYM z%=ZAJ<5(udE*eJFT?iN6?} zkNeIwi}~&&?qOh>bUtlsS;Q^+fMK29xBsZ5J@*iSC-1 z&nG)3lP1RoG?VZ_Dv(Ls!7-WWfbKQl-D#XqF@pQD`(Ebneg0kpK7=8Vp6|Z^`#=G^>I;ot?WOg Jqz!4n{ulF`_R9bO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/ctype.c b/linux-0.11-lab - 副本/2/linux/lib/ctype.c new file mode 100644 index 0000000..877e629 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/ctype.c @@ -0,0 +1,35 @@ +/* + * linux/lib/ctype.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab - 副本/2/linux/lib/ctype.o b/linux-0.11-lab - 副本/2/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..acd65e6a3869dcf4ecb16245dcd9f21e6856c20c GIT binary patch literal 1908 zcmcgtOK;Oa5Z;Yl`bZlRr97$%luE4#2s;S`RJF8FBB+9@9*}xLf?_*PViDVs<3Ni9 z`~q(L0B%U!xbSDVaN!4lxFJ-&+4Ux_=z$X>&CcuFnf2_$Z|?2f=bSS|oM~)qG4@WA zk-89NmS=McD&>@-GLbUI@_qg|=_5+~TY|8Lzeob^3d)>76rVc2n*VRvD5;CGI)4bs z*HdfA+<;+%H5$-ZU7u_~(fO1CG4YX{GZ#n|eV*7M$MlntL+7VH!C<_=S8~OymRro_ z&oP$ayjkQ$?>nnU-72u4kLY+Y6cVm^}~9P?}_=LdCEQ&ajIZ zIscWL!zfMy_MbB+KJ2@uBcPRT=)09**orIRzzEzIm7W(24~(i=s~J7Zu2iK1qs@lF z!0QBVtK@X8Xq0B)y>uxf+jnBW&$f5>N{v$8Ts7+@!?z-*yWw45y;(9kC8HhsUTm}@ z%Xf`_=moJG!RZC4=^E`};KW`S4B!evV-Q=;Gov4cvFpTPMA@l`D9yGTjkQvF&mIQx zP}VZ84TV*EU8|eb`eo_G77Y&l*s>wxNXo9#V)r0sX3L5#X4-=RGb6WWwp@GI+4q8W zh>*}N+m77l>8KT1LC3`e382+09l4q5gud?v$Q@wuCK@6?Ml}52hDF*q@TmkY@9220 zy2nciF1gC=4%sRQy#yw@1g86>a9b%1#g$o2>EtI|o0NnU?kenQ<%FD_Wb7#<&Zszu zbZw~KEwGvcm3@G*NlHR0whLS76#52(j<+HedjLneZVz>-4%LM!YLopKtmZ&vzhRU~ zNl3*!*rd~U6RqGbeU_>iDMlP8QsKS;cSRuNpm47eoC?XiudMN!3UH~tpeW(qj$xy< zQ(k$!WpEw`;w#kC;8`&BIS;0ur1Sj*?ks$YD9=fh_Ur8XQ5tjnZ$bIfD + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab - 副本/2/linux/lib/dup.o b/linux-0.11-lab - 副本/2/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..db9a7a81905d536743a71bac0ad2fb102e9303dc GIT binary patch literal 2200 zcma)7&2Jl35TCcZ{%D*UCjpTtNEj)F1lYAhEr<%GDJfJ1)I&>=fJ3yl*Y>LRZn_`T zt-^;CA+-tzDuf~=Zv6{5(R<;*pJngp3NK}0{9nWZJ!GCfQ)bbjZL+N~8RcHdf>zy9N$kFTFvn%>!7nx=7a z7vk?Vp6~r~lh@pO0NVMs_TKH!fh<;$CEmd-4r6+fG3bSikztisGOWUPV5U{@gM6QKj-SRH#6SWn^;1i3PKKtny;zsf9Ch?7Tj|_sW7mZG{45 zmNRq4JW;VlW|bW?Sen2S3ok7o_hXzNLwAHFE?v{x5Den_g!rd=7_&ShoQ!ash97i> zY1bpd-klDwNdrGly3QawyMhdD9ulvkk)l{e2Q8!bmr+2RG>H9v;C1WV*lc|~2&1Ha zz|a_kBd-yp-J}u5cHmuZ4E-P-+f8S6)gHR-Ml(}jZj%>9K}e_1UZ`)>Th5x(s@o$s z>I{ziN7tUO+x@!T3rBup_ab-X*;^qpdl8g=fS{h;OM_10hd~Tg5ZZC#b}rgmQJ8q0 zB#dZtGxB0=P?g;oxDgG*pf5KN`&Yf>%9ck`O{X_Dj@6ehw9_C-vr_EmQi)bSTx~hc z)=H)&e8(AytLI2;m&M|=WnDvi`Cxc3$pblAE$gPcw{ z8hJQ2CqQ!?G(2low#FN5$_8h(|DXABIPqOCDrdgq`HxV)1B=ifQa;S?3GjT$^QT4$Mxtn9EaoWv7kuXn!x$`IQSSkuCIWh>syDc*FeO3 zf{Vj~B5gYdtYtP`2B@>3NZZZ==ktz{w+0>O<^AcrxTpu>?IFOs&}q`~TqyGKt|17= z;doORI^HG7yoUG9bQj>)Oq4U*cx)@K{qEpdcv^a7llJ>W`DxR=>}Aq$zxFScpEloz zu(t1&)yMD)jQl=6%kASK*z`VTAnR`cA~gYSvY?3TV`8pzGX5JM?4RIxcZvTY9FP0X zIrH&;!*|L#H0gL6Yo6CzboYVQGe7t@WSq~yn6ppFlwVvP%m3NF!jvbv53!z4c0wji zPXHv7@Ds|BN!-B+ndpGdz;|~R-KtE?vM=hH=O1PERKvc4ArPAHzQDv;1scfxV*ZHY z{Ie2h{u9h`j>}5lQ2e;!rxbrfae0Rj$7PK5A1M8&ip#vXoP2IiZUFxaTkQ2g literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/errno.c b/linux-0.11-lab - 副本/2/linux/lib/errno.c new file mode 100644 index 0000000..50aca2e --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/errno.c @@ -0,0 +1,7 @@ +/* + * linux/lib/errno.c + * + * (C) 1991 Linus Torvalds + */ + +int errno; diff --git a/linux-0.11-lab - 副本/2/linux/lib/errno.o b/linux-0.11-lab - 副本/2/linux/lib/errno.o new file mode 100644 index 0000000000000000000000000000000000000000..2b68237de5d516e34b24195231b0aca298879d71 GIT binary patch literal 1472 zcma)6OK;Oa5T1=w3Ydmg1wmB_8L5aA;Z4#;RaIVx3Mvrltw)6HWYZdIyK>f04m|FN zQzg#)0?zylPW%tJawy;IdK)8wV5HfZ`R3c5eT@C~{^JKi2y!CGqe(;*G;F4COq*tD zhF0J=P23c#u;RT5?9d1qnU)x*JchjHRFY|6bK+WS-uGIIt=UUNjXrs;4gZ$^aQ@yx z<1%g4zI(q1Z~h2j6(cu&0sWJ$A$%|qR4VNU>bGy@>F%Qa;Q7` zILy?`&VG`WhhbOtdf|Q)ce)n97~6@owY?K;27S3M`$3pS#bEDFvbw$&gu6jF%F{%L zqasRGc#z{XssNZ|SX70hG8^b5&&GhVJRIw2@H{*ya;*kBFDBdC+T7d-+BC)B- zS4tE0-t_vi+h4XQksQBDbri$u!rDFOX?3Vc4kI0rjK^b=h1!=x6_>kDlWdeDW&9|P z3-zL&jfyDSRhVE2ymRMcZIXjLO%oAA%n@OM*0>xf%W?lD%bcN^;Fz@=wUp6kTr zwgEVwb048-;uCSXM?mUzzo0JH;kwgMSN92gHwP|#hPK(M#N`si?DM%dHD^0`P{Vn9=cGS3H+G;zUhcI0wwV1*e(!;SW6KSHBFC{e%O4g?Ao$4$9}9h4P)$ z*E_(yFvp3j>tbi?c$2;#JDlzBe=d&eJK?xqkz?M?M7)#kwU}pKsGhICB+oxPNy78Y z2`7+8zBwmXVV$EN$0z>-^SiR&i@-<2cO$So-!t2bm0e(qhB5y<;QWRHWd6 + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab - 副本/2/linux/lib/execve.o b/linux-0.11-lab - 副本/2/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..250d3960bb4f0002c32cd56d11ed8f4363a47a21 GIT binary patch literal 2340 zcma)7OKclO82)E>{Yad;c_9)d5=L?%Ja(NBtBOkc!i5s3id3i&qE%SiV|#_Y8`kSI zt)hYyA%ViB2Sh;}kSZijy>KZvP!SIyPF#BJg$qbLB*cM3`Tp6RcyoeZp8x%te|E-i zK7HmHAp~g)li3v7PPm z7;R;D!TvJN`0qP6IP%s#z|Pm>uipL^Qk>Hg&w>|mW_BVv8WS?C+&5qiEAummX=OY= zBE!gi&PtL0RM~QOl$8Am#Ik|J=rS+^=Mf)&2Auf>NQ^RTT%*igC8;#mtV}H><+Hyj z>2c*5QO>#vF8=~h&iX=O=0`ZS@x3Y}Cd8rQRKYCH6(_`GcKm)=%2X&Eg9=?IY#!Y? z;`pptJW_bF@bK)~6g!`o`QWKpF@***6kFD&j2WVAb)T3!h1HkIEamK=NDxTly4w{lkZpp@`bQ&Bo@V$Q2bUN{e zkWtyq5%C<(LuB*cff%hnjSNy%IzdlX{6RCS1by3=mnvP)A8gr+&eD?Ib?cSISOHv5 zN(?K>F!TeG{^kaqK6}1YD^;Bpr&_XmZrJD?^_Eu-m+W@QZUsFrvRk3sllDe{4?%`d zdOj*iyEX6|kr()VsQke0M{eVFdm{`Y*@%LWT3%OTJAJS1%Vw$3aYO2Nf-oxW>G;Fi zC&W(P6&YRLkmQE#P3i`IyTp#`>!Iuuovzi6lorm{2Yxh&o3@`AC~4{HQq@_kJ`!tr zmeY&?;>tM^+j%iJW?AoG_V~f0#x7C;JV_mZ8ss#BUQc4b zj*me)IGlK}ag6M&tHX$U|3CNvIPsg3O`Q40r$14)G0b6&C@w}#Tpj#q5{rHK*wJ$v!~Xx}$NlISPQv+qU?u@=TZEkMuZ!f@q2vBCSh~Lx;B^dGT7~d7 zGYM$hImnu4(^n8m%p{;~XCbHSS`fye*T^HAQU%tCYa1lBUI-d(gI^Q$|&cpde zv2;G31IO^b8IIv4_$y`=W*e{VglfNK4E#~$5hLx#GhklBMSU=dLfbxs%zXT;5xoY# z6&(c1{V}|cmEOmEY99w-)BBhJpDuMB!VTy&=(_2eY`c&n`W+PSE*-$)d^~rqna+0x z!^7LZ2Rh%LB4N^ci~hKmw(tMf<^1UiEbCpzQKtIhh8avkvnepui4GN}I@z>5HWa{_ zgukp5n8Xttf{6+6x52=7cM>PWbJf6eNj>fA--O~9o+>a2r04rDfVi^25ILUdeF^2i zGl4^YkSS)mkmyxB{J1XrpGxTS303z9`j->gWr{o-iF`Go??}6iL K2`zydkpBhBxe2NO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/lib.a b/linux-0.11-lab - 副本/2/linux/lib/lib.a new file mode 100644 index 0000000000000000000000000000000000000000..0944ab9b445a35144a211b8b311d1288299547ba GIT binary patch literal 34170 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/malloc.c b/linux-0.11-lab - 副本/2/linux/lib/malloc.c new file mode 100644 index 0000000..d7c95d5 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/malloc.c @@ -0,0 +1,232 @@ +/* + * malloc.c --- a general purpose kernel memory allocator for Linux. + * + * Written by Theodore Ts'o (tytso@mit.edu), 11/29/91 + * + * This routine is written to be as fast as possible, so that it + * can be called from the interrupt level. + * + * Limitations: maximum size of memory we can allocate using this routine + * is 4k, the size of a page in Linux. + * + * The general game plan is that each page (called a bucket) will only hold + * objects of a given size. When all of the object on a page are released, + * the page can be returned to the general free pool. When malloc() is + * called, it looks for the smallest bucket size which will fulfill its + * request, and allocate a piece of memory from that bucket pool. + * + * Each bucket has as its control block a bucket descriptor which keeps + * track of how many objects are in use on that page, and the free list + * for that page. Like the buckets themselves, bucket descriptors are + * stored on pages requested from get_free_page(). However, unlike buckets, + * pages devoted to bucket descriptor pages are never released back to the + * system. Fortunately, a system should probably only need 1 or 2 bucket + * descriptor pages, since a page can hold 256 bucket descriptors (which + * corresponds to 1 megabyte worth of bucket pages.) If the kernel is using + * that much allocated memory, it's probably doing something wrong. :-) + * + * Note: malloc() and free() both call get_free_page() and free_page() + * in sections of code where interrupts are turned off, to allow + * malloc() and free() to be safely called from an interrupt routine. + * (We will probably need this functionality when networking code, + * particularily things like NFS, is added to Linux.) However, this + * presumes that get_free_page() and free_page() are interrupt-level + * safe, which they may not be once paging is added. If this is the + * case, we will need to modify malloc() to keep a few unused pages + * "pre-allocated" so that it can safely draw upon those pages if + * it is called from an interrupt routine. + * + * Another concern is that get_free_page() should not sleep; if it + * does, the code is carefully ordered so as to avoid any race + * conditions. The catch is that if malloc() is called re-entrantly, + * there is a chance that unecessary pages will be grabbed from the + * system. Except for the pages for the bucket descriptor page, the + * extra pages will eventually get released back to the system, though, + * so it isn't all that bad. + */ + +#include +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab - 副本/2/linux/lib/malloc.o b/linux-0.11-lab - 副本/2/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..83667757057ff0915c7c4ad6ae9f4d0c0160ea5d GIT binary patch literal 4880 zcma)AS!`Ta89sOBdNTId@?Fn#g3%ipE_#~_of1bL9E?Nob`ab!I zi+!(7T-}TyePri5q3N3vn|36JywH3rg7ig|=;VdqFN>4|Y6uD0$b_k=Ozh-m4gGIv zI%LD9cRm58cWNkl@`4|l?@)}?Ahli*ydk0WLLZY-Bqxr*atWsx2y&Iz zQ1g(^z4->@t0pdP##;1&99S)`$%Svb1UW~T9|qN>$66&9Xz+Mw{to(0$ucMAd%z^5 zsx45e1P1PsQe}d~6C!wxTZ1Ve4odw4tl?9LEbGU0OQ?zs$Z02#;(*FHF*VeDKiCAS z-K?TEkDk2Hdh$HH5xPtGEf9AhAMBq*z}?ygU-|`*FUMK ztQwMHeY;T9`P+36j^gt$ylB#2GF+vqk9thnNjbH}1CY=vxtnf0Gl3(3^_R`jIHd8* z8W#_1NDFL@QH>^mWin7}?XuCyX7W@C@xE~mx?b5WIx02> zLEA>-eBN_wHK&@X)i9V}akSy6=ei>`X{hs2NjkalOrczJauv@Ds=k{SJ(#+hwQa3M zSSyK3=UF}9VptKO1z?*sSO$bsFtF|*DZ*bMeP}EFgIxg~u_Au} z6Mq+-b?$9Q4&$><&7*IwWFLi44Io-&J8t<=Zfh zuznSU0PRfU2DBaQ8kyeDA?b9`Sr0OU2D#py6BO)cJS7lTyR|yr84Jf(#@nrqNZYL_ zL8ldt$6^~}n_^ZcR;)#Y<79SrZouN(ts(|!Anb%Xk_5380fbngNgT0g8Zqd^phJo0 zwskX9Cju zNweIX?UuE(lL>Y7h@GANm`>+XX7_Z{UhooUY0ViTWeyGLH}QqUZRjoQM!W^R{I!7S zmOl0A9PLml87BOOu!f?Y!K?_`p&53U+3iDTMRrAw%}qZTZrnUG+b0DNM^4W~x4zOd zcUJLdB42u8`jP3`nak1Z!OL`vZdvM2=^#gDF8}!K-1VLZ!cDuj{c`4s+5WlN{u5Gp zCQ_03a3mc2&dZ2<{T<2s=tIAV1aot9W~9TxTXVCoU7q`DPfy6kyhbZQIWKC3$6VpL zqd6SdEH6aCo2cr0!d#LCPu%yZhn(%sV0uG(&`FgtUT%C#;S(F~bW&qZYP3=+_^DAZ zQ*u+)3eLUjL0Bjk3uQMo8kBQ>p@RD>HCnEuYJMhnFje&`zMJzao*b(FG8X;gm6F?E z4)T6~rIsqYhx-vGIFcGjuUnTYX0rVQN`O9#bdehK_m5UN2mer}C~#eR;^s?UEDiz> zb<-|Rk5iU+tf-AwJl_e*wZd2#cQdarbroa9tC=y^xX6-KJ@=4UW;)r#jsR(Dn0prXBggk@H{;7>{|~kFP%76)3yw1cv>#(bDMt54>`qijVOamt&f}2U75-!=og0Gw}>>uwHJ9zw?*k zVq5;#Fyq&cK;Fz+xr9Z7Fy$*i6k1kU+M82p?76~AExfF9wCBn%wXkSeVnBsu1(rl% zS&4c+F3&k7!}!|a@iDDt=IzM;F3l5I$9r$$9{|s}@Luh}eD>U=e+0a_Td6;AlYZ&d zc;7oz_om8c$nboG#_$)36w0@znkg4@I+Cb*c#IC3mutyL?S&9F)`yXU)gZ)2fg$X_ z&ydIDG8(HyY@X+dusaJ3VMD#B`IpGU@1Nx1XJhWfE{*Ge9Ov`o;eUWU>>IIB8MjD; z{EI-!*J9g{9{`fyP5gimdniZTtVZq*-Z%J91Yu$6c}9r*KN4a$5ixs+*l1i!%GYb$ zs&SV_-ci(NHOjjK{NtMcipJ+O{!rr!M2z!_=6|j6ipGCveJkgWcpuWZR^#17_>XAb z( +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab - 副本/2/linux/lib/open.o b/linux-0.11-lab - 副本/2/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..eb38332f48e0690a11dc41caa62a86db34a03b87 GIT binary patch literal 2368 zcma)7O>Epm6nw;(6kAZC{2)Bl^=nKyu03Ai(Na| z-jY`3H?7ntLbL}|A#teG3m2}aoTwByR4NFGOQc>nZ~(ypxNzW5zBl$H?g^ee?|Xmq zX6DU|=e_4nJuieHMS^tN)rjgw;;BfOq`fpmXV!lo{Ahk+-}-H1V}7E4^Atp&u?e>R zi?KO)D~IUK*C$55dw*l=^1U@!(iN( zX(0j9jQsZyH6!;cKsR!pACso#zht8*d@gJ#f#*5%RXe5dU897_%(!^MRWOmYuGSm?3Ev9ZMd#Mr_J zr)SO%Q54rv54*)DrR#f86B%oft{xAhLY-?Q+}myKB~zJw0u;ooab1F@RU8;k8}g>9}fC zHw^uNPA;D{=gf*dV^>V8%Dqo~?HMxSPz_I?$Ec^t;m)d#dteVnsRka!o?jTsY$+*p+ji`(#bno= z*deObz7wD-k7UAGeDss<>BB@TX)%!c^SlG)}obR2!2TIF9L4G?wK*2Y3l_M}UfW zeoUXBW!Ev2S;rpu)H;SBXNS5C@>V^al_>Um8H;d|Y=PGn+3)@i<12 z%BOUNS-U}h-dA?U2VZB_vm>ysR-N?HcivN_W3n02<&N$ebh)!xy?W6p;6X@u3v?JrmgQ#~3lt xWNI&`cr?ZN6c + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab - 副本/2/linux/lib/setsid.o b/linux-0.11-lab - 副本/2/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..7511f7c4a222329aaa1dc0b3b033b4453e6416f0 GIT binary patch literal 2244 zcma)7&2QX96o0dJHffSBn-AJVEyAEwgb#ZYxTR$;*NOkQf0xep z9su^gt$%X|f=!Lsstv3T1FcX7GzuaWdz@Uw9{T~r`jPz6v%t1J7Dky=D&vn)rzXB8 zvB&S{QuQa0u_Hig@+2^UA=PKMfU94UoqP_sa%V@z-vVQO$Ec!a)QQ^MlvO)cn^CjX z`cb$n$<)+YsNi%&tlH_R7pE@IVFg-0flQt{w^&%7TD&~RndcWixv;3C;b!!i$}6^x|a zILVxcTpHcDA2gytCu_v18wJ-Jy)YW=xGUc3s@wBhjg>+H+>#(kqF63ox#p}nP4AS~ zblkq5w7V~bCr`cLxSNi<5%jTZ6~%6v`Ry%t zJBhQPoyCc)uO~r@t?CW5yM7|QINB_>65a?{5ZMkp>zU+6xwy7=+F8EV8bsNkSdjbt zAeUC(TWxwP&8G`3{__IVjjN*eCe*QM+rEjqQqM*b^5(78=C^A2y}fj|pZP7&EGcN$ za7obfvS23@uj6OFc&!vIq_PvV2Ak_)v=PIU^M0$91n-ose&R=)*kx$~OJgP=hj{I{ z-w)6|FG6KJRJ*8DF(>G*=hZFN{D1J{aKculs-1cE%Ree@gkuZmrY=8KbWc+dl%FI3jEC1ula{k^86;|HSp@{kH>2Pr{@Sp66cyF|$GuIiK`VP5G!PH2n!u zG;UeznU8+?IR(9><<~WRQ&T?2^lNF_BSpM-wfvE$`8sf5xn|n)d7utt{^S1u<;VW3 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/string.c b/linux-0.11-lab - 副本/2/linux/lib/string.c new file mode 100644 index 0000000..1182e63 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/string.c @@ -0,0 +1,14 @@ +/* + * linux/lib/string.c + * + * (C) 1991 Linus Torvalds + */ + +#ifndef __GNUC__ +#error I want gcc! +#endif + +#define extern +#define inline +#define __LIBRARY__ +#include diff --git a/linux-0.11-lab - 副本/2/linux/lib/string.o b/linux-0.11-lab - 副本/2/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..840f038b2beb337cf418b004cd61fe5f8badc3b6 GIT binary patch literal 6380 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 b$T5+-MNW%6E;57|# +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab - 副本/2/linux/lib/wait.o b/linux-0.11-lab - 副本/2/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..ba0290563e3e14c314e77ea37c75283d77b2c810 GIT binary patch literal 2584 zcma)8ONbmr7_RE>nVszHPG*xe*(Cu-oZ$MHo?WwOjCpL_#25)NM598KNzY90PUBAZ z+TD{E!3T?A*wca<#N2`h4}u~{@R~r(!9&Q!lb~J{Bd91IqQvj(uG;B=y5WicgWjcWgF)BvHvr9M2%Ll8QFAYGs{8Dvn`MGN4t2fT= ztqv`ntqzG(`DL&_l{x?U^+iTrx(!;oQa*Nh>E_VYz10Ghu$K{JUA3w-|L|AhGj#b! z*wV6=duYQ6jN~u~I1fkw_0EQY_Y3)DK>va+rCU z^Il39zQvqo8cs6_QLI5{USo)mBXUb=ebFp!Dvii>`SM1juZm)E7gTWCAk5PC;^V~w z>#;MXNAq&F+&!LJ?i)X_o{=+S=bsptaLea}Sx94yG1P{rQcx^R-yyD9i&{)R_-`5C zOEVVxF}ufijAPZCF$^wW9Td6aoD`h^8sZRUDQ}gAF(-EnH%r=f-Sb-uy|!DAPDi3I z3USi$V!Oo@@##f3vOBzrJ>QGsHu$7oE}6|i`83W{<_li}jJe~4 z_j~QQ9z-?YJy~Dy{NAbBq&+oNTX357$y9;4Dcmsh1A#+t#A5%Uqm|jpw7t!quGG3t z*y`-`wr+c*Qk$>T=7O#l*XBZ}>(&+nTrW3-(({qptY1z4s_#_Y!I9wW(=)a{B&M%SMlK0?9K+ggjf2n}#gw zZFHRn%t7K^7JEvCC1bWUcCu91bGc+OZilk*o{QO1xlzJbYe%QMvC{;`VTv8ih3he02{Wqk0q zDA@#(-brC~*7+WUhW`KM$MxtKCSksx$tcpcNyypt%|Q4BI<7B=q1QJ9UdMnHZ$kK- zj3RA20$KAkJ&JF#LPn9c@$=8t{Uy^E?oZcs!Rr{Ncmes&kWr*<4&-b;F_`v=`vAL| z?^W=O;l4@Nkm0$8i(S{8kRz6Bh zq<1lA_ff#&%g}KjYcX_RM!;uF9fsi|beeQs;%ZIsqiimec-6%)2Jvh=oijeUb-$$u|sqO6i|b_`JfG6*d(v5RvbklFuvrP~jH}uMpvP YL&@JMOxBB!p8KZ#n8FIsfIOq{ABC4WX#fBK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/lib/write.c b/linux-0.11-lab - 副本/2/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab - 副本/2/linux/lib/write.o b/linux-0.11-lab - 副本/2/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..3aae21041d4ba6dc5244299e04aa1f571eb6f14b GIT binary patch literal 2376 zcma)8OK%)S5U!rtm%Yx$4<5E0i9y&BF9UKToQIG=R070wS-C6I5-5FH@mjsCjA#nt8gw*Q zo?gHA;@Ovk5Tr?vNkc@`%_&b^iaENECg`=@KgRdYR*xO9Z|`DtdhhkB^~3ugp01AV z?o`KUtFQ<4_i^U`{B(n79^3`(-Wq@F=C?p9XHG0b7r%iOFqlp%K}N3l4OAnS{~5x} z<^3Qb!zg~mMp3#BA#)hklQOLMqjVI$hsYm*iP00_Oq^1D{xx`^(@yQiJ{6jS4iMXo z{alfw#puftl}f)#BvbDvG?L?tqi=$hp8+#(%iLl@9Is53&B|xO-=77W@+EsX8J+pP8cV6bJ+I|~bT&u!M`l>xj-t#E+$dr=gGbmrUzYt^bdi%#9L z`)<_gp7c*FK5g0SmfZ>aeqwhbx9`~-A+C%U!RQA_?b)3{&`SI;h+zssJ5JozJN8Bt zCSEHEBOD<1*8{I@wYqLZaW{+->(IuxPo8@i#wHc&U-7sQ)C+@ki_MKjdt)qF=ZuuTZ+V$^CWgkVsSiTJPQ2Yu+$LlaDcRLpdnf5q{B^c+sY`EIk4lJ?C5 zXZQChl3#<3_m{`e`&)so=Rl<;fG=1{N&C(NYn@%c09dS~qJ&Nqso^Kl(`4xgLp5}trRl`1*=cfdDX z8iqi6{{96RuPl&^`@)iI$C7{G1e*RZOVo5OwafYN^ST^&I+bgwd?S@_r?Q#K9!uo= bB*kB*lK&0iJaRwyaCz?>cQKU~qyhXd?!6OW literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/mm/Makefile b/linux-0.11-lab - 副本/2/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab - 副本/2/linux/mm/memory.c b/linux-0.11-lab - 副本/2/linux/mm/memory.c new file mode 100644 index 0000000..0ffa375 --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/mm/memory.c @@ -0,0 +1,431 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(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 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: 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; + 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 + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + 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 mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; i5I8yebbsjY3b+28NJ=ba4L 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 WJ>8K)@)PG@pEzRdVi(KKAO0KJhD)6Q literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/mm/page.o b/linux-0.11-lab - 副本/2/linux/mm/page.o new file mode 100644 index 0000000000000000000000000000000000000000..da4852668a6d8b88d91c428ae8572bb3d4d2090d GIT binary patch literal 640 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 N^|Cbi(V*L${{d;jp)>#h literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/2/linux/tools/build.c b/linux-0.11-lab - 副本/2/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab - 副本/2/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab - 副本/2/linux/tools/system b/linux-0.11-lab - 副本/2/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..cdec13498fa56de2a8a9c9f8d06d839b764ef75e GIT binary patch literal 286057 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/Makefile b/linux-0.11-lab - 副本/1/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab - 副本/1/linux/System.map b/linux-0.11-lab - 副本/1/linux/System.map new file mode 100644 index 0000000..6e469c2 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/System.map @@ -0,0 +1,576 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd4 T show_task +00006c59 T show_stat +00006c9f T math_state_restore +00006cfd T schedule +00006eaf T sys_pause +00006ec5 T sleep_on +00006f24 T interruptible_sleep_on +00006fdf T ticks_to_floppy_on +000070aa T floppy_on +000070d9 T floppy_off +000070e9 T do_floppy_timer +000072e1 T do_timer +000073d0 T sys_alarm +0000744f T sys_getpid +0000745b T sys_getppid +00007467 T sys_getuid +00007476 T sys_geteuid +00007486 T sys_getgid +00007496 T sys_getegid +000074a5 T sys_nice +000074d0 T sched_init +00007660 t bad_sys_call +00007668 t reschedule +00007674 T system_call +000076a8 t ret_from_sys_call +000076f0 T coprocessor_error +00007712 T device_not_available +0000774c T timer_interrupt +00007784 T sys_execve +00007794 T sys_fork +000077ac T hd_interrupt +000077e8 T floppy_interrupt +0000781e T parallel_interrupt +00007825 t _get_base +00007857 t die +00007a39 T do_double_fault +00007a5c T do_general_protection +00007a7f T do_divide_error +00007aa2 T do_int3 +00007b6a T do_nmi +00007b8d T do_debug +00007bb0 T do_overflow +00007bd3 T do_bounds +00007bf6 T do_invalid_op +00007c19 T do_device_not_available +00007c3c T do_coprocessor_segment_overrun +00007c5f T do_invalid_TSS +00007c82 T do_segment_not_present +00007ca5 T do_stack_segment +00007cc8 T do_coprocessor_error +00007cfc T do_reserved +00007d1f T trap_init +00008003 T divide_error +00008008 t no_error_code +00008038 T debug +0000803f T nmi +00008046 T int3 +0000804d T overflow +00008054 T bounds +0000805b T invalid_op +00008062 T coprocessor_segment_overrun +00008069 T reserved +00008070 T irq13 +00008085 T double_fault +0000808a t error_code +000080bc T invalid_TSS +000080c3 T segment_not_present +000080ca T stack_segment +000080d1 T general_protection +000080d8 t _get_base +0000810a T verify_area +00008171 T copy_mem +000082cb T copy_process +00008778 T find_empty_process +0000880c T panic +00008847 T printk +00008898 t skip_atoi +000088f3 t number +00008b64 T vsprintf +00008ff0 t get_fs_long +00009006 t put_fs_byte +0000901e t put_fs_long +0000902a T sys_ftime +00009030 T sys_break +00009036 T sys_ptrace +0000903c T sys_stty +00009042 T sys_gtty +00009048 T sys_rename +0000904e T sys_prof +00009054 T sys_setregid +0000910d T sys_setgid +000091a4 T sys_acct +000091aa T sys_phys +000091b0 T sys_lock +000091b6 T sys_mpx +000091bc T sys_ulimit +000091c2 T sys_time +0000921e T sys_setreuid +00009300 T sys_setuid +00009395 T sys_stime +000093eb T sys_times +0000948b T sys_brk +000094cd T sys_setpgid +000095a6 T sys_getpgrp +000095b2 T sys_setsid +0000962c T sys_getgroups +00009632 T sys_setgroups +00009638 T sys_uname +000096a1 T sys_sethostname +000096a7 T sys_getrlimit +000096ad T sys_setrlimit +000096b3 T sys_getrusage +000096b9 T sys_gettimeofday +000096bf T sys_settimeofday +000096c5 T sys_umask +000096f8 t _get_base +0000972a t put_fs_long +00009736 T release +0000979a t send_sig +00009819 t kill_session +00009873 T sys_kill +00009a23 t tell_father +00009aad T do_exit +00009ce1 T sys_exit +00009cfa T sys_waitpid +00009f20 t get_fs_byte +00009f2e t put_fs_byte +00009f46 t put_fs_long +00009f52 T sys_sgetmask +00009f5e T sys_ssetmask +00009f8a T sys_sigpending +00009f90 T sys_sigsuspend +00009f96 t save_old +00009fe9 t get_new +0000a029 T sys_signal +0000a0ad T sys_sigaction +0000a1b7 T do_signal +0000a3a3 T kernel_mktime +0000a4e8 t oom +0000a507 T get_free_page +0000a543 T free_page +0000a5b2 T free_page_tables +0000a6b1 T copy_page_tables +0000a832 T put_page +0000a91e T un_wp_page +0000a9d6 T do_wp_page +0000aa61 T get_empty_page +0000aaa1 t try_to_share +0000ac33 t share_page +0000ace7 T do_no_page +0000ae49 T mem_init +0000aebd T calc_mem +0000afb2 T page_fault +0000afe9 t get_fs_long +0000afff T sys_ustat +0000b005 T sys_utime +0000b0b2 T sys_access +0000b18e T sys_chdir +0000b202 T sys_chroot +0000b276 T sys_chmod +0000b310 T sys_chown +0000b38b T sys_open +0000b62e T sys_creat +0000b651 T sys_close +0000b720 T sys_lseek +0000b837 T sys_read +0000ba2a T sys_write +0000bbd8 t lock_inode +0000bc05 t unlock_inode +0000bc23 T invalidate_inodes +0000bc92 T sync_inodes +0000bce9 t _bmap +0000c0d5 T bmap +0000c0f8 T create_block +0000c11b T iput +0000c28a T get_empty_inode +0000c3df T get_pipe_inode +0000c454 T iget +0000c619 t read_inode +0000c84f T sys_sync +0000c8b2 T sync_dev +0000c9ab T invalidate_buffers +0000ca1d T check_disk_change +0000cac7 t remove_from_queues +0000cbbe t insert_into_queues +0000cc83 t find_buffer +0000cceb T get_hash_table +0000cd6d T getblk +0000cf0b T brelse +0000cf54 T bread +0000cfd9 T bread_page +0000d0fb T breada +0000d1f0 T buffer_init +0000d31f t lock_super +0000d34c t free_super +0000d391 T get_super +0000d400 T put_super +0000d4d3 t read_super +0000d816 T sys_umount +0000d977 T sys_mount +0000dae8 T mount_root +0000dcf6 t get_fs_byte +0000dd04 t put_fs_byte +0000dd1c T block_write +0000de6e T block_read +0000df99 t get_fs_byte +0000dfa7 t put_fs_byte +0000dfbf t rw_ttyx +0000e007 t rw_tty +0000e057 t rw_ram +0000e05d t rw_mem +0000e063 t rw_kmem +0000e069 t rw_port +0000e103 t rw_memory +0000e1d9 T rw_char +0000e243 t get_fs_byte +0000e251 t put_fs_byte +0000e269 T file_read +0000e414 T file_write +0000e60e t put_fs_byte +0000e626 t cp_stat +0000e6fd T sys_stat +0000e747 T sys_lstat +0000e762 T sys_fstat +0000e7bf T sys_readlink +0000e7c5 t _get_base +0000e7f7 t get_fs_byte +0000e805 t get_fs_long +0000e81b t put_fs_byte +0000e833 t put_fs_long +0000e83f t get_fs +0000e853 t get_ds +0000e867 t set_fs +0000e86e T sys_uselib +0000e874 t create_tables +0000e9bf t count +0000e9fe t copy_strings +0000ebba t change_ldt +0000ed3d T do_execve +0000f7bf t get_fs_byte +0000f7cd t put_fs_byte +0000f7e5 t put_fs_long +0000f7f1 T read_pipe +0000fac6 T sys_pipe +0000fcc8 t get_fs_byte +0000fcd6 t permission +0000fd77 t match +0000fddf t find_entry +00010239 t get_dir +00010426 t dir_namei +000104a5 T namei +000105bb T open_namei +0001090e T sys_mknod +00010b3e T sys_mkdir +00010eef t empty_dir +000110cd T sys_rmdir +00011425 T sys_unlink +000116c6 T sys_symlink +000116cc T sys_link +00011926 T free_block +00011a98 T new_block +00011c3c T free_inode +00011da3 T new_inode +00011f7d t dupfd +00012057 T sys_dup2 +0001207e T sys_dup +00012099 T sys_fcntl +000121d8 T sys_ioctl +000122a9 t free_ind +00012348 t free_dind +000123e7 T truncate +0001251c T sys_select +00012522 t lock_buffer +0001254f t unlock_buffer +00012741 t make_request +000128e5 T ll_rw_block +0001293e T blk_dev_init +0001298c t unlock_buffer +000129c1 t end_request +00012a72 T floppy_deselect +00012aa9 T floppy_change +00012b2f t setup_DMA +00012be5 t output_byte +00012c5b t result +00012d18 t bad_flp_intr +00012d77 t rw_interrupt +00012e66 T setup_rw_floppy +00012f27 t seek_interrupt +00012f80 t transfer +000130b5 t recal_interrupt +000130ff T unexpected_floppy_interrupt +00013144 t recalibrate_floppy +000131a6 t reset_interrupt +000131eb t reset_floppy +00013268 t floppy_on_interrupt +000132d3 t do_fd_request +000134d7 T floppy_init +00013529 t unlock_buffer +0001355e t end_request +000135fd T sys_setup +000139b0 t controller_ready +00013a44 t hd_out +00013b31 t drive_busy +00013b97 t reset_controller +00013c14 t reset_hd +00013cac T unexpected_hd_interrupt +00013cbf t bad_rw_intr +00013cfd t read_intr +00013e23 t recal_intr +00013e3d t do_hd_request +0001413e T hd_init +000141b8 t unlock_buffer +000141ed t end_request +0001428c t do_rd_request +000143c2 T rd_init +00014418 T rd_load +000146c4 t get_fs_byte +000146d2 t put_fs_byte +000146ea T tty_init +000146fb T tty_intr +0001476f t sleep_if_empty +000147a7 t sleep_if_full +0001481b T copy_to_cooked +00014dd6 T tty_read +00015144 T tty_write +00015356 T do_tty_interrupt +0001537e T chr_dev_init +0001537f t gotoxy +000153cd t set_origin +00015433 t scrup +00015623 t scrdown +0001571a t lf +00015750 t ri +00015786 t cr +000157a7 t del +000157d9 t csi_J +0001586a t csi_K +0001591c T csi_m +00015983 t set_cursor +000159e9 t respond +00015a41 t insert_char +00015aa4 t insert_line +00015ae8 t delete_char +00015b46 t delete_line +00015b8a t csi_at +00015bc8 t csi_L +00015c06 t csi_P +00015c44 t csi_M +00015c82 t save_cur +00015c97 t restore_cur +00015cb6 T con_write +00016344 T con_init +0001657b T sysbeepstop +000165a4 t sysbeep +00016602 t mode +00016603 t leds +00016604 t e0 +00016605 T keyboard_interrupt +0001662e t e0_e1 +00016659 t set_e0 +00016662 t set_e1 +0001666b t put_queue +000166a4 t ctrl +000166bc t unctrl +000166c0 t unalt +000166d6 t lshift +000166de t unlshift +000166e6 t rshift +000166ee t unrshift +000166f6 t caps +00016718 t set_leds +0001672e t uncaps +00016736 t scroll +0001673f t num +00016748 t cursor +00016768 t cur2 +00016791 t cur +0001679d t ok_cur +000167ab t num_table +000167b8 t cur_table +000167c5 t func +000167e2 t ok_func +000167f5 t end_func +000167f6 t func_table +00016826 t key_map +00016887 t shift_map +00016949 t do_self +000169b1 t none +000169b2 t minus +000169c7 t key_table +00016dc7 t kb_wait +00016dd0 t reboot +00016de2 t die +00016de4 t init +00016e59 T rs_init +00016edc T rs_write +00016f2c T rs1_interrupt +00016f34 T rs2_interrupt +00016f39 t rs_int +00016f50 t rep_int +00016f6d t end +00016f7b t jmp_table +00016f8c t modem_status +00016f94 t line_status +00016f9c t read_char +00017023 t get_fs_byte +00017031 t get_fs_long +00017047 t put_fs_byte +0001705f t put_fs_long +0001706b t change_speed +000170e9 t flush +000170fb t send_break +000170fc t get_termios +00017158 t set_termios +000171a8 t get_termio +00017270 t set_termio +00017334 T tty_ioctl +00017632 t get_fs_byte +00017640 T math_emulate +00017723 T math_error +00017743 T _exit +00017753 T open +0001779c T close +00017810 T dup +00017847 T setsid +00017876 T execve +00017913 T strcpy +0001792f T strncpy +00017954 T strcat +0001797f T strncat +000179b4 T strcmp +000179db T strncmp +00017a09 T strchr +00017a36 T strrchr +00017a65 T strspn +00017aa2 T strcspn +00017adf T strpbrk +00017b16 T strstr +00017b4f T strlen +00017b72 T strtok +00017bf5 T memcpy +00017c15 T memmove +00017c69 T memcmp +00017c93 T memchr +00017ccb T memset +0001bb48 d envp_rc +0001bb5c d envp +0001bb80 D sys_call_table +0001bcdc D NR_syscalls +0001bce0 d init_task +0001cce0 D current +0001cd00 D task +0001ce00 D stack_start +0001ce08 D current_DOR +0001ce20 d thisname.1955 +0001ce60 d month +0001cea0 d last_inode.1935 +0001cea4 D start_buffer +0001cec0 d crw_table +0001cee0 d ioctl_table +0001cf00 d floppy_type +0001cfc0 d cur_spec1 +0001cfc4 d cur_rate +0001cfc8 d floppy +0001cfcc d current_track +0001cfd0 d callable.1844 +0001cfe0 D tty_table +0001f500 D table_list +0001f520 d quotient +0001f540 D _ctype +0001f641 B __bss_start +0001f641 D _edata +0001f660 b printbuf +0001fa60 b memory_end +0001fa64 b buffer_memory_end +0001fa68 b main_memory_start +0001fa80 B jiffies +0001fa84 B startup_time +0001fa88 B last_task_used_math +0001fa9c b mon_timer +0001faac b moff_timer +0001fac0 b timer_list +0001fdc0 b next_timer +0001fdc4 B last_pid +0001fde0 b buf +000201e0 b HIGH_MEMORY +00020200 b mem_map +00021100 B inode_table +00021800 B nr_buffers +00021804 b free_list +00021808 b buffer_wait +0002180c B ROOT_DEV +00021840 B blk_dev +00021878 B do_floppy +0002187c B selected +00021884 b recalibrate +00021888 b reset +0002188c b seek +00021890 b reply_buffer +00021897 b current_drive +00021898 b sector +00021899 b head +0002189a b track +0002189b b seek_track +0002189c b command +000218a0 B do_hd +000218c0 B hd_info +000218f0 b recalibrate +000218f4 b reset +000218f8 b NR_HD +00021900 b hd +00021950 B rd_length +00021954 b cr_flag.1923 +00021960 B beepcount +00021964 b video_type +00021968 b video_num_columns +0002196c b video_size_row +00021970 b video_num_lines +00021974 b video_page +00021978 b video_mem_start +0002197c b video_mem_end +00021980 b video_port_reg +00021982 b video_port_val +00021984 b video_erase_char +00021988 b origin +0002198c b scr_end +00021990 b pos +00021994 b x +00021998 b y +0002199c b top +000219a0 b bottom +000219a4 b state +000219a8 b npar +000219c0 b par +00021a00 b ques +00021a04 b saved_x +00021a08 b saved_y +00021a20 B drive_info +00021a40 B user_stack +00022a40 B hash_table +00022f20 B super_block +00023280 B file_table +00023680 B request +00023b00 B rd_start +00023b04 B _ctmp +00023b08 B errno +00023b0c B ___strtok +00023b10 B end +00023b10 B _end diff --git a/linux-0.11-lab - 副本/1/linux/System.map.2 b/linux-0.11-lab - 副本/1/linux/System.map.2 new file mode 100644 index 0000000..44e841e --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/System.map.2 @@ -0,0 +1,1075 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x17cef + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x713 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + *fill* 0x0000000000006bd3 0x1 + .text 0x0000000000006bd4 0x3914 kernel/kernel.o + 0x0000000000006bd4 show_task + 0x0000000000006c59 show_stat + 0x0000000000006c9f math_state_restore + 0x0000000000006cfd schedule + 0x0000000000006eaf sys_pause + 0x0000000000006ec5 sleep_on + 0x0000000000006f24 interruptible_sleep_on + 0x0000000000006fb7 wake_up + 0x0000000000006fdf ticks_to_floppy_on + 0x00000000000070aa floppy_on + 0x00000000000070d9 floppy_off + 0x00000000000070e9 do_floppy_timer + 0x00000000000071bd add_timer + 0x00000000000072e1 do_timer + 0x00000000000073d0 sys_alarm + 0x000000000000744f sys_getpid + 0x000000000000745b sys_getppid + 0x0000000000007467 sys_getuid + 0x0000000000007476 sys_geteuid + 0x0000000000007486 sys_getgid + 0x0000000000007496 sys_getegid + 0x00000000000074a5 sys_nice + 0x00000000000074d0 sched_init + 0x0000000000007674 system_call + 0x00000000000076f0 coprocessor_error + 0x0000000000007712 device_not_available + 0x000000000000774c timer_interrupt + 0x0000000000007784 sys_execve + 0x0000000000007794 sys_fork + 0x00000000000077ac hd_interrupt + 0x00000000000077e8 floppy_interrupt + 0x000000000000781e parallel_interrupt + 0x0000000000007a39 do_double_fault + 0x0000000000007a5c do_general_protection + 0x0000000000007a7f do_divide_error + 0x0000000000007aa2 do_int3 + 0x0000000000007b6a do_nmi + 0x0000000000007b8d do_debug + 0x0000000000007bb0 do_overflow + 0x0000000000007bd3 do_bounds + 0x0000000000007bf6 do_invalid_op + 0x0000000000007c19 do_device_not_available + 0x0000000000007c3c do_coprocessor_segment_overrun + 0x0000000000007c5f do_invalid_TSS + 0x0000000000007c82 do_segment_not_present + 0x0000000000007ca5 do_stack_segment + 0x0000000000007cc8 do_coprocessor_error + 0x0000000000007cfc do_reserved + 0x0000000000007d1f trap_init + 0x0000000000008003 divide_error + 0x0000000000008038 debug + 0x000000000000803f nmi + 0x0000000000008046 int3 + 0x000000000000804d overflow + 0x0000000000008054 bounds + 0x000000000000805b invalid_op + 0x0000000000008062 coprocessor_segment_overrun + 0x0000000000008069 reserved + 0x0000000000008070 irq13 + 0x0000000000008085 double_fault + 0x00000000000080bc invalid_TSS + 0x00000000000080c3 segment_not_present + 0x00000000000080ca stack_segment + 0x00000000000080d1 general_protection + 0x000000000000810a verify_area + 0x0000000000008171 copy_mem + 0x00000000000082cb copy_process + 0x0000000000008778 find_empty_process + 0x000000000000880c panic + 0x0000000000008847 printk + 0x0000000000008b64 vsprintf + 0x000000000000902a sys_ftime + 0x0000000000009030 sys_break + 0x0000000000009036 sys_ptrace + 0x000000000000903c sys_stty + 0x0000000000009042 sys_gtty + 0x0000000000009048 sys_rename + 0x000000000000904e sys_prof + 0x0000000000009054 sys_setregid + 0x000000000000910d sys_setgid + 0x00000000000091a4 sys_acct + 0x00000000000091aa sys_phys + 0x00000000000091b0 sys_lock + 0x00000000000091b6 sys_mpx + 0x00000000000091bc sys_ulimit + 0x00000000000091c2 sys_time + 0x000000000000921e sys_setreuid + 0x0000000000009300 sys_setuid + 0x0000000000009395 sys_stime + 0x00000000000093eb sys_times + 0x000000000000948b sys_brk + 0x00000000000094cd sys_setpgid + 0x00000000000095a6 sys_getpgrp + 0x00000000000095b2 sys_setsid + 0x000000000000962c sys_getgroups + 0x0000000000009632 sys_setgroups + 0x0000000000009638 sys_uname + 0x00000000000096a1 sys_sethostname + 0x00000000000096a7 sys_getrlimit + 0x00000000000096ad sys_setrlimit + 0x00000000000096b3 sys_getrusage + 0x00000000000096b9 sys_gettimeofday + 0x00000000000096bf sys_settimeofday + 0x00000000000096c5 sys_umask + 0x0000000000009736 release + 0x0000000000009873 sys_kill + 0x0000000000009aad do_exit + 0x0000000000009ce1 sys_exit + 0x0000000000009cfa sys_waitpid + 0x0000000000009f52 sys_sgetmask + 0x0000000000009f5e sys_ssetmask + 0x0000000000009f8a sys_sigpending + 0x0000000000009f90 sys_sigsuspend + 0x000000000000a029 sys_signal + 0x000000000000a0ad sys_sigaction + 0x000000000000a1b7 do_signal + 0x000000000000a3a3 kernel_mktime + .text 0x000000000000a4e8 0xb01 mm/mm.o + 0x000000000000a507 get_free_page + 0x000000000000a543 free_page + 0x000000000000a5b2 free_page_tables + 0x000000000000a6b1 copy_page_tables + 0x000000000000a832 put_page + 0x000000000000a91e un_wp_page + 0x000000000000a9d6 do_wp_page + 0x000000000000aa08 write_verify + 0x000000000000aa61 get_empty_page + 0x000000000000ace7 do_no_page + 0x000000000000ae49 mem_init + 0x000000000000aebd calc_mem + 0x000000000000afb2 page_fault + .text 0x000000000000afe9 0x7539 fs/fs.o + 0x000000000000afff sys_ustat + 0x000000000000b005 sys_utime + 0x000000000000b0b2 sys_access + 0x000000000000b18e sys_chdir + 0x000000000000b202 sys_chroot + 0x000000000000b276 sys_chmod + 0x000000000000b310 sys_chown + 0x000000000000b38b sys_open + 0x000000000000b62e sys_creat + 0x000000000000b651 sys_close + 0x000000000000b720 sys_lseek + 0x000000000000b837 sys_read + 0x000000000000ba2a sys_write + 0x000000000000bc23 invalidate_inodes + 0x000000000000bc92 sync_inodes + 0x000000000000c0d5 bmap + 0x000000000000c0f8 create_block + 0x000000000000c11b iput + 0x000000000000c28a get_empty_inode + 0x000000000000c3df get_pipe_inode + 0x000000000000c454 iget + 0x000000000000c84f sys_sync + 0x000000000000c8b2 sync_dev + 0x000000000000c9ab invalidate_buffers + 0x000000000000ca1d check_disk_change + 0x000000000000cceb get_hash_table + 0x000000000000cd6d getblk + 0x000000000000cf0b brelse + 0x000000000000cf54 bread + 0x000000000000cfd9 bread_page + 0x000000000000d0fb breada + 0x000000000000d1f0 buffer_init + 0x000000000000d391 get_super + 0x000000000000d400 put_super + 0x000000000000d816 sys_umount + 0x000000000000d977 sys_mount + 0x000000000000dae8 mount_root + 0x000000000000dd1c block_write + 0x000000000000de6e block_read + 0x000000000000e1d9 rw_char + 0x000000000000e269 file_read + 0x000000000000e414 file_write + 0x000000000000e6fd sys_stat + 0x000000000000e747 sys_lstat + 0x000000000000e762 sys_fstat + 0x000000000000e7bf sys_readlink + 0x000000000000e86e sys_uselib + 0x000000000000ed3d do_execve + 0x000000000000f7f1 read_pipe + 0x000000000000f947 write_pipe + 0x000000000000fac6 sys_pipe + 0x00000000000104a5 namei + 0x00000000000105bb open_namei + 0x000000000001090e sys_mknod + 0x0000000000010b3e sys_mkdir + 0x00000000000110cd sys_rmdir + 0x0000000000011425 sys_unlink + 0x00000000000116c6 sys_symlink + 0x00000000000116cc sys_link + 0x0000000000011926 free_block + 0x0000000000011a98 new_block + 0x0000000000011c3c free_inode + 0x0000000000011da3 new_inode + 0x0000000000012057 sys_dup2 + 0x000000000001207e sys_dup + 0x0000000000012099 sys_fcntl + 0x00000000000121d8 sys_ioctl + 0x00000000000123e7 truncate + 0x000000000001251c sys_select + .text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x00000000000128e5 ll_rw_block + 0x000000000001293e blk_dev_init + .text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000012a72 floppy_deselect + 0x0000000000012aa9 floppy_change + 0x0000000000012e66 setup_rw_floppy + 0x00000000000130ff unexpected_floppy_interrupt + 0x00000000000134d7 floppy_init + .text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x00000000000135fd sys_setup + 0x0000000000013cac unexpected_hd_interrupt + 0x000000000001413e hd_init + .text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x00000000000143c2 rd_init + 0x0000000000014418 rd_load + .text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x00000000000146ea tty_init + 0x00000000000146fb tty_intr + 0x0000000000014808 wait_for_keypress + 0x000000000001481b copy_to_cooked + 0x0000000000014dd6 tty_read + 0x0000000000015144 tty_write + 0x0000000000015356 do_tty_interrupt + 0x000000000001537e chr_dev_init + .text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x000000000001591c csi_m + 0x0000000000015cb6 con_write + 0x0000000000016344 con_init + 0x000000000001657b sysbeepstop + .text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x0000000000016605 keyboard_interrupt + .text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000016e59 rs_init + 0x0000000000016edc rs_write + *fill* 0x0000000000016f29 0x3 + .text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000016f2c rs1_interrupt + 0x0000000000016f34 rs2_interrupt + .text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000017334 tty_ioctl + .text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000017640 math_emulate + 0x0000000000017723 math_error + .text 0x0000000000017743 0x0 lib/lib.a(ctype.o) + .text 0x0000000000017743 0x10 lib/lib.a(_exit.o) + 0x0000000000017743 _exit + .text 0x0000000000017753 0x49 lib/lib.a(open.o) + 0x0000000000017753 open + .text 0x000000000001779c 0x37 lib/lib.a(close.o) + 0x000000000001779c close + .text 0x00000000000177d3 0x0 lib/lib.a(errno.o) + .text 0x00000000000177d3 0x3d lib/lib.a(write.o) + 0x00000000000177d3 write + .text 0x0000000000017810 0x37 lib/lib.a(dup.o) + 0x0000000000017810 dup + .text 0x0000000000017847 0x2f lib/lib.a(setsid.o) + 0x0000000000017847 setsid + .text 0x0000000000017876 0x3d lib/lib.a(execve.o) + 0x0000000000017876 execve + .text 0x00000000000178b3 0x60 lib/lib.a(wait.o) + 0x00000000000178b3 waitpid + 0x00000000000178f0 wait + .text 0x0000000000017913 0x3dc lib/lib.a(string.o) + 0x0000000000017913 strcpy + 0x000000000001792f strncpy + 0x0000000000017954 strcat + 0x000000000001797f strncat + 0x00000000000179b4 strcmp + 0x00000000000179db strncmp + 0x0000000000017a09 strchr + 0x0000000000017a36 strrchr + 0x0000000000017a65 strspn + 0x0000000000017aa2 strcspn + 0x0000000000017adf strpbrk + 0x0000000000017b16 strstr + 0x0000000000017b4f strlen + 0x0000000000017b72 strtok + 0x0000000000017bf5 memcpy + 0x0000000000017c15 memmove + 0x0000000000017c69 memcmp + 0x0000000000017c93 memchr + 0x0000000000017ccb memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x0000000000017cef PROVIDE (__etext, .) + 0x0000000000017cef PROVIDE (_etext, .) + 0x0000000000017cef PROVIDE (etext, .) + +.rodata 0x0000000000017cf0 0x13ca + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000017cf0 0xad init/main.o + *fill* 0x0000000000017d9d 0x3 + .rodata 0x0000000000017da0 0x438 kernel/kernel.o + .rodata 0x00000000000181d8 0x18f mm/mm.o + *fill* 0x0000000000018367 0x1 + .rodata 0x0000000000018368 0x62c fs/fs.o + .rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000018a0e 0x2 + .rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000018b43 0x1 + .rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000018cdf 0x1 + .rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x0000000000018fe5 0x3 + .rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x00000000000190bc 0x2a6c + *(.eh_frame) + .eh_frame 0x00000000000190bc 0xf0 init/main.o + .eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o + 0xbf4 (size before relaxing) + .eh_frame 0x0000000000019cb0 0x194 mm/mm.o + 0x1ac (size before relaxing) + .eh_frame 0x0000000000019e44 0xdd8 fs/fs.o + 0xf70 (size before relaxing) + .eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001bb28 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001bb28 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001bb28 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001bb28 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001bb28 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001bb40 0x3b01 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001bb40 0x0 boot/head.o + .data 0x000000000001bb40 0x28 init/main.o + *fill* 0x000000000001bb68 0x18 + .data 0x000000000001bb80 0x1310 kernel/kernel.o + 0x000000000001bb80 sys_call_table + 0x000000000001bcdc NR_syscalls + 0x000000000001cce0 current + 0x000000000001cd00 task + 0x000000000001ce00 stack_start + 0x000000000001ce08 current_DOR + .data 0x000000000001ce90 0x0 mm/mm.o + *fill* 0x000000000001ce90 0x10 + .data 0x000000000001cea0 0x60 fs/fs.o + 0x000000000001cea4 start_buffer + .data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001cfcd 0x3 + .data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001cfd4 0xc + .data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001cfe0 tty_table + 0x000000000001f500 table_list + .data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x000000000001f519 0x7 + .data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) + .data 0x000000000001f540 0x101 lib/lib.a(ctype.o) + 0x000000000001f540 _ctype + .data 0x000000000001f641 0x0 lib/lib.a(_exit.o) + .data 0x000000000001f641 0x0 lib/lib.a(open.o) + .data 0x000000000001f641 0x0 lib/lib.a(close.o) + .data 0x000000000001f641 0x0 lib/lib.a(errno.o) + .data 0x000000000001f641 0x0 lib/lib.a(write.o) + .data 0x000000000001f641 0x0 lib/lib.a(dup.o) + .data 0x000000000001f641 0x0 lib/lib.a(setsid.o) + .data 0x000000000001f641 0x0 lib/lib.a(execve.o) + .data 0x000000000001f641 0x0 lib/lib.a(wait.o) + .data 0x000000000001f641 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x000000000001f641 _edata = . + 0x000000000001f641 PROVIDE (edata, .) + 0x000000000001f641 . = . + 0x000000000001f641 __bss_start = . + +.bss 0x000000000001f660 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x000000000001f660 0x0 boot/head.o + .bss 0x000000000001f660 0x40c init/main.o + *fill* 0x000000000001fa6c 0x14 + .bss 0x000000000001fa80 0x760 kernel/kernel.o + 0x000000000001fa80 jiffies + 0x000000000001fa84 startup_time + 0x000000000001fa88 last_task_used_math + 0x000000000001fdc4 last_pid + .bss 0x00000000000201e0 0xf20 mm/mm.o + .bss 0x0000000000021100 0x710 fs/fs.o + 0x0000000000021100 inode_table + 0x0000000000021800 nr_buffers + 0x000000000002180c ROOT_DEV + *fill* 0x0000000000021810 0x10 + .bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000021820 wait_for_request + 0x0000000000021840 blk_dev + .bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000021878 do_floppy + 0x000000000002187c selected + 0x0000000000021880 wait_on_floppy_select + *fill* 0x000000000002189d 0x3 + .bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x00000000000218a0 do_hd + 0x00000000000218c0 hd_info + .bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000021950 rd_length + .bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000021958 0x8 + .bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000021960 beepcount + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000021a0c 0x14 + COMMON 0x0000000000021a20 0x20 init/main.o + 0x0000000000021a20 drive_info + COMMON 0x0000000000021a40 0x1000 kernel/kernel.o + 0x0000000000021a40 user_stack + COMMON 0x0000000000022a40 0xc40 fs/fs.o + 0x0000000000022a40 hash_table + 0x0000000000022f20 super_block + 0x0000000000023280 file_table + COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000023680 request + COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000023b00 rd_start + COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) + 0x0000000000023b04 _ctmp + *fill* 0x0000000000023b05 0x3 + COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) + 0x0000000000023b08 errno + COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) + 0x0000000000023b0c ___strtok + 0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000023b10 . = ALIGN (0x4) + 0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000023b10 . = ALIGN (0x4) + 0x0000000000023b10 _end = . + 0x0000000000023b10 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x16d23 + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0x553 init/main.o + .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005209 0xb2b mm/mm.o + .debug_info 0x0000000000005d34 0xa290 fs/fs.o + .debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) + .debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) + .debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) + .debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x43b9 + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x1d3 init/main.o + .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o + .debug_abbrev 0x0000000000001136 0x20b mm/mm.o + .debug_abbrev 0x0000000000001341 0x19f1 fs/fs.o + .debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) + .debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x4599 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1a7 init/main.o + .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o + .debug_line 0x000000000000102d 0x274 mm/mm.o + .debug_line 0x00000000000012a1 0x1c50 fs/fs.o + .debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) + .debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) + .debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) + .debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) + .debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) + .debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2093 + *(.debug_str) + .debug_str 0x0000000000000000 0x1c0 init/main.o + 0x1ff (size before relaxing) + .debug_str 0x00000000000001c0 0xac0 kernel/kernel.o + 0x2332 (size before relaxing) + .debug_str 0x0000000000000c80 0x185 mm/mm.o + 0x4e0 (size before relaxing) + .debug_str 0x0000000000000e05 0x904 fs/fs.o + 0x49ab (size before relaxing) + .debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x491 (size before relaxing) + .debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x673 (size before relaxing) + .debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e8 (size before relaxing) + .debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x58a (size before relaxing) + .debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4e3 (size before relaxing) + .debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b7 (size before relaxing) + .debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3fc (size before relaxing) + .debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a7 (size before relaxing) + .debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) + 0x392 (size before relaxing) + .debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) + 0xb6 (size before relaxing) + .debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) + 0xe2 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) + 0xf2 (size before relaxing) + .debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) + 0xe4 (size before relaxing) + .debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) + 0x93 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xf0 (size before relaxing) + .debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o) + 0xdc (size before relaxing) + .debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o) + 0xec (size before relaxing) + .debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) + 0xf5 (size before relaxing) + .debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) + 0x102 (size before relaxing) + .debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) + 0x147 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab - 副本/1/linux/boot/bootsect b/linux-0.11-lab - 副本/1/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/boot/bootsect.o b/linux-0.11-lab - 副本/1/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/boot/bootsect.s b/linux-0.11-lab - 副本/1/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * 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. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/1/linux/boot/head.o b/linux-0.11-lab - 副本/1/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + 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 $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab - 副本/1/linux/boot/setup b/linux-0.11-lab - 副本/1/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/boot/setup.s b/linux-0.11-lab - 副本/1/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/1/linux/fs/Makefile b/linux-0.11-lab - 副本/1/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.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 \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.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 \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.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 \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab - 副本/1/linux/fs/bitmap.c b/linux-0.11-lab - 副本/1/linux/fs/bitmap.c new file mode 100644 index 0000000..73951a8 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ + +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/bitmap.o b/linux-0.11-lab - 副本/1/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..501d3c5e3fb1a044792589a0bdde55cbb41cfaa2 GIT binary patch literal 10280 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 J@|j5fe*vQQ&y@fG literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/block_dev.c b/linux-0.11-lab - 副本/1/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/block_dev.o b/linux-0.11-lab - 副本/1/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e5e9334ce9a4697061730271c4c9d92fcf4aa105 GIT binary patch literal 7296 zcmb7Ie{5UVb-wSu_w;CzqGe0A<-}bWgif49q9~hj)YwVvSpFgZNR?Pl>{=broHUGnLj`*&%YCc;M(y0|I{ajrLL$@;KC^obSX z;F-}>r1-ozec|*!9=$Mk#h`rJNIh?)&P=4@#nW=`730Dq2j{MgqGjTY`0ID0^P{P) zfv|p27XsqQ-;Sm-jQZAcbod=%2yrL0XvxAbyJa*r`BVgKlA2GPN@Z!$z5$x8(6G<( zc_a1a2aAh~kOwZ)YwNslt)PQKO0c3>N1au z`K@P>9pr&CJ@_73$V!AAVagCEd}UVqKKVQivKm~8wi8zO^nay6;L~BfhLq-UKi(-~xEcm&|T}X_%F|Ck$!5LZue@DNMQ^0`E#5MHoZt`Uv`z zV^F7z(Oc1A^;5r-R9Ii2*Dm&GSS$IxyMphC^$&0|_B6qx)?d(Oj67zg$oG=Rt@p_H zk#}2LAjY!qLU>s>A7l{A zLc2N65eVxN!DM`QJoKTIC6?t`IukUVbvHuV$V?n3|3L*$33?~&1A3XkR?^vUQl z3Wqt`ei@xv64uG+ozMj>Ng2zxW|WYUQG`^&1{rHsio!g?&;v61F}CnF5$mk18!eJRbPanT!QbtcLwM@zA?=ZmQ?6fFj zo_9i+Q+Wtw89mMxn=Mt;;5c&2KZkYQlu<5kvp~U<(J79nNMTk+Z(%k9LUiYdgK5-Wivi5T1pV^hS=>(&9_Qm|~}f^;O!~6^0tfWBq&4c3QfUtwPZ)*ZBef;?^g8Tkx(#`*$zmGL)PZSorVChJ3tQzy?_ z@8H{Lkl$rpA#ajzwglrpNq)DG8k~C!kM*=x)49zKgf&clj9gl0$d8j7))jU(OY?~J z4g;Owyv0#Zma*$mm|E5Z-MCwNtjrsX{C8-xhW{BWD2gu`k zsen~5NZzBD8VzBl$@{>eA0qF!+K6vv7=E3IQ^iH&FOFUz{}3a3!`#FJz?z|9mKMVL z8Tno0hVHr2mMB2-b3E67h0QyxrKb4?lAGK z5aS`W!+K)gFzKwh<^c7)lC*KBN z@CV38p%>;3(mguMHA=c4SqgI}>9}45-9~dCpR)Gg+uTcD zwB9G*cLlRp7V*ykxKsVo-X!90fb*kD9Wl5AU_HdDToo_`)C zJq#$%R{QIeRs>SH|8Z(p22!z~XN2qxq^aI~S;#)V$>iC|-lmYN7+!k>!((yR@X9KO zXgmx3oqnEQ!Mz~J({EVHbBGN~c@ABZr?OOe4hOxfJU0fC%G2Mp@@%pHZ4_T?E3}neJ!|0GtLceY?4H<`n1&0u-YxV9g|Xg|7&cT& z#A5fs0c%H5WZ$(~=!w7x+YcT}phsjmJjM`dnIG5;14lc|u%}}k{XmRs+E_39@4i`# z^$sCUVwHB=T56V?&|urH61S}tVnrJ1GUjb-$9g%2ZT+8nz_(jzF6AMyzIwAu1EJV= zs~=_6RrhP0SHoEio7QX6+Wl*<@8`2YKm7=-#!FKiR45{gt8Rg0;kA#PC%F_~1k<$l z6W#dse*dn6EYpGdb*u zbb&pV9lMAIBvo<)bPHuisk{?ShgvKfw=!L~tKit{m|uSoy|ud+`$ z%Ply&ulL*6>G<iR`CW) zExYCnHXFFDJ1r}!EC72W)G&U(QUj)USebmT?#z0*Qp<5fqg2YFpp|LY z@j#qer_lE7d=+6(-5l$J-g0ge^%CtmmxfbRod(@hau@{4mCyNwuD61`uCc}RR9YSq z`Z-h;$ql0WbJJ=x zJRx@P*l|yC!=XIRf_AX|1~;~SY51w(Y&w&@J<#HK=Lv>KJNdBCPDQjECu4X( zvyB%Iu{{x)llw0uaOBZvMCoZKb|fMbXxIQcj!$^ypwDx1dm=uk??{a6d$mM-`-Mbg z`>U``!tNA4;cGvLPqXzJO#FUC+C5RjUITiq0Lvk3In}hsnMnKRS~`!LUYg3HlW$L> zFr@~Xd~WCSobQfSyJgp>abfIG@w^Eg(1%DD8a2KrM7oaSCXItEIDP^jr;M$LBMSrg ze?I&h17#Js6#5S@KAkT+w(+?UpJhG^zQ$2t)|J;W+VG8oi-h0}lQP~${&O*SlPW1_ zqrji;wEuN>%qPqNR50F)bW~5+mVw-v-z@Tb9l@C&t|LqNZ37Q|K*bzxCKDZskUo5! z-Nm>NNjj(}w0jV8XTN)Jd+33V{W8t4E}W9k2UPqg;@#Du2&s*>&Ul9rk8v0;icc8t zNpSjb+1qx&oJszw+1 zq0{l`{)}H$=>E)i%2+%dj~<+aOB&s;$dZWsy8V3_o_{Nm&+ye|f4z=eC-aYl@L^r~ zYa=`p>3_|utn)3_c?;-#LBS?p#jTI;5SvhS!}p>8T0#5;d?Y%%K*Ykxp&NQJs|sC(vkLvaf%fN> z{8@!xQuqypFDZOg;SUx5SmE0W|3jg~xY%z(;SCB072cz8mqP#NGVC8$@)HV=DV$UI zdkVj(@CAkZvzh(9x>`8=WU zn8IfieqQ09EBuMVbJ!sC` + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iQ6+~nZ1VPZCP{pdlWadpWGMO3Y4-glv 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 +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/char_dev.o b/linux-0.11-lab - 副本/1/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..2977060a7c0b215e10aa16a8395ed973d52837cd GIT binary patch literal 8288 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 O%Ys)0UlIH-!T$wZ8WjQn literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/exec.c b/linux-0.11-lab - 副本/1/linux/fs/exec.c new file mode 100644 index 0000000..2ff220e --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/exec.c @@ -0,0 +1,359 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ + +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long * create_tables(char * p,int argc,int envc) +{ + unsigned long *argv,*envp; + unsigned long * sp; + + sp = (unsigned long *) (0xfffffffc & (unsigned long) p); + sp -= envc+1; + envp = sp; + sp -= argc+1; + argv = sp; + put_fs_long((unsigned long)envp,--sp); + put_fs_long((unsigned long)argv,--sp); + put_fs_long((unsigned long)argc,--sp); + while (argc-->0) { + put_fs_long((unsigned long) p,argv++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,argv); + while (envc-->0) { + put_fs_long((unsigned long) p,envp++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char ** argv) +{ + int i=0; + char ** tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *) (tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc,char ** argv,unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem==2) + set_fs(new_fs); + while (argc-- > 0) { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv)+argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len=0; /* remember zero-padding */ + do { + len++; + } while (get_fs_byte(tmp++)); + if (p-len < 0) { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) { + --p; --tmp; --len; + if (--offset < 0) { + offset = p % PAGE_SIZE; + if (from_kmem==2) + set_fs(old_fs); + if (!(pag = (char *) page[p/PAGE_SIZE]) && + !(pag = (char *) (page[p/PAGE_SIZE] = + (unsigned long *) get_free_page()))) + return 0; + if (from_kmem==2) + set_fs(new_fs); + + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem==2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size,unsigned long * page) +{ + unsigned long code_limit,data_limit,code_base,data_base; + int i; + + code_limit = text_size+PAGE_SIZE -1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1],code_base); + set_limit(current->ldt[1],code_limit); + set_base(current->ldt[2],data_base); + set_limit(current->ldt[2],data_limit); +/* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs"::); + data_base += data_limit; + for (i=MAX_ARG_PAGES-1 ; i>=0 ; i--) { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i],data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ifk_u6V*Yk91+DAroFcU|k2`}@7; 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/fcntl.c b/linux-0.11-lab - 副本/1/linux/fs/fcntl.c new file mode 100644 index 0000000..c201aa8 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/fcntl.c @@ -0,0 +1,75 @@ +/* + * linux/fs/fcntl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/fcntl.o b/linux-0.11-lab - 副本/1/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..17a6ecacd50cb07b4337da65f94d880d02b367a8 GIT binary patch literal 6748 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/file_dev.c b/linux-0.11-lab - 副本/1/linux/fs/file_dev.c new file mode 100644 index 0000000..0c50eaa --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/file_dev.c @@ -0,0 +1,90 @@ +/* + * linux/fs/file_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/file_dev.o b/linux-0.11-lab - 副本/1/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e1ba8a5aa9f848cbe07cc40a116357db631d2c89 GIT binary patch literal 7828 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 SclH@D3RwcTDjZc + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab - 副本/1/linux/fs/file_table.o b/linux-0.11-lab - 副本/1/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..422bcb331f1423abef699440aa5b0f0ff3a8b671 GIT binary patch literal 2644 zcma)8ONbmr7_OR`-P!Hgo!w=9BnF`a8xkecvzttkb&W;|x+aF`!4(DLY)?=3Ogq!v zV?VOl_&SK&K#0s-B=xPW^?j%FhrbeTlMCJwT9?XVawWCSbyVX|l2jSv>;r0{YaW6k_^T zz^c43M3{C3LO#m~p?wD-+vFv!O1}9tWJUXp+$5jUK4*OA9`G6MD!D~It9?Y?9e~%h zNpi;q*R@lSvd7#dtx0>I{E+r8?Jnm!to=&<9J!$#WXynkS-U~|kmDcG>f|2zQB7xz zPu|k*q&*-%ra=ffB0sKOX3X>CC&cs`U|z-_!=_!MBjE%>dy4!bc}e?}e2cuIh2)nQ zKBe73zWo5~GpHxaSY_e9qLcMJC2H@1m#062oG8PB_yu{OzE~^Q_tocb$KXq%R=Xc6 z!W5mtG`ERzeXVwH?aU$)7onWoi!GZ&EG<G-(`FDL5GCjLkzBG)c>s!O5Yd43kpIj0J zL$ni?^gGLma)}S#8gV?s>Amp;_i=x>NJiF;9-MAS< z4d33%KD)7OtgJMKW~aHF8JbRnjKu9i4g+f-0>^2`Q2fM$^wI?~uoxN5N}`rr)!X zkOgp0bB?ivVFjLNqo#(BEj4ghvMo+e;Qti+cm>cWRebh7?!!!*IMC1w&2`!#>Rb)&9ZYkHg8gkiQ-5obM!ho&zcta4TOYQ7!kK zhn{n~t|E>PMc#7XSs04*p2N$^c{neB7xH;8faf`&;yT9LBvCE*xzNe^-E4CxbDRBJaN~jlSq|VjswDS1$X0~#=Lq&ga zCz+rAOpXJ}=@*Vw_-pAt>oj4i1@Xtt-Oowk-9QNMj)Y*HB&K4`iTsa2WPK#+q${0w zg!W?!)3XcxL8Yf>6#9nJ`D4X+Q{jsW-%$9r!fOgYRQQR)FBEb=InIv?e^L0SLLMmk uXB6&HxTJ7d;Yo#$D11WUrb18Qw!+sGzNPRTh3_l;TH*IZ6fvzQ&gs8hV_9GT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/fs.o b/linux-0.11-lab - 副本/1/linux/fs/fs.o new file mode 100644 index 0000000000000000000000000000000000000000..86ce3ba38e0ee4154487cb990d4dbcff00fb67a3 GIT binary patch literal 142937 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/inode.c b/linux-0.11-lab - 副本/1/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/inode.o b/linux-0.11-lab - 副本/1/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..dd67bfa4d43e1073c47e0226043fc43f5f0e9153 GIT binary patch literal 14072 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 I1a}MmH>)TywEzGB literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/ioctl.c b/linux-0.11-lab - 副本/1/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/ioctl.o b/linux-0.11-lab - 副本/1/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..1f1f33c5568ad7f154251149e1ecc40766da48c1 GIT binary patch literal 5828 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 +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/namei.o b/linux-0.11-lab - 副本/1/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..0514463113d5878e35d040844344865d47c7032e GIT binary patch literal 20756 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 a@7aEaV1r +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/open.o b/linux-0.11-lab - 副本/1/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..aceb4b8d44365ee59ea3c9bb01413542e9cf0177 GIT binary patch literal 11184 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/fs/pipe.c b/linux-0.11-lab - 副本/1/linux/fs/pipe.c new file mode 100644 index 0000000..dfc4480 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/fs/pipe.c @@ -0,0 +1,111 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, read = 0; + + while (count>0) { + while (!(size=PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + put_fs_byte(((char *)inode->i_size)[size++],buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, written = 0; + + while (count>0) { + while (!(size=(PAGE_SIZE-1)-PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) { /* no readers */ + current->signal |= (1<<(SIGPIPE-1)); + return written?written:-1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + ((char *)inode->i_size)[size++]=get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long * fildes) +{ + struct m_inode * inode; + struct file * f[2]; + int fd[2]; + int i,j; + + 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; +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/pipe.o b/linux-0.11-lab - 副本/1/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..d5b5db26c38f6881a408d3b6291aeb9d28c67659 GIT binary patch literal 8104 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 Jg} +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/read_write.o b/linux-0.11-lab - 副本/1/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..998aad95c9e243e4bfcae9647b34d9235f717844 GIT binary patch literal 7520 zcmbVQYiu0Xb-wf1;mmSLQCvzEBRN?cD{Ezw%cVq1v`kvGMN5?Yh^&V#Id)e2nB}gu zukOx@q+v9+7!{=nR}lg_n!NhJNvN*AKtHNnh1&}46z~!@%^Y@GbSM+Hi&+) z_;%mobMb-b+=o9$?eekszzdgui_HAQ(sVq6%82lGEQ2mj+2<~K+Z0`%8Y+DCs$GC; zV2x_=J>yLH^>=UFxN+@EjO6>iI5qb1OJ4Z(A5i~kU%zGXJdej%Du+ZXEIWMdE6BC9h62MA z*FFygV$Ps-_G5ajP3=Mn;$%Hxqn(z}dF12FaS1v7nUqezq2$`NXa9Tx3EU5_B zL$CjYX`J?3NG#KDtN2$TCPhq$*1Zh&l1x{kusqd^+NERhKFsb6Fan$gvIpkZ%{V(N zJ9h0yU~pX(?-b(gl<{Vm{vh7}iuG{ZTvFY;_QjjTnG(X=ur~Pf2%cx~W!c#o?aC5o zF|j;l-gEiPMoHx)B4Ls3mzS=f%QG^`AM27yzCH~b=81h{o|vy84vfA_LB5zxe^jjM z9J8Fe#WyB?t|@!ilpGHtFFl zG?T&>J^VrFd?BWHXB(%L5ZA*9sf2{yT`%Q@agw2j^l+UuQb_6H?=qSc#`N%HTNp>8+rvEJx4)o5!!}`*qrI4X_Fzhoh5X`%-#!?RyM(FD@9{_~zL|4j2;x%w9$JMc&t58@?@;k{*%Ok&w+_nm(x-f>wBUT}Y`5z|l zvkJAEFp}g0;LwkdZ*m?(d?Us1TSSB^E*H5tq9XJNM)WtvPHuhY01d}zA)MbPznk2& zn$46jc9Gl8%hc~Ck3c^vjB)Zl=ZnmvPvfOOI$1JyrID2V74n6o3`2_SOVcbtX1z+$7$fuzf z#y-*+i|LvseHgtI#)G7Xtvu*{(qmQu^Z@AzYZi2d^eId3xr5}VoD`nMA@aP#H>UB> zLFBV2B0s`pbC1f@en><{!TD3E?lQRpBN@0H2(-Fb|3^riHYk?`YIr1RpZPrM`wMyK zx$5)_BKi)}r44df>KDxDH>E@${enHf<*sdJOZtWR4PK=#v@L#}CpJ#PNZU=3q2H0= zLwI$`@Viy`{%orNt0fg4pnTfl@A1Qz2WHvW9_|(WLQ!n|1Byo(J`5F43+*%cApFr) z;g7BgFMZnKkFN^H=1fZEM%|d~h12YwZX1EEo#gGu) z9YG*QH0@xN!Fz5K2csjf@7D7k2pa5;4Px7%5bKlL-a$Xmw!wo@j$&%lryh`& z{h@Zp^i4uUA*v2g92i?AZh)vp!P<>Ci~Fm7+*?*W_YO{=6F38qIQ)<(`Q#(Gu8<$X z9O~jMn5O-tw+B!8iN~2uCPzxuT)CBZN6MvYYhH9HnhVViQHTaERp~iipOQI-EkaHf z1;R9QMOV>6(^q*5b(a+VYL;fJnKC$*6Q)o0)ELyJaNE%=&(af7$?T+MPhR}?Mf-MD z(RwxISM*ygdopETgyKx=k+xqvda-rUo_zIHY4t-qb^9B58Yiri_Cxx;Q9O34*oQ3p zA^U=TvenY>7_b*lu8Hz9W26}9jwrlz6S>RPTDb8wy-dSP(njZDr>XG>lsQy0i-nt2qZbQK9d-2};arHU(B^0_LwP87g;d-OyxjC=aK!2L9dm2!Y<3!}$)RmrfIcCol zrke6DakVbaq-CWDdWXrC|B6De`0AbV3 zI&vghRW21bucG^jE~U|1-O>dyJwbU2k99UU%bvLh*9F@l#|I|sR9rXghZux<(^B%33bI~Q|P$2|hd zI=WPCRRjhAP>qn_(w-a3FZ#M!xarHmwlsj9X z9E{rcG6Zg*9mQzx!l0frx>Af)nPNQ7^hz-V7E4Dl1SY$q7&4 + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab - 副本/1/linux/fs/select.o b/linux-0.11-lab - 副本/1/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..d61f73a39bf58c107d845f3825c695fe69663502 GIT binary patch literal 1776 zcma)7&ubG=5T2J!Yc*|X8^x9irr?h%?k3TorD`oLDvI>~7iJXeveV zCY}@#J&1bs?8UqPfKX4Kdi3hqL;YsoPO~}bz`U9HX5P%3>16x#`kfm}DH2j-P~Rf@ zl+m7QEas>{P2kmV>r<>uh}!akeCds_eOT8?M2Wg)X97y zXXIz{6KZmJ{3ubzqHEJeej#@`cdNkQ($w4KX(HnU<#LNTV+09~f%U6&dCo2MSm&o^ z=r~TL{^ZAS#{HoyMWNGi>XB9FIHI9A%~auDMj@)y@?EFobsJI14^7W`RO+<7ZqF=R zm5SN1Yo)RVO3jdNuC5hVidAdgsuoSx4(hF|?F;i4q1QW&qPbBto4(tQ%w}M_j=AZh zUncKQJrYawEG&Ru~0ZwnU4Z zUPM;Ij%>1OVMtcsbgYI`>u#*Ky`~RWtlPC(;57dvg*F;I@kis zL)RAOsi&aRIIZ<~a{8_RbIu@$_g4DiB@mtO%TCWGy1^hwHd9;uxYGc5+5Qz*MvUa< z9Gq{Nm4w8{zmS6hLcYY~mLMmkQ0ApQ$Ac%gz;MoiD`Am=g*R7#1j7tNTI!1mRP(~3C{b&IOkWGJ +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/stat.o b/linux-0.11-lab - 副本/1/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..fdb41d331a01a0b46c2a069b24d4be4631d5abd0 GIT binary patch literal 7212 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 +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab - 副本/1/linux/fs/super.o b/linux-0.11-lab - 副本/1/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..b551798da16bfa699c2dc2848c061720be0e1b2a GIT binary patch literal 12284 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 + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab - 副本/1/linux/fs/truncate.o b/linux-0.11-lab - 副本/1/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..8975b924958105c719b40601717933b390dce7b0 GIT binary patch literal 6848 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 T&knY~U11EUL+(?^{YLp;_3Udb literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/include/a.out.h b/linux-0.11-lab - 副本/1/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab - 副本/1/linux/include/asm/io.h b/linux-0.11-lab - 副本/1/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab - 副本/1/linux/include/asm/memory.h b/linux-0.11-lab - 副本/1/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab - 副本/1/linux/include/asm/segment.h b/linux-0.11-lab - 副本/1/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab - 副本/1/linux/include/asm/system.h b/linux-0.11-lab - 副本/1/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#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 --git a/linux-0.11-lab - 副本/1/linux/include/const.h b/linux-0.11-lab - 副本/1/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/ctype.h b/linux-0.11-lab - 副本/1/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/errno.h b/linux-0.11-lab - 副本/1/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/fcntl.h b/linux-0.11-lab - 副本/1/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/config.h b/linux-0.11-lab - 副本/1/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/fdreg.h b/linux-0.11-lab - 副本/1/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/fs.h b/linux-0.11-lab - 副本/1/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/hdreg.h b/linux-0.11-lab - 副本/1/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/head.h b/linux-0.11-lab - 副本/1/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/kernel.h b/linux-0.11-lab - 副本/1/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/mm.h b/linux-0.11-lab - 副本/1/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/sched.h b/linux-0.11-lab - 副本/1/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +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))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/linux/sys.h b/linux-0.11-lab - 副本/1/linux/include/linux/sys.h new file mode 100644 index 0000000..2a1c8be --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/sys.h @@ -0,0 +1,111 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); + +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, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +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, +sys_lstat, sys_readlink, sys_uselib }; + +/* 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/linux/tty.h b/linux-0.11-lab - 副本/1/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/signal.h b/linux-0.11-lab - 副本/1/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab - 副本/1/linux/include/stdarg.h b/linux-0.11-lab - 副本/1/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab - 副本/1/linux/include/stddef.h b/linux-0.11-lab - 副本/1/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/string.h b/linux-0.11-lab - 副本/1/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/sys/times.h b/linux-0.11-lab - 副本/1/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/sys/types.h b/linux-0.11-lab - 副本/1/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/sys/utsname.h b/linux-0.11-lab - 副本/1/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/sys/wait.h b/linux-0.11-lab - 副本/1/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/termios.h b/linux-0.11-lab - 副本/1/linux/include/termios.h new file mode 100644 index 0000000..2b7b913 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/time.h b/linux-0.11-lab - 副本/1/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/unistd.h b/linux-0.11-lab - 副本/1/linux/include/unistd.h new file mode 100644 index 0000000..dcbc754 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/unistd.h @@ -0,0 +1,269 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/include/utime.h b/linux-0.11-lab - 副本/1/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab - 副本/1/linux/init/main.c b/linux-0.11-lab - 副本/1/linux/init/main.c new file mode 100644 index 0000000..0892fdc --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/init/main.c @@ -0,0 +1,210 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +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; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + 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\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",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); /* NOTE! _exit, not exit() */ +} diff --git a/linux-0.11-lab - 副本/1/linux/init/main.o b/linux-0.11-lab - 副本/1/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..20bade066c6c637fb950d7858a4e12b8dcd54564 GIT binary patch literal 9040 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 UIUey|!5+cgf` tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab - 副本/1/linux/kernel/asm.o b/linux-0.11-lab - 副本/1/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab - 副本/1/linux/kernel/blk_drv/Makefile b/linux-0.11-lab - 副本/1/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h 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 new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif 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 new file mode 100644 index 0000000000000000000000000000000000000000..02751f123aa0c72fe90e820ca24599de825468be GIT binary patch literal 52212 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 +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..33235bcdcc660371f0cfe6077089e24f2a1c3a96 GIT binary patch literal 16612 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..bf2b0d10bc58477ea1758f63f765ba3eab8d6225 GIT binary patch literal 15520 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 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; iYkGs}N`|^F* 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 + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..d37a922496b20c46741e78e22466958ee16e9dcd GIT binary patch literal 10664 zcma)B4RjpUb$&BDt65fSS+-Un+cJ!)ln7(3WFw3*2K|=h6AVC->F(HH`P~#F3O5%{Dv?M5P?c&%W;q*8Skfu4!2?_MzKttO697s8+-}mN@ zw02L==^X8R_uhBkz4zUB=gpg^yVmrtH4H=fm!Se`ic{*HIbKVjhA!2rW~$M5+V`*S za2{Ab?cSrc$Vsb%ZEt-rF)=~$iRIH2ar9{OnAM@hqsQA{M5n_M=C&$2f&}{X8^70Jcs1O#j=X@Kb9?M%s|S_5%@9`qPMU>hfbdXZWLe_QQ#Z z)0?KoVX^0h>;;2SV03@0PWI;L{{D`(v6Ex3eek<4y?wdFYGI7?gpQ&|GkP?`Z+pEm z2mAm$>lp;is(5QL9lwg(=<$wQ0TT?n)B(w-;rAf* z*iT~Aky?w!9 z*i!$u!ekQL#hb*}@5gugVfOdpLzs_xoQ8+J{LcK2vM_9~zM;vaPbSx^7%^J*jqda8 zvEPJO2on$LQG;XANDkEW`+kEuM>hBRJx_8b6&K5W$621Y;0Y)v^66}4c&U>qyRMV0 zWioErNxIp>pi?X4im72Y9af^`tnazbam(dmIXq3J-JMQnZ{NrQCrLG@GYz5gRhK$t z_x74wsXDnVZfQ{E;%+xR)$a8w6rrKLs9IsTP~25;#94Q$n9nB)Y1rJH$U9z;ooOez zyXsaJIF)LmTxFDrs?$5tITD86Y7E4S&)GGU&AG5#9HvgDSoY1%gQ9QG$>tM-u2U@* zon&@!p5t`UKEr_nkcpj%Z0@44>MthJG~;`BvW04q26a@iSj_3gHLNDn;}i>%Sy|vD zl0`4n9PETuh*xJ{df21V#e(aE)sGMtW)zoYJd3-L!8Fx8iHhinLtR_;hY$y@fUWWGI07szge}W+R=cFzBTd)z_Ogd!GhV9_>q$Bn^>TEd|tA2C%Lee)--fV{7 zWrv%RV4`ODD`alwXxq&25~^vY-3)Jl%wrt0F4?G~!7 zHNzjF0nMy4!!u}FGaJnCH_2>gIQ?dL55xHwnE^9=f_*fz#SFhU$=qy)A7LNevfT`i zPqyqZ!w=EGt#q0;8>`jbD!7Ar8#2T9u_eKl9CEM=u_Zr_o+Y#}>J*u(8U7x}lO{7_ zhF@o{UFLeP89q&?nU7$4?lv29>8c72Edz53ekv6eyzPe#So}>?!UC8GS!3uGp}T(c zo3;f+NCkciyGyK(T?w!YkXt%bW&a8SD^6|Gz7*Z99bP$qi8=|=Av=y>tfW`A)U;Aw z*)F6`dKvCb_MI4tm0|Tcc9}YZ?Au|tu6kr1dYE*teVTNR z_7~aDk*I74wKr4#3DSLb zGv)VFXNx^dn_~?3W}9y_>jBc+?e}SOKW*-?A7|eOIVWj*7xfP?H$(Of)cGXotldxf zr%2zXB3x1SL7G`BBt4jJ}(jhC8EveuF z(h)0@!gJP5y4lJUiz*l+9R&?}59v1h53nEXrTKOhp@@&A&SZ-U+<_6j61;>3Jp1DJ~7rKByZQt4H}#iT>_LzG`eIs*AZ6+RP_&@=lT?Q+u5pnC=-BT|O%?bV zgdN6t$04$?Pg6#lE)gr0Pb*^@&+*FiH%Own@0D$pzW=+7Gtq0dpWK3=%Cb$``O?^ ztS-gRcx>i5O3kEQmv+sAO3j!?k9js9(khFg(&94IJj2#H+%uWy@#}3dwIBNmbfP)8 zpiDhX^WaeH*Jy7x2Vow}oqIVuwEq+x&U+Lh2gE1Qr?nG_HapneJeXE(C(w2Q+B|ue zC*PseENiwyOS+=Nh~-8o8IQfk(B7VGKxi$m&{3Zks1?mBbFoK{MDao~FZ1H5syQ|t zU$X8$E7^ zcCyKHvc0W3Tnop2O*jJ z9JGu+mcjYoqr)is20=kEokMA*1y7)i8AfMQOJksEPSXryW<&FNXzx&sjaNa0@w6C$ zrpCsljaM`pE$}@}1wv%jw=8Ld2~k8S4d<#rlh=YWf|@W?3r&Z;_2_<%wifiQ;bUY{ z4PiCb83!9NjP)&aI&Gd>-_ip+O|8a9XHkMd&|Gt?`sgeaVGJ?S=0|671k2kVS*f*V z1}B3x+c5WFB`C7dzB5`|!Pd2&8y0p3Qg>b>k~Fh{p4&VUMaD5HH9KZpJ%~%JhTKFNVpz>o zJglUKToF}wmt0B_W+gjVNaR4H>hM{KFEfuu&FDb{-c-hwN5)6r+<4Xao4>DpcVFm- zzZ*aDl4SA#+VM^piuOp>5{;mN!F#M`|_p4wR~anXio>GQ-GbC0^Kr&%lbR#PLa50&vyV zpSW?{Q^P8$CAcT538s%Mn##3Q6<^|&lux^bw5L-^#51`BUN_ZpBIU-D*(wcZ;{{C7 za0Nu7n$5eartf(9EmF07qB5*9iRzGBR<(+oj^{zEf;$2i@k*`amgD;4SY5N}24|Ji z7h4kRbGq}1a%$+x>?KPUgHGkrPWPbGohjzC)$R)bsOvX9aPkWfYViCyJq0;kFRIc@~21wUXD7aU-M1Z>gLumb3Wq%X+2i zO2J9V1#knk? zIuX%l)(`c>am1vGZQnIO;J=* zg)*v|rCvdXnRk^ga;~O|zEI11BbK#Jl?KZtvRkN5TF~)$ zwX1SSAA*rJL&f79Y_&M7dWMR5x2I4`S9^+;?t;6^TfMt`V+$8{=Mu@DUQf_7?3N2| zu18xa@04lb#Oo^4HQ^=7yC*PKEF{>34PyD28WbPFtXENaJkG2lJTI(q)Vh8Gkpmu) zF_Y4}3QPXvV01`iB0hve!5l|~vh*uD!A4{hVyvBvDCo=~op- z!zW7Dx2~yju~=2=npLZoI$bv;vCP!GC9Zo>O>+zHT-X=u?Yqd6@`V-U4VSTJvoiLE zj5!g@x*xAE%K1v=#qFzF)#TicGXTo_M8+*G<>nWgtS*rK_`QN3x3OwPQ|J@sil)fN z1FM>P12Lm1vf@NjXvImfF#;8T?+F`Gb90kLyPw9--$>TkSkcrxYOQTLY6K3MP0cG_ zth0s=vC8f|RxKdPLgSE6mEByd%H=<%UpuiRK5t@WE+Ppa8q;pFHi$%LicryXBAH}C z*R>|fiNYXeu1>_afZqYWRE$Txs9zPsaj+Z1>&1I1czxU}D$gd7w z%uW4vhHbp&;D?R-J(n@azXP8y#Dg-T?`@h>-DBKR8yO) zUg)rox8?Hev2Og!@3RboI0b=Ahm;-+t>p=T`K&r=Q zDD`xmz$dqzrMCu#9Cnb)*W?Kq?msJL&{JnMGT@y%E@B zK4}m8;YoYDL9-9@$m@Gir5>o86Snbpub{7Y-E8kO2x5KtdI!Lf_OIR0tH1oV!w{18 z=WQ?aj@K!2yu7$kt{=zU7)KXm90&8`=LPAXtQC-IISTTtB;@k_*85~r9}4^z5MtPh zHfWD_>C>-0kSaP){_92tmv7JGrtbA}Oa14>R159Zx00{-K;9p<*DIicdalTE?K9CI zA0e9Nnn#|`(<}IKts`H51tyT%ZuN6qW zwM1-cc2N$y`uq-fSoFRudPjxVhePQ11M-NE|LLQjc03fcKOab*=a=SO)IWLnbIGIM zlSKIY8t@^^**z3_h`4?BF%8F)8Fh*$z(LL*#joN6Mcf9>GrtJ}h`x z@auy7w-EdNQt(~D4+PI)-JpG=pgvFr?+SmrAphq;y)nVh3hMfV{D|=15oCQ*|3`xV zCdhw3QvL@)gY^Y|n&2$KPQitOR|#$qyiqVI$Rk+V*&}#B@biLC34T-X?*v~Gd{yvu z!T%6^UoePghxTU(&K0~!kpHD;`wGF0f?EY$!FvQhDfk7!FAIK4@b3kGAo!Z#F9qKf z{F7h<9#Hz9DR{o%e8KAkpA~#r@LvSq5d1(eivP>e-fF=Q1;ZgvzESXY!8-)U1V1Zy zSn%6|KNS3l;I9OKEBHquYO@8KE&88D1m7k6WrA0Ve4Fq?f(4OR1n(C4r-Xl0_-6#4 z6Zwn6|48tC!3k;a!rI4pRtkQMh`2Js?-aa8@NvPX1^-&`ABb2qj|+c_h;<%mR|b4> azd^gt2s%I$JikGRTt|uA(-65=A^s1$?rygL literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/chr_drv/Makefile b/linux-0.11-lab - 副本/1/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h 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 new file mode 100644 index 0000000000000000000000000000000000000000..d2f3869a9d5cd226117476be64275b50d1cf4aa7 GIT binary patch literal 68902 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ਞ(_ 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 E8yu$yWB>pF literal 0 HcmV?d00001 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 new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..cdb09cf249a683c556a1bd6a57bcc3dbe96270a4 GIT binary patch literal 20896 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" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die 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 new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die 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 new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..bf80e08be94a19c3982f10989e20a6e929a1d240 GIT binary patch literal 6752 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..37e2b15961ebc5713d826d6c25e53571ac6fbb83 GIT binary patch literal 22504 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 O^kQA0pRj`M3jQCx0hyNo literal 0 HcmV?d00001 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 new file mode 100644 index 0000000..e4e3745 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/chr_drv/tty_ioctl.c @@ -0,0 +1,204 @@ +/* + * linux/kernel/chr_drv/tty_ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..6fcf766d95e129c53038533553e2124de8516b4b GIT binary patch literal 10648 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/exit.c b/linux-0.11-lab - 副本/1/linux/kernel/exit.c new file mode 100644 index 0000000..2406ebe --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/exit.c @@ -0,0 +1,197 @@ +/* + * linux/kernel/exit.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab - 副本/1/linux/kernel/exit.o b/linux-0.11-lab - 副本/1/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..97c5057fd4da000378b2c23ca0dba2b274e9b855 GIT binary patch literal 11164 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(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; + + 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); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(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->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + 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(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; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; i#*#AHhs-I%S7#%!wG-LQ*)@TId_?v`#@h2?70REVaqvhHeXw-PJt?|0vQ z-91BUYai47JLlYU&OP_sbML$FH4kpwwn@`8;a!?AM2!>T%lU3guY`6nS2T({$36{> zZ)j^7JE@QFXlpsL+Z^8p?$nIOmp&do^~+FlJXCqJvZ2j}l09}dboZIDPdh;OK-LOu zz53#8Au6Xq_G(n@eJIh^Dn7e-@mcob`%p)#+4jj37cXAapnjqCp>$iX2nj)BwtR_} zhd@&{b`Wh3zCU)h02-_fxxV^ojdbH=dQGm6fEWRp=6{2qFl;Is{}NEftl* zLnliM!Lyz6kS9O>1x9_rcbwxKJKKBry=Qjb#oTs$DMtIsP9IRL)g?Q91SbkI+xcq`)Y|_*^QIuS|46;95x174|?#YJ5AR zZ>emT!B6(tp55f=Hafz^_Q}yzQ@9;<-1r1J*X?#iO^)uFqCw8p=qFVd-QKFjCv_G_ zCR9lx{!gnKpMgSEx`FR#%U31>MwJ_`OxTK>91Vfu#Xga!J(Y>3n&w_qN{#EUOtjXx zgO!O$joVO}XsdDCDiiHBZZk6LaznF!{-!&)9#>GR3VJDcq-_+TRAnn&rF2!W$`vH4 zf<9NUy(-w?3Q+mx*vWRex{;X8t`w8A4HT|XH?eZEZ#-S*9?>$}|NhUmD@9d{eU(~` zUJaeTNmJGpUC42$X14%!Bz=)@Y)3*{A3FUEwap3mY(l{{i4qrL(|DiBQf*3B z)|nS!g{Ic<1FyODH=2hpER3)!N3!GVditQ;qcloWHONlW7@n#@*3)2cK9&)J;^6zV zlVc~%Qy&^f4m0|C3HH|`-@jC79{Jg&Lf;X&TBn-(kNnN0nlpTq$@#I9liH9-R*X~s z96IcObw=gYjY1s05}b_k&1q5kE{T$oOQLjz)1q{R)1q{R)1q{R|3{P$Pl6bVR7q@_DFn7uT&BjV&`Rj-SL_j2?+h1p-qHewxd~vzgyAD0 zi~&WN!Zc?*4;wjZ!{3ia|JC>!!e<7*E>h!u%rW2y6iw526(C^xQrVI)^%-was0C(Y zW%_oJj_ik-srgfo%ru_{GwUsoFB{rzKZPIbGAL==sRSAg+U?T7>O`Y<2kC%yJLPwh zwyhJC@96Mj$F!d!y_52gZgbITcYPB~lWt#0rk|s0(d`$iOsj5R1)19t(HjN|`xMir z+g7!uU2n*z5<=TW*B!cjfGv{g(d~W)Bbi>^euJ(hvr@OS)s|IyLzxbCKLX1>-R|Qc zC9_VqFT*ss%m%$-kZN~RZIf=_LkE)CtlQtFYsuWA+c(j{9)`0`x04L#9x~f?`$^hJ zW`}N{t}^|){V^TLmOZ-tt!m3&-F|=$?q#P5y`fYZ5!znnZAiDj&XyQk(#XL9#5V9p zSmt$m38RjaDd~2U;Uvfm>-GTqahU6ay3Lz_mRyDD8PyxoiIUKU?f~;9`Y9HLcHc*E zgPm-q`8@Rf?C31aWo-q7{!g%8>AUCe0oE&!`(%*9dJzI&l-jyA4}JUgvOCk#DUXp3 zST9pPFb>+bcH-L?C*5E@M?Z3yVotd~fq>3^AZh;)YZa%(yLWJ&j0JQDkIq_4NWz_%|?dWAKg{=ZK8 z2BBXKw!qOEWDRIkiTae46OH|>0f#mNMSuqdYK8@v~GgHznoJaus)%@_g=_t5v1yD%HfzELNm>K z0Q#*6C9So;1=@(SI+m~sg;6AZEosvzk-m;}z(}U@LhB%H8_784zms&xNak`v>muC* z8uD(^E!HFOul3Mqk9Zzz@vK&rwBi5sJ{|&(0!y=L7o!YTGD;61-*{+2FQiBp5$hO z>DoYY8=@52Mv~i&1jtP!cNj^KHrm zcr)|$9@X@tCDF7BtlmQHL22=hXQ8){ghk^YsN2GN(~p|rnFvl_;M%9fTyx$x(67Fj z%|F0rH=}s!ySSq@XA4RWC(U`#T-kK79s%h~To?V}U(>PTwuj4gZF|Gagnq57xhLE~ zO~vg9kI|drhFbm-ZFBHBh@QhgqLU6U#`!O)Hdo&1$`eA&`+|BK82aZ3`$cr7J#`|W zLYH!e&dSi`TqF2q)`Q0dnpr6xXE$S_Jtow+9d13Y2~LKEE~`X8+S1J8^te{ItZ|WM z6pk)yNI%*J|5c{F8P(;rbTo4f=(51{qdmi|>vtsg=` zTsDXsi!t+7kbXL!fwPY+-8Ev-DAcsW{|)O!zeST)p~9lKNj@&gYpF249441@WkecS zUGqr#(1J^wqg@>gTSjnUaE{jK58=$DhczQ;SvOfP?7(urMv1!_tF!g6#A-06Op&3w`h;HU=7;Qo0Ea}_l`L^I&d7y8*j>W00p{{4J z!MWPv`Rrk~4?SRWn=2OM<;$EdgiD8u=Whvf41Fz6u9JF=zN&Y<1$Epzg>CB6*39=T zUAynOc5@jm>bYLQbFEaG;aVkyu3IeRvC+@q=DQ^36W!IREc{d6RG_W1RAh57J(tz& z*34gp0WPY=?FufxUXDLfFJ~0Ek6`vVtLkt}$~z5{zLT>r4uaCOKLi`_EnjRws&#dB zr?T;MIpK7tQ`z#cs1p=Nigm0I#rTku=o;cZKbb4+>x$F&kP}m~(n#JZq8X7SiBK!1 z2D7m=XjybV8Kd#8rrlmH8zZIPZ#8w}r3d=gj0Lui1$K3hoe;XIJvegfp1@Z8+ZEV# z?8LDXf$nqqiZK2H=L4(v?=r09V@J!!&R-EIANxG8_1uf+&goZ%@%Q<;!0L0gD-g!N z)$%(W*mdswi9q@MiD!-lUi^%m_;2waI3MVC|Mb7s!u%ZDb*N7^23Glx9h20r{DBvg z{{Ca<6Q1cV-9!=-PB9)W#Rk%jD3)S{QWW3ueL{+hr9wGg5>7S|<@1ZkItQZhT*8SC z#EMXlMU&|m_PJ6a7KbcV%Ea;_o69;P70qHI_7y?IN~w$^%JLiA&r(s&#ESbwGFBRL z3Zh(e644B3ar13EBkLo*T`RkKBb}L8AwIM^wS46Y(D8I4(m5FEOy=AGEQec zho=~)0AY$fIi1OJHeO2QvPFopxlTEV&U_(Pa^j_2K}Ieg!DQsAXwh-@VPfxRsF_?D zPekbK29b^xOHn>hK!c5NQ*uN)mmQ4osVNEF1Wod(ydz@iSRo@EK0YK>Cg=nSlv&Fq zlTqYu*ol|j^bR1ecm&L1@NVJ7bNP{I#>t?YXfcl*igK34<|I^aaW}FkMur^9Fs5jv zqI@Wc4mu?@BSU=loT7r1_lWMHT*m3nmJ_A!T(J|g=q{7ap01@!JJYd&?jBdrz0WCR zowR__GK{jEN6Ngi;Jk}`A(bnn@EDScCY=3Zzf(vhN20NU6BAK41k6Vw>SXezktnhs zcW{r1r*lOon#)F+3nU~}l0_ub&*dg$Nx9F)MGgo#C}Kz@F_6y1_c@%6`&m`2Lm7tS z)*bX>a?+t7C#Hz*Py-@fE)*Qh7anB1*@ze29CCt7D8Oi~@?b36Vu=I_(wl+!P^^H+ zP#P%HWD3jUzEm=q!c90C&Ep^pQ6Bwf%NdbNyX!+ug4`}dez1@i4u?~4@=mNIq{B2e z8u+Vw8^BL#?XHBs-7#P#n2V2s? zz}hoGlXk0A8_%I)eXvK52hDbnJMi&Nmb80RUmLW?jP=1j;|?uo!#uF|)u1WuN1^K- z<*0jzx{n!agP}*wwZWz_AFZA>gH5ms!OC7c3F}v2?Z$o*=pAwpLz6y%rmo^h2CErZ zD!4f0Q3WU6RdR+)qD$_TT>~inu0qab*qCqz%7aLDG6xk&#|8!pSVmp7R=hOI4x+~D zMBLsy1N0@j;<-$Q)!miF?$(8U)7|Y{8)qmgcSr>P|GX}T9;QX`xW=oOADo=Mi*39X z;)A1D?TX;d0UB{^koL?QPD_Gsp=jeC(Qt3A^98YNBVLCO_3QQM!@E4X2Lk$Y&jzl) zPESd-k!8(zv6AO=$1QaMdu=PxRwovtSKvJdg5Wrq18*FgL3=hJ#Rqur|1Wg{kK8>? z?-!x-qTo{YOS#u?2DE1bQoI3wchw0zGKIE!f5Y&{d~zH(09O5t zfTj)e$m=RBur4pT;MvB{BMLpe+i@tn7BcVh^o~G4+Pl8N!&}|uwLJ?NX>Z;RLhtQ5 zJuif(A*&z9D8|ta8OOo=czNLyomVR$#de%7Um&3_uiyGU*|gy@AwGi;!xsGUkpAeG zeb)Qy#X@);GVk*IdAx`9a#Q^0MNdwg`s*tB`X0!ea*n9Wy-%N#Nw)jgRK1Mqs&qw0 z)!O6hGe>*QeC;wsLyZAt$PCm(hRj4gAH*-f?!`RKLA+e|jFo$FBjQ~Q^e*PH+hc&_ zxemQOn)(~3wQrrq@0rH4{=I#h_V-U~KRk_RJ$e`W|E|XX$^Up7|I#%6=it44p8a{J zv)Zw$dMd0x?|5g712_*kQMbjtvGPQhk7ZMFb)St5I_?1*hlYaVMDulmDR*L?-tFCp&6*fcDhhk-gK_BF+SppZ{c8a6#YP{#skR(z}CUm@bB z()Wq;@VhS&>o|f%tzrFLLxle=L@X};v`SvS&|V-!ABspr0c|8go&xGv*u&&uf0%r$ z5bvn=j}`u2;Y=(C+O;aYPGLV0>pG+GVTDgB{E5Po3je4ujIq+LUEykleDO_rQsEOs zjORIp&nx^}h5xAV--sB;M+!ex@GzQW%q{GCD#+cfnW6wX)3m;RJ5Rmfi%$Zt`&Q(;VDM&XFULkf>77zDEa4#&tNUGpO+QBN`#+}6#uc}1GueHFRXBp!X*lC iRJf6deFDP}8v5YfYoO|v$=bn4+x%Zy?GQ*Z@%V!#fA>2PhSfV#2g!4O-7&DKrQaT2a=OI3>cqVD~ls_n82nk5w7mrs!F9|-JrtD~|MOEuTG(ZvU zCQ(o5UtgEW`ol8c5YRD-N{2oG=gH6E0YyR`&@g8!RaL2uwsHuAtSfc8lW8gFif2AP zMk6c1nAJ5@&>N40N8H9J2B41LXtayh&u@!=*+_gDaj%WGe+#sXa%S(i)sqrA;wgBxpdJ4x3;n1*A9#D~Oh% zq$lY<+YkKYwbaq=Ww8;gjkS*EsmfIAu)VDa>Ci<&ytf;Ga6l`8t^1P$+G=AXKA^BP zwglOUsvUSf`5)+Dzmueskj(k+{xNTXABqhm2Ly8s%L&nq zDgNZ+c_!R6QdDMJ{Eszgj)BH4%*pqLHXt z&O1l9KeHQYG4iOarG%CFdekVObnY#U+!z%@M{8p_Xtzrg5@4L!L)7Ic)_(8KJ>X-6W6QKg_1?Y8#UX^1Y-05-SB6reX3 zqZ>=+N_LozL1bY%Rl!-L;9;hF)=COaG$_RB5M!T_BpP9(+ZDTcN}4Ma#2H1fe{!&r zLL@Uv)JavmO2}@kK(tbxOQL8oQ{;T22_}Lca2_g<9Ts#$Brxk?R8Vzd7{ep03d2Q3 zA|mrUIxFCZGg9)^ldEx+3dh$&tTDvRl|V;mPAb%MiGoX6)1ZV8m)f!%X|7U7nhAOa zPak#p1BwTtHXqnc+Kg_a)KX^DMqWQtXcb^kQ$#mWT@f7ab&x2Dd3#%?N`bAjk?H0YS`Tv8dc;f!i3xapRg7r+KjMq$qE&< zH?emX+NS=n*&ymu#)0QT+pTB4sb{mq_Bw&olZ7C8;$l4ZvF|-S4v+7T$KxL-;ITJ; zChuKoUi3F74l2BZ2HrjMXc>${faM>Oj&3}H9kMq#sStXk!~S&cOpF1tEvIdMwCm1T z?DY3fpZ@&bD1_#Sm-kZT9C38-Wq3b%4IaPi5j|q>gG`pDldObFKEWw;pN+?pzzNvS zfh~^KKPm1_8L9BzkwB)Nd6PmgVPs+C%7S;cAN%u@%=z6D0!G+p7>kyY?*A(4EpoQ9 zGB@3Pi!5U4l3Nd+Q}$`8_T$kvqG;e~`!TCR4LXPHlVc#Gb0 z=38!Zb0P;TZk$i$`l}AXyV+0^e|(SZ65D>9^vGs;BYOJBtoFj{svn)3H#%|uJyJoA zhO!f#KAPsD(p5iVkAmv??fXrP*7-XZ+87-2+Ye;zn7AW+;I&YFM@SDKY8Y5_ke!et zei??9LcC|8*8`-7m*UNJ$5t3o))ctH_Wi+*xB@~Q`3i74NM0zHFCaj8lS*JnT8ufk z9IKehn4=|ix{~TYaV&K(^|C69WqjAok*%C#?PuY!j>R!G9C}`c&!iAV3_~+Ouq$xC z%jRl?NF^`15(0nf=AeUfa1cEV5sG#yuT|v14q+TkJ)?@;eebc_4m0N=>ZR5Fg)0L+ znsIB9wRs;z|H?(nHmJ`L&$XY39yq}ng)v-F&i9VWPM}8DjOxGcGWO9)Sq#lp*pZuh z0q-K?`5bDq1KMmqxc%jvr}v{vYn>P?$i{GW@=2X6L!+Tzz$IxvRJ>>j=T&GG13z0S zs^xgeaQeR(o^UQY8%dZXub!9WLXtd@CYh49h_=Ntyy=j&cyqPXfH$>h!kf)r?5YhM zTb#6&ns%|Kt^s(M@!+LeI4@=m%jbblyg|) zd6N7PL&>=f_Cu0<{k$YEl4SdNNq#|+y7Q9!nj|yMOY$~JMx2+#hdy=UgZIx@qcJ4; z`FTkulH|MRCApR)pUNP~+$+F}^=!_!fILexc+Pa;I+9G$Bpmskfa7Db!=wLXcONIa zCmd!6&za4MW?$r-+4;=oVyM4xIg>sSWp?bG*_`)flyY`%h9dj8HPk;_X#)vu828{G8bp%&t6Vb``T1pEG+Ivun?p-N5Xob7r?NJ8{nJ4b0wj&g?d3Z#`Ew zM%my%WcFN&Q6+fbn6+~|QZfQYLe8W+tL(EH+zsI-Y(Dfv1A5ZFCOpnc*)ISKAOH(+ zdGJ298i|LB?;Zlw8>aa|!oH_pH1=9?H{ z+$MHnzL=km%@CFyZ9n8ND!6sY(uLKFs(vJydXA{qGwQWZy}qqpd(`X8>ea1YpR0)P zf8#Ai6^vNk*j*(Tp;|-mhLysMk0D`jAC$ zm0+mnz)>*fbPjC`uo$yBo_E$_Yv`@hr)gK=IfhXpg~;L4h#U-%_Y~aO6e||!>||yR z2FcTR0wxZ#e6iT_i*~F>Wn{D$vV{&us!b5nojQo@~Ar{)) zFO~s@%-8t6Z=-H{4XPp%we&0cK-L;!@?rISk@WBVPf(t0w`HA58Ngx>hmH7wG^0cu z-1~bVQZJ=`nL2Rl?^*s~fm(?4USWQ!ll$k2LxLnqb#iq}s6+0CMZO{&4OiBssSOcs$5(l5@|#+5nE$z&?Sv4QAAB?#1w_7O(W#qOIfTU zjVMzT@O-;{f1&K%Fw884MdOqM!e5&*tZZx?J21q|&+)3W2C1O((b80}kMba(wC_4U z?ZV0dO&A?>2d8==_t5iU`hq*S|07E zrRNMSi8(_{h3u!LLiW>AA^T~mkmu3zu0C2GW)0QYfhj<4jkx=Cr4OgGw(Z~OKP)S5 z0LL(cSv?a_&!9dfL7Q`Oa+4jsW0E`_+v5fp(>6a(e#()%$}R(z_+Ik&gnB8DN%uq~ zpjRkzq{US6C@iZckj%I`nT@RdZkFD7?D;dM+d|CO#c&uZ7^iDzEK!%CU!{j-EWh(} zc3+V5(1HfyZ&Nv#+ZW|L1m67iLxqbDa{f-6pa|lEsiWMBJZkJuac@7r15=Cve16Km zLtrgyyxe{wuKg96JH(U;n`Ot9@D-b%V!dU&1JR`rUBc-I$i?l)N?})rC_M}U6#~lB zUK?BdXY{-ZV{;Z?vCV$z!6&(ZQLF~&?8oCh=HpRplucGh6UbaJl#7i496C%J_s-&2 zc@IzCAlXJEgcayW=4g-iaRC9BK)|%NO|fYrVdDU~GlYeQl36%St2BE8OgTwO z1Em?>Gr%YpNpA8N@2oIj`Qm5GY$x6`wWkQ5-^ts?D64*|t@9SB=GD8gEo(AgVH=hbLFFRH?I`6;Y%rae4v4 zmD~1jd0kbA$3QO4j>_1y?d-jfz}l6n`VixiJS*ZoV~GwWNA*Q#q|o>!JLZpcMWMx# zqk8%kG+E|m=yR-}x^W1sQtDQrs>NG=B|D6($j)*^C9tOP{El2H3g%_iicz(f`-$pb zbE?{YsB{tf)ndTQV861Hx2Q0r7XCRV!HBI)S&orcEz3Ar1PU}Omu2*^+EVb<5|D0= zJ)!n@L+gt$AaIgAeXPAaHYL>aGrsJeAMxe%JjYkG=Kx3)}SPpRU5Gs1(v3C+yFhxRZV%~T#jV1Jg6(DC#E}Hd9RKm`lt$el%wP0EX1O4Wb+iahxM=8<$Y+D~937WJQk zUJzl|z&nI@3En}J?l>qNHKF5_rBKnG?@7-pJGp>j;6kU913*_oI_aQ)xoF0$nW87T zqTkiBO8<6QZ~RHC`KXp<{^hc8w9!Ye2eho76=@l&3vnVVgJG7*^U)$498O1y?mI?a z0O)N7#*@I~rVVdsxOlM3L88aUY;IH5b`mNj>X5{2k@JhbDy5>M$t z2r!TNi@HSQNHGrZ!*=$1x04qF zF;0{!?7AF9MrZAeAxCo&q`OMzOll%^%37C^R0nSK zYI)DcrRtDdIlV1&OD0QaNv~=IaluPBAOn-M2rgebi;*u|sV9Y+xTwenID~_~5 zZM$<}y7s25cmXZkb2%v7TdweyxLmpv^xYFmn@0Axo;=nWE{p4~&tP5sE<#e7!LfG% z@VK~>jTfdtu0NgV=B&N{PHQhiDkPHQWb4#-bjr~WHFNy{?smoid=abOQ5s|&=Io=! z+h6#}>#0|KY?2^uttub%$PtpGg<5}uu!mP)ajFe>Q{F2&&h+mj;}j4N#ozw^o!N6)9}w=sx(s7-eFF;UJvRq!$t6ls^o_`Icn@L>f^uKM$QF;0t%RV2eHE%Q(%0&;c7FMWLTpO}C$$b z?gc4r8J8`*`6pT_?gzWM5_MSa7^56_x=fr&K~x6ChBGOM%An9Q(51Ri&KS6~q!sRD zGKJkb1KW0<)H4TO^B6}xF|e!6(2V&AU0UyZo+;dOBH@MzhXqDQtv|!n&In4-Wz*oS z@Qv_w={j-{lN*WZ5(@4NJDeBN&cxd(MX<6P4i~#wuI2I0{{RJ^>@?gi3&Zoaa(;)p zVhO!HCs(I)&*Byd&&henm%V2*Z>e%bbBC9B;`);l++5sYJ9E5a564J;(MgVT6mnVy z*is1d;1zN9eiZWtG}RL5Xo;)a-?ekL(bT|}v>(HcB$VB+(%i}8HJL3)o*09fH&e5d zUKI8aa@=rwN0llnAEWvw85ZJVewT!j_C zKc_lFv>LFS7W+k4^i3U~pW&N5+#QI^017te4ve(c66lP>2IZMHtdp!GrF3hZYbk2+eui3^?xdovv;-MBUHuX&E^}XcJIE;dcA=IU=^^h{4@?Y!f(UY3@};8wmODirZe42 zXYI{`%IGtC=Z}8Zgt`qZ=mS_j@Wfl|b3 zx&~K2hNH%Fkj#>-P-25Cep50 zym$k|iEC$9T zqhd@;RQN?jBkIWdwX9vUqOP?S3Nek+#>6LW0L1`NyC%83sV-VylWa+06R{_Dl^HOc1MR?*nJuBNH6HoB$-^=hsK)w;$Nbfvcu4%p~5p7Mjw5(Z+cU?=(TDW0!_Jw6)Mon$BwkA=tRJN^{t6Z<8rnzwi zOwdZp%x;dhuCHl9&7yS0=r~!e){V_8;Eo`OPnmQW z&%6ExT>M{9iLWVCRWC$SWzf|uUr}3Ezp|n6wpC55o7c45zP2@yT(^G1#yd#&{s>$V zimH#P-)_49`)y78+YBBbc-|i+#GcWA*{5hEzH@aJ+Oy$0KvxOb4`#^U34WG!U51Q5 zBEPr4uB~gTLnngWn#a{`XlzZe0G}nqlC0!NsCeE&0W-|UAw2HZ3KczMbF1>i1`oI*^&+kwqL0B$Gp z#Pn=un>jr@c#kzbJ9M`_Jv-9wVcXqlWJjhS%nnU|Haj@|aJDo3pJZFI?)>ZTL-Zeh zZbSw7-B`+PH(|^supZ2|3xQ(U?Z|&kmwPwMZMUw;F121UP|87&K8sRVMgu-|*+QTT zNc%3;_%nF9rVEv*4?MZ#WCS1^AA$;Ms2AUOg2T;P8VUrD#6^-EK=rs_AyIj0}kh*r<$2W(sV!DYx_NdfHlE0lj! zBKdjX7ou#Inc*MvGyQ}7ZTP%{!DJ5yn6vwEsr8V3P9NS6wl576;?sCThlts!{DR5; zz74ZU-!6fJUqu4gkM-bRf7&Q;AQP>4+=#bpySO>mHJ$WtW}S=o5O^15@aCI0rFo;k zm*O)5hqqW(Br@tT_nW)#LF?&{1o+# zBFQ=60P=25=UtN>G%M1+!t&k%O?FM*Q*7RcGo+#{>Pca1ac*8<#<3>?eZ3S2F4jew;M>Qp&h!2e4I zEoD9q+)w)94gvS`ez=!``?r3$H-S6e566wyo(vrIi2(Np;3g}5B5SnYGugk7%02>o z3=`_v#y9Fb1)rOd@AeCpQGw5L;A-)fbzY|0w*kp#ftT@uYTu8ueWjg{cWsdnGT3E% z+^l%mPr8ApZ$MVmdbBq#*$dPS<9Q+}^Wx^+*>)7*QG9+5JliroCRyXtV+PB68=nCa zg&2Z2<=zB6*k^($=R)8wBrkl{8f7Bq+;aeVXs2=*6jQG*ubkDA^(p~sA@WEEdFkkPr1e3NCpYH;n>3?4W?x_qM`S;@U3~&qZW_`>X zvTf>n6rVxGYJ7EVRB(stPI2VDh0jgM--&U+cvCNYoEjB?(aq0kMa%i*mOf&)o8R0`J~bIm~u?mZ$`Hv|7|FIJHIk^pulYIH) zBjrznav#(be};>xe4a=D66f*mpW^=vwoFw%&nb(~$UipH%}<~CX#t8q2`5wh>2tn5 z`O|PRqVjo`S9ON`d$8lL@_F9ooRPl{JGm;K=M068tG(LiHN_j#-F)t`w<}Ufr1bmb zTsJ?xC#*%hm$r;;JPn*t;}POcWzn=D&2h+aOnW9?R*f({1cbF*L$&pVa{1G%1GRSOu^5(9dk!a~)oe?P6b0)zrn z3ExC~$P5f*;+Bsi5itYbCwCR=m2U=aVvbA{n1L&RQ;Db$aGGj8N>xV zVOLXhktu(_UnSyZU^bPJImKq+9*UNU5;L$goioJ@CMjUyRtP9H1GTKAOw2F?jc5{; zC^LgANw$b&GtI#D6d)6`%s`ByWnzvQSV94dsZO~W=)}vum5B;7u$??IQE3K_q!U$U zU>^m@oW*9~!I6ne$%VP3?!-b z3MLX};5$^OmWd5!z+yRdwDl%4FrMYq&qwpLnZc%7ctb-25=T)^Ypbwtdk6U^OfkUz z66n1w=xH>S^eRV~2asFhx%D3)(Z3N7k5p3lzXrT#DXC5Wl_=Y@jK$ghUy`PVu;af4 zay-jB00;eB@bs)8JivcFX=)!sZnnP}mGIQl@1p+gq*+N`{1P2`8weNre?qvCWfl3S zu-w}SkN5v8;Z=m={wE1HQT`M_7PxjwJ-I@s(`^OPpL-#KUW4aA(%blcETx`kyIGgY?|5`llIfQHdm(pT$*^Uju>%)uvSDJQ&@Gb|;k2duHo4r%c2OC_h zDZ+06DMH4jUBE?dhX~`cF98!NgIgJw6Dz!*$72tmL2?es5rZA$+UJqR9AwNSATS3R z*Bu39!@;PVZF+u=CdqpP8U_u&5x`uUAEo$!!F(~KzF8PSBNuo(pEp5_0Y*L&ju=W@ zF65ABfc+Ar4r_!MV<`Eyk+iE0Sq05&fukdvyF@_?V2%&wE_-;RFbWjDY4~kvxIql7 zLuHLI6fskZxd&oMeUYXX7u>^w=KTP2`X6qv>`^L(p^*!sQX(95HsDfL7+NT2`Jl8ud8M z*2(hRo0>+~u*pPz*1e`_bS;BW8sW35L@_+E8mYfiCTSAGyll^}xYsw0t_L;!SNhO@ zRnw1NK=I$$N#__*OxCB|8=gkjKWf&eG^@bxLV@Ck)X=^2X>|P;sn|q6l*8ICG3HuY zA79Bq|Kk-2;{}4|t~FxVmzi_Iy%%b9MSYt0gyt0^>Z#CM?iEp^>l&BjEth220~Gq7 z?u}8Ss}&?{-FMuklBK?@N?k85#zWVlyJjjnHl;UejzA?c*>t3tYI$l&k_&l(Gp z=1Mn3n~Dqnjyg>=-20|RmlqLl;fj_fV%fM5aPbVhjmZXexMU73S!|3`#6C84=%gBW)&Raq?4?sZn9YutW{ ztC3juLMyQEleS)B-7BrY=F!ntNvwOR71-Yq+aj^>y)+jsA(^uH>lZv6i9AUV8DZ;FUw4C89Ue?nmYU6Q5@x(^x-^_yQ4EXCS2i zPFa{{nMA8kyp$%A^PS@JE>6Qt2q4_mkWIQ8(0T3yo#mCGQV}RPOvni9G%4aJz_dMIL1B9J zW13khu$hMQ3*>p;Lyj$1Kc?Zm5(9(J{yZf3p9J`nWn9m=H1H60RcoNY+u$CnIjVgX7HQzW0{DW z1GolKiI^FDAe~ca4&WNd&}*RJDdxyT+zbw(GBQzY2JfI~nJ6)X)6zLp%mG{j8F~#A z{3$D`*FZsza4Jz|4&WNd&}*RJ1r(syK*2l7qt`&er{#SD(3)+?Au zm_b4F)-tgH36@hwTW>OhSuCf13e;^g2QcO`8W>O=MLCGpjN5(%hd*J$6TSv|xd!5u zN9k0Kus#cJtbx7*!GTtY)oY-@4&e0~DDVKpd6r4n4LnJj8p2LsBXrVhpuh{LhF${& z=98xO+bAVF5I`k7_4K=F;1$xWByTKm4S5>~7Y0rdR%@U@kmag1P~e+{)fy{7N*Fb^a5MRt84Qn8hsx^?$ri75sz7;R)HK^5O6uto1<~qkv>l~Zw97C;hY_4+* zwa&4*&N0+F$L2c6Q0p9<>l{O^a{vRc);WPOsHzdCc)iY{yGZ8<3+vOU(Tm1pcKyIG z5~_7hpo_3t=h$557;2ppIDy(3YMlf8L}93PPT&R7U%{a`0{kRQdxZ0Cu5%2v&at`9 zG1NLIupH&8aX)5ronxqVj?HzBf{Sdfa}*r6xz15=vCVakq1HLT16J!C;4xEAXSt=| z1+3ONz+*ZfdX`OdsdWyt6oy*o*jVQnYMo~m_J6F5W*sC7=@ zewfXeTMK()os)wX`=~T6);Z;X`O&8K+3bN{4*7ERBf~>6a0?Ch3VVtBRT!h|bKuH7 zLJPg}C1fC43;&5^uaeB%l@O8I#yVk6YsVDFFUJ^N3z0pjHL(^*&5`>ee9x3tLV!33 z0k4~I2GfA%bn+mg8Qdt$8JtcLI_CWe5`h+6;)GjCaNSlUjRhhvJOImcz!x#=4ho;8 z)TtGD&B(hLc{9>%<;(+HzKI*XF~CaNe9l!sW2|C>49UgVVcz0?amVQTBm@kS>fOS8 z)I9eTi_$4u44F%%7Q0{RF}e<=Ipj#5=Fll{ur6ke`(+=a>yK%Unm%Rd6gci;k@fD^ zfQ+uE(G*IndSx`NRlVZ32f=I1l`7$YFr5evf@`@sp+R(3vq8~CKnKg~RQ@13teYx8 zYJ)Hv6=ie~JB6EyK}v6`a1c9>n^!cL9^ZOQ0*D_xKEO0=$rPNC*K zhP1xu)!Z|cLLQ{ea=eAT?u{i>7ERhj0vvk!+(fnx{DxZC{_l+kr}n&a+1 z96AM#XW1Sd?$@J?uDxlFjy@bZ1&(}{(dmA1%INy{G)HG24xIvr&3fGLex=IjDu8FI zn&01tL#M#;LzeM?`(-Pm>-sdu1ARDj3LK+Zk8byCSVmV{nxnf9hfaax5ViV}`vond z>ziqgFZJQjDRA6@;mQ1}`_(O@>(^mo-8Adiz3@(P>MQ{f}K?Q8_h>fT552&E=APNd#>~fE11|iG58aW8a zXM(|EKu$nlTSGxM4;x+ppXVabS?4;Hc!*N%tZ#!5rxJ7U>OGY>MWo?ehSAT{M%X=- z=mbW`89)^1#WH`Q_D@)Q--XA{AtEa$I}%Nx)HIGgwtxZSw?O^9{l@)v=3$v_7IhftJd;y7cT;4=j$K?kI z>$tp-70_{cH4E+=mp=*F`fP&z#Er{saJg~$A#k~Ic@0e9#^pJr`H;BWOh6SKms=Te zxjcW+ak)Hy&~dpuf6#Hcl@XWA^9LQ5%ku{}F8?~@pBb0aIdJ}9L31}Q-$g~TF=MOqAm*)>UE|=#IIxYuqIxgq=gO1Cs-nblEx^X$rA9P&K^9LQ5 z^ZY@_f}B$V{I~m}1~big<;irTf)n9hXl; z%k;+OYiO@mNhag+6-b)-?w6H~u9v-te3Q6C$(^-$wCcm58eF0P^cpMYt;?Z&~;<7Iv|s zTpV5igSn~7@Ykrh&TGj3BCa_w*x!Vb!~aYnMXruRzNhmPew@PBVxk{L@nx);`%P=3 zYoDW4mw41aPX@tq4F=`&WZ0`yPM!>jbt;&LhBkE~l)IkV>Qn?m5cSH{o4G4LPsYbO zRREE_dC@$E=5lRk?utQvI#HO%&|K#f<#BCl%7ve~E1m~;bQ8t7>=JIO1R{C~r{uv| zRhG4DzZi;~*{W5lh9VrAqZ)bf(0XCc%vd z!9E==rgsb`sCGidE~sUTB%j9j(SAlxju5T5b>&`UX<|HCgPae!-?0yTh?6FR6|XPI zl;>)^Jn2guKOxd^UId9Z!JH_+wT??11L0~}^>{pGS=aAG9i0+nTNUz4?aphUw{DcA zPLS|?!uYLyFjxx+2c1UZD+8!T$Tx@ZO~i*x-&iJYS&l@+^chU(K*?8~P868F)u^D# ziJE?HV5&sS^xc%sDK!1uz_h9E{Nf zwXhKaN=@G)R#GNrn7&;klZi6Z&kam#5y@tnKK_e)DlyCSO`&L+GY7g+z+$RXZu&k? zb#7&%!t@oBMjLy|3(6wVCb?WLqPorx&h zUN#f3?ff%oRG{Si3-MTX(@8#oYS=3X4{+v_ruI`PCENK7<wyo# zo;0I(I#Av$E~iZP69h_^z~0VUaCs+Q22eOx5}w4PRNGkx6L=>tC))Wq@x@a?gAGiQ z<`56Tln@Hoyw74bK$Rw|kjKF?P_o9-3xy1ntcwY&iyGD?gw;h2tBA0=s9}vGtS)L; z;|Z&a8rB5D`Of{2Z^bFTKm>`RyGZ8<3zPp)Y|2q6=8Kz!MTdO)>OhOP_nKjtS)LO zSY6amunLqEtS)L;(@3u_YFMR&)kO_!I^j|oC|NTI%ZnP;H3a2F4Xccxyr^MaOHf|a zux1jJ7d5Qw2+E5Z)+~bRqJ}k_@G@r$Eii|0ty9EW&%FlrY!JcUq50WIrD;cq;3a_h z(WVaA?14cBO4D5|0;O#bVT9c2!suFoyj+B6Ap)52;Vg}S!gql$$WFG|Wu7J?!{J}n z_GVxr-=slzkU%_(k1criU>jcqg;A3W)8gaao(zJ)%mc!-()djDfp>^jOPaEK!E);Qj8jRW_mY>X}*FneXYEM~n~J=yY$Re`quK^DJQHN2D6 zREL`nOH@fsR0g|OD{Qb7(Sx|n7Cf@Gjq7paz<3Lf>4PyS z#e}>Md^KFm`~hTq$cER?5xm1(zXvN`Pa);mjPF$2fqImJu44h?O-F1&k{QmoK;c`-ZUs8%XZ>d@Ok5UBKfafK4-cybzbA z;x_h^P*$Abmd^%P*2L=o3SSqvvL?L^3AXPTOprC1P4D<}NK<@0Xb`uNG>3Qyri4(I zJr6H)CRAzi6!MO=jN3e8>4hq8^IS|=#ciHT2&=fwQ$$$BZJu$2RovzoPguomo(Y8W zecyt7Pn_Zrw-H5mapSi8P@@+;liBrs-0AQXlS25W(Elzatl~D$WrQ8y02tkKIbjvI zc}fU}e7BSS3c@OG^IS<-#ciIe2&=fwGlg)}HyP!6rV@@>JUjDTO<2Wk3RZEOf>qq6 zU=_D{rjcI7ZJtuXDsJ;kCtPZAL&GzJa2YqaJl7DEahs=%pp4r**AkR*n`b6L8Mk?^ zBPioG&n$u}Zu870yv)aw6VDvNwZ0x&V{RqviMWk-!q`XMxQ&O<{Ag2W+3bNbZsV;H ziACI&Slx=S*LxpOzTd+rPSzrb7QQVosN)c}eaqlpj*qb8D?yQtpKwr^2f#4S=jEQ3 z@6#aiWf2s<_X#@^?RypsJ|E#+-x1LJ{Dg=33Q>SBKsbhg5L_n!O067`8%L%wa3-*v z*^t2D_Hb@OJq8KJK!TXUBbb$qFsXRSFv}hd^dKe&UqG@UlfVm2z{~U6Jp42+kSq%1 zO45)|%akn!e+ABGjCOyQ&gl9?nq#yoK$kt58Q8Kyam43;4F#AXcB`9Fnip@QEB{&| z2NAir7r6>LnL~+O-isW8x|t)0Z0JQ!A$yF-=3ZnC6g0;Y>Hdfv3bM#Pp2$1WltW%4 zQjP#^Kt6#?qiYcYgYZMtKxV*rVNOhL3g>^ym=TSFpVdCjux0Sy_CVbAGCpgD$q2i?(pm~;m&QopHZbny~icsiv& zthE$F$Fu0KlP<4Nh~0P_U9XYuRhIj8f|QqKvvUsl6HEUdslNy68In4Ltf@AVm7J=FePQvZPNs!f~Ux68^r$PVz<)`|0(tJNv!)bf1v#>1!POC z`$K=g{*nd>ORW1-f53j7a`PqD{jooz>w+Cr`T~h{f9}ud+Ji`ZL{o1L>J#OqXEQ1Z zY1$w|l79r99Mq3MOWIjspm1As6>_a3!$F;QHMkMR^J{asINHd3!}&3; z4qGpR$c`2vAB=gx;Qr|4;IYO4_Q?Bfo_PR6p7^&xo{8TFhyac7q$Ys2cOCTc zOlCQbcN_7=&jLo!LQ;o#gea8Y_u2o1m!}2{j@SMz;6RP=dI*TXat+y3rv!Qi>qw0C z+<+wjFsJ!!VzR%0GI)TVgGtO=he{X~tc39X2Fe;Y61Kh1Lx3@#u;U#H24ex?pqCXg zD#yX0LOJ6J-$Z=K%yF2wh1y2UobQvnihAXnIa8S<69s0@Y8qcAqGm{4Y$aLD%qdUj z6q+G*v6Z5W%$&!VQ_V!&%o#~#WTM#2Sw+z@QDWvyN#{&4L+WDdwcsf=b2?ecg-pya zb6z8vOq7`+b+MH>GtHa}nX`zAS!Pa@qGe)^nR6EfET#tKX3poS&aF&Tm^ll{BNLTo z&N1@HM3tHIU^=nb%()>=w#>}=4h1Y>Ikjd;U2LV@8qAzWm{Y@?CfI;i6qhfxxxUEx z9R;jlB4OsdLUn4H*kII4t&;9Qk&i-C_8Hzi?hA^NK-@D@m4~O ztmWl^gWgY|8d)m{5Aa?_n%Y4qCENQO%BiQ{MZNcvW~FR7Eaio8M6 z-$r=6_cMf75srJ;5pJUVN#0q6R}-G>{TOv?CS2^jn(!LJmwGQJ+(P&=?{_KxcEXnn z&+nmJC@VordJ`l{vH;j~T5S6J8vk~`kFS+R`^fDfW)(Ttwwz=i|v zA0t1Y4!DbujZ4C8$%_fw0d?_|uoF-hPYDMD>VTVYD4;H$5{>{yyG@W+Gn$e1pgUS z+>(`8Q+T$(5HaVny+C=7!-&r1^l0JT4$)2tVcYv%!dDP>yiw9zNjT``R;qJVIpC1@ zyM(7u%s>$&>N&TNkjSotfRODA@vC#*g^=JIs7kp6uIbBFrQ||_FRV&=8VtS&`&=-< zT|3{Pw^@qFei#|cg1&LmV}1{{l6P zS2$-O3W)rcWUrEpd$5DvfoOBI`@6nI*MEXzFjpexXhoy=&C$%@y22-?$hCg z{~BFmG2IVt0g6UJIr)vk8pJ9xSjw$Jjjhp4y1xo+bgd#sYvW2}&|APm{?Urx4&MQ- z6^psc5rdX6Io|!V}9@Ww0b!t|UX9 zDCcS|Cm;V#h_I$9&08W}6sJ=OG4yL_MQefkOTAPRyLRGz}GQutcb`W}{( zq6qhwj*YHwu$&)JfXqOx#gLz)@vVDF=l=4s(N%~bP1WJv$;bd*c#b5~Egt?ZWk@Ep zMC3gd)v2|O$a?5hE$z5V*|A}GoLrxtIuRm+Y?%@iBRe%N1YCnWV>=7J;ENDvq)2c< zF0nfZ2I=8 z%SDE*?gIG6un=_@z*kPZx(nd@2jVLSqECnXorLvW0Dm15`YwQfC=*pP1)SaVcc&BB zQ@#k*bbru6?kTGT_LQA;j^0zYq zT>$@RR#M*u@Si4`z6&7tlx=+%z+c52nZTa%T@+za-=YASgFWS~=^X4Sf1CpJT>!bKZ0oxK{ubuwy8v=e*~<5bXOt#Cp_S0N+=D_o%x7zCS@leQDD74r%nB@;9NAN8JVR%_NPw3*h@4 zX=?utrDXdCq7t5Z`d!p_18MZ0^5@8__mszzUfl)oUCnaUT>#%f!s;%7Zx3O07r^&% z!s;%7Z!qPky8ym7DPP?M@Es?t?gID*Qoef^U?`YzX_A)o<&at31@OfQtGfU`o_2ZE zT>#%ZENlbG9p6QS^<980n`ZRh1KD~{nf(NN$`fI4AAi6mYa%y?h3|gClTJc{?TbUL zEOi&a*F$_U&x*09Oj30hAj_r%>?zN{%PfH^_|b;%0=5`a+8K8N?2NkrcE()*JL4{Z zopBey&bSL;tGfWcJ0RbVQ#@kIMNpUSBAo+w0e*%W;YShT3t+3e z0KQvMJ3HepfUWKV_=1pQUqR_=Pub463t(s51+dj!0N*2|pGtbQr)+231yHd2qYb2S zf3$(H`=bqn-5+frtoD@cjJp8#4C3XUvfXZVE5hyuzT+U*u8fF>{*nc_LOaP z7r=J~EuiiK_}(TwcQ)*an36{d?4#1Oh$$xm=0}?vCq5vMd&<|jSnMfJf{PeN3yN`n z%irkw81i#ZN0~v8vmkeGEmGl|Kw0*kz((#uYS0hRPR0=Tr~dIh59G*@$r!?X1S3k& zkd#c>Vo)i){H2Sk>%iX|Fr<4 zi{BH>U5rvx2DO*FJ%dTc=qT?`m|V>QCf$Ea!05{RRTRjPM7sZ&fYCMN2e6KL;WLN@ zxC}G8zDU_qNqM2FkQkg;lTO%S?1~ktVi53@k$IB)&kYz|{4%a$o|MU~6Oy@DF(*X+ zax!1Zr2Fp?7+n()yX8jE<|+d<%e{fRNMDDka*H!kPMBx*<`lYxxoepix}1!&De>pU z*y=G@A8r~ei86x{=g@MqnL&wbC~?lcGNmP!yAreP6z~xyvur+xeV$4$cK=}mqieSh z;-8=hIn6=*VEN@Iow5hZOQAZ2FS+qcQ#utKEH8!XRA?|Sh01x)+!evM;nIox!Mqfz za|#B_OQB2HYs_8I!Mqfz6S3S!sE1A!sxQ;noT4AqswP`pP)NhoDTz&D_zzK>y@S(|h{D#k_+B=i#>!E!`*nDn z#K-;VuEEH{rr;8wu(dWEFDtPcTUNPW2e(~8beJGwA;J-fw*QInAi|D)@o2z<2?y}@4o(i0<7K;sN|bS+M(|w(_Qqqlx}Qa4uDL*e zGJxjF#rQm`SI$L4W{1-n;EIo5a|}eg$1(+HkWuuQUeVKrOo0{`rinfM>U0t6L@i(g zYJs1tk`AGhV|5jE@?tF)NhSA^w62iLf{HQ=a<$SG9+yd+k%x`KOs=%?Sd$68B~rb( z)(1YL6qu;;`s*SHfri3g37A*Wb4jWO_XW((BzmL9fp! z4#{)*{&?ufUe)Ub+K{=r%}{ApIoxXlCL`dJeY#&uNVjNL{XLm|%ER(%`je`K8cKeMgeF{7V_2T@zJ zQl_EZKBI@DyuJ;pn~lvg#BIT$y~bxF_Ziw;X}aO?O<&b499%MnHq}NK^l!8gs-I;H zV$+7Oi2q(=_RcEa%=ri3h|Qd0oQ&=S8~HMl=uVt~+&K-&fZOarcM==mPGaZoc;{#o zc04Vbbq!xA$C^lg+nm(~nf0+;oiZof^RzU69W1llEZW)WEtR_X`nI&c*OCFHWxwjf zGJmU@=NOgxE7@0}%z!~D9Odn zHU8U1nqK>6xsB=c_0mkYgqLQ%wwBQ2NuMdg<P&x-~m{ITr z>4Fh=WaM!08=)%>4*C^GC{|o2NA|jz8requWdTEG_jP+Mf?rQx@9|~~MQFn;H>!11 zRO@qH#jnEKOeX+&KPP~fWcPKcoDA{E4fXY*fo=!+tDGXE3l2JmHw^AO{N$yL-#;wK z@9Sh|br0IQ?j;hg8Yeota8$b){U(hNg-NSG}P6OUqMH1sH>?R-#`h8 zjV*Pp08xa>m)Lrukc$(>=9(tJ7T}E<2?Kx{MjC2N-D(zv+b3Xmz?hAP>HUJ&S?KJU zH?8})(?zUzj(5E^YEJn0gps=*>pu1TgqN)W(HTcxl6n8(b>=#A-zIF13iEa6LTkg5 zGOx;OW&f-le-n;N@!luB$C=^G{HDxLcqepsI}`4^SyO+p+AImr3-76}9z88NVc)*) zeS4~t-Seg;s}(HCzTiE+FWwEbEXB|pU=E5JnS88!Pm$K> zA*j%OWY+{|a_w+{m6NxyPT;Dlg`!7s9oI?_w7?Oci>CR zpy~8lzDJ#KwUpU})uZn)r-bo;JNdf#pkYlX$tMfb-~xbbzfHT^+m9dL9SHzt$T#>9JbZPR*Xb5->==jGN3 z_^-Xy92IePnU{xOq8(MuO?(+s)pFfa&II#9TJ(&Zeft`x!l(78V%ib2D5C$5hh6lC zzmHGQLgvAgAM#(X8WYnB!uS`4(NFO9!0-!XBW(H~Y=rtXYghf1Z9u#8Hyird{ac%> zrnNhB+nwqO?b2ztY@D~4ech>cs=LuQoe3|Qmxb{^d}`{tYAaBG&#q+m@sUol8!r0N zo|j%iMe+Zsmz=3D_5L|w{5MrT(F-?zKl+4Gie#r4OX3F?3I%SM==?&@u& zGSivj?WVUI-d}s2uWR~s-N$jAR1H(rrVX=p!Jwx2_}zY)#bGtYt@m$51eD6j_6e>)V|- zFbF+5SGv>Bq&t;;nA~-(QgXejTBc-tXHRuUT?)THY2_Mox5`1(ETSKq7{#BOYYnU_ z-zKg8sF#C~fzeP6atUuzHIW=7=OE7-&xd!eCQDXhrXmBeeApy1`S6U_R0;3gJxCiE z-Z`Z4J-0pSsKMMU9*CdF0`d#q_VztewV%F`bi#X*r;;x@S1ZivH&libQ4_$OI{n7n zMOOBdBbas;Z{6kWO5$&Ws=yb#-Ok9}r;>ATZSUTtLX=;0sE-?9^GT32TT3x7c{QMYn+U2{T*2?z}`;|i4M zIyM6b8F$DKLyqGNHC$iE3235mwTwVOnM}0u-xlf})A_{|YoIZ0&)j+4-SfkHFs84H zhO0-P<$u}Mj&zhK7CP~D8R?%k022nTdh{qKY+kA6O=k|nk9e|rVn1oqFz_TX%v?S9 z#;MLIFZjm6JB3EFH`OmFPJG8kwnsrhpQJ&-2+Uwa|HiAU#)@na0nRXSFRJWlqp?oFNLo(c< zH#Bu8{Y2f`)s1Tye9~JI8+%7G-Vy9K^*p_~3T|Rq%~6Db-A?%UzUr~sj33)KZ=|-= zOYX>Ejte`#Xt8IHH8(-N&o>Z7>p2KAovYhrWC=ZvS3BL+7!C2^yLzFsa8EV7 zGh&Vj9~8;%ts{08YdQ2KOZuNhGRtA30ddM49mepX|6^ptNTmraU<%v_0DR6> zp%ANAae&obj!-%d-~q8U)|iGu3{1>U_+@i(*cqjhFSVQF!{)_dXJ5A(C$P?3TgNe9 zv?gj+tXhia+JvaBYhAH4QM0_Mj_ChY+_}J6IsAWow$dF*B)KeI6t$I<+@sAkNx4LE zI-Nbcd+g<$&N*9cq0)tP5uy;%g%FAeKayO2E>XEgQIyJ0bdh^M`~Q4qKF`@_PaE;m z>;JI5pU=!ZGxN;M^L^%-=Q%U+B%MPA&KX^Tl2Fowi*o`w!DP_%4~Ju+C{}QT%?}kM z0?B9~w=f!ul?I~4CJ}@P;(P3(XmNm9j+Uuz~ly#`8cX15zYw|Vc+By2V$6Pp*TD^Y0l|>X=WFw~mibF}Pa+iQpakRBP$=0!W zG#L&hqj3|=$x)sofkZf5fJ_$I6Ga*)LL?$XZ22U^rZ8HZm&xA@ z!FZ7g^T#QP{OBMQDbGkn!dOtSwlsNWEaYT3fVcQaJZy4O<><;SnwuL)VmUs<5FQ*3 zm8g136M?*NGR7}`0|98VI+V8 zK?N`pL~Cz;@YrLgk9seb?`tbs{lsYKE61ETbY?fNS+m%;~?Ygsn3+cGbb`Ik`q>4l$*~zvza(PFI*gs z2MYtbhwysa)p`cllF)p4t3LTRzX^c{UCy_Q&-KOSY?x`y<tVY#u3zW6MYcyHGnIN~ z{KvX3d)FTPZ`~66@U%zQynU}=%CG$Y?MmNWPr`e9v8PW^e|km!&CBqwKJn>EDZRh2 z>t*Xb?fk*j`R8~03b%Fl-0{cv@qg%QOI={;7t`Kt;=A51@Kz~d1_m`+;C1)@YNgqD z`ShK7XJrf4sq&5)L%9C1ds4;&Wq&?xVPpain_-xlL0HQqAJ+!D$o65}dsl_Syq=bg zc|ZxeeK;h(m!DU>l0i2x6tU0jUXCytmlMg0Bry!afuX-zVu^xC41-|Ni1z?(D5%2~en455tk28C>t?Ge2FCHz4p^#m& zF*oFZfd)G!V8`j?6?gZ}3VkZKlNZ6Sq|yl%W64xbp& z%IpxIcjIC(G!~A%de6K(7mOp?Hk`z8Rwa+Vakg*o&Q?k1Q*T!ddfC<*Rp^W|Nt94| zk+HnpKpDL_A5+BvKAlQ_G?BC|gxU_X*^xhX`>c7;lQLsx<8X0>gBS#}@BDm&f!0pA z6!-kjTB@qqW#li{UKW-2Y?+A?HETT~bN-VG9bIM^O`#+a%nKV18@iLMy#JfJBjYGE zpakkc#S?cU`ssJ-3MQH@0j2RzS>@dsWQ;b(FetEh4R0Ld+jfk~4mAhk9An@0g$N6$ zAW~S!x4D4;ThdfAY?=H>BMzZ z{1$kZXX-(CFAxq4@b$3$_7u;hIq7)K@;t_c#0aGJR|gXeoNPA+pABCxMk8X!I3; zy|7s8l^DRv#{N+Myou}O2HJ;v8CHpT)N6qXR#6WDY;G9rvdLQW=B%1$n|Co~{D#5n zo9($R+mmN=|H}n?2dwNVJsCz>>TPHgZz}NGl5Zuv7Zj*x+)4gqY|lQOv+1h)6v>Oh zPT>nLy^28_=9>%{alF|1hx(J&W~T0yyRl* z`CcesIMKej`e(aw>a^|pYPCXVWpBP(O}z-qjbr{;TfewJ+Eevf#qzFQ-`IefU!o+zrf&4i;@OVMEC%g7-&ykYCwn}c#K1RhpdPU86FQ4Q z7u5BxogZr@lmUEkZ}c|QSr+>k^2b99uuif3l5f&sqazXkic7X29D_E7Z2XM*Edqj zkCw!Z`$Qn%GGj`^c)<;?NFoQ{J^bazac|@UF?cZ*@l;J#qO=J28xSvgEc3lRbd<7^ z{4gbpd-1641K9m=e!zZ&;(VNYe++wPg`!3F^P4QZTMB2PoZM$93Kz!vDvX>5i}Ucz zZ6nIDPLbl=sL68s!T$Z@_~60kYwxe}Mb_{!(VlIXGQ)mOjHv|d#?O!%oFoC@OFg?a z#=n?LB(+W7X3VquV{$ z_ULs;>kKom9)4<%{hs(^x{x++{`lTFEyFy{X#%x*@nu10AVPf9XsSGqnck%NLj~%) zs2A!yz-Q?m!Gzv){{r)llPJs2r8kP(<^GfOPU*TxnBg0XZArwNLw;b)htj`^S0Zop zpDfN3pCu8`YvMBU3ru(@y%DT3-k9H|tD-P6P&jo-xE%miSzydj)QG2*cp}|#TtDeB ziQ|e%9G9R!jvFceiQ-*!$8nEKb8R(-ZwoT~Db%>|yOOsV!(}}(9>;l0mx_}~gqtls zEiRG&yVC2$&0v*ljQN?o6X%CxdHiuC(&-}IQ|u=eh(pDZU=_@QI!XEg635RG9}^eL z|6Or^7;2lI*g-s<#QAptdHz?+oy&wV`~k2@88tJ^p<<@kOw0nS+=T0t8uim%q%Gs| z5wS$%jIVT`Al@NP7atZEkT|c`z$%-Kd5aqHb1E)!2i?b`vEt&TKA8Lf^(Wm=`daCm z#L41J@hR~Y@jdZNag$gLMkE7w^jhM6;(_8J;^E@aB@geS$Vix%cY@>9(SVaD4%pD}I&6mihQH~_a=|gc9iFoVco>=8I%!Cax z{N-Yl?ynnj8#T&xCiN89cJf7IxOQ}vk1&-a2_y6ym@x=;tuFWy>=cQq%1$MpG3IWh z$ND;%;rkoIh0F0{L-Qd0(f%F9NuirRPd76Ss?86Vv8P>?2+;J|Mm-ZWMnZVQ+sYalVal17kd=i#D$GrB>GH`Nk1trB+>U-D!oGdh#ZAQ)}*(JKak@vfkk}~`PpA= zK#oMam(CK~lmEeN-_jR~J;`^_zN8Dq0pwcr5v0e7lgL|O$E6<;pCHkB;M#!9k6l0x ze3yEaG3(^MN&J?KqR!DLWcV6lU2;9{U((IRtN>_f^WeNg0x#)nU3*aNRGx-o6_Hq9~hI}2t>O-k3={wE>UF(7DAw2 zXbjgOzz;CYYWaU7{x0r&s5>rGY$Nt1OHn`K81Wu)p7^R*1rIZ#bUqpTddr$X$ zjG01xr7@34&!>LOm}3ri$DJ&0JksgrM>)<0tNes^)D#-&+$%mIE)&;_KZ~`Sx$up} zQ^X6!Ug8zv81Wu)zW6c_fp2aAoxqr}t23&qhO&ua#CHDi8|d(GoqJi|!j zYmzt}Z0-Y>pHA|J1UypGks>W9#Okj8JfterXnr2mQ1-KdezK4Px?he}Tpr-|>% z{~NH%CFoa4*J=x0g1LG?#(%hYoZQ<=pCMi-_ny*05kI4`#}5olArWug z6J0!yi1WlyC%B{Cx8-wY1}C3(>?EElb{4b6bH#3A5AhPQx7b&-&%cO2M>=0D6k}pi zpak=<`xKdm# zt`*mdo5aoHR&j@ziLL~?s|M9$*+a|`hl`U%G$kAERS{hwtG9}HG`9LM@dUAlm@f_& zCyR5$7sTb_dhutmE^H6;n>=cZfA>xp)o}yNQM3aB-@*KwK(r5>0L8Q#@6SiQ~mt;8VLyZ|u z&N5~cS&aTMd9yL&$w$!-BEQ1;DS18aSL6m`rjdEZOecTA*gyG{#(94>W-j$?W9E@J z7_)$U5ABt_15@IYy^L8*CeV)|hrn)-!*KnP_-{FR50-Qw-!*0>iNLGL&x~11-et^s zvM=lci9|M&i}CzH294Q4mSLQe{MDG9YrSL`X}E;{ga=g{>c|`pCz}W{>g8!xC40^>Yv0(W|RL${gdCK z{z+t#_BvxG><#%a>Yprve>D()Ipq6j2M0Jk++%%c6n=G{VlA~}9NS#FEeU6r8w=}FQLO3#yiU3$6n2I;NR7;16plT2UQmJ9Z)GaRnnx+MNV_AL(*8<7Zi6j?|4 zN4WFk-(5tN*yG}2sfa4F?i0n^#pxoNsP%tRTqM3Fek6V=ekbA*wa3}^g8UrB^8$|+ zZT&)DCLI!E;&tK_ahAA9d|O;8ekE=f%S7IXnQkMox!75>??2$5C!G{Wh%bq6iyw>Y z#4X})Vh!APncjiok>YV8-+$1*i+GXPN6ZuX9)#hBiQ~j6;!JU#X!~Ud|Aw^fcR{a} zw*4w-u7k~ZYxBAQx$GTzw3sEHEOKE)`VSRXiF_YI_iFn%vcEvxLS(;zIwl^AhD_a2 zEEUIyw~FtJE5)zG-^C+qxOnV)4AgP1bRh}N`#;l}D1Ddo{nF1%ua&M|(}h1wY)&E` zuKdAxPLvKx=SfeJzEgUd^bF}m(r-wwm);`&F534KNRMl|F}-6*=xk~G-T^u+ofL;E z+|ANYi!aFiQ|S%jcXF=*Tf%helT25-vv`5rFOv>RbG2O_H%R&h=?T(PrDsa>T`0pp zC;h7QGU?ByzY~9u`w_5V%-3lojz5n?Tf18N8WL@4nDjX5Nz&7#=Swe=enpz^J$U>E z>4r#y=`V?K8>DX)r;u=8ApMH?rrbA3{~-P*_e0PjWBM=XaJz5+m_c_uF#TVuNsr1+47P;4L=+bR09z`PE)1~cu8JtHi zxyR%_OdKuu8PfB`g>wHudY$;S+^Zkr(mhCQOd{Qm;>BV_{=>y_;xrQXh#ArkiI0j; zkce*~3A^`#+}DWf#SC$)#8sLR{>@`^~A%)K4PAj z5QmB5#3|xT@d@!?;=e_%3C?uZh~J1miB%7C{`-rK#bd8vIn?$>m zJJNqp`blw-_?GyQ_?y^=@6T}DU~!ZQl7_4;xcg+IU4;264&`=xo;DH5Pu;v@OL!+aGh5t5noHO zt;nU<=zhA`P3$H17Q^B-;vjLPc#C+C_>lONxLABg{8Zd1W;Aj6Xe_o6JBVkAeZ`14 zQk*2-D?TDF6kiorh@Xq!i2F2k=^rV!5>FD(7DtJb#A)Ijae=s4Tq>>88zHK1YcU zh>wZSi7Q0=o*BnCI>sIMzPLs_x`lIZL883|q^}W&l4$26q{oOiixWv4cPEK};-zALF)Cgwjur0|XNoV1AB*e7 zZQ}3ZsaY=lbHz)k)87cqaZjrUP;p}1N+wXO5NLJW%o#IfQ7;tFwGJ9pd^af7&B{9UYl zybIS*Y$CQ1PZ7@%dx@BN)8=~!iR)mj^gNO8_v!w=^q1l$x$o279dF5z1>^kC_c(i5boO3#pfOnRa8>(U>H>%?#6U*`muPc9bB{AEgG5lgE( zNS`5nzVs#10qKZzQu=!73DWkv1(d_Ha{ss7KNQ!A+r^zE@^fehm%pYYbbINu#BOr$ zBOMcm$bGEzRB?vfUy}Y*TrYR~odojvi*&V)F8%#Tq~A!oiFB59C+TyfFBOAiHDgMp zN0NwVqV!$Tv!tJpeqQ=D>E+U^q&G-!lin#^<3tz#!6eS3tJp*ABNm9)lDH4tAbq1a zPP~Ogey5OijJZ$lvqk&e2+~<3{hIie__6r8xK8{|{8g;p$>q1cc!bzR%oT4CZxQbi z9}=GuUlQLISBhVW+r=`m(Mc}-_F`x8Lh(v5DUJ~D5$A|ci%Z01;%f10@kg=h$u8Z) z#S_JB@nZ36ahfr&#k8mu>?wQ*0%660^k~VqY;|Op3$B3F2Mi zY;nH$qWGq`T0Hesm!B)dusA>*D?T8u5XYV7j+-KWDsB+Bi@%GtPj}%D7LOLs5W9)J z#T+pvjur0|XNZrB&x@~%?}=-~YG=6g_akv#9WH&Gc(T}8{#QxI#ldo)F8zq~`_f;E zo8(@*vrDf5iS(|J&KHa2K2>^#^nB^JrB_OCl-??B&UEqDCJ}!l=@#Pga=%FWDzQK; z6>k^sA~TG6Li%~}HF1@=nS|ZiF8!1En^;C>;CsunK-jIiBmJm@W1cuMn>m z3&erqNbwf&9`PaZDe)z7srZSwLHu6aw~Nc)G2#j0nPPV_Un~)C5vPd{i_eI!h|9&# z#Q%sti3eo6^p6ueiCx8>;v{jJI7eI{E*6)HE5-HVR&l3Tv#U$DftV?_5<7|6Vh^#e zm@g*95#j{#E^)RvUwlzqF0K+cir_F=eXn7h~J1= z=Q{UJB--ma(nVrI?vteN7iY_TiS)??mY{rMpS@lnzRd z6>pLIebTRs%jLdC`djfg@sRVCK8bYONuMEJC=L}zkO((P`j89U@n?z`iPwmO#T&(` zWNq|Uq-Tl`iI0+q|0%MLG0)5WWpRc0nfSH%gP76H%^Y=*GkhUaNkzdAXC1rs{MMW+@Y#LCVg8~`-|dohpP4~AHP1ZLXNAM zZDq_sKb}TCoGgDTRtt*j7x%%9t~mBp}wtZUm=mcU*EPa?j7 z*gwRlOR>-Maoe`C>#&n4#q@_`zo}2(h<%>3+qRWW#17BjZQIHwd%Kp~%I*gJ`JVyp z&;O&){`@})?a%)U)K&10-L{pz>g`G|1O4%T4DFA9Ewn%W&Cr+O&u!bvc4B9Is+pn2 zQ1_F4n&01j;M4q$%-dLhS_$R=33qCKkL7I)e-`u!sS3ew@1dXZ z={{-U89x^k^y2TI=6_9^PC)nLWrspx`x}(ze*^TZsPH}r!u*YgKJswJ&=+B>>1OF2(B8)Q{|n8Pj%W#ZJo9@cv_HRbXfM55IPWFU zy%fGaG{-JFOCJjDZH&JO^je%>TR8Ik{2TpS!haS1SYGuJqCNJXM1y3Tram3o+vs*K z^ye+{ejfYu?*;wMvF`gsYJTVLZ46%w9mdHu!9M-3hkhITS4-atJ?TiaY1BXc?}q*e z`xqXxdKUCAxPU*A=6CaVsQuML_~)S8`1I@0-p2HoLnAu-cL3VgXVBY_UlgH@pYs=Z z8^dph<~JK&es@COj`Dz$4bSiTzH8>bD`tM{K`*Z3Vqkt6L3;x-0bg&2c?S_k=#$cf7q;;Kz;e7breY4}|`&uRO-4`QHZpxG%nk)BK-; zz7*|g6e47P7p3|0yFzbc`tLx$fWpM>*oNotI=qekUqW9Gf3{!7w;yv45*Fi%}CR8p;sWk zFd;TP=b;$xi|+;KmN>U3b$+j<9ls2^BkXOSj^}ron|#M_gucml{rxxX`0D85+ywi8 z=y5(ZOnqOMhxt7W`du9VhT?AueNr=whe@}Au7fyvP4j%ug5DQqW{dO%&|7@@2|$0@ zth~JQpuLUh@jKCveEy}-H>3Taif#O3pob&BC^DPh+n{$MJ=$NUKMnemEZnnjO;OK+ ze$;pV3!uG?=`Di3(|5hUmgc_ z{^SI_k5YPlp`Y`ee;C@^7=IBo7qZ1LmCav5{(W&g+sh4U;qQYU&JLpdXF_jkR$hLO zr-gqGn(NtKtoRp0w>kzkUixk5_kH)5PtuNG2hF^A<+CNtzXsYy4vvo~KF)_S&DS0q zLf?z)=Sr1FCUo<5_*4671?_DtkB-pmI^eqmh3}l^eL<%wCA%B zH}kh1+S{1kH`1rzJHNir-p2ey(sTm)6W{rbfPThzKjQb<6MgZ`g~tDCFSX2Kh#s)# zx5JJ3`Ku+Q|GL7(mme=_t} zzVo>N`XJbc4-~!+w6`(7T^yWb4 z!_%v;e?#*eC+PV1pjZ3s#plq|Yr7n=KK}#lZA@cZn*KFSSJSaPhT->1(+$&f6X*-j zp4RL7Yz@7_m*3OV!k-7d+;@HSgdU3XVH4%~Uj<#@Yac=A8-4zqkH_1XKYsVV4(+7{ z_Idm;=(z9rQEA~PrfGg3|6a@T^k=2{rxuYbU$oG-!d&^%n!eTiI8nA%eDtqeSei(N zivl66FqjoJz0Nx)(B<52*{186y-nA%@Ye-@*}cu#y-e3$CL8~r*TZxH&hB>RIlat9 z-Lkv(>Oo*_EjOpLH?MAL%683H322_r)EbEuCZe=cO{P|X@y|?IjOF{vbD6-L&6r0U za~U(wn0?nSr^gj0F*!75RE%P}Nzc<;k*s{q<(vqX;7kTut}4&{q8cq>%cbp$jQsGXMIKmDqIdTDQ_`K)#)b?D%&l#CU`-1OiT zW=Qr=@tc|?)IZ;7YKl*9%F)!kn{HZ8mW5j#k$VWl$>VJSag9qi(PxF3%*$tnXDByM zd-?)km8?zbl}u`3N4Ih%W`Wgm3|gzK!g_j4q0p_*z`6dtl?ZIYwmsN{Y~65PW-SIs zZ=8rXPpO>%o^Gr-dqPD8m_#*w3td@)BHWY+;;REXbOC=Lsz*(_iY&q#l} zi!~s)B2^`e`7t1;3+M5btqDhew?r)WbS>n@!(r4)9;QP_yKt3&6+|^5En><~n}Rhj zC$&n`xgZB66JDzIKADJ zxn0Coll$7GV{Lk|GyCUHd z9yU^MZeu$+HY$P(B-6t!vWuAQ4C1UC|LTzp5yG0k#XK!8P)LWuREek7O<=ZMLT+02 z)Li=ro>PJ^Zg?EqoGk;)SL~e#oZWH=sY#Dfz%Gu|dbB(ilfza{J7D zb4pp84iYqOF)9Y4$yJq=;3g8YYutK^JC`>lcbOr)Rz~5WCGIM4=F~=wQuMB2G)k@6 zVGA!D8W^syim)%S{2W}T{x+)>9^wPqwZ}S+-pY7L(VOd@sYjxrWTCxA-EtJpuoRUP z+9iV#fDJ{fu5elARIO-v4rCDb7VoOHfqIu!@?w|^xUeu>=qnYJVQOti+r}&URg$7x=v!;0y0sD9 zC21=vH&l$m(@CqItSX-@-XEuTL3yjiRyJLKstPMEubV1j*T@oRdU@WelQzZDVyv5s z^3nP^+~xG@XfD9btinlUIX*+SU^1aOy&i<7RdVcE=BgOx~| zSlYLmG4sLZ>{b*(X86Yko&iLa+yuop=B-K#McS?(_ zVJKgL6j8&MOS!9td1NTxEzE~qyTTFOkZ&#y;n^liY8RYIdg~mc`r2FPq5`a$;#=_D Mi^Z-!?KYSAen*aa+ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/math/Makefile b/linux-0.11-lab - 副本/1/linux/kernel/math/Makefile new file mode 100644 index 0000000..b35d488 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/math/Makefile @@ -0,0 +1,43 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = math_emulate.o + +math.a: $(OBJS) + $(AR) rcs math.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab - 副本/1/linux/kernel/math/math.a b/linux-0.11-lab - 副本/1/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..f92fb43a9c019f8e75bf744c65f88b59c8d4ba88 GIT binary patch literal 6628 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 + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..8a98b22720edd26bc9b196e2d1b86549665ddef0 GIT binary patch literal 6464 zcma)AYiu0V8ND;RzTRXXcI?=3lvFHYLmY_Lc4CMLNr;IP5-<=F1AzoKv%9mqgZIVG zY+^%HKmnQ%rD{+_D+;2hNNs6Ul~M{6R0V>lTB%jkRuwI@DzueCA3qRO{ZZQVoI7{y zb%fN8Jaf+XxZnNmcONtB2ewXZGYmrnmmxx8P7>lvoxWv6LBHq`U1ImK@l+)Lm^gCg z$UA$_+_wAh-^P!5srs>fDeu@sYWmp8)PwLo_HgP5pm5Yntu7qhm+CJZok*n$M<-Ls z!qM^6^1|Umsbq(@>eyuJP{+&TsU$2B7{Wger_fHE`}F+z^We(^j$RKP-)X?@(9v+} z+yR)6jHj--K%Mc`n>v0lk-}qAJM8(7-^WC%69Hn#C+KTK5dT^BdaOr1cf}t3>4Qgi z#ty$VzW44k?|z_ckDT@vf0ol3G^to#DPvcfWy`bICsz!OOs`)tG&;R74%>~eC4HMy zt0t?qowxHzr<$Cy8&$h3X1&pF&9r);-3#qPgqe&88)r-*jIZDk!p&=uo+C5d{s}}g z-1a0O6mD~>o-ob!Rj`{z%e!7Q-Xb7XAPbwM1JR ziHK%33nS}xjw5zEg1sJ+H~k$+$&>JrJDIJJRVr>F56cWZ7G|j31_OJJVWh#wRK4VFG<-{Pe7_+>G}@=Ub9yBHNhKLdxXKX`$at)SbML zcQEv7M59FsLuULtOhySKX8e7IR>G(mug(e^%tVs`?p%+So6Y#k44{N-&GVHVo}!3_;CivQSi+8 zuj!VjFm1-0?8j!U4`Fc3ps)=<}VuA@(m zJT70QKL0U16Y^2UDRA8-`+fI=W$r180 zqOfDbkN!Ev6AxZbZW8#Azvpy zKyFH&*6jz$!*Yh5P18Lh?`Lu|TnsVPlVxms3qo1;e;4*>jQIGs` z@<_Dc)P-D49*Y)on4bai&S;@lL($0>gF`<^-Y5TxryOGV<)VWsPN$l@ZqfD;^8A%t z%dIKjr{f4cgxmnVyn;L&b=@H$uOyGiG3wWm$Dkh;a+JJNZlnGx^2N}v5pq3wUo_WP zE9BMW%cC|E-$0&}KcW9d@>JBeriI)@-XFDd0bd=p^8p`<+S!1QL~R#wuA%=Z^x&Jx zH$d+QIYz!2ZNaZ4ABSGZEu`C{EY~>c1hN!zE9uT?9&{V&WV8T!9qFEE5p+B0zNp$0 zJIMFT%kY%fljr3_{j?#uyUgy?1L#=5y5+QoN5>N#b=-o<8rR85cLh1AQzn_Wy1 zO?z3EKnnM=V1X3rV$OjS>*Yk4-F~}Hc+N?SdpR+Itq(oSNy~dtG;^_9_b2wDyIEmR zFDe^YCVM&mX3qyIt<}Al3bV&=w6lxLAux^fVrtA@-!y@EXw~bt+OXsmRK@ILAX##2j2;VqBy=vew8dXSHi3S*J6BGDZUC6*-?8C|k-30kE@ zG`a~Y9BrCLu=IOHD6u|zb#zBJ_Gz~fN<^a+4Tv&6Ya5MXPxlxrmr@^T6ZBrtfq*0n zd&J76*v)W{_@U??Q^DGTVDXk@9 z+&Q;vmTrIoCk<+f8#PoGq-d_`j%;+g2Tw#cng)jBdRD{B;F+5e zdE3o_Hkvt4*wuU{Z+Vt*txTb8;f(PbR?g039j{{5g_Efw|0x&5@|=n-n*Ot5xl^Km zPgJ`hny#JCa71u&ZF@?fBAJ|3E@v9H2VJGs#P_AMc61$zkgHYm^mFdB1+wvMQLa^s z_^$Ot0iJmq#=29tg;lm16=CxWsGu`rh#>D;p^!oL({`@uS=q8JvKU#0xgu=Ftz!(L zS!F5JS2LsM{5&!_H3Ze|JP#+s?beD%H+y5*Ur?c8Rm&(9qrB0bHatIdUT4e?O`<8axFJy=jW{s1iY_S zwbeYSo@{@XFft1Rsa4^i%I4axOEK4MG_cMDzLbJmJ^`T0Q0u&s~ zOd(Up+aI(piWq0X&17d#JuIzeW!_k^6a2L=>cvJ~*ep)LX}F$Hv9G)7*5sDtNP09q zk{qa5ja+FXR>YOyxpF=^P)rUKY8A&DC^W2!Jy5SM&HhuYXJ&!whQ_)?d-I)ru7SL<>SPEFfE~hXPZR~ zyikLS;#M}>z{W_=S*?auE#l?eqQdsIg9hkJq;s_j4^5G-V&>9V0RBw+ZR}D;O|{DQ z|9V^mFCOdoT2a>so~>^I+ITI)y+ASlaRk5b_kiM+r`q%E#p_t`S1{Y)pjOw`Ab^$w z@p8!Y|6hJX@L?POO@;462)iH$7yISK|2_nw`QgEpYzW;DvRC<4kaynxg1dkcj~lISb2-3Ga}-%h-OxyINp^+CTC@SqK-_yyv< zPol5D=0I+Zmqa|)lkxENF&l3NoNZV~UN6G{~T zWpNwW$VH%u1glzhDPs}+T+6@I_ID_E3GsW4pAfNF{;e^D38&1n!N3NK5m9EYMHI1h + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/mktime.o b/linux-0.11-lab - 副本/1/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6694bf8258168567f68b2aba8bfc5ed630e30698 GIT binary patch literal 2872 zcma)8U1%It6h3!mHraGH+f8=c=BL9R=z+QC zJLlZh2X+aMEv_t>trhe7 zs=+FMvsh7H_c`1WH#v6H&lF#_7Ezv9*R)o}g{=tMS}|I;&BYZj{7N|;Z9Xl?_laJb zy7!+sbi64(04lkZ^z#JEw@~X^<|*sGoj9@%qYI3-zKwt5w^gpqUj~T!PEd383^f<8 z5*2O|-T9N6-}eamWL(gJl4$n6A(|h2E>b)kOL|%2Nt}5PFW*T8(P1??!wQYF%COpD zFue+;jqZ;aTKk|*0Ft#II4RZEhrnBa!&WCpF}4Cntxo8-0mrQn^gX~ys}K5K;2vui za3An?3&%40fm0N+LM7Luwrebj!QH%qP@{PFZ$|B0mly;xE>pPX)Jg2cF5~jqj<1=E zhY-iO?9nD!cLZXD-J@6{INm?3=}2O4-(6lqCNC^>iQTb8#EkXFxcneQzY^j ztGFErVTL1-{gDF^k>ECTk{N?AnHY_52(>Xx)Mkr=y}s?i-pK?)jrF|qcrU!#Lu7`1 zFQbQ>HnKtNU{S?{b<<`}KFMAYAtn=WkM5+&M3&Rhc76;Lt)>d3#|T{J#~|E3A@0UH zd6kzHO|T+#TCCnYx$DpU%wJs-Bbgsx@RQRvR@s?bKYSJna`l3rj$BF>73&&%scXkDpCbUrK1xQ`%?p_ zW*V;7@Q;*vxFMzC3&SJ!(8!>#<*R`SFo|;~Nt_Rh{-|ZW&eP)8K+YOAIp2v`(i|5t zd6(__LdDC?kX`p`J}+uibIP{oob|{qJbHHN9lg{A-$Y1?s@gL!-S zBN1mE^5T3tFW>nM@!sQj^Q_aP`$J4UrLA^zH?rA;v#(!9l zgBc)OgxP>F5Bw(!k}2Q7b&W~#cYaM_$_cND?5(5uI+LR7MnXh#w zG`P#%nAqCq-~V;k_#GyCi}wmH8{YxJ+xEdL7= CPoF&i literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/panic.c b/linux-0.11-lab - 副本/1/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/panic.o b/linux-0.11-lab - 副本/1/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..da42b57864ffc04172b2020b3f3f9096af53eb86 GIT binary patch literal 5424 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 D&gTd! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/printk.c b/linux-0.11-lab - 副本/1/linux/kernel/printk.c new file mode 100644 index 0000000..0daa097 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/printk.c @@ -0,0 +1,41 @@ +/* + * linux/kernel/printk.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * When in kernel-mode, we cannot use printf, as fs is liable to + * point to 'interesting' things. Make a printf with fs-saving, and + * all is well. + */ +#include +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/printk.o b/linux-0.11-lab - 副本/1/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..93ce6e40ca451b8b2b024367e2fd7f575b694368 GIT binary patch literal 2424 zcma)7&2Jk;6o2DgCr+F=bwa44L}e?vC4jtkz$&FcNl74zT1BEwQKbUW+Fsk+*lV-9 zPLry@Ap#ObAoTzO!66j~E?kfhSCAS$gv5Ou_hxtEEfNw>nt8wXJ@aOE z_N^B#y(okrMS?WyOGHgQw3H>Ar3WZWSGNC{eQz;e-d)Vk>@DU?d#m}G-PL>wvi^gf zXV2gNK0G{xoZEXPpBvjhF?RP#ll3=3%l1L)`q*8>=C%)Juisi90ly z>aykdDJiyw91=P9O5ADEu%2|>07X85BF&XXc={4!l&3=tH3#1S8mjc_B(nQ}NevS+ zX2q$@L|V&CXR=~^;Mj4be2}!vx%AWNhz0-DrLfy04cA?ur zdfS82aa)dS7wSE?8aN%-hsx~~{J^TN7rI_2u&Y7GqgKal7(Lf_8m?V4_zbZkpEj(u zmg5KHJGbm$t7}uS*=gHFw^s{_9lzk(H;c&L+bopKxw%5isuWA1qPT8*uH6dra=N4a zR-2X=NkmHv3+Ig4tCgM`^uoOr9`8wM?#;QfSt>sgY6;&}NaEII61P)gdPLWE&{P9z zJ`yH*3>Pw~?ZiT+l(?8lUAUK#--hXLwF9d{rXP4AZz|;3Eiec z$O^M5i?7IF5RtO2K#teF2H_ZVT$lH!>e|3629V~E?;3-Ml+A)1&)0;&c{txNhRXLk zFvsw|nRb!ymk`RCZ9HyAT=~6`G|KE@(H-d7eQUg`kCXV589b>lVJwlj!6Ly5PP@Nmnz+;^@S&-W3E%tEI~ z@kn{1j;@ME+C(083(}ch`{!E#R3zOA&vW cIpTsy{wm_%F-Lt_7ZcwB_FIU!0iJ;T4?BzyrvLx| literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/sched.c b/linux-0.11-lab - 副本/1/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/sched.o b/linux-0.11-lab - 副本/1/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..8907e54fae556c36d88e61cb2d6e7dbb043a4216 GIT binary patch literal 22732 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 U-~)n>3HAxTA^3?P_htI|KkS5JegFUf literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/signal.c b/linux-0.11-lab - 副本/1/linux/kernel/signal.c new file mode 100644 index 0000000..8d5a65f --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/signal.c @@ -0,0 +1,129 @@ +/* + * linux/kernel/signal.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/signal.o b/linux-0.11-lab - 副本/1/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..1970f39f72c6b0c63a277c6955a88089975ca4d3 GIT binary patch literal 8960 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/sys.c b/linux-0.11-lab - 副本/1/linux/kernel/sys.c new file mode 100644 index 0000000..695f287 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/sys.c @@ -0,0 +1,292 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include +#include +#include + +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/sys.o b/linux-0.11-lab - 副本/1/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..a691166c6ad2230733c9baaa0609d3b8fe779594 GIT binary patch literal 13088 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 M35GC+)VB!!4-!@J2mk;8 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/system_call.o b/linux-0.11-lab - 副本/1/linux/kernel/system_call.o new file mode 100644 index 0000000000000000000000000000000000000000..ddce0649262248d052f5c003cc697385b7d0d869 GIT binary patch literal 2520 zcma);U1%It6vxlzt5st*N@_%FyJCv5#+YcU6+wvEqzNo^(C8hE#)L@xkZzL2X~8v@an@S&Rx&BsEWdJp{#SsXi)OAGkh-}qT;9JQX7e?%TKm*uNczHFZD&j#eUX- z-eP1q*|~hG8>|2R#l2sJKm1H|g)d%yBiT7J^%Jj{Og?k`MEJ~(y{N-mHooev`{hb? z)m?Y1S>L}#gge5K>bW*l5q_OhPtP24mr$O6ZhhO_j$8Km$koVlv@cTLYK^;d${)8~ z+lL&Lx1xQ!8(r&q#T{L&mb$`cXO2z#BR%W!siRz6uyiCoeVwk;@aEDkKA*+SV*47K zs}X0Dw|(Mxa%20sk>To+Ti{}~*uKj1oGXo4Ty%1S2JMBMP-mgSs%yq~mSzkJtt4nL ztqPR}XKkBv{NJ`0f&2`0coX>9`9ylC_^7$vjq4`Y)o(+9v#>mm!#Qpzu6-W2Lb?4Z zGTofcfoW0^;UE4 zf$8xP;}Q5fCB6@Sx5W3uMnH zzs}q^_nMOjH(SkF0Lb}Y1Izi}1k3r~0ngy7x0>^wZ(R-1MQC$=h%SLA8ZjZd0`H$^ zH~xCxf)98P1M?5ypS^hI-{AYCadc5k;#=WQNxTRClElOC7o>dS;EKdaFP6Lb+|&RU z0$d94%K=^r@Y?}?H^3JHycXc~0Dm6ftpNWL;9moLOXFFn?{`;#DKU9i8J&nlX>24( zV^8B6#T8A`c!I_f6vcfqPNR_V*vR1o9f?K95^*eA+-TY)-Z3Sam}^X|u63TbLFG^Oj;S*h0%GDb+A+ znpM->;SwP#mC@2gLxUBHZkf5}pfrtmhHhGOB(gcpQnFm6RV)a1Kr3mfd5tn@sb4qD zLSaGbD5w_J*9@sEt<7gsnvyq#qRy*XL!Ct(DYIaiDb2P`OTii@w&$1Vm#yIY!jVPG z((-}??>%iQ-cjXLk@04_);(DNJg7dJD;j*-FJyH+tJyr+-4`2gGkP|kRK}y literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/kernel/system_call.s b/linux-0.11-lab - 副本/1/linux/kernel/system_call.s new file mode 100644 index 0000000..b7987f0 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/system_call.s @@ -0,0 +1,285 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 86 /* 72 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/1/linux/kernel/traps.c b/linux-0.11-lab - 副本/1/linux/kernel/traps.c new file mode 100644 index 0000000..f9bd8f1 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/kernel/traps.c @@ -0,0 +1,208 @@ +/* + * linux/kernel/traps.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'Traps.c' handles hardware traps and faults after we have saved some + * state in 'asm.s'. Currently mostly a debugging-aid, will be extended + * to mainly kill the offending process (probably by giving it a signal, + * but possibly by killing it outright if necessary). + */ +#include + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/traps.o b/linux-0.11-lab - 副本/1/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..51de46fe88ac98ea479385c2c283bf030d1f46cd GIT binary patch literal 12972 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 +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab - 副本/1/linux/kernel/vsprintf.o b/linux-0.11-lab - 副本/1/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..5acfe6576413e77d5a31e400e048fdd1e4ad4bf8 GIT binary patch literal 6156 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab - 副本/1/linux/lib/_exit.c b/linux-0.11-lab - 副本/1/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab - 副本/1/linux/lib/_exit.o b/linux-0.11-lab - 副本/1/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..04229e90d130407cf5356bdac84c753b533235f4 GIT binary patch literal 1992 zcma)7&u<$=6n^8i6BDOylYnRxgf>!919aC8HK-H{g%ko5MWRq~s8F=FC-#bXH|(xy zS|NUj3y4z>hzkduN(oKlttQ8~1Zabz`rqA-Gz>6dHxVy`)-w zeh#QsZ~O}8)f;hANUb)%Mx|>0WNh;{j5PND z#>g0MH$<*{;%6~x@;GLt{%)VZY#N7VDB0DAaS;yahQKC@x1iR4sny_Sj51B~c$Da& z&z(E}e4J*5f6UYwrxV>tro*C>=0T!wcJ||BdKh%W&COsx>UX-O0&`#T__i)?9cbC! zx$bZIz3@WV^Mgs04aS$^^B11;gOMNXrIWY__OfWAgM$?5bp~aeAg&Jfrpcg)(e$sgLJ6H=w*9r>!QDLy+2KgX<0?^%+yGm zpKkWTZtuxb%l16X38Zdc6ZJ_`tu5B;U!jZc8_;I@{z|*~Wo_qvn@1tcZ%vA*4_;&? zA3Id&!$QJgR74W?^IXDA?}tO(pN@9pWG{uu;Hclv^v6|eltsx%A6vkdxCMwW;UJw% zG(K3Epd%r=Tz04oqsP0ZtE~9{5sy1>5AOnr_o{lvXd|s-5Zmh~SE#Iz^E(S2j`)B2 zb>ZXIFbw0}B(UUc=O91il;GWYkwfq$41NX<=6eyttpSuDG2S7tbH$6{*>`3C+GKt^>e0=$_K@Xv)aG4e$HF~ly7Y5%KAumFsl3bxv~$uaaRP&R*>~ow#`BT)By^5kJSRI|)z{^(f1IBD z_@9MxwGztJjFep$$|&CK);JkORmeNmDXwo-tdzOKBl3hDJR(mPXA#(gWp>Lw)a4s) zDp2UzBJ2uHV&BOhu^hh@QP|cxIS$;0)psnvWcd}#uUdZ1^7k$0`DL83mHA$%M)_^1 Mf7;r8aQtKBUyA6>L;wH) literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/close.c b/linux-0.11-lab - 副本/1/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab - 副本/1/linux/lib/close.o b/linux-0.11-lab - 副本/1/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..a80ba5284931b40ab6a906bea4c618b8b4d73713 GIT binary patch literal 2224 zcma)7&2Jk;6o0e3{%D*UCn=C9NGwt+Qef8!H4v4Sexy(pP!EL)B#@%Dy|!1ichmi# zX%(PSghUk%R0u^#9FTh9PpCLmDi;p)QVF=hfg2nO95`?&zc)J*Z%**!c^|*`=DnFW zp4ksye*G081Zfgv(%2&U#mqe|DHiDfP0<@$zc+4`0c^jyFnj&p_t&nUUYOk4T$rSd z@;21p8qELx=_b#)^#HW>ZR4FgpTV*iB1^Qv#a*x_+n^V6L55Xf&9F-QAxx_jgee(D z@iRp6VQFs=pR(lB$R-n`>D!JnLoLN6od$IQ9+}RlpJ~6vm5 z^@%#eDDmA6&&a|cNxSYKKfRK{n7L29idKqp6+N_!-k(MZnX)hm`k~*oxwXS6>`O(a zqGS-osl6wnIfzDnGt9baGfJG$zuX)KVYcBcxy#GW&}%oBasa$dejJApojG^GUbS29 zirccCkr#Ic$AZHv&)ZJlc6!k$NS$8njeKW4!V>%#U=Sjy@AR^;lLk?k016`~NxjZR zXFZNmzmrBWt*ym=f}N`McLrX(+kzyx>Ze!MeUd1hSzSG1FJ5S8VVdPDah}bjwfw_u=%-D|gF|GlEui@mUqofal=d-Md< zAh#2ZMm`SE4bdGJ9nZU!&+!Lqvcvh>{||p0L45D|S~Kx|Fa9C*n=lW29|tI^;$q-O z(-<7X7o6>b%2v+@U4&gEo$qOY9RFW&ydFJ=^KiZ$RupO9671so8c2Q(7_YB{q1Sf; zx}F0SZwsyvD~h!5JZ!DA>oN?R6-C;24tBBbr>NTi#&vmrx-Ks5o_sqkq8ozDYM z%=ZAJ<5(udE*eJFT?iN6?} zkNeIwi}~&&?qOh>bUtlsS;Q^+fMK29xBsZ5J@*iSC-1 z&nG)3lP1RoG?VZ_Dv(Ls!7-WWfbKQl-D#XqF@pQD`(Ebneg0kpK7=8Vp6|Z^`#=G^>I;ot?WOg Jqz!4n{ulF`_R9bO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/ctype.c b/linux-0.11-lab - 副本/1/linux/lib/ctype.c new file mode 100644 index 0000000..877e629 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/ctype.c @@ -0,0 +1,35 @@ +/* + * linux/lib/ctype.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab - 副本/1/linux/lib/ctype.o b/linux-0.11-lab - 副本/1/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..acd65e6a3869dcf4ecb16245dcd9f21e6856c20c GIT binary patch literal 1908 zcmcgtOK;Oa5Z;Yl`bZlRr97$%luE4#2s;S`RJF8FBB+9@9*}xLf?_*PViDVs<3Ni9 z`~q(L0B%U!xbSDVaN!4lxFJ-&+4Ux_=z$X>&CcuFnf2_$Z|?2f=bSS|oM~)qG4@WA zk-89NmS=McD&>@-GLbUI@_qg|=_5+~TY|8Lzeob^3d)>76rVc2n*VRvD5;CGI)4bs z*HdfA+<;+%H5$-ZU7u_~(fO1CG4YX{GZ#n|eV*7M$MlntL+7VH!C<_=S8~OymRro_ z&oP$ayjkQ$?>nnU-72u4kLY+Y6cVm^}~9P?}_=LdCEQ&ajIZ zIscWL!zfMy_MbB+KJ2@uBcPRT=)09**orIRzzEzIm7W(24~(i=s~J7Zu2iK1qs@lF z!0QBVtK@X8Xq0B)y>uxf+jnBW&$f5>N{v$8Ts7+@!?z-*yWw45y;(9kC8HhsUTm}@ z%Xf`_=moJG!RZC4=^E`};KW`S4B!evV-Q=;Gov4cvFpTPMA@l`D9yGTjkQvF&mIQx zP}VZ84TV*EU8|eb`eo_G77Y&l*s>wxNXo9#V)r0sX3L5#X4-=RGb6WWwp@GI+4q8W zh>*}N+m77l>8KT1LC3`e382+09l4q5gud?v$Q@wuCK@6?Ml}52hDF*q@TmkY@9220 zy2nciF1gC=4%sRQy#yw@1g86>a9b%1#g$o2>EtI|o0NnU?kenQ<%FD_Wb7#<&Zszu zbZw~KEwGvcm3@G*NlHR0whLS76#52(j<+HedjLneZVz>-4%LM!YLopKtmZ&vzhRU~ zNl3*!*rd~U6RqGbeU_>iDMlP8QsKS;cSRuNpm47eoC?XiudMN!3UH~tpeW(qj$xy< zQ(k$!WpEw`;w#kC;8`&BIS;0ur1Sj*?ks$YD9=fh_Ur8XQ5tjnZ$bIfD + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab - 副本/1/linux/lib/dup.o b/linux-0.11-lab - 副本/1/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..db9a7a81905d536743a71bac0ad2fb102e9303dc GIT binary patch literal 2200 zcma)7&2Jl35TCcZ{%D*UCjpTtNEj)F1lYAhEr<%GDJfJ1)I&>=fJ3yl*Y>LRZn_`T zt-^;CA+-tzDuf~=Zv6{5(R<;*pJngp3NK}0{9nWZJ!GCfQ)bbjZL+N~8RcHdf>zy9N$kFTFvn%>!7nx=7a z7vk?Vp6~r~lh@pO0NVMs_TKH!fh<;$CEmd-4r6+fG3bSikztisGOWUPV5U{@gM6QKj-SRH#6SWn^;1i3PKKtny;zsf9Ch?7Tj|_sW7mZG{45 zmNRq4JW;VlW|bW?Sen2S3ok7o_hXzNLwAHFE?v{x5Den_g!rd=7_&ShoQ!ash97i> zY1bpd-klDwNdrGly3QawyMhdD9ulvkk)l{e2Q8!bmr+2RG>H9v;C1WV*lc|~2&1Ha zz|a_kBd-yp-J}u5cHmuZ4E-P-+f8S6)gHR-Ml(}jZj%>9K}e_1UZ`)>Th5x(s@o$s z>I{ziN7tUO+x@!T3rBup_ab-X*;^qpdl8g=fS{h;OM_10hd~Tg5ZZC#b}rgmQJ8q0 zB#dZtGxB0=P?g;oxDgG*pf5KN`&Yf>%9ck`O{X_Dj@6ehw9_C-vr_EmQi)bSTx~hc z)=H)&e8(AytLI2;m&M|=WnDvi`Cxc3$pblAE$gPcw{ z8hJQ2CqQ!?G(2low#FN5$_8h(|DXABIPqOCDrdgq`HxV)1B=ifQa;S?3GjT$^QT4$Mxtn9EaoWv7kuXn!x$`IQSSkuCIWh>syDc*FeO3 zf{Vj~B5gYdtYtP`2B@>3NZZZ==ktz{w+0>O<^AcrxTpu>?IFOs&}q`~TqyGKt|17= z;doORI^HG7yoUG9bQj>)Oq4U*cx)@K{qEpdcv^a7llJ>W`DxR=>}Aq$zxFScpEloz zu(t1&)yMD)jQl=6%kASK*z`VTAnR`cA~gYSvY?3TV`8pzGX5JM?4RIxcZvTY9FP0X zIrH&;!*|L#H0gL6Yo6CzboYVQGe7t@WSq~yn6ppFlwVvP%m3NF!jvbv53!z4c0wji zPXHv7@Ds|BN!-B+ndpGdz;|~R-KtE?vM=hH=O1PERKvc4ArPAHzQDv;1scfxV*ZHY z{Ie2h{u9h`j>}5lQ2e;!rxbrfae0Rj$7PK5A1M8&ip#vXoP2IiZUFxaTkQ2g literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/errno.c b/linux-0.11-lab - 副本/1/linux/lib/errno.c new file mode 100644 index 0000000..50aca2e --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/errno.c @@ -0,0 +1,7 @@ +/* + * linux/lib/errno.c + * + * (C) 1991 Linus Torvalds + */ + +int errno; diff --git a/linux-0.11-lab - 副本/1/linux/lib/errno.o b/linux-0.11-lab - 副本/1/linux/lib/errno.o new file mode 100644 index 0000000000000000000000000000000000000000..2b68237de5d516e34b24195231b0aca298879d71 GIT binary patch literal 1472 zcma)6OK;Oa5T1=w3Ydmg1wmB_8L5aA;Z4#;RaIVx3Mvrltw)6HWYZdIyK>f04m|FN zQzg#)0?zylPW%tJawy;IdK)8wV5HfZ`R3c5eT@C~{^JKi2y!CGqe(;*G;F4COq*tD zhF0J=P23c#u;RT5?9d1qnU)x*JchjHRFY|6bK+WS-uGIIt=UUNjXrs;4gZ$^aQ@yx z<1%g4zI(q1Z~h2j6(cu&0sWJ$A$%|qR4VNU>bGy@>F%Qa;Q7` zILy?`&VG`WhhbOtdf|Q)ce)n97~6@owY?K;27S3M`$3pS#bEDFvbw$&gu6jF%F{%L zqasRGc#z{XssNZ|SX70hG8^b5&&GhVJRIw2@H{*ya;*kBFDBdC+T7d-+BC)B- zS4tE0-t_vi+h4XQksQBDbri$u!rDFOX?3Vc4kI0rjK^b=h1!=x6_>kDlWdeDW&9|P z3-zL&jfyDSRhVE2ymRMcZIXjLO%oAA%n@OM*0>xf%W?lD%bcN^;Fz@=wUp6kTr zwgEVwb048-;uCSXM?mUzzo0JH;kwgMSN92gHwP|#hPK(M#N`si?DM%dHD^0`P{Vn9=cGS3H+G;zUhcI0wwV1*e(!;SW6KSHBFC{e%O4g?Ao$4$9}9h4P)$ z*E_(yFvp3j>tbi?c$2;#JDlzBe=d&eJK?xqkz?M?M7)#kwU}pKsGhICB+oxPNy78Y z2`7+8zBwmXVV$EN$0z>-^SiR&i@-<2cO$So-!t2bm0e(qhB5y<;QWRHWd6 + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab - 副本/1/linux/lib/execve.o b/linux-0.11-lab - 副本/1/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..250d3960bb4f0002c32cd56d11ed8f4363a47a21 GIT binary patch literal 2340 zcma)7OKclO82)E>{Yad;c_9)d5=L?%Ja(NBtBOkc!i5s3id3i&qE%SiV|#_Y8`kSI zt)hYyA%ViB2Sh;}kSZijy>KZvP!SIyPF#BJg$qbLB*cM3`Tp6RcyoeZp8x%te|E-i zK7HmHAp~g)li3v7PPm z7;R;D!TvJN`0qP6IP%s#z|Pm>uipL^Qk>Hg&w>|mW_BVv8WS?C+&5qiEAummX=OY= zBE!gi&PtL0RM~QOl$8Am#Ik|J=rS+^=Mf)&2Auf>NQ^RTT%*igC8;#mtV}H><+Hyj z>2c*5QO>#vF8=~h&iX=O=0`ZS@x3Y}Cd8rQRKYCH6(_`GcKm)=%2X&Eg9=?IY#!Y? z;`pptJW_bF@bK)~6g!`o`QWKpF@***6kFD&j2WVAb)T3!h1HkIEamK=NDxTly4w{lkZpp@`bQ&Bo@V$Q2bUN{e zkWtyq5%C<(LuB*cff%hnjSNy%IzdlX{6RCS1by3=mnvP)A8gr+&eD?Ib?cSISOHv5 zN(?K>F!TeG{^kaqK6}1YD^;Bpr&_XmZrJD?^_Eu-m+W@QZUsFrvRk3sllDe{4?%`d zdOj*iyEX6|kr()VsQke0M{eVFdm{`Y*@%LWT3%OTJAJS1%Vw$3aYO2Nf-oxW>G;Fi zC&W(P6&YRLkmQE#P3i`IyTp#`>!Iuuovzi6lorm{2Yxh&o3@`AC~4{HQq@_kJ`!tr zmeY&?;>tM^+j%iJW?AoG_V~f0#x7C;JV_mZ8ss#BUQc4b zj*me)IGlK}ag6M&tHX$U|3CNvIPsg3O`Q40r$14)G0b6&C@w}#Tpj#q5{rHK*wJ$v!~Xx}$NlISPQv+qU?u@=TZEkMuZ!f@q2vBCSh~Lx;B^dGT7~d7 zGYM$hImnu4(^n8m%p{;~XCbHSS`fye*T^HAQU%tCYa1lBUI-d(gI^Q$|&cpde zv2;G31IO^b8IIv4_$y`=W*e{VglfNK4E#~$5hLx#GhklBMSU=dLfbxs%zXT;5xoY# z6&(c1{V}|cmEOmEY99w-)BBhJpDuMB!VTy&=(_2eY`c&n`W+PSE*-$)d^~rqna+0x z!^7LZ2Rh%LB4N^ci~hKmw(tMf<^1UiEbCpzQKtIhh8avkvnepui4GN}I@z>5HWa{_ zgukp5n8Xttf{6+6x52=7cM>PWbJf6eNj>fA--O~9o+>a2r04rDfVi^25ILUdeF^2i zGl4^YkSS)mkmyxB{J1XrpGxTS303z9`j->gWr{o-iF`Go??}6iL K2`zydkpBhBxe2NO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/lib.a b/linux-0.11-lab - 副本/1/linux/lib/lib.a new file mode 100644 index 0000000000000000000000000000000000000000..0944ab9b445a35144a211b8b311d1288299547ba GIT binary patch literal 34170 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/malloc.c b/linux-0.11-lab - 副本/1/linux/lib/malloc.c new file mode 100644 index 0000000..d7c95d5 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/malloc.c @@ -0,0 +1,232 @@ +/* + * malloc.c --- a general purpose kernel memory allocator for Linux. + * + * Written by Theodore Ts'o (tytso@mit.edu), 11/29/91 + * + * This routine is written to be as fast as possible, so that it + * can be called from the interrupt level. + * + * Limitations: maximum size of memory we can allocate using this routine + * is 4k, the size of a page in Linux. + * + * The general game plan is that each page (called a bucket) will only hold + * objects of a given size. When all of the object on a page are released, + * the page can be returned to the general free pool. When malloc() is + * called, it looks for the smallest bucket size which will fulfill its + * request, and allocate a piece of memory from that bucket pool. + * + * Each bucket has as its control block a bucket descriptor which keeps + * track of how many objects are in use on that page, and the free list + * for that page. Like the buckets themselves, bucket descriptors are + * stored on pages requested from get_free_page(). However, unlike buckets, + * pages devoted to bucket descriptor pages are never released back to the + * system. Fortunately, a system should probably only need 1 or 2 bucket + * descriptor pages, since a page can hold 256 bucket descriptors (which + * corresponds to 1 megabyte worth of bucket pages.) If the kernel is using + * that much allocated memory, it's probably doing something wrong. :-) + * + * Note: malloc() and free() both call get_free_page() and free_page() + * in sections of code where interrupts are turned off, to allow + * malloc() and free() to be safely called from an interrupt routine. + * (We will probably need this functionality when networking code, + * particularily things like NFS, is added to Linux.) However, this + * presumes that get_free_page() and free_page() are interrupt-level + * safe, which they may not be once paging is added. If this is the + * case, we will need to modify malloc() to keep a few unused pages + * "pre-allocated" so that it can safely draw upon those pages if + * it is called from an interrupt routine. + * + * Another concern is that get_free_page() should not sleep; if it + * does, the code is carefully ordered so as to avoid any race + * conditions. The catch is that if malloc() is called re-entrantly, + * there is a chance that unecessary pages will be grabbed from the + * system. Except for the pages for the bucket descriptor page, the + * extra pages will eventually get released back to the system, though, + * so it isn't all that bad. + */ + +#include +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab - 副本/1/linux/lib/malloc.o b/linux-0.11-lab - 副本/1/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..83667757057ff0915c7c4ad6ae9f4d0c0160ea5d GIT binary patch literal 4880 zcma)AS!`Ta89sOBdNTId@?Fn#g3%ipE_#~_of1bL9E?Nob`ab!I zi+!(7T-}TyePri5q3N3vn|36JywH3rg7ig|=;VdqFN>4|Y6uD0$b_k=Ozh-m4gGIv zI%LD9cRm58cWNkl@`4|l?@)}?Ahli*ydk0WLLZY-Bqxr*atWsx2y&Iz zQ1g(^z4->@t0pdP##;1&99S)`$%Svb1UW~T9|qN>$66&9Xz+Mw{to(0$ucMAd%z^5 zsx45e1P1PsQe}d~6C!wxTZ1Ve4odw4tl?9LEbGU0OQ?zs$Z02#;(*FHF*VeDKiCAS z-K?TEkDk2Hdh$HH5xPtGEf9AhAMBq*z}?ygU-|`*FUMK ztQwMHeY;T9`P+36j^gt$ylB#2GF+vqk9thnNjbH}1CY=vxtnf0Gl3(3^_R`jIHd8* z8W#_1NDFL@QH>^mWin7}?XuCyX7W@C@xE~mx?b5WIx02> zLEA>-eBN_wHK&@X)i9V}akSy6=ei>`X{hs2NjkalOrczJauv@Ds=k{SJ(#+hwQa3M zSSyK3=UF}9VptKO1z?*sSO$bsFtF|*DZ*bMeP}EFgIxg~u_Au} z6Mq+-b?$9Q4&$><&7*IwWFLi44Io-&J8t<=Zfh zuznSU0PRfU2DBaQ8kyeDA?b9`Sr0OU2D#py6BO)cJS7lTyR|yr84Jf(#@nrqNZYL_ zL8ldt$6^~}n_^ZcR;)#Y<79SrZouN(ts(|!Anb%Xk_5380fbngNgT0g8Zqd^phJo0 zwskX9Cju zNweIX?UuE(lL>Y7h@GANm`>+XX7_Z{UhooUY0ViTWeyGLH}QqUZRjoQM!W^R{I!7S zmOl0A9PLml87BOOu!f?Y!K?_`p&53U+3iDTMRrAw%}qZTZrnUG+b0DNM^4W~x4zOd zcUJLdB42u8`jP3`nak1Z!OL`vZdvM2=^#gDF8}!K-1VLZ!cDuj{c`4s+5WlN{u5Gp zCQ_03a3mc2&dZ2<{T<2s=tIAV1aot9W~9TxTXVCoU7q`DPfy6kyhbZQIWKC3$6VpL zqd6SdEH6aCo2cr0!d#LCPu%yZhn(%sV0uG(&`FgtUT%C#;S(F~bW&qZYP3=+_^DAZ zQ*u+)3eLUjL0Bjk3uQMo8kBQ>p@RD>HCnEuYJMhnFje&`zMJzao*b(FG8X;gm6F?E z4)T6~rIsqYhx-vGIFcGjuUnTYX0rVQN`O9#bdehK_m5UN2mer}C~#eR;^s?UEDiz> zb<-|Rk5iU+tf-AwJl_e*wZd2#cQdarbroa9tC=y^xX6-KJ@=4UW;)r#jsR(Dn0prXBggk@H{;7>{|~kFP%76)3yw1cv>#(bDMt54>`qijVOamt&f}2U75-!=og0Gw}>>uwHJ9zw?*k zVq5;#Fyq&cK;Fz+xr9Z7Fy$*i6k1kU+M82p?76~AExfF9wCBn%wXkSeVnBsu1(rl% zS&4c+F3&k7!}!|a@iDDt=IzM;F3l5I$9r$$9{|s}@Luh}eD>U=e+0a_Td6;AlYZ&d zc;7oz_om8c$nboG#_$)36w0@znkg4@I+Cb*c#IC3mutyL?S&9F)`yXU)gZ)2fg$X_ z&ydIDG8(HyY@X+dusaJ3VMD#B`IpGU@1Nx1XJhWfE{*Ge9Ov`o;eUWU>>IIB8MjD; z{EI-!*J9g{9{`fyP5gimdniZTtVZq*-Z%J91Yu$6c}9r*KN4a$5ixs+*l1i!%GYb$ zs&SV_-ci(NHOjjK{NtMcipJ+O{!rr!M2z!_=6|j6ipGCveJkgWcpuWZR^#17_>XAb z( +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab - 副本/1/linux/lib/open.o b/linux-0.11-lab - 副本/1/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..eb38332f48e0690a11dc41caa62a86db34a03b87 GIT binary patch literal 2368 zcma)7O>Epm6nw;(6kAZC{2)Bl^=nKyu03Ai(Na| z-jY`3H?7ntLbL}|A#teG3m2}aoTwByR4NFGOQc>nZ~(ypxNzW5zBl$H?g^ee?|Xmq zX6DU|=e_4nJuieHMS^tN)rjgw;;BfOq`fpmXV!lo{Ahk+-}-H1V}7E4^Atp&u?e>R zi?KO)D~IUK*C$55dw*l=^1U@!(iN( zX(0j9jQsZyH6!;cKsR!pACso#zht8*d@gJ#f#*5%RXe5dU897_%(!^MRWOmYuGSm?3Ev9ZMd#Mr_J zr)SO%Q54rv54*)DrR#f86B%oft{xAhLY-?Q+}myKB~zJw0u;ooab1F@RU8;k8}g>9}fC zHw^uNPA;D{=gf*dV^>V8%Dqo~?HMxSPz_I?$Ec^t;m)d#dteVnsRka!o?jTsY$+*p+ji`(#bno= z*deObz7wD-k7UAGeDss<>BB@TX)%!c^SlG)}obR2!2TIF9L4G?wK*2Y3l_M}UfW zeoUXBW!Ev2S;rpu)H;SBXNS5C@>V^al_>Um8H;d|Y=PGn+3)@i<12 z%BOUNS-U}h-dA?U2VZB_vm>ysR-N?HcivN_W3n02<&N$ebh)!xy?W6p;6X@u3v?JrmgQ#~3lt xWNI&`cr?ZN6c + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab - 副本/1/linux/lib/setsid.o b/linux-0.11-lab - 副本/1/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..7511f7c4a222329aaa1dc0b3b033b4453e6416f0 GIT binary patch literal 2244 zcma)7&2QX96o0dJHffSBn-AJVEyAEwgb#ZYxTR$;*NOkQf0xep z9su^gt$%X|f=!Lsstv3T1FcX7GzuaWdz@Uw9{T~r`jPz6v%t1J7Dky=D&vn)rzXB8 zvB&S{QuQa0u_Hig@+2^UA=PKMfU94UoqP_sa%V@z-vVQO$Ec!a)QQ^MlvO)cn^CjX z`cb$n$<)+YsNi%&tlH_R7pE@IVFg-0flQt{w^&%7TD&~RndcWixv;3C;b!!i$}6^x|a zILVxcTpHcDA2gytCu_v18wJ-Jy)YW=xGUc3s@wBhjg>+H+>#(kqF63ox#p}nP4AS~ zblkq5w7V~bCr`cLxSNi<5%jTZ6~%6v`Ry%t zJBhQPoyCc)uO~r@t?CW5yM7|QINB_>65a?{5ZMkp>zU+6xwy7=+F8EV8bsNkSdjbt zAeUC(TWxwP&8G`3{__IVjjN*eCe*QM+rEjqQqM*b^5(78=C^A2y}fj|pZP7&EGcN$ za7obfvS23@uj6OFc&!vIq_PvV2Ak_)v=PIU^M0$91n-ose&R=)*kx$~OJgP=hj{I{ z-w)6|FG6KJRJ*8DF(>G*=hZFN{D1J{aKculs-1cE%Ree@gkuZmrY=8KbWc+dl%FI3jEC1ula{k^86;|HSp@{kH>2Pr{@Sp66cyF|$GuIiK`VP5G!PH2n!u zG;UeznU8+?IR(9><<~WRQ&T?2^lNF_BSpM-wfvE$`8sf5xn|n)d7utt{^S1u<;VW3 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/string.c b/linux-0.11-lab - 副本/1/linux/lib/string.c new file mode 100644 index 0000000..1182e63 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/string.c @@ -0,0 +1,14 @@ +/* + * linux/lib/string.c + * + * (C) 1991 Linus Torvalds + */ + +#ifndef __GNUC__ +#error I want gcc! +#endif + +#define extern +#define inline +#define __LIBRARY__ +#include diff --git a/linux-0.11-lab - 副本/1/linux/lib/string.o b/linux-0.11-lab - 副本/1/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..840f038b2beb337cf418b004cd61fe5f8badc3b6 GIT binary patch literal 6380 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 b$T5+-MNW%6E;57|# +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab - 副本/1/linux/lib/wait.o b/linux-0.11-lab - 副本/1/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..ba0290563e3e14c314e77ea37c75283d77b2c810 GIT binary patch literal 2584 zcma)8ONbmr7_RE>nVszHPG*xe*(Cu-oZ$MHo?WwOjCpL_#25)NM598KNzY90PUBAZ z+TD{E!3T?A*wca<#N2`h4}u~{@R~r(!9&Q!lb~J{Bd91IqQvj(uG;B=y5WicgWjcWgF)BvHvr9M2%Ll8QFAYGs{8Dvn`MGN4t2fT= ztqv`ntqzG(`DL&_l{x?U^+iTrx(!;oQa*Nh>E_VYz10Ghu$K{JUA3w-|L|AhGj#b! z*wV6=duYQ6jN~u~I1fkw_0EQY_Y3)DK>va+rCU z^Il39zQvqo8cs6_QLI5{USo)mBXUb=ebFp!Dvii>`SM1juZm)E7gTWCAk5PC;^V~w z>#;MXNAq&F+&!LJ?i)X_o{=+S=bsptaLea}Sx94yG1P{rQcx^R-yyD9i&{)R_-`5C zOEVVxF}ufijAPZCF$^wW9Td6aoD`h^8sZRUDQ}gAF(-EnH%r=f-Sb-uy|!DAPDi3I z3USi$V!Oo@@##f3vOBzrJ>QGsHu$7oE}6|i`83W{<_li}jJe~4 z_j~QQ9z-?YJy~Dy{NAbBq&+oNTX357$y9;4Dcmsh1A#+t#A5%Uqm|jpw7t!quGG3t z*y`-`wr+c*Qk$>T=7O#l*XBZ}>(&+nTrW3-(({qptY1z4s_#_Y!I9wW(=)a{B&M%SMlK0?9K+ggjf2n}#gw zZFHRn%t7K^7JEvCC1bWUcCu91bGc+OZilk*o{QO1xlzJbYe%QMvC{;`VTv8ih3he02{Wqk0q zDA@#(-brC~*7+WUhW`KM$MxtKCSksx$tcpcNyypt%|Q4BI<7B=q1QJ9UdMnHZ$kK- zj3RA20$KAkJ&JF#LPn9c@$=8t{Uy^E?oZcs!Rr{Ncmes&kWr*<4&-b;F_`v=`vAL| z?^W=O;l4@Nkm0$8i(S{8kRz6Bh zq<1lA_ff#&%g}KjYcX_RM!;uF9fsi|beeQs;%ZIsqiimec-6%)2Jvh=oijeUb-$$u|sqO6i|b_`JfG6*d(v5RvbklFuvrP~jH}uMpvP YL&@JMOxBB!p8KZ#n8FIsfIOq{ABC4WX#fBK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/lib/write.c b/linux-0.11-lab - 副本/1/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab - 副本/1/linux/lib/write.o b/linux-0.11-lab - 副本/1/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..3aae21041d4ba6dc5244299e04aa1f571eb6f14b GIT binary patch literal 2376 zcma)8OK%)S5U!rtm%Yx$4<5E0i9y&BF9UKToQIG=R070wS-C6I5-5FH@mjsCjA#nt8gw*Q zo?gHA;@Ovk5Tr?vNkc@`%_&b^iaENECg`=@KgRdYR*xO9Z|`DtdhhkB^~3ugp01AV z?o`KUtFQ<4_i^U`{B(n79^3`(-Wq@F=C?p9XHG0b7r%iOFqlp%K}N3l4OAnS{~5x} z<^3Qb!zg~mMp3#BA#)hklQOLMqjVI$hsYm*iP00_Oq^1D{xx`^(@yQiJ{6jS4iMXo z{alfw#puftl}f)#BvbDvG?L?tqi=$hp8+#(%iLl@9Is53&B|xO-=77W@+EsX8J+pP8cV6bJ+I|~bT&u!M`l>xj-t#E+$dr=gGbmrUzYt^bdi%#9L z`)<_gp7c*FK5g0SmfZ>aeqwhbx9`~-A+C%U!RQA_?b)3{&`SI;h+zssJ5JozJN8Bt zCSEHEBOD<1*8{I@wYqLZaW{+->(IuxPo8@i#wHc&U-7sQ)C+@ki_MKjdt)qF=ZuuTZ+V$^CWgkVsSiTJPQ2Yu+$LlaDcRLpdnf5q{B^c+sY`EIk4lJ?C5 zXZQChl3#<3_m{`e`&)so=Rl<;fG=1{N&C(NYn@%c09dS~qJ&Nqso^Kl(`4xgLp5}trRl`1*=cfdDX z8iqi6{{96RuPl&^`@)iI$C7{G1e*RZOVo5OwafYN^ST^&I+bgwd?S@_r?Q#K9!uo= bB*kB*lK&0iJaRwyaCz?>cQKU~qyhXd?!6OW literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/mm/Makefile b/linux-0.11-lab - 副本/1/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab - 副本/1/linux/mm/memory.c b/linux-0.11-lab - 副本/1/linux/mm/memory.c new file mode 100644 index 0000000..0ffa375 --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/mm/memory.c @@ -0,0 +1,431 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(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 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: 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; + 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 + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + 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 mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; i5I8yebbsjY3b+28NJ=ba4L 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 WJ>8K)@)PG@pEzRdVi(KKAO0KJhD)6Q literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/mm/page.o b/linux-0.11-lab - 副本/1/linux/mm/page.o new file mode 100644 index 0000000000000000000000000000000000000000..da4852668a6d8b88d91c428ae8572bb3d4d2090d GIT binary patch literal 640 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 N^|Cbi(V*L${{d;jp)>#h literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/1/linux/tools/build.c b/linux-0.11-lab - 副本/1/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab - 副本/1/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab - 副本/1/linux/tools/system b/linux-0.11-lab - 副本/1/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..cdec13498fa56de2a8a9c9f8d06d839b764ef75e GIT binary patch literal 286057 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 Cri=yv literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/Makefile b/linux-0.11-lab - 副本/0/linux/Makefile new file mode 100644 index 0000000..ecbcf30 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/Makefile @@ -0,0 +1,125 @@ +# +# if you want the ram-disk device, define this to be the +# size in blocks. +# +RAMDISK = #-DRAMDISK=512 + +AS86 =as86 -0 -a +LD86 =ld86 -0 + +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 -Map=System.map.2 -N +CC =gcc -march=i386 $(RAMDISK) +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -fno-stack-protector -mcld +CPP =cpp -nostdinc -Iinclude + +# +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, /dev/xxxx or empty, in which case the +# default of /dev/hd6 is used by 'build'. +# +ROOT_DEV= + +ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o +DRIVERS =kernel/blk_drv/blk_drv.a kernel/chr_drv/chr_drv.a +MATH =kernel/math/math.a +LIBS =lib/lib.a + +.c.s: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -nostdinc -Iinclude -c -o $*.o $< + +all: Image + +Image: boot/bootsect boot/setup tools/system tools/build + cp -f tools/system system.tmp + strip system.tmp + tools/build boot/bootsect boot/setup system.tmp $(ROOT_DEV) > Image + rm -f system.tmp + sync + +disk: Image + dd bs=8192 if=Image of=/dev/PS0 + +tools/build: tools/build.c + $(CC) $(CFLAGS) \ + -o tools/build tools/build.c + +boot/head.o: boot/head.s + +tools/system: boot/head.o init/main.o \ + $(ARCHIVES) $(DRIVERS) $(MATH) $(LIBS) + $(LD) $(LDFLAGS) boot/head.o init/main.o \ + $(ARCHIVES) \ + $(DRIVERS) \ + $(MATH) \ + $(LIBS) \ + -o tools/system + nm tools/system | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw]\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort >System.map + +kernel/math/math.a: FORCE + (cd kernel/math; make) + +kernel/blk_drv/blk_drv.a: FORCE + (cd kernel/blk_drv; make) + +kernel/chr_drv/chr_drv.a: FORCE + (cd kernel/chr_drv; make) + +kernel/kernel.o: FORCE + (cd kernel; make) + +mm/mm.o: FORCE + (cd mm; make) + +fs/fs.o: FORCE + (cd fs; make) + +lib/lib.a: FORCE + (cd lib; make) + +FORCE: + +boot/setup: boot/setup.s + $(AS86) -o boot/setup.o boot/setup.s + $(LD86) -s -o boot/setup boot/setup.o + +boot/bootsect: boot/bootsect.s + $(AS86) -o boot/bootsect.o boot/bootsect.s + $(LD86) -s -o boot/bootsect boot/bootsect.o + +tmp.s: boot/bootsect.s tools/system + (echo -n "SYSSIZE = (";ls -l tools/system | grep system \ + | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s + cat boot/bootsect.s >> tmp.s + +clean: + rm -f Image System.map tmp_make core System.map.2 + rm -f boot/bootsect boot/setup + rm -f init/*.o tools/system tools/build boot/*.o + (cd mm;make clean) + (cd fs;make clean) + (cd kernel;make clean) + (cd lib;make clean) + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd fs; make dep) + (cd kernel; make dep) + (cd mm; make dep) + +### Dependencies: +init/main.o : init/main.c include/unistd.h include/sys/stat.h \ + include/sys/types.h include/sys/times.h include/sys/utsname.h \ + include/utime.h include/time.h include/linux/tty.h include/termios.h \ + include/linux/sched.h include/linux/head.h include/linux/fs.h \ + include/linux/mm.h include/signal.h include/asm/system.h include/asm/io.h \ + include/stddef.h include/stdarg.h include/fcntl.h diff --git a/linux-0.11-lab - 副本/0/linux/System.map b/linux-0.11-lab - 副本/0/linux/System.map new file mode 100644 index 0000000..6e469c2 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/System.map @@ -0,0 +1,576 @@ +00000000 T pg_dir +00000000 T startup_32 +0000005a t check_x87 +00000073 t setup_idt +00000090 t rp_sidt +000000a3 t setup_gdt +00001000 t pg0 +00002000 t pg1 +00003000 t pg2 +00004000 t pg3 +00005000 T tmp_floppy_area +00005412 t L6 +00005414 t int_msg +00005428 t ignore_int +00005450 t setup_paging +000054ae t idt_descr +000054b6 t gdt_descr +000054c0 T idt +00005cc0 T gdt +000064c0 T fork +000064ef T pause +0000651e T setup +00006555 T sync +00006584 t time_init +00006799 T main +0000690c t printf +0000695b T init +00006bd4 T show_task +00006c59 T show_stat +00006c9f T math_state_restore +00006cfd T schedule +00006eaf T sys_pause +00006ec5 T sleep_on +00006f24 T interruptible_sleep_on +00006fdf T ticks_to_floppy_on +000070aa T floppy_on +000070d9 T floppy_off +000070e9 T do_floppy_timer +000072e1 T do_timer +000073d0 T sys_alarm +0000744f T sys_getpid +0000745b T sys_getppid +00007467 T sys_getuid +00007476 T sys_geteuid +00007486 T sys_getgid +00007496 T sys_getegid +000074a5 T sys_nice +000074d0 T sched_init +00007660 t bad_sys_call +00007668 t reschedule +00007674 T system_call +000076a8 t ret_from_sys_call +000076f0 T coprocessor_error +00007712 T device_not_available +0000774c T timer_interrupt +00007784 T sys_execve +00007794 T sys_fork +000077ac T hd_interrupt +000077e8 T floppy_interrupt +0000781e T parallel_interrupt +00007825 t _get_base +00007857 t die +00007a39 T do_double_fault +00007a5c T do_general_protection +00007a7f T do_divide_error +00007aa2 T do_int3 +00007b6a T do_nmi +00007b8d T do_debug +00007bb0 T do_overflow +00007bd3 T do_bounds +00007bf6 T do_invalid_op +00007c19 T do_device_not_available +00007c3c T do_coprocessor_segment_overrun +00007c5f T do_invalid_TSS +00007c82 T do_segment_not_present +00007ca5 T do_stack_segment +00007cc8 T do_coprocessor_error +00007cfc T do_reserved +00007d1f T trap_init +00008003 T divide_error +00008008 t no_error_code +00008038 T debug +0000803f T nmi +00008046 T int3 +0000804d T overflow +00008054 T bounds +0000805b T invalid_op +00008062 T coprocessor_segment_overrun +00008069 T reserved +00008070 T irq13 +00008085 T double_fault +0000808a t error_code +000080bc T invalid_TSS +000080c3 T segment_not_present +000080ca T stack_segment +000080d1 T general_protection +000080d8 t _get_base +0000810a T verify_area +00008171 T copy_mem +000082cb T copy_process +00008778 T find_empty_process +0000880c T panic +00008847 T printk +00008898 t skip_atoi +000088f3 t number +00008b64 T vsprintf +00008ff0 t get_fs_long +00009006 t put_fs_byte +0000901e t put_fs_long +0000902a T sys_ftime +00009030 T sys_break +00009036 T sys_ptrace +0000903c T sys_stty +00009042 T sys_gtty +00009048 T sys_rename +0000904e T sys_prof +00009054 T sys_setregid +0000910d T sys_setgid +000091a4 T sys_acct +000091aa T sys_phys +000091b0 T sys_lock +000091b6 T sys_mpx +000091bc T sys_ulimit +000091c2 T sys_time +0000921e T sys_setreuid +00009300 T sys_setuid +00009395 T sys_stime +000093eb T sys_times +0000948b T sys_brk +000094cd T sys_setpgid +000095a6 T sys_getpgrp +000095b2 T sys_setsid +0000962c T sys_getgroups +00009632 T sys_setgroups +00009638 T sys_uname +000096a1 T sys_sethostname +000096a7 T sys_getrlimit +000096ad T sys_setrlimit +000096b3 T sys_getrusage +000096b9 T sys_gettimeofday +000096bf T sys_settimeofday +000096c5 T sys_umask +000096f8 t _get_base +0000972a t put_fs_long +00009736 T release +0000979a t send_sig +00009819 t kill_session +00009873 T sys_kill +00009a23 t tell_father +00009aad T do_exit +00009ce1 T sys_exit +00009cfa T sys_waitpid +00009f20 t get_fs_byte +00009f2e t put_fs_byte +00009f46 t put_fs_long +00009f52 T sys_sgetmask +00009f5e T sys_ssetmask +00009f8a T sys_sigpending +00009f90 T sys_sigsuspend +00009f96 t save_old +00009fe9 t get_new +0000a029 T sys_signal +0000a0ad T sys_sigaction +0000a1b7 T do_signal +0000a3a3 T kernel_mktime +0000a4e8 t oom +0000a507 T get_free_page +0000a543 T free_page +0000a5b2 T free_page_tables +0000a6b1 T copy_page_tables +0000a832 T put_page +0000a91e T un_wp_page +0000a9d6 T do_wp_page +0000aa61 T get_empty_page +0000aaa1 t try_to_share +0000ac33 t share_page +0000ace7 T do_no_page +0000ae49 T mem_init +0000aebd T calc_mem +0000afb2 T page_fault +0000afe9 t get_fs_long +0000afff T sys_ustat +0000b005 T sys_utime +0000b0b2 T sys_access +0000b18e T sys_chdir +0000b202 T sys_chroot +0000b276 T sys_chmod +0000b310 T sys_chown +0000b38b T sys_open +0000b62e T sys_creat +0000b651 T sys_close +0000b720 T sys_lseek +0000b837 T sys_read +0000ba2a T sys_write +0000bbd8 t lock_inode +0000bc05 t unlock_inode +0000bc23 T invalidate_inodes +0000bc92 T sync_inodes +0000bce9 t _bmap +0000c0d5 T bmap +0000c0f8 T create_block +0000c11b T iput +0000c28a T get_empty_inode +0000c3df T get_pipe_inode +0000c454 T iget +0000c619 t read_inode +0000c84f T sys_sync +0000c8b2 T sync_dev +0000c9ab T invalidate_buffers +0000ca1d T check_disk_change +0000cac7 t remove_from_queues +0000cbbe t insert_into_queues +0000cc83 t find_buffer +0000cceb T get_hash_table +0000cd6d T getblk +0000cf0b T brelse +0000cf54 T bread +0000cfd9 T bread_page +0000d0fb T breada +0000d1f0 T buffer_init +0000d31f t lock_super +0000d34c t free_super +0000d391 T get_super +0000d400 T put_super +0000d4d3 t read_super +0000d816 T sys_umount +0000d977 T sys_mount +0000dae8 T mount_root +0000dcf6 t get_fs_byte +0000dd04 t put_fs_byte +0000dd1c T block_write +0000de6e T block_read +0000df99 t get_fs_byte +0000dfa7 t put_fs_byte +0000dfbf t rw_ttyx +0000e007 t rw_tty +0000e057 t rw_ram +0000e05d t rw_mem +0000e063 t rw_kmem +0000e069 t rw_port +0000e103 t rw_memory +0000e1d9 T rw_char +0000e243 t get_fs_byte +0000e251 t put_fs_byte +0000e269 T file_read +0000e414 T file_write +0000e60e t put_fs_byte +0000e626 t cp_stat +0000e6fd T sys_stat +0000e747 T sys_lstat +0000e762 T sys_fstat +0000e7bf T sys_readlink +0000e7c5 t _get_base +0000e7f7 t get_fs_byte +0000e805 t get_fs_long +0000e81b t put_fs_byte +0000e833 t put_fs_long +0000e83f t get_fs +0000e853 t get_ds +0000e867 t set_fs +0000e86e T sys_uselib +0000e874 t create_tables +0000e9bf t count +0000e9fe t copy_strings +0000ebba t change_ldt +0000ed3d T do_execve +0000f7bf t get_fs_byte +0000f7cd t put_fs_byte +0000f7e5 t put_fs_long +0000f7f1 T read_pipe +0000fac6 T sys_pipe +0000fcc8 t get_fs_byte +0000fcd6 t permission +0000fd77 t match +0000fddf t find_entry +00010239 t get_dir +00010426 t dir_namei +000104a5 T namei +000105bb T open_namei +0001090e T sys_mknod +00010b3e T sys_mkdir +00010eef t empty_dir +000110cd T sys_rmdir +00011425 T sys_unlink +000116c6 T sys_symlink +000116cc T sys_link +00011926 T free_block +00011a98 T new_block +00011c3c T free_inode +00011da3 T new_inode +00011f7d t dupfd +00012057 T sys_dup2 +0001207e T sys_dup +00012099 T sys_fcntl +000121d8 T sys_ioctl +000122a9 t free_ind +00012348 t free_dind +000123e7 T truncate +0001251c T sys_select +00012522 t lock_buffer +0001254f t unlock_buffer +00012741 t make_request +000128e5 T ll_rw_block +0001293e T blk_dev_init +0001298c t unlock_buffer +000129c1 t end_request +00012a72 T floppy_deselect +00012aa9 T floppy_change +00012b2f t setup_DMA +00012be5 t output_byte +00012c5b t result +00012d18 t bad_flp_intr +00012d77 t rw_interrupt +00012e66 T setup_rw_floppy +00012f27 t seek_interrupt +00012f80 t transfer +000130b5 t recal_interrupt +000130ff T unexpected_floppy_interrupt +00013144 t recalibrate_floppy +000131a6 t reset_interrupt +000131eb t reset_floppy +00013268 t floppy_on_interrupt +000132d3 t do_fd_request +000134d7 T floppy_init +00013529 t unlock_buffer +0001355e t end_request +000135fd T sys_setup +000139b0 t controller_ready +00013a44 t hd_out +00013b31 t drive_busy +00013b97 t reset_controller +00013c14 t reset_hd +00013cac T unexpected_hd_interrupt +00013cbf t bad_rw_intr +00013cfd t read_intr +00013e23 t recal_intr +00013e3d t do_hd_request +0001413e T hd_init +000141b8 t unlock_buffer +000141ed t end_request +0001428c t do_rd_request +000143c2 T rd_init +00014418 T rd_load +000146c4 t get_fs_byte +000146d2 t put_fs_byte +000146ea T tty_init +000146fb T tty_intr +0001476f t sleep_if_empty +000147a7 t sleep_if_full +0001481b T copy_to_cooked +00014dd6 T tty_read +00015144 T tty_write +00015356 T do_tty_interrupt +0001537e T chr_dev_init +0001537f t gotoxy +000153cd t set_origin +00015433 t scrup +00015623 t scrdown +0001571a t lf +00015750 t ri +00015786 t cr +000157a7 t del +000157d9 t csi_J +0001586a t csi_K +0001591c T csi_m +00015983 t set_cursor +000159e9 t respond +00015a41 t insert_char +00015aa4 t insert_line +00015ae8 t delete_char +00015b46 t delete_line +00015b8a t csi_at +00015bc8 t csi_L +00015c06 t csi_P +00015c44 t csi_M +00015c82 t save_cur +00015c97 t restore_cur +00015cb6 T con_write +00016344 T con_init +0001657b T sysbeepstop +000165a4 t sysbeep +00016602 t mode +00016603 t leds +00016604 t e0 +00016605 T keyboard_interrupt +0001662e t e0_e1 +00016659 t set_e0 +00016662 t set_e1 +0001666b t put_queue +000166a4 t ctrl +000166bc t unctrl +000166c0 t unalt +000166d6 t lshift +000166de t unlshift +000166e6 t rshift +000166ee t unrshift +000166f6 t caps +00016718 t set_leds +0001672e t uncaps +00016736 t scroll +0001673f t num +00016748 t cursor +00016768 t cur2 +00016791 t cur +0001679d t ok_cur +000167ab t num_table +000167b8 t cur_table +000167c5 t func +000167e2 t ok_func +000167f5 t end_func +000167f6 t func_table +00016826 t key_map +00016887 t shift_map +00016949 t do_self +000169b1 t none +000169b2 t minus +000169c7 t key_table +00016dc7 t kb_wait +00016dd0 t reboot +00016de2 t die +00016de4 t init +00016e59 T rs_init +00016edc T rs_write +00016f2c T rs1_interrupt +00016f34 T rs2_interrupt +00016f39 t rs_int +00016f50 t rep_int +00016f6d t end +00016f7b t jmp_table +00016f8c t modem_status +00016f94 t line_status +00016f9c t read_char +00017023 t get_fs_byte +00017031 t get_fs_long +00017047 t put_fs_byte +0001705f t put_fs_long +0001706b t change_speed +000170e9 t flush +000170fb t send_break +000170fc t get_termios +00017158 t set_termios +000171a8 t get_termio +00017270 t set_termio +00017334 T tty_ioctl +00017632 t get_fs_byte +00017640 T math_emulate +00017723 T math_error +00017743 T _exit +00017753 T open +0001779c T close +00017810 T dup +00017847 T setsid +00017876 T execve +00017913 T strcpy +0001792f T strncpy +00017954 T strcat +0001797f T strncat +000179b4 T strcmp +000179db T strncmp +00017a09 T strchr +00017a36 T strrchr +00017a65 T strspn +00017aa2 T strcspn +00017adf T strpbrk +00017b16 T strstr +00017b4f T strlen +00017b72 T strtok +00017bf5 T memcpy +00017c15 T memmove +00017c69 T memcmp +00017c93 T memchr +00017ccb T memset +0001bb48 d envp_rc +0001bb5c d envp +0001bb80 D sys_call_table +0001bcdc D NR_syscalls +0001bce0 d init_task +0001cce0 D current +0001cd00 D task +0001ce00 D stack_start +0001ce08 D current_DOR +0001ce20 d thisname.1955 +0001ce60 d month +0001cea0 d last_inode.1935 +0001cea4 D start_buffer +0001cec0 d crw_table +0001cee0 d ioctl_table +0001cf00 d floppy_type +0001cfc0 d cur_spec1 +0001cfc4 d cur_rate +0001cfc8 d floppy +0001cfcc d current_track +0001cfd0 d callable.1844 +0001cfe0 D tty_table +0001f500 D table_list +0001f520 d quotient +0001f540 D _ctype +0001f641 B __bss_start +0001f641 D _edata +0001f660 b printbuf +0001fa60 b memory_end +0001fa64 b buffer_memory_end +0001fa68 b main_memory_start +0001fa80 B jiffies +0001fa84 B startup_time +0001fa88 B last_task_used_math +0001fa9c b mon_timer +0001faac b moff_timer +0001fac0 b timer_list +0001fdc0 b next_timer +0001fdc4 B last_pid +0001fde0 b buf +000201e0 b HIGH_MEMORY +00020200 b mem_map +00021100 B inode_table +00021800 B nr_buffers +00021804 b free_list +00021808 b buffer_wait +0002180c B ROOT_DEV +00021840 B blk_dev +00021878 B do_floppy +0002187c B selected +00021884 b recalibrate +00021888 b reset +0002188c b seek +00021890 b reply_buffer +00021897 b current_drive +00021898 b sector +00021899 b head +0002189a b track +0002189b b seek_track +0002189c b command +000218a0 B do_hd +000218c0 B hd_info +000218f0 b recalibrate +000218f4 b reset +000218f8 b NR_HD +00021900 b hd +00021950 B rd_length +00021954 b cr_flag.1923 +00021960 B beepcount +00021964 b video_type +00021968 b video_num_columns +0002196c b video_size_row +00021970 b video_num_lines +00021974 b video_page +00021978 b video_mem_start +0002197c b video_mem_end +00021980 b video_port_reg +00021982 b video_port_val +00021984 b video_erase_char +00021988 b origin +0002198c b scr_end +00021990 b pos +00021994 b x +00021998 b y +0002199c b top +000219a0 b bottom +000219a4 b state +000219a8 b npar +000219c0 b par +00021a00 b ques +00021a04 b saved_x +00021a08 b saved_y +00021a20 B drive_info +00021a40 B user_stack +00022a40 B hash_table +00022f20 B super_block +00023280 B file_table +00023680 B request +00023b00 B rd_start +00023b04 B _ctmp +00023b08 B errno +00023b0c B ___strtok +00023b10 B end +00023b10 B _end diff --git a/linux-0.11-lab - 副本/0/linux/System.map.2 b/linux-0.11-lab - 副本/0/linux/System.map.2 new file mode 100644 index 0000000..44e841e --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/System.map.2 @@ -0,0 +1,1075 @@ +Archive member included to satisfy reference by file (symbol) + +kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + fs/fs.o (ll_rw_block) +kernel/blk_drv/blk_drv.a(floppy.o) + kernel/kernel.o (do_floppy) +kernel/blk_drv/blk_drv.a(hd.o) + kernel/kernel.o (do_hd) +kernel/blk_drv/blk_drv.a(ramdisk.o) + kernel/blk_drv/blk_drv.a(hd.o) (rd_load) +kernel/chr_drv/chr_drv.a(tty_io.o) + kernel/kernel.o (tty_table) +kernel/chr_drv/chr_drv.a(console.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (con_write) +kernel/chr_drv/chr_drv.a(keyboard.2.o) + kernel/chr_drv/chr_drv.a(console.o) (keyboard_interrupt) +kernel/chr_drv/chr_drv.a(serial.o) + kernel/chr_drv/chr_drv.a(tty_io.o) (rs_init) +kernel/chr_drv/chr_drv.a(rs_io.o) + kernel/chr_drv/chr_drv.a(serial.o) (rs1_interrupt) +kernel/chr_drv/chr_drv.a(tty_ioctl.o) + fs/fs.o (tty_ioctl) +kernel/math/math.a(math_emulate.o) + kernel/kernel.o (math_emulate) +lib/lib.a(ctype.o) kernel/chr_drv/chr_drv.a(tty_io.o) (_ctmp) +lib/lib.a(_exit.o) init/main.o (_exit) +lib/lib.a(open.o) init/main.o (open) +lib/lib.a(close.o) init/main.o (close) +lib/lib.a(errno.o) init/main.o (errno) +lib/lib.a(write.o) init/main.o (write) +lib/lib.a(dup.o) init/main.o (dup) +lib/lib.a(setsid.o) init/main.o (setsid) +lib/lib.a(execve.o) init/main.o (execve) +lib/lib.a(wait.o) init/main.o (wait) +lib/lib.a(string.o) fs/fs.o (strncpy) + +分配公共符号 +公共符号 大小 文件 + +errno 0x4 lib/lib.a(errno.o) +hash_table 0x4cc fs/fs.o +___strtok 0x4 lib/lib.a(string.o) +rd_start 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) +request 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) +user_stack 0x1000 kernel/kernel.o +_ctmp 0x1 lib/lib.a(ctype.o) +super_block 0x360 fs/fs.o +drive_info 0x20 init/main.o +file_table 0x400 fs/fs.o + +Discarded input sections + + .note.GNU-stack + 0x0000000000000000 0x0 init/main.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/kernel.o + .note.GNU-stack + 0x0000000000000000 0x0 mm/mm.o + .note.GNU-stack + 0x0000000000000000 0x0 fs/fs.o + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(floppy.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(hd.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_io.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(console.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .note.GNU-stack + 0x0000000000000000 0x0 kernel/math/math.a(math_emulate.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(ctype.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(_exit.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(open.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(close.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(errno.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(write.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(dup.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(setsid.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(execve.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(wait.o) + .note.GNU-stack + 0x0000000000000000 0x0 lib/lib.a(string.o) + +内存配置 + +名称 来源 长度 属性 +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +段 .text 的地址设置为 0x0 +LOAD boot/head.o +LOAD init/main.o +LOAD kernel/kernel.o +LOAD mm/mm.o +LOAD fs/fs.o +LOAD kernel/blk_drv/blk_drv.a +LOAD kernel/chr_drv/chr_drv.a +LOAD kernel/math/math.a +LOAD lib/lib.a + 0x0000000008048000 PROVIDE (__executable_start, 0x8048000) + 0x0000000008048074 . = (0x8048000 + SIZEOF_HEADERS) + +.interp + *(.interp) + +.note.gnu.build-id + *(.note.gnu.build-id) + +.hash + *(.hash) + +.gnu.hash + *(.gnu.hash) + +.dynsym + *(.dynsym) + +.dynstr + *(.dynstr) + +.gnu.version + *(.gnu.version) + +.gnu.version_d + *(.gnu.version_d) + +.gnu.version_r + *(.gnu.version_r) + +.rel.init + *(.rel.init) + +.rel.text 0x0000000008048074 0x0 + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + .rel.text 0x0000000000000000 0x0 boot/head.o + +.rel.fini + *(.rel.fini) + +.rel.rodata + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + +.rel.data.rel.ro + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + +.rel.data 0x0000000008048074 0x0 + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + .rel.data 0x0000000000000000 0x0 boot/head.o + +.rel.tdata + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + +.rel.tbss + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + +.rel.ctors + *(.rel.ctors) + +.rel.dtors + *(.rel.dtors) + +.rel.got + *(.rel.got) + +.rel.bss + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + +.rel.ifunc + *(.rel.ifunc) + +.rel.plt 0x0000000008048074 0x0 + *(.rel.plt) + 0x0000000008048074 PROVIDE (__rel_iplt_start, .) + *(.rel.iplt) + .rel.iplt 0x0000000000000000 0x0 boot/head.o + 0x0000000008048074 PROVIDE (__rel_iplt_end, .) + +.init + *(SORT(.init)) + +.plt 0x0000000008048080 0x0 + *(.plt) + *(.iplt) + .iplt 0x0000000000000000 0x0 boot/head.o + +.text 0x0000000000000000 0x17cef + *(.text.unlikely .text.*_unlikely .text.unlikely.*) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + .text 0x0000000000000000 0x64c0 boot/head.o + 0x0000000000000000 startup_32 + 0x0000000000000000 pg_dir + 0x0000000000005000 tmp_floppy_area + 0x00000000000054c0 idt + 0x0000000000005cc0 gdt + .text 0x00000000000064c0 0x713 init/main.o + 0x00000000000064c0 fork + 0x00000000000064ef pause + 0x000000000000651e setup + 0x0000000000006555 sync + 0x0000000000006799 main + 0x000000000000695b init + *fill* 0x0000000000006bd3 0x1 + .text 0x0000000000006bd4 0x3914 kernel/kernel.o + 0x0000000000006bd4 show_task + 0x0000000000006c59 show_stat + 0x0000000000006c9f math_state_restore + 0x0000000000006cfd schedule + 0x0000000000006eaf sys_pause + 0x0000000000006ec5 sleep_on + 0x0000000000006f24 interruptible_sleep_on + 0x0000000000006fb7 wake_up + 0x0000000000006fdf ticks_to_floppy_on + 0x00000000000070aa floppy_on + 0x00000000000070d9 floppy_off + 0x00000000000070e9 do_floppy_timer + 0x00000000000071bd add_timer + 0x00000000000072e1 do_timer + 0x00000000000073d0 sys_alarm + 0x000000000000744f sys_getpid + 0x000000000000745b sys_getppid + 0x0000000000007467 sys_getuid + 0x0000000000007476 sys_geteuid + 0x0000000000007486 sys_getgid + 0x0000000000007496 sys_getegid + 0x00000000000074a5 sys_nice + 0x00000000000074d0 sched_init + 0x0000000000007674 system_call + 0x00000000000076f0 coprocessor_error + 0x0000000000007712 device_not_available + 0x000000000000774c timer_interrupt + 0x0000000000007784 sys_execve + 0x0000000000007794 sys_fork + 0x00000000000077ac hd_interrupt + 0x00000000000077e8 floppy_interrupt + 0x000000000000781e parallel_interrupt + 0x0000000000007a39 do_double_fault + 0x0000000000007a5c do_general_protection + 0x0000000000007a7f do_divide_error + 0x0000000000007aa2 do_int3 + 0x0000000000007b6a do_nmi + 0x0000000000007b8d do_debug + 0x0000000000007bb0 do_overflow + 0x0000000000007bd3 do_bounds + 0x0000000000007bf6 do_invalid_op + 0x0000000000007c19 do_device_not_available + 0x0000000000007c3c do_coprocessor_segment_overrun + 0x0000000000007c5f do_invalid_TSS + 0x0000000000007c82 do_segment_not_present + 0x0000000000007ca5 do_stack_segment + 0x0000000000007cc8 do_coprocessor_error + 0x0000000000007cfc do_reserved + 0x0000000000007d1f trap_init + 0x0000000000008003 divide_error + 0x0000000000008038 debug + 0x000000000000803f nmi + 0x0000000000008046 int3 + 0x000000000000804d overflow + 0x0000000000008054 bounds + 0x000000000000805b invalid_op + 0x0000000000008062 coprocessor_segment_overrun + 0x0000000000008069 reserved + 0x0000000000008070 irq13 + 0x0000000000008085 double_fault + 0x00000000000080bc invalid_TSS + 0x00000000000080c3 segment_not_present + 0x00000000000080ca stack_segment + 0x00000000000080d1 general_protection + 0x000000000000810a verify_area + 0x0000000000008171 copy_mem + 0x00000000000082cb copy_process + 0x0000000000008778 find_empty_process + 0x000000000000880c panic + 0x0000000000008847 printk + 0x0000000000008b64 vsprintf + 0x000000000000902a sys_ftime + 0x0000000000009030 sys_break + 0x0000000000009036 sys_ptrace + 0x000000000000903c sys_stty + 0x0000000000009042 sys_gtty + 0x0000000000009048 sys_rename + 0x000000000000904e sys_prof + 0x0000000000009054 sys_setregid + 0x000000000000910d sys_setgid + 0x00000000000091a4 sys_acct + 0x00000000000091aa sys_phys + 0x00000000000091b0 sys_lock + 0x00000000000091b6 sys_mpx + 0x00000000000091bc sys_ulimit + 0x00000000000091c2 sys_time + 0x000000000000921e sys_setreuid + 0x0000000000009300 sys_setuid + 0x0000000000009395 sys_stime + 0x00000000000093eb sys_times + 0x000000000000948b sys_brk + 0x00000000000094cd sys_setpgid + 0x00000000000095a6 sys_getpgrp + 0x00000000000095b2 sys_setsid + 0x000000000000962c sys_getgroups + 0x0000000000009632 sys_setgroups + 0x0000000000009638 sys_uname + 0x00000000000096a1 sys_sethostname + 0x00000000000096a7 sys_getrlimit + 0x00000000000096ad sys_setrlimit + 0x00000000000096b3 sys_getrusage + 0x00000000000096b9 sys_gettimeofday + 0x00000000000096bf sys_settimeofday + 0x00000000000096c5 sys_umask + 0x0000000000009736 release + 0x0000000000009873 sys_kill + 0x0000000000009aad do_exit + 0x0000000000009ce1 sys_exit + 0x0000000000009cfa sys_waitpid + 0x0000000000009f52 sys_sgetmask + 0x0000000000009f5e sys_ssetmask + 0x0000000000009f8a sys_sigpending + 0x0000000000009f90 sys_sigsuspend + 0x000000000000a029 sys_signal + 0x000000000000a0ad sys_sigaction + 0x000000000000a1b7 do_signal + 0x000000000000a3a3 kernel_mktime + .text 0x000000000000a4e8 0xb01 mm/mm.o + 0x000000000000a507 get_free_page + 0x000000000000a543 free_page + 0x000000000000a5b2 free_page_tables + 0x000000000000a6b1 copy_page_tables + 0x000000000000a832 put_page + 0x000000000000a91e un_wp_page + 0x000000000000a9d6 do_wp_page + 0x000000000000aa08 write_verify + 0x000000000000aa61 get_empty_page + 0x000000000000ace7 do_no_page + 0x000000000000ae49 mem_init + 0x000000000000aebd calc_mem + 0x000000000000afb2 page_fault + .text 0x000000000000afe9 0x7539 fs/fs.o + 0x000000000000afff sys_ustat + 0x000000000000b005 sys_utime + 0x000000000000b0b2 sys_access + 0x000000000000b18e sys_chdir + 0x000000000000b202 sys_chroot + 0x000000000000b276 sys_chmod + 0x000000000000b310 sys_chown + 0x000000000000b38b sys_open + 0x000000000000b62e sys_creat + 0x000000000000b651 sys_close + 0x000000000000b720 sys_lseek + 0x000000000000b837 sys_read + 0x000000000000ba2a sys_write + 0x000000000000bc23 invalidate_inodes + 0x000000000000bc92 sync_inodes + 0x000000000000c0d5 bmap + 0x000000000000c0f8 create_block + 0x000000000000c11b iput + 0x000000000000c28a get_empty_inode + 0x000000000000c3df get_pipe_inode + 0x000000000000c454 iget + 0x000000000000c84f sys_sync + 0x000000000000c8b2 sync_dev + 0x000000000000c9ab invalidate_buffers + 0x000000000000ca1d check_disk_change + 0x000000000000cceb get_hash_table + 0x000000000000cd6d getblk + 0x000000000000cf0b brelse + 0x000000000000cf54 bread + 0x000000000000cfd9 bread_page + 0x000000000000d0fb breada + 0x000000000000d1f0 buffer_init + 0x000000000000d391 get_super + 0x000000000000d400 put_super + 0x000000000000d816 sys_umount + 0x000000000000d977 sys_mount + 0x000000000000dae8 mount_root + 0x000000000000dd1c block_write + 0x000000000000de6e block_read + 0x000000000000e1d9 rw_char + 0x000000000000e269 file_read + 0x000000000000e414 file_write + 0x000000000000e6fd sys_stat + 0x000000000000e747 sys_lstat + 0x000000000000e762 sys_fstat + 0x000000000000e7bf sys_readlink + 0x000000000000e86e sys_uselib + 0x000000000000ed3d do_execve + 0x000000000000f7f1 read_pipe + 0x000000000000f947 write_pipe + 0x000000000000fac6 sys_pipe + 0x00000000000104a5 namei + 0x00000000000105bb open_namei + 0x000000000001090e sys_mknod + 0x0000000000010b3e sys_mkdir + 0x00000000000110cd sys_rmdir + 0x0000000000011425 sys_unlink + 0x00000000000116c6 sys_symlink + 0x00000000000116cc sys_link + 0x0000000000011926 free_block + 0x0000000000011a98 new_block + 0x0000000000011c3c free_inode + 0x0000000000011da3 new_inode + 0x0000000000012057 sys_dup2 + 0x000000000001207e sys_dup + 0x0000000000012099 sys_fcntl + 0x00000000000121d8 sys_ioctl + 0x00000000000123e7 truncate + 0x000000000001251c sys_select + .text 0x0000000000012522 0x46a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x00000000000128e5 ll_rw_block + 0x000000000001293e blk_dev_init + .text 0x000000000001298c 0xb9d kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000012a72 floppy_deselect + 0x0000000000012aa9 floppy_change + 0x0000000000012e66 setup_rw_floppy + 0x00000000000130ff unexpected_floppy_interrupt + 0x00000000000134d7 floppy_init + .text 0x0000000000013529 0xc8f kernel/blk_drv/blk_drv.a(hd.o) + 0x00000000000135fd sys_setup + 0x0000000000013cac unexpected_hd_interrupt + 0x000000000001413e hd_init + .text 0x00000000000141b8 0x50c kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x00000000000143c2 rd_init + 0x0000000000014418 rd_load + .text 0x00000000000146c4 0xcbb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x00000000000146ea tty_init + 0x00000000000146fb tty_intr + 0x0000000000014808 wait_for_keypress + 0x000000000001481b copy_to_cooked + 0x0000000000014dd6 tty_read + 0x0000000000015144 tty_write + 0x0000000000015356 do_tty_interrupt + 0x000000000001537e chr_dev_init + .text 0x000000000001537f 0x1283 kernel/chr_drv/chr_drv.a(console.o) + 0x000000000001591c csi_m + 0x0000000000015cb6 con_write + 0x0000000000016344 con_init + 0x000000000001657b sysbeepstop + .text 0x0000000000016602 0x7e2 kernel/chr_drv/chr_drv.a(keyboard.2.o) + 0x0000000000016605 keyboard_interrupt + .text 0x0000000000016de4 0x145 kernel/chr_drv/chr_drv.a(serial.o) + 0x0000000000016e59 rs_init + 0x0000000000016edc rs_write + *fill* 0x0000000000016f29 0x3 + .text 0x0000000000016f2c 0xf7 kernel/chr_drv/chr_drv.a(rs_io.o) + 0x0000000000016f2c rs1_interrupt + 0x0000000000016f34 rs2_interrupt + .text 0x0000000000017023 0x60f kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x0000000000017334 tty_ioctl + .text 0x0000000000017632 0x111 kernel/math/math.a(math_emulate.o) + 0x0000000000017640 math_emulate + 0x0000000000017723 math_error + .text 0x0000000000017743 0x0 lib/lib.a(ctype.o) + .text 0x0000000000017743 0x10 lib/lib.a(_exit.o) + 0x0000000000017743 _exit + .text 0x0000000000017753 0x49 lib/lib.a(open.o) + 0x0000000000017753 open + .text 0x000000000001779c 0x37 lib/lib.a(close.o) + 0x000000000001779c close + .text 0x00000000000177d3 0x0 lib/lib.a(errno.o) + .text 0x00000000000177d3 0x3d lib/lib.a(write.o) + 0x00000000000177d3 write + .text 0x0000000000017810 0x37 lib/lib.a(dup.o) + 0x0000000000017810 dup + .text 0x0000000000017847 0x2f lib/lib.a(setsid.o) + 0x0000000000017847 setsid + .text 0x0000000000017876 0x3d lib/lib.a(execve.o) + 0x0000000000017876 execve + .text 0x00000000000178b3 0x60 lib/lib.a(wait.o) + 0x00000000000178b3 waitpid + 0x00000000000178f0 wait + .text 0x0000000000017913 0x3dc lib/lib.a(string.o) + 0x0000000000017913 strcpy + 0x000000000001792f strncpy + 0x0000000000017954 strcat + 0x000000000001797f strncat + 0x00000000000179b4 strcmp + 0x00000000000179db strncmp + 0x0000000000017a09 strchr + 0x0000000000017a36 strrchr + 0x0000000000017a65 strspn + 0x0000000000017aa2 strcspn + 0x0000000000017adf strpbrk + 0x0000000000017b16 strstr + 0x0000000000017b4f strlen + 0x0000000000017b72 strtok + 0x0000000000017bf5 memcpy + 0x0000000000017c15 memmove + 0x0000000000017c69 memcmp + 0x0000000000017c93 memchr + 0x0000000000017ccb memset + *(.gnu.warning) + +.fini + *(SORT(.fini)) + 0x0000000000017cef PROVIDE (__etext, .) + 0x0000000000017cef PROVIDE (_etext, .) + 0x0000000000017cef PROVIDE (etext, .) + +.rodata 0x0000000000017cf0 0x13ca + *(.rodata .rodata.* .gnu.linkonce.r.*) + .rodata 0x0000000000017cf0 0xad init/main.o + *fill* 0x0000000000017d9d 0x3 + .rodata 0x0000000000017da0 0x438 kernel/kernel.o + .rodata 0x00000000000181d8 0x18f mm/mm.o + *fill* 0x0000000000018367 0x1 + .rodata 0x0000000000018368 0x62c fs/fs.o + .rodata 0x0000000000018994 0x7a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + *fill* 0x0000000000018a0e 0x2 + .rodata 0x0000000000018a10 0x133 kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x0000000000018b43 0x1 + .rodata 0x0000000000018b44 0x19b kernel/blk_drv/blk_drv.a(hd.o) + *fill* 0x0000000000018cdf 0x1 + .rodata 0x0000000000018ce0 0x188 kernel/blk_drv/blk_drv.a(ramdisk.o) + .rodata 0x0000000000018e68 0x17d kernel/chr_drv/chr_drv.a(console.o) + *fill* 0x0000000000018fe5 0x3 + .rodata 0x0000000000018fe8 0x80 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .rodata 0x0000000000019068 0x52 kernel/math/math.a(math_emulate.o) + +.rodata1 + *(.rodata1) + +.eh_frame_hdr + *(.eh_frame_hdr) + +.eh_frame 0x00000000000190bc 0x2a6c + *(.eh_frame) + .eh_frame 0x00000000000190bc 0xf0 init/main.o + .eh_frame 0x00000000000191ac 0xb04 kernel/kernel.o + 0xbf4 (size before relaxing) + .eh_frame 0x0000000000019cb0 0x194 mm/mm.o + 0x1ac (size before relaxing) + .eh_frame 0x0000000000019e44 0xdd8 fs/fs.o + 0xf70 (size before relaxing) + .eh_frame 0x000000000001ac1c 0x98 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0xb0 (size before relaxing) + .eh_frame 0x000000000001acb4 0x23c kernel/blk_drv/blk_drv.a(floppy.o) + 0x254 (size before relaxing) + .eh_frame 0x000000000001aef0 0x1e8 kernel/blk_drv/blk_drv.a(hd.o) + 0x200 (size before relaxing) + .eh_frame 0x000000000001b0d8 0xac kernel/blk_drv/blk_drv.a(ramdisk.o) + 0xc4 (size before relaxing) + .eh_frame 0x000000000001b184 0x12c kernel/chr_drv/chr_drv.a(tty_io.o) + 0x144 (size before relaxing) + .eh_frame 0x000000000001b2b0 0x2c0 kernel/chr_drv/chr_drv.a(console.o) + 0x2d8 (size before relaxing) + .eh_frame 0x000000000001b570 0x54 kernel/chr_drv/chr_drv.a(serial.o) + 0x6c (size before relaxing) + .eh_frame 0x000000000001b5c4 0x148 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x160 (size before relaxing) + .eh_frame 0x000000000001b70c 0x5c kernel/math/math.a(math_emulate.o) + 0x74 (size before relaxing) + .eh_frame 0x000000000001b768 0x1c lib/lib.a(_exit.o) + 0x34 (size before relaxing) + .eh_frame 0x000000000001b784 0x24 lib/lib.a(open.o) + 0x3c (size before relaxing) + .eh_frame 0x000000000001b7a8 0x20 lib/lib.a(close.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b7c8 0x20 lib/lib.a(write.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b7e8 0x20 lib/lib.a(dup.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b808 0x18 lib/lib.a(setsid.o) + 0x30 (size before relaxing) + .eh_frame 0x000000000001b820 0x20 lib/lib.a(execve.o) + 0x38 (size before relaxing) + .eh_frame 0x000000000001b840 0x38 lib/lib.a(wait.o) + 0x50 (size before relaxing) + .eh_frame 0x000000000001b878 0x2b0 lib/lib.a(string.o) + 0x2c8 (size before relaxing) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + 0x000000000001bb28 . = . + +.eh_frame + *(.eh_frame) + +.gcc_except_table + *(.gcc_except_table .gcc_except_table.*) + +.exception_ranges + *(.exception_ranges .exception_ranges*) + +.tdata + *(.tdata .tdata.* .gnu.linkonce.td.*) + +.tbss + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + +.preinit_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__preinit_array_start, .) + *(.preinit_array) + 0x000000000001bb28 PROVIDE (__preinit_array_end, .) + +.init_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__init_array_start, .) + *(SORT(.init_array.*) SORT(.ctors.*)) + *(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors) + 0x000000000001bb28 PROVIDE (__init_array_end, .) + +.fini_array 0x000000000001bb28 0x0 + 0x000000000001bb28 PROVIDE (__fini_array_start, .) + *(SORT(.fini_array.*) SORT(.dtors.*)) + *(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors) + 0x000000000001bb28 PROVIDE (__fini_array_end, .) + +.ctors + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + +.dtors + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + +.jcr + *(.jcr) + +.data.rel.ro + *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) + *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) + +.dynamic + *(.dynamic) + +.got + *(.got) + *(.igot) + +.got.plt 0x000000000001bb28 0x0 + *(.got.plt) + *(.igot.plt) + .igot.plt 0x0000000000000000 0x0 boot/head.o + +.data 0x000000000001bb40 0x3b01 + *(.data .data.* .gnu.linkonce.d.*) + .data 0x000000000001bb40 0x0 boot/head.o + .data 0x000000000001bb40 0x28 init/main.o + *fill* 0x000000000001bb68 0x18 + .data 0x000000000001bb80 0x1310 kernel/kernel.o + 0x000000000001bb80 sys_call_table + 0x000000000001bcdc NR_syscalls + 0x000000000001cce0 current + 0x000000000001cd00 task + 0x000000000001ce00 stack_start + 0x000000000001ce08 current_DOR + .data 0x000000000001ce90 0x0 mm/mm.o + *fill* 0x000000000001ce90 0x10 + .data 0x000000000001cea0 0x60 fs/fs.o + 0x000000000001cea4 start_buffer + .data 0x000000000001cf00 0x0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .data 0x000000000001cf00 0xcd kernel/blk_drv/blk_drv.a(floppy.o) + *fill* 0x000000000001cfcd 0x3 + .data 0x000000000001cfd0 0x4 kernel/blk_drv/blk_drv.a(hd.o) + .data 0x000000000001cfd4 0x0 kernel/blk_drv/blk_drv.a(ramdisk.o) + *fill* 0x000000000001cfd4 0xc + .data 0x000000000001cfe0 0x2538 kernel/chr_drv/chr_drv.a(tty_io.o) + 0x000000000001cfe0 tty_table + 0x000000000001f500 table_list + .data 0x000000000001f518 0x1 kernel/chr_drv/chr_drv.a(console.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .data 0x000000000001f519 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + *fill* 0x000000000001f519 0x7 + .data 0x000000000001f520 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .data 0x000000000001f540 0x0 kernel/math/math.a(math_emulate.o) + .data 0x000000000001f540 0x101 lib/lib.a(ctype.o) + 0x000000000001f540 _ctype + .data 0x000000000001f641 0x0 lib/lib.a(_exit.o) + .data 0x000000000001f641 0x0 lib/lib.a(open.o) + .data 0x000000000001f641 0x0 lib/lib.a(close.o) + .data 0x000000000001f641 0x0 lib/lib.a(errno.o) + .data 0x000000000001f641 0x0 lib/lib.a(write.o) + .data 0x000000000001f641 0x0 lib/lib.a(dup.o) + .data 0x000000000001f641 0x0 lib/lib.a(setsid.o) + .data 0x000000000001f641 0x0 lib/lib.a(execve.o) + .data 0x000000000001f641 0x0 lib/lib.a(wait.o) + .data 0x000000000001f641 0x0 lib/lib.a(string.o) + +.data1 + *(.data1) + 0x000000000001f641 _edata = . + 0x000000000001f641 PROVIDE (edata, .) + 0x000000000001f641 . = . + 0x000000000001f641 __bss_start = . + +.bss 0x000000000001f660 0x44b0 + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + .bss 0x000000000001f660 0x0 boot/head.o + .bss 0x000000000001f660 0x40c init/main.o + *fill* 0x000000000001fa6c 0x14 + .bss 0x000000000001fa80 0x760 kernel/kernel.o + 0x000000000001fa80 jiffies + 0x000000000001fa84 startup_time + 0x000000000001fa88 last_task_used_math + 0x000000000001fdc4 last_pid + .bss 0x00000000000201e0 0xf20 mm/mm.o + .bss 0x0000000000021100 0x710 fs/fs.o + 0x0000000000021100 inode_table + 0x0000000000021800 nr_buffers + 0x000000000002180c ROOT_DEV + *fill* 0x0000000000021810 0x10 + .bss 0x0000000000021820 0x58 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000021820 wait_for_request + 0x0000000000021840 blk_dev + .bss 0x0000000000021878 0x25 kernel/blk_drv/blk_drv.a(floppy.o) + 0x0000000000021878 do_floppy + 0x000000000002187c selected + 0x0000000000021880 wait_on_floppy_select + *fill* 0x000000000002189d 0x3 + .bss 0x00000000000218a0 0xb0 kernel/blk_drv/blk_drv.a(hd.o) + 0x00000000000218a0 do_hd + 0x00000000000218c0 hd_info + .bss 0x0000000000021950 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000021950 rd_length + .bss 0x0000000000021954 0x4 kernel/chr_drv/chr_drv.a(tty_io.o) + *fill* 0x0000000000021958 0x8 + .bss 0x0000000000021960 0xac kernel/chr_drv/chr_drv.a(console.o) + 0x0000000000021960 beepcount + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(keyboard.2.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(serial.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(rs_io.o) + .bss 0x0000000000021a0c 0x0 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .bss 0x0000000000021a0c 0x0 kernel/math/math.a(math_emulate.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(ctype.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(_exit.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(open.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(close.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(errno.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(write.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(dup.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(setsid.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(execve.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(wait.o) + .bss 0x0000000000021a0c 0x0 lib/lib.a(string.o) + *(COMMON) + *fill* 0x0000000000021a0c 0x14 + COMMON 0x0000000000021a20 0x20 init/main.o + 0x0000000000021a20 drive_info + COMMON 0x0000000000021a40 0x1000 kernel/kernel.o + 0x0000000000021a40 user_stack + COMMON 0x0000000000022a40 0xc40 fs/fs.o + 0x0000000000022a40 hash_table + 0x0000000000022f20 super_block + 0x0000000000023280 file_table + COMMON 0x0000000000023680 0x480 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x0000000000023680 request + COMMON 0x0000000000023b00 0x4 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x0000000000023b00 rd_start + COMMON 0x0000000000023b04 0x1 lib/lib.a(ctype.o) + 0x0000000000023b04 _ctmp + *fill* 0x0000000000023b05 0x3 + COMMON 0x0000000000023b08 0x4 lib/lib.a(errno.o) + 0x0000000000023b08 errno + COMMON 0x0000000000023b0c 0x4 lib/lib.a(string.o) + 0x0000000000023b0c ___strtok + 0x0000000000023b10 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x0000000000023b10 . = ALIGN (0x4) + 0x0000000000023b10 . = SEGMENT_START ("ldata-segment", .) + 0x0000000000023b10 . = ALIGN (0x4) + 0x0000000000023b10 _end = . + 0x0000000000023b10 PROVIDE (end, .) + +.stab + *(.stab) + +.stabstr + *(.stabstr) + +.stab.excl + *(.stab.excl) + +.stab.exclstr + *(.stab.exclstr) + +.stab.index + *(.stab.index) + +.stab.indexstr + *(.stab.indexstr) + +.comment 0x0000000000000000 0x29 + *(.comment) + .comment 0x0000000000000000 0x29 init/main.o + 0x2a (size before relaxing) + .comment 0x0000000000000000 0x1a4 kernel/kernel.o + .comment 0x0000000000000000 0x2a mm/mm.o + .comment 0x0000000000000000 0x2f4 fs/fs.o + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(floppy.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(hd.o) + .comment 0x0000000000000000 0x2a kernel/blk_drv/blk_drv.a(ramdisk.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_io.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(console.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(serial.o) + .comment 0x0000000000000000 0x2a kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .comment 0x0000000000000000 0x2a kernel/math/math.a(math_emulate.o) + .comment 0x0000000000000000 0x2a lib/lib.a(ctype.o) + .comment 0x0000000000000000 0x2a lib/lib.a(_exit.o) + .comment 0x0000000000000000 0x2a lib/lib.a(open.o) + .comment 0x0000000000000000 0x2a lib/lib.a(close.o) + .comment 0x0000000000000000 0x2a lib/lib.a(errno.o) + .comment 0x0000000000000000 0x2a lib/lib.a(write.o) + .comment 0x0000000000000000 0x2a lib/lib.a(dup.o) + .comment 0x0000000000000000 0x2a lib/lib.a(setsid.o) + .comment 0x0000000000000000 0x2a lib/lib.a(execve.o) + .comment 0x0000000000000000 0x2a lib/lib.a(wait.o) + .comment 0x0000000000000000 0x2a lib/lib.a(string.o) + +.debug + *(.debug) + +.line + *(.line) + +.debug_srcinfo + *(.debug_srcinfo) + +.debug_sfnames + *(.debug_sfnames) + +.debug_aranges 0x0000000000000000 0x628 + *(.debug_aranges) + .debug_aranges + 0x0000000000000000 0x20 init/main.o + .debug_aranges + 0x0000000000000020 0x140 kernel/kernel.o + .debug_aranges + 0x0000000000000160 0x20 mm/mm.o + .debug_aranges + 0x0000000000000180 0x238 fs/fs.o + .debug_aranges + 0x00000000000003b8 0x20 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_aranges + 0x00000000000003d8 0x20 kernel/blk_drv/blk_drv.a(floppy.o) + .debug_aranges + 0x00000000000003f8 0x20 kernel/blk_drv/blk_drv.a(hd.o) + .debug_aranges + 0x0000000000000418 0x20 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_aranges + 0x0000000000000438 0x20 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_aranges + 0x0000000000000458 0x20 kernel/chr_drv/chr_drv.a(console.o) + .debug_aranges + 0x0000000000000478 0x20 kernel/chr_drv/chr_drv.a(serial.o) + .debug_aranges + 0x0000000000000498 0x20 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_aranges + 0x00000000000004b8 0x20 kernel/math/math.a(math_emulate.o) + .debug_aranges + 0x00000000000004d8 0x18 lib/lib.a(ctype.o) + .debug_aranges + 0x00000000000004f0 0x20 lib/lib.a(_exit.o) + .debug_aranges + 0x0000000000000510 0x20 lib/lib.a(open.o) + .debug_aranges + 0x0000000000000530 0x20 lib/lib.a(close.o) + .debug_aranges + 0x0000000000000550 0x18 lib/lib.a(errno.o) + .debug_aranges + 0x0000000000000568 0x20 lib/lib.a(write.o) + .debug_aranges + 0x0000000000000588 0x20 lib/lib.a(dup.o) + .debug_aranges + 0x00000000000005a8 0x20 lib/lib.a(setsid.o) + .debug_aranges + 0x00000000000005c8 0x20 lib/lib.a(execve.o) + .debug_aranges + 0x00000000000005e8 0x20 lib/lib.a(wait.o) + .debug_aranges + 0x0000000000000608 0x20 lib/lib.a(string.o) + +.debug_pubnames + *(.debug_pubnames) + +.debug_info 0x0000000000000000 0x16d23 + *(.debug_info .gnu.linkonce.wi.*) + .debug_info 0x0000000000000000 0x553 init/main.o + .debug_info 0x0000000000000553 0x4cb6 kernel/kernel.o + .debug_info 0x0000000000005209 0xb2b mm/mm.o + .debug_info 0x0000000000005d34 0xa290 fs/fs.o + .debug_info 0x000000000000ffc4 0x932 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_info 0x00000000000108f6 0xc9f kernel/blk_drv/blk_drv.a(floppy.o) + .debug_info 0x0000000000011595 0xd5f kernel/blk_drv/blk_drv.a(hd.o) + .debug_info 0x00000000000122f4 0xad5 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_info 0x0000000000012dc9 0xacd kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_info 0x0000000000013896 0xdb0 kernel/chr_drv/chr_drv.a(console.o) + .debug_info 0x0000000000014646 0x85c kernel/chr_drv/chr_drv.a(serial.o) + .debug_info 0x0000000000014ea2 0xb47 kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_info 0x00000000000159e9 0x7b5 kernel/math/math.a(math_emulate.o) + .debug_info 0x000000000001619e 0x66 lib/lib.a(ctype.o) + .debug_info 0x0000000000016204 0x77 lib/lib.a(_exit.o) + .debug_info 0x000000000001627b 0xd0 lib/lib.a(open.o) + .debug_info 0x000000000001634b 0x97 lib/lib.a(close.o) + .debug_info 0x00000000000163e2 0x36 lib/lib.a(errno.o) + .debug_info 0x0000000000016418 0xc9 lib/lib.a(write.o) + .debug_info 0x00000000000164e1 0x97 lib/lib.a(dup.o) + .debug_info 0x0000000000016578 0x95 lib/lib.a(setsid.o) + .debug_info 0x000000000001660d 0xcb lib/lib.a(execve.o) + .debug_info 0x00000000000166d8 0xed lib/lib.a(wait.o) + .debug_info 0x00000000000167c5 0x55e lib/lib.a(string.o) + +.debug_abbrev 0x0000000000000000 0x43b9 + *(.debug_abbrev) + .debug_abbrev 0x0000000000000000 0x1d3 init/main.o + .debug_abbrev 0x00000000000001d3 0xf63 kernel/kernel.o + .debug_abbrev 0x0000000000001136 0x20b mm/mm.o + .debug_abbrev 0x0000000000001341 0x19f1 fs/fs.o + .debug_abbrev 0x0000000000002d32 0x169 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_abbrev 0x0000000000002e9b 0x27d kernel/blk_drv/blk_drv.a(floppy.o) + .debug_abbrev 0x0000000000003118 0x23c kernel/blk_drv/blk_drv.a(hd.o) + .debug_abbrev 0x0000000000003354 0x1a8 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_abbrev 0x00000000000034fc 0x279 kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_abbrev 0x0000000000003775 0x26b kernel/chr_drv/chr_drv.a(console.o) + .debug_abbrev 0x00000000000039e0 0x175 kernel/chr_drv/chr_drv.a(serial.o) + .debug_abbrev 0x0000000000003b55 0x18d kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_abbrev 0x0000000000003ce2 0x163 kernel/math/math.a(math_emulate.o) + .debug_abbrev 0x0000000000003e45 0x3e lib/lib.a(ctype.o) + .debug_abbrev 0x0000000000003e83 0x51 lib/lib.a(_exit.o) + .debug_abbrev 0x0000000000003ed4 0x97 lib/lib.a(open.o) + .debug_abbrev 0x0000000000003f6b 0x75 lib/lib.a(close.o) + .debug_abbrev 0x0000000000003fe0 0x2c lib/lib.a(errno.o) + .debug_abbrev 0x000000000000400c 0xa1 lib/lib.a(write.o) + .debug_abbrev 0x00000000000040ad 0x75 lib/lib.a(dup.o) + .debug_abbrev 0x0000000000004122 0x73 lib/lib.a(setsid.o) + .debug_abbrev 0x0000000000004195 0x85 lib/lib.a(execve.o) + .debug_abbrev 0x000000000000421a 0xb6 lib/lib.a(wait.o) + .debug_abbrev 0x00000000000042d0 0xe9 lib/lib.a(string.o) + +.debug_line 0x0000000000000000 0x4599 + *(.debug_line .debug_line.* .debug_line_end) + .debug_line 0x0000000000000000 0x1a7 init/main.o + .debug_line 0x00000000000001a7 0xe86 kernel/kernel.o + .debug_line 0x000000000000102d 0x274 mm/mm.o + .debug_line 0x00000000000012a1 0x1c50 fs/fs.o + .debug_line 0x0000000000002ef1 0x197 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + .debug_line 0x0000000000003088 0x24c kernel/blk_drv/blk_drv.a(floppy.o) + .debug_line 0x00000000000032d4 0x2bf kernel/blk_drv/blk_drv.a(hd.o) + .debug_line 0x0000000000003593 0x160 kernel/blk_drv/blk_drv.a(ramdisk.o) + .debug_line 0x00000000000036f3 0x33b kernel/chr_drv/chr_drv.a(tty_io.o) + .debug_line 0x0000000000003a2e 0x3ab kernel/chr_drv/chr_drv.a(console.o) + .debug_line 0x0000000000003dd9 0xd9 kernel/chr_drv/chr_drv.a(serial.o) + .debug_line 0x0000000000003eb2 0x1db kernel/chr_drv/chr_drv.a(tty_ioctl.o) + .debug_line 0x000000000000408d 0xe1 kernel/math/math.a(math_emulate.o) + .debug_line 0x000000000000416e 0x28 lib/lib.a(ctype.o) + .debug_line 0x0000000000004196 0x39 lib/lib.a(_exit.o) + .debug_line 0x00000000000041cf 0x62 lib/lib.a(open.o) + .debug_line 0x0000000000004231 0x5c lib/lib.a(close.o) + .debug_line 0x000000000000428d 0x28 lib/lib.a(errno.o) + .debug_line 0x00000000000042b5 0x76 lib/lib.a(write.o) + .debug_line 0x000000000000432b 0x5a lib/lib.a(dup.o) + .debug_line 0x0000000000004385 0x77 lib/lib.a(setsid.o) + .debug_line 0x00000000000043fc 0x5d lib/lib.a(execve.o) + .debug_line 0x0000000000004459 0x7a lib/lib.a(wait.o) + .debug_line 0x00000000000044d3 0xc6 lib/lib.a(string.o) + +.debug_frame + *(.debug_frame) + +.debug_str 0x0000000000000000 0x2093 + *(.debug_str) + .debug_str 0x0000000000000000 0x1c0 init/main.o + 0x1ff (size before relaxing) + .debug_str 0x00000000000001c0 0xac0 kernel/kernel.o + 0x2332 (size before relaxing) + .debug_str 0x0000000000000c80 0x185 mm/mm.o + 0x4e0 (size before relaxing) + .debug_str 0x0000000000000e05 0x904 fs/fs.o + 0x49ab (size before relaxing) + .debug_str 0x0000000000001709 0xf0 kernel/blk_drv/blk_drv.a(ll_rw_blk.o) + 0x491 (size before relaxing) + .debug_str 0x00000000000017f9 0x1cf kernel/blk_drv/blk_drv.a(floppy.o) + 0x673 (size before relaxing) + .debug_str 0x00000000000019c8 0x15e kernel/blk_drv/blk_drv.a(hd.o) + 0x5e8 (size before relaxing) + .debug_str 0x0000000000001b26 0x43 kernel/blk_drv/blk_drv.a(ramdisk.o) + 0x58a (size before relaxing) + .debug_str 0x0000000000001b69 0xfb kernel/chr_drv/chr_drv.a(tty_io.o) + 0x4e3 (size before relaxing) + .debug_str 0x0000000000001c64 0x1b9 kernel/chr_drv/chr_drv.a(console.o) + 0x5b7 (size before relaxing) + .debug_str 0x0000000000001e1d 0x1a kernel/chr_drv/chr_drv.a(serial.o) + 0x3fc (size before relaxing) + .debug_str 0x0000000000001e37 0x8b kernel/chr_drv/chr_drv.a(tty_ioctl.o) + 0x4a7 (size before relaxing) + .debug_str 0x0000000000001ec2 0x70 kernel/math/math.a(math_emulate.o) + 0x392 (size before relaxing) + .debug_str 0x0000000000001f32 0x8d lib/lib.a(ctype.o) + 0xb6 (size before relaxing) + .debug_str 0x0000000000001fbf 0x8 lib/lib.a(_exit.o) + 0xe2 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(open.o) + 0xf2 (size before relaxing) + .debug_str 0x0000000000001fc7 0x8 lib/lib.a(close.o) + 0xe4 (size before relaxing) + .debug_str 0x0000000000001fcf 0x8 lib/lib.a(errno.o) + 0x93 (size before relaxing) + .debug_str 0x0000000000000000 0x8 lib/lib.a(write.o) + 0xf0 (size before relaxing) + .debug_str 0x0000000000001fd7 0x6 lib/lib.a(dup.o) + 0xdc (size before relaxing) + .debug_str 0x0000000000001fdd 0x9 lib/lib.a(setsid.o) + 0xec (size before relaxing) + .debug_str 0x0000000000001fe6 0x9 lib/lib.a(execve.o) + 0xf5 (size before relaxing) + .debug_str 0x0000000000001fef 0x11 lib/lib.a(wait.o) + 0x102 (size before relaxing) + .debug_str 0x0000000000002000 0x93 lib/lib.a(string.o) + 0x147 (size before relaxing) + +.debug_loc + *(.debug_loc) + +.debug_macinfo + *(.debug_macinfo) + +.debug_weaknames + *(.debug_weaknames) + +.debug_funcnames + *(.debug_funcnames) + +.debug_typenames + *(.debug_typenames) + +.debug_varnames + *(.debug_varnames) + +.debug_pubtypes + *(.debug_pubtypes) + +.debug_ranges 0x0000000000000000 0x18 + *(.debug_ranges) + .debug_ranges 0x0000000000000000 0x18 init/main.o + +.debug_macro + *(.debug_macro) + +.gnu.attributes + *(.gnu.attributes) + +/DISCARD/ + *(.note.GNU-stack) + *(.gnu_debuglink) + *(.gnu.lto_*) +OUTPUT(tools/system elf32-i386) diff --git a/linux-0.11-lab - 副本/0/linux/boot/bootsect b/linux-0.11-lab - 副本/0/linux/boot/bootsect new file mode 100644 index 0000000000000000000000000000000000000000..4fbb8f823afe23687f1887d48deeb19fdcf83049 GIT binary patch literal 544 zcmZQ%7GP0e00JfufdrZ$>>UT#`)=%Dn9z4%Cj+DAH_iW_m%fre~uHUSwNXN9*i=ymehGJ;Ln!ff#WtiVnQ zhTZH8d+ix_Fbba)*ufysci@E)!;7N~dJF$B+A=VditBaD0d;UNHUH)>;o2bsq=ibD zUjNfu{D<)s1B1c@RhzFW-(_8 zyWs)N8wX!-zAym_G6SXbtl4ZCONDkYGHA2SVkl+#&o+l)@hk?z1B+)cfHa*h-qdq| z733tt+pm`g1P2Cni_Kx^=9|Ib*m1R6Y!*YuwM`6-j~E!Y0DW7;8WkBGaTw@dps&vg zgE+6x1nv67yn*3e)L{k&UM`>f#FWgubcN!|;*!){1wB1IUM^lPq<|j0Og84wRRH+h BgWdoD literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/boot/bootsect.o b/linux-0.11-lab - 副本/0/linux/boot/bootsect.o new file mode 100644 index 0000000000000000000000000000000000000000..e35422ec017a165928bfcbec5f9f0363b4a9e75c GIT binary patch literal 923 zcmYjPe@GKy7=FH+PB$=@gOrLGSb;@HGl?KZQ#V8qHK&qRjLn^EOg*`~_2a*bAQEj2 z`bR7R8DjO1Ax5YD;D!W64T2~X>5mFT9P~#*1c~eYW`BB3fn$y+MeVjqc)FB7D{5ZwQc zlnx;W9UDX^enV$llvLXoyfYO9Z}$=84ic;$V`O7tS=LmkPeZ`p+0`EKHzCjy2sHQl zw}lpeD-uHysXwTY5sDOw1Y=|-4_TXAn>%^rd%=iw84Yc11;O9ydW>fq~$ltjP-a7_y>584mLI>~!sq4M`D5Ly@qm@(>AWA%vwU zr%{<_+X|nde;^cvTBwf1Bxp*gFV1T;>8i$^g?NcKSG5q0@!xcE+`au;IbOSyoY+a~ z{!PR`f4ixx+SO^8CCMcNsiZj%R`aVSzcIBg=v7dW8hevmN}95U=#^i zr)no|09j{lb(WIStn(?vkzMq|I|{AlEXVU%$9xr@m*6E`j|&EKW*r6`Npr0hYp)?r zZZZ#$s1!#JP?cts3OD|gYj$Hl#R^TxZHehkwhp*b#dJ@BG4oNrJhA0o88bcbDr`}l zq`HQqR(%{jBbm%s8(UUwT8Z1NS<0;0*6J{lvGC1C@wAnkO^FJFf$S6TC5rM^{XXi` zL>k>@nq232gLmrem|4t+bg$&5+XH7iM)#1fVRRQc{Pnj!5uJed*5_GV{{}WkC!rMg z_MAVrNM}JOl67*Dd*89})A9sAdKZB*dkfv2*ih7^UQ;z`&?SnZugqR%-#z8CTDl%r F<1c(7E-?TA literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/boot/bootsect.s b/linux-0.11-lab - 副本/0/linux/boot/bootsect.s new file mode 100644 index 0000000..711f103 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/boot/bootsect.s @@ -0,0 +1,260 @@ +! +! SYS_SIZE is the number of clicks (16 bytes) to be loaded. +! 0x3000 is 0x30000 bytes = 196kB, more than enough for current +! versions of linux +! +SYSSIZE = 0x3000 +! +! bootsect.s (C) 1991 Linus Torvalds +! +! bootsect.s is loaded at 0x7c00 by the bios-startup routines, and moves +! iself out of the way to address 0x90000, and jumps there. +! +! It then loads 'setup' directly after itself (0x90200), and the system +! at 0x10000, using BIOS interrupts. +! +! NOTE! currently system is at most 8*65536 bytes long. This should be no +! problem, even in the future. I want to keep it simple. This 512 kB +! kernel size should be enough, especially as this doesn't contain the +! buffer cache as in minix +! +! The loader has been made as simple as possible, and continuos +! read errors will result in a unbreakable loop. Reboot by hand. It +! loads pretty fast by getting whole sectors at a time whenever possible. + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +SETUPLEN = 4 ! nr of setup-sectors +BOOTSEG = 0x07c0 ! original address of boot-sector +INITSEG = 0x9000 ! we move boot here - out of the way +SETUPSEG = 0x9020 ! setup starts here +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +ENDSEG = SYSSEG + SYSSIZE ! where to stop loading + +! ROOT_DEV: 0x000 - same type of floppy as boot. +! 0x301 - first partition on first drive etc +ROOT_DEV = 0x306 + +entry start +start: + mov ax,#BOOTSEG + mov ds,ax + mov ax,#INITSEG + mov es,ax + mov cx,#256 + sub si,si + sub di,di + rep + movw + jmpi go,INITSEG +go: mov ax,cs + mov ds,ax + mov es,ax +! put stack at 0x9ff00. + mov ss,ax + mov sp,#0xFF00 ! arbitrary value >>512 + +! load the setup-sectors directly after the bootblock. +! Note that 'es' is already set up. + +load_setup: + mov dx,#0x0000 ! drive 0, head 0 + mov cx,#0x0002 ! sector 2, track 0 + mov bx,#0x0200 ! address = 512, in INITSEG + mov ax,#0x0200+SETUPLEN ! service 2, nr of sectors + int 0x13 ! read it + jnc ok_load_setup ! ok - continue + mov dx,#0x0000 + mov ax,#0x0000 ! reset the diskette + int 0x13 + j load_setup + +ok_load_setup: + +! Get disk drive parameters, specifically nr of sectors/track + + mov dl,#0x00 + mov ax,#0x0800 ! AH=8 is get drive parameters + int 0x13 + mov ch,#0x00 + seg cs + mov sectors,cx + mov ax,#INITSEG + mov es,ax + +! Print some inane message + + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 + + mov cx,#24 + mov bx,#0x0007 ! page 0, attribute 7 (normal) + mov bp,#msg1 + mov ax,#0x1301 ! write string, move cursor + int 0x10 + +! ok, we've written the message, now +! we want to load the system (at 0x10000) + + mov ax,#SYSSEG + mov es,ax ! segment of 0x010000 + call read_it + call kill_motor + +! After that we check which root-device to use. If the device is +! defined (!= 0), nothing is done and the given device is used. +! Otherwise, either /dev/PS0 (2,28) or /dev/at0 (2,8), depending +! on the number of sectors that the BIOS reports currently. + + seg cs + mov ax,root_dev + cmp ax,#0 + jne root_defined + seg cs + mov bx,sectors + mov ax,#0x0208 ! /dev/ps0 - 1.2Mb + cmp bx,#15 + je root_defined + mov ax,#0x021c ! /dev/PS0 - 1.44Mb + cmp bx,#18 + je root_defined +undef_root: + jmp undef_root +root_defined: + seg cs + mov root_dev,ax + +! after that (everyting loaded), we jump to +! the setup-routine loaded directly after +! the bootblock: + + jmpi 0,SETUPSEG + +! This routine loads the system at address 0x10000, making sure +! no 64kB boundaries are crossed. We try to load it as fast as +! possible, loading whole tracks whenever we can. +! +! in: es - starting address segment (normally 0x1000) +! +sread: .word 1+SETUPLEN ! sectors read of current track +head: .word 0 ! current head +track: .word 0 ! current track + +read_it: + mov ax,es + test ax,#0x0fff +die: jne die ! es must be at 64kB boundary + xor bx,bx ! bx is starting address within segment +rp_read: + mov ax,es + cmp ax,#ENDSEG ! have we loaded all yet? + jb ok1_read + ret +ok1_read: + seg cs + mov ax,sectors + sub ax,sread + mov cx,ax + shl cx,#9 + add cx,bx + jnc ok2_read + je ok2_read + xor ax,ax + sub ax,bx + shr ax,#9 +ok2_read: + call read_track + mov cx,ax + add ax,sread + seg cs + cmp ax,sectors + jne ok3_read + mov ax,#1 + sub ax,head + jne ok4_read + inc track +ok4_read: + mov head,ax + xor ax,ax +ok3_read: + mov sread,ax + shl cx,#9 + add bx,cx + jnc rp_read + mov ax,es + add ax,#0x1000 + mov es,ax + xor bx,bx + jmp rp_read + +read_track: + push ax + push bx + push cx + push dx + mov dx,track + mov cx,sread + inc cx + mov ch,dl + mov dx,head + mov dh,dl + mov dl,#0 + and dx,#0x0100 + mov ah,#2 + int 0x13 + jc bad_rt + pop dx + pop cx + pop bx + pop ax + ret +bad_rt: mov ax,#0 + mov dx,#0 + int 0x13 + pop dx + pop cx + pop bx + pop ax + jmp read_track + +/* + * 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. + */ +kill_motor: + push dx + mov dx,#0x3f2 + mov al,#0 + outb + pop dx + ret + +sectors: + .word 0 + +msg1: + .byte 13,10 + .ascii "Loading system ..." + .byte 13,10,13,10 + +.org 508 +root_dev: + .word ROOT_DEV +boot_flag: + .word 0xAA55 + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/0/linux/boot/head.o b/linux-0.11-lab - 副本/0/linux/boot/head.o new file mode 100644 index 0000000000000000000000000000000000000000..a4c55649c84336692e2f017e7d3b9dc5fd3082ba GIT binary patch literal 27012 zcmeI5O=ule7>2)-rn#v$OwS%uL!8 z6a%qn7P*Sc3jRisn&iB4& z&iUrdGdG*FIOn4m54>cIk-Qk$Ah(^!ke}VzorWRlmW`=8*Nf1++Dw|)n=8(lL2X<) zq}4H0_qtn3hEHg(eMrzN@gL4WGWd|l-26`+&h}(Q)Bb+)4UucVe)-Gw{Sx<}!~D%I z+*?{aEZ2TpTI?Ts6R8Drs4QHmT#)ACbDHqHPI#fPaIkZJx%=grzZ~<#59qk$nEtaG zwGRskkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg z011!)36KB@kN^pg011!)36KB@{I3YSFZx$|7#nQXbmBLjzwysojfuwek;Xv15&K~{ z6T}bn$jEE2Z|!ovS+gN%tq)^XR$HyssPk=M+o88dFJpht^U^0$N=mKOKTj>|UZ7II z4x`H(J5>#+>Q=Qw)n--0B9~TQ#eSfLn=SeK)YI5gR6e{_N}TOiv2kb*y3Aqg&{f?# zRHRiv)sBntlbK~r0wh2JBtQZrur3L-9K81NMAG<0vMw3$rAdGUNPq-LVBHWXMn|V& zZ%m3&9A>eWtI(e;#{O(9#j+QBQXGq-`^K^jJ@x#QE<0i`Vp6sSL02)fJdSHqsHM(blD3iP(3Pv78q7&_8 zM*5-k_?fI2(eEHwXv&I_5`-Qfll%P;pXV0YUx3zAW3po86$m{&CikN%^o7%6cM$*qTtc_Ysx=5yrWmz#Y0Wq@1&%*1%SXPY8K_u4qV*JPI(}(IbjC`7P zOl$R@sT#=|)qkDIv{wK99Ukv?m%n(Im&lK20=Hg{t*Sze*ZlDbcXsa{@hVv2a|5sH zyZGms^dqTP8`GihV(m}Dz>RbuF1PGQ!HL`fm@lJ4uYeu7y6z=u@~z6cI{M&Nu>=k<<%P!gh--%^>djmB1Ic# zG~x&OiAMa0zq0GKeRF1UbBAE`q28r)_-9Aob|_S NJgpJWKc}%z4Mb on a 4Mb machine). + * + * NOTE! Although all physical memory should be identity + * mapped by this routine, only the kernel page functions + * use the >1Mb addresses directly. All "normal" functions + * use just the lower 1Mb, or the local data space, which + * will be mapped to some other place - mm keeps track of + * that. + * + * For those with more memory than 16 Mb - tough luck. I've + * not got it, why should you :-) The source is here. Change + * it. (Seriously - it shouldn't be too difficult. Mostly + * change some constants etc. I left it at 16Mb, as my machine + * even cannot be extended past that (ok, but it was cheap :-) + * I've tried to show which constants to change by having + * some kind of marker at them (search for "16Mb"), but I + * won't guarantee that's all :-( ) + */ +.align 4 +setup_paging: + movl $1024*5,%ecx /* 5 pages - pg_dir+4 page tables */ + xorl %eax,%eax + xorl %edi,%edi /* pg_dir is at 0x000 */ + cld;rep;stosl + 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 $pg3+4092,%edi + movl $0xfff007,%eax /* 16Mb - 4096 + 7 (r/w user,p) */ + std +1: stosl /* fill pages backwards - more efficient :-) */ + subl $0x1000,%eax + jge 1b + xorl %eax,%eax /* pg_dir is at 0x0000 */ + movl %eax,%cr3 /* cr3 - page directory start */ + movl %cr0,%eax + orl $0x80000000,%eax + movl %eax,%cr0 /* set paging (PG) bit */ + cld /* by wyj */ + ret /* this also flushes prefetch-queue */ + +.align 4 +.word 0 +idt_descr: + .word 256*8-1 # idt contains 256 entries + .long idt +.align 4 +.word 0 +gdt_descr: + .word 256*8-1 # so does gdt (not that that's any + .long gdt # magic number, but it works for me :^) + + .align 8 +idt: .fill 256,8,0 # idt is uninitialized + +gdt: .quad 0x0000000000000000 /* NULL descriptor */ + .quad 0x00c09a0000000fff /* 16Mb */ + .quad 0x00c0920000000fff /* 16Mb */ + .quad 0x0000000000000000 /* TEMPORARY - don't use */ + .fill 252,8,0 /* space for LDT's and TSS's etc */ diff --git a/linux-0.11-lab - 副本/0/linux/boot/setup b/linux-0.11-lab - 副本/0/linux/boot/setup new file mode 100644 index 0000000000000000000000000000000000000000..0e70f4846819f560fb2e22a8eb1e7186c7956ab0 GIT binary patch literal 344 zcmZQ%7GP0eU|_Id1QJNVq7lN`!7!ok#ujFS|7Qg{#TXd2bet7k%*3#TAIOzsVOY$@ zutjLIz*&LC91NXuTnwFjJPbP+82WA;HDh4}X+5yNfnlcr!{;SXQ3*l_<@!izwL4T8@UUNgLAc(wpUZcuop2&OfjEda<7{%Xg;=gL$t<~Tutazx3hbYqSrLZVca%ibUp9b?$HkVw;4TnF?Rz@46w`UObliF2LrIX1l zD$%Xa$Sgt^u2&7@|GQ@O1M(N{a&->*XRca94ek$5^Qt@KbHx4WGu-r2)9WkibQgy407%ZoGynhq literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/boot/setup.s b/linux-0.11-lab - 副本/0/linux/boot/setup.s new file mode 100644 index 0000000..2329d00 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/boot/setup.s @@ -0,0 +1,231 @@ +! +! setup.s (C) 1991 Linus Torvalds +! +! setup.s is responsible for getting the system data from the BIOS, +! and putting them into the appropriate places in system memory. +! both setup.s and system has been loaded by the bootblock. +! +! This code asks the bios for memory/disk/other parameters, and +! puts them in a "safe" place: 0x90000-0x901FF, ie where the +! boot-block used to be. It is then up to the protected mode +! system to read them from there before the area is overwritten +! for buffer-blocks. +! + +! NOTE! These had better be the same as in bootsect.s! + +INITSEG = 0x9000 ! we move boot here - out of the way +SYSSEG = 0x1000 ! system loaded at 0x10000 (65536). +SETUPSEG = 0x9020 ! this is the current segment + +.globl begtext, begdata, begbss, endtext, enddata, endbss +.text +begtext: +.data +begdata: +.bss +begbss: +.text + +entry start +start: + +! ok, the read went well so we get current cursor position and save it for +! posterity. + + mov ax,#INITSEG ! this is done in bootsect already, but... + mov ds,ax + mov ah,#0x03 ! read cursor pos + xor bh,bh + int 0x10 ! save it in known place, con_init fetches + mov [0],dx ! it from 0x90000. + +! Get memory size (extended mem, kB) + + mov ah,#0x88 + int 0x15 + mov [2],ax + +! Get video-card data: + + mov ah,#0x0f + int 0x10 + mov [4],bx ! bh = display page + mov [6],ax ! al = video mode, ah = window width + +! check for EGA/VGA and some config parameters + + mov ah,#0x12 + mov bl,#0x10 + int 0x10 + mov [8],ax + mov [10],bx + mov [12],cx + +! Get hd0 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x41] + mov ax,#INITSEG + mov es,ax + mov di,#0x0080 + mov cx,#0x10 + rep + movsb + +! Get hd1 data + + mov ax,#0x0000 + mov ds,ax + lds si,[4*0x46] + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + rep + movsb + +! Check that there IS a hd1 :-) + + mov ax,#0x01500 + mov dl,#0x81 + int 0x13 + jc no_disk1 + cmp ah,#3 + je is_disk1 +no_disk1: + mov ax,#INITSEG + mov es,ax + mov di,#0x0090 + mov cx,#0x10 + mov ax,#0x00 + rep + stosb +is_disk1: + +! now we want to move to protected mode ... + + cli ! no interrupts allowed ! + +! first we move the system to it's rightful place + + mov ax,#0x0000 + cld ! 'direction'=0, movs moves forward +do_move: + mov es,ax ! destination segment + add ax,#0x1000 + cmp ax,#0x9000 + jz end_move + mov ds,ax ! source segment + sub di,di + sub si,si + mov cx,#0x8000 + rep + movsw + jmp do_move + +! then we load the segment descriptors + +end_move: + mov ax,#SETUPSEG ! right, forgot this at first. didn't work :-) + mov ds,ax + lidt idt_48 ! load idt with 0,0 + lgdt gdt_48 ! load gdt with whatever appropriate + +! that was painless, now we enable A20 + + call empty_8042 + mov al,#0xD1 ! command write + out #0x64,al + call empty_8042 + mov al,#0xDF ! A20 on + out #0x60,al + call empty_8042 + +! well, that went ok, I hope. Now we have to reprogram the interrupts :-( +! we put them right after the intel-reserved hardware interrupts, at +! int 0x20-0x2F. There they won't mess up anything. Sadly IBM really +! messed this up with the original PC, and they haven't been able to +! rectify it afterwards. Thus the bios puts interrupts at 0x08-0x0f, +! which is used for the internal hardware interrupts as well. We just +! have to reprogram the 8259's, and it isn't fun. + + mov al,#0x11 ! initialization sequence + out #0x20,al ! send it to 8259A-1 + .word 0x00eb,0x00eb ! jmp $+2, jmp $+2 + out #0xA0,al ! and to 8259A-2 + .word 0x00eb,0x00eb + mov al,#0x20 ! start of hardware int's (0x20) + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x28 ! start of hardware int's 2 (0x28) + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x04 ! 8259-1 is master + out #0x21,al + .word 0x00eb,0x00eb + mov al,#0x02 ! 8259-2 is slave + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0x01 ! 8086 mode for both + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + .word 0x00eb,0x00eb + mov al,#0xFF ! mask off all interrupts for now + out #0x21,al + .word 0x00eb,0x00eb + out #0xA1,al + +! well, that certainly wasn't fun :-(. Hopefully it works, and we don't +! need no steenking BIOS anyway (except for the initial loading :-). +! The BIOS-routine wants lots of unnecessary data, and it's less +! "interesting" anyway. This is how REAL programmers do it. +! +! Well, now's the time to actually move into protected mode. To make +! things as simple as possible, we do no register set-up or anything, +! we let the gnu-compiled 32-bit programs do that. We just jump to +! absolute address 0x00000, in 32-bit protected mode. + + mov ax,#0x0001 ! protected mode (PE) bit + lmsw ax ! This is it! + jmpi 0,8 ! jmp offset 0 of segment 8 (cs) + +! This routine checks that the keyboard command queue is empty +! No timeout is used - if this hangs there is something wrong with +! the machine, and we probably couldn't proceed anyway. +empty_8042: + .word 0x00eb,0x00eb + in al,#0x64 ! 8042 status port + test al,#2 ! is input buffer full? + jnz empty_8042 ! yes - loop + ret + +gdt: + .word 0,0,0,0 ! dummy + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9A00 ! code read/exec + .word 0x00C0 ! granularity=4096, 386 + + .word 0x07FF ! 8Mb - limit=2047 (2048*4096=8Mb) + .word 0x0000 ! base address=0 + .word 0x9200 ! data read/write + .word 0x00C0 ! granularity=4096, 386 + +idt_48: + .word 0 ! idt limit=0 + .word 0,0 ! idt base=0L + +gdt_48: + .word 0x800 ! gdt limit=2048, 256 GDT entries + .word 512+gdt,0x9 ! gdt base = 0X9xxxx + +.text +endtext: +.data +enddata: +.bss +endbss: diff --git a/linux-0.11-lab - 副本/0/linux/fs/Makefile b/linux-0.11-lab - 副本/0/linux/fs/Makefile new file mode 100644 index 0000000..970acd4 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/Makefile @@ -0,0 +1,101 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< + +OBJS= open.o read_write.o inode.o file_table.o buffer.o super.o \ + block_dev.o char_dev.o file_dev.o stat.o exec.o pipe.o namei.o \ + bitmap.o fcntl.o ioctl.o truncate.o select.o + +fs.o: $(OBJS) + $(LD) -r -o fs.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +bitmap.o : bitmap.c ../include/string.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.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 \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +buffer.o : buffer.c ../include/stdarg.h ../include/linux/config.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.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 \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/io.h +exec.o : exec.c ../include/errno.h ../include/string.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/a.out.h \ + ../include/linux/fs.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h +fcntl.o : fcntl.c ../include/string.h ../include/errno.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/sys/types.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h ../include/fcntl.h \ + ../include/sys/stat.h +file_dev.o : file_dev.c ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.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 \ + ../include/sys/types.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/system.h +ioctl.o : ioctl.c ../include/string.h ../include/errno.h \ + ../include/sys/stat.h ../include/sys/types.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h +namei.o : namei.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/string.h ../include/fcntl.h ../include/errno.h \ + ../include/const.h ../include/sys/stat.h +open.o : open.c ../include/string.h ../include/errno.h ../include/fcntl.h \ + ../include/sys/types.h ../include/utime.h ../include/sys/stat.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h +pipe.o : pipe.c ../include/signal.h ../include/sys/types.h \ + ../include/linux/sched.h ../include/linux/head.h ../include/linux/fs.h \ + ../include/linux/mm.h ../include/asm/segment.h +read_write.o : read_write.c ../include/sys/stat.h ../include/sys/types.h \ + ../include/errno.h ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/signal.h ../include/asm/segment.h +stat.o : stat.c ../include/errno.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/linux/fs.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/mm.h ../include/signal.h \ + ../include/linux/kernel.h ../include/asm/segment.h +super.o : super.c ../include/linux/config.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/errno.h ../include/sys/stat.h +truncate.o : truncate.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/sys/stat.h diff --git a/linux-0.11-lab - 副本/0/linux/fs/bitmap.c b/linux-0.11-lab - 副本/0/linux/fs/bitmap.c new file mode 100644 index 0000000..73951a8 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/bitmap.c @@ -0,0 +1,168 @@ +/* + * linux/fs/bitmap.c + * + * (C) 1991 Linus Torvalds + */ + +/* bitmap.c contains the code that handles the inode and block bitmaps */ +#include + +#include +#include + +#define clear_block(addr) \ +__asm__ __volatile__ ("cld\n\t" \ + "rep\n\t" \ + "stosl" \ + ::"a" (0),"c" (BLOCK_SIZE/4),"D" ((long) (addr))) + +#define set_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btsl %2,%3\n\tsetb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define clear_bit(nr,addr) ({\ +register int res __asm__("ax"); \ +__asm__ __volatile__("btrl %2,%3\n\tsetnb %%al": \ +"=a" (res):"0" (0),"r" (nr),"m" (*(addr))); \ +res;}) + +#define find_first_zero(addr) ({ \ +int __res; \ +__asm__ __volatile__ ("cld\n" \ + "1:\tlodsl\n\t" \ + "notl %%eax\n\t" \ + "bsfl %%eax,%%edx\n\t" \ + "je 2f\n\t" \ + "addl %%edx,%%ecx\n\t" \ + "jmp 3f\n" \ + "2:\taddl $32,%%ecx\n\t" \ + "cmpl $8192,%%ecx\n\t" \ + "jl 1b\n" \ + "3:" \ + :"=c" (__res):"c" (0),"S" (addr)); \ +__res;}) + +void free_block(int dev, int block) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!(sb = get_super(dev))) + panic("trying to free block on nonexistent device"); + if (block < sb->s_firstdatazone || block >= sb->s_nzones) + panic("trying to free block not in datazone"); + bh = get_hash_table(dev,block); + if (bh) { + if (bh->b_count != 1) { + printk("trying to free block (%04x:%d), count=%d\n", + dev,block,bh->b_count); + return; + } + bh->b_dirt=0; + bh->b_uptodate=0; + brelse(bh); + } + block -= sb->s_firstdatazone - 1 ; + if (clear_bit(block&8191,sb->s_zmap[block/8192]->b_data)) { + printk("block (%04x:%d) ",dev,block+sb->s_firstdatazone-1); + panic("free_block: bit already cleared"); + } + sb->s_zmap[block/8192]->b_dirt = 1; +} + +int new_block(int dev) +{ + struct buffer_head * bh; + struct super_block * sb; + int i,j; + + if (!(sb = get_super(dev))) + panic("trying to get new block from nonexistant device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_zmap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (i>=8 || !bh || j>=8192) + return 0; + if (set_bit(j,bh->b_data)) + panic("new_block: bit already set"); + bh->b_dirt = 1; + j += i*8192 + sb->s_firstdatazone-1; + if (j >= sb->s_nzones) + return 0; + if (!(bh=getblk(dev,j))) + panic("new_block: cannot get block"); + if (bh->b_count != 1) + panic("new block: count is != 1"); + clear_block(bh->b_data); + bh->b_uptodate = 1; + bh->b_dirt = 1; + brelse(bh); + return j; +} + +void free_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + + if (!inode) + return; + if (!inode->i_dev) { + memset(inode,0,sizeof(*inode)); + return; + } + if (inode->i_count>1) { + printk("trying to free inode with count=%d\n",inode->i_count); + panic("free_inode"); + } + if (inode->i_nlinks) + panic("trying to free inode with links"); + if (!(sb = get_super(inode->i_dev))) + panic("trying to free inode on nonexistent device"); + if (inode->i_num < 1 || inode->i_num > sb->s_ninodes) + panic("trying to free inode 0 or nonexistant inode"); + if (!(bh=sb->s_imap[inode->i_num>>13])) + panic("nonexistent imap in superblock"); + if (clear_bit(inode->i_num&8191,bh->b_data)) + printk("free_inode: bit already cleared.\n\r"); + bh->b_dirt = 1; + memset(inode,0,sizeof(*inode)); +} + +struct m_inode * new_inode(int dev) +{ + struct m_inode * inode; + struct super_block * sb; + struct buffer_head * bh; + int i,j; + + if (!(inode=get_empty_inode())) + return NULL; + if (!(sb = get_super(dev))) + panic("new_inode with unknown device"); + j = 8192; + for (i=0 ; i<8 ; i++) + if (bh=sb->s_imap[i]) + if ((j=find_first_zero(bh->b_data))<8192) + break; + if (!bh || j >= 8192 || j+i*8192 > sb->s_ninodes) { + iput(inode); + return NULL; + } + if (set_bit(j,bh->b_data)) + panic("new_inode: bit already set"); + bh->b_dirt = 1; + inode->i_count=1; + inode->i_nlinks=1; + inode->i_dev=dev; + inode->i_uid=current->euid; + inode->i_gid=current->egid; + inode->i_dirt=1; + inode->i_num = j + i*8192; + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; + return inode; +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/bitmap.o b/linux-0.11-lab - 副本/0/linux/fs/bitmap.o new file mode 100644 index 0000000000000000000000000000000000000000..501d3c5e3fb1a044792589a0bdde55cbb41cfaa2 GIT binary patch literal 10280 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 J@|j5fe*vQQ&y@fG literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/block_dev.c b/linux-0.11-lab - 副本/0/linux/fs/block_dev.c new file mode 100644 index 0000000..a50ae3f --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/block_dev.c @@ -0,0 +1,73 @@ +/* + * linux/fs/block_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include + +int block_write(int dev, long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int written = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE - offset; + if (chars > count) + chars=count; + if (chars == BLOCK_SIZE) + bh = getblk(dev,block); + else + bh = breada(dev,block,block+1,block+2,-1); + block++; + if (!bh) + return written?written:-EIO; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + written += chars; + count -= chars; + while (chars-->0) + *(p++) = get_fs_byte(buf++); + bh->b_dirt = 1; + brelse(bh); + } + return written; +} + +int block_read(int dev, unsigned long * pos, char * buf, int count) +{ + int block = *pos >> BLOCK_SIZE_BITS; + int offset = *pos & (BLOCK_SIZE-1); + int chars; + int read = 0; + struct buffer_head * bh; + register char * p; + + while (count>0) { + chars = BLOCK_SIZE-offset; + if (chars > count) + chars = count; + if (!(bh = breada(dev,block,block+1,block+2,-1))) + return read?read:-EIO; + block++; + p = offset + bh->b_data; + offset = 0; + *pos += chars; + read += chars; + count -= chars; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } + return read; +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/block_dev.o b/linux-0.11-lab - 副本/0/linux/fs/block_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e5e9334ce9a4697061730271c4c9d92fcf4aa105 GIT binary patch literal 7296 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 + +#include +#include +#include +#include +#include + +extern void put_super(int dev); +extern void invalidate_inodes(int dev); + +extern int end; +struct buffer_head * start_buffer = (struct buffer_head *) &end; +struct buffer_head * hash_table[NR_HASH]; +static struct buffer_head * free_list; +static struct task_struct * buffer_wait = NULL; +int NR_BUFFERS = 0; + +static inline void wait_on_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + sti(); +} + +int sys_sync(void) +{ + int i; + struct buffer_head * bh; + + sync_inodes(); /* write out inodes into buffers */ + bh = start_buffer; + for (i=0 ; ib_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +int sync_dev(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + sync_inodes(); + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_dirt) + ll_rw_block(WRITE,bh); + } + return 0; +} + +void inline invalidate_buffers(int dev) +{ + int i; + struct buffer_head * bh; + + bh = start_buffer; + for (i=0 ; ib_dev != dev) + continue; + wait_on_buffer(bh); + if (bh->b_dev == dev) + bh->b_uptodate = bh->b_dirt = 0; + } +} + +/* + * This routine checks whether a floppy has been changed, and + * invalidates all buffer-cache-entries in that case. This + * is a relatively slow routine, so we have to try to minimize using + * it. Thus it is called only upon a 'mount' or 'open'. This + * is the best way of combining speed and utility, I think. + * People changing diskettes in the middle of an operation deserve + * to loose :-) + * + * NOTE! Although currently this is only for floppies, the idea is + * that any additional removable block-device will use this routine, + * and that mount/open needn't know that floppies/whatever are + * special. + */ +void check_disk_change(int dev) +{ + int i; + + if (MAJOR(dev) != 2) + return; + if (!floppy_change(dev & 0x03)) + return; + for (i=0 ; ib_next) + bh->b_next->b_prev = bh->b_prev; + if (bh->b_prev) + bh->b_prev->b_next = bh->b_next; + if (hash(bh->b_dev,bh->b_blocknr) == bh) + hash(bh->b_dev,bh->b_blocknr) = bh->b_next; +/* remove from free list */ + if (!(bh->b_prev_free) || !(bh->b_next_free)) + panic("Free block list corrupted"); + bh->b_prev_free->b_next_free = bh->b_next_free; + bh->b_next_free->b_prev_free = bh->b_prev_free; + if (free_list == bh) + free_list = bh->b_next_free; +} + +static inline void insert_into_queues(struct buffer_head * bh) +{ +/* put at end of free list */ + bh->b_next_free = free_list; + bh->b_prev_free = free_list->b_prev_free; + free_list->b_prev_free->b_next_free = bh; + free_list->b_prev_free = bh; +/* put the buffer in new hash-queue if it has a device */ + bh->b_prev = NULL; + bh->b_next = NULL; + if (!bh->b_dev) + return; + bh->b_next = hash(bh->b_dev,bh->b_blocknr); + hash(bh->b_dev,bh->b_blocknr) = bh; + bh->b_next->b_prev = bh; +} + +static struct buffer_head * find_buffer(int dev, int block) +{ + struct buffer_head * tmp; + + for (tmp = hash(dev,block) ; tmp != NULL ; tmp = tmp->b_next) + if (tmp->b_dev==dev && tmp->b_blocknr==block) + return tmp; + return NULL; +} + +/* + * Why like this, I hear you say... The reason is race-conditions. + * As we don't lock buffers (unless we are readint them, that is), + * something might happen to it while we sleep (ie a read-error + * will force it bad). This shouldn't really happen currently, but + * the code is ready. + */ +struct buffer_head * get_hash_table(int dev, int block) +{ + struct buffer_head * bh; + + for (;;) { + if (!(bh=find_buffer(dev,block))) + return NULL; + bh->b_count++; + wait_on_buffer(bh); + if (bh->b_dev == dev && bh->b_blocknr == block) + return bh; + bh->b_count--; + } +} + +/* + * Ok, this is getblk, and it isn't very clear, again to hinder + * race-conditions. Most of the code is seldom used, (ie repeating), + * so it should be much more efficient than it looks. + * + * The algoritm is changed: hopefully better, and an elusive bug removed. + */ +#define BADNESS(bh) (((bh)->b_dirt<<1)+(bh)->b_lock) +struct buffer_head * getblk(int dev,int block) +{ + struct buffer_head * tmp, * bh; + +repeat: + if (bh = get_hash_table(dev,block)) + return bh; + tmp = free_list; + do { + if (tmp->b_count) + continue; + if (!bh || BADNESS(tmp)b_next_free) != free_list); + if (!bh) { + sleep_on(&buffer_wait); + goto repeat; + } + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + while (bh->b_dirt) { + sync_dev(bh->b_dev); + wait_on_buffer(bh); + if (bh->b_count) + goto repeat; + } +/* NOTE!! While we slept waiting for this block, somebody else might */ +/* already have added "this" block to the cache. check it */ + if (find_buffer(dev,block)) + goto repeat; +/* OK, FINALLY we know that this buffer is the only one of it's kind, */ +/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */ + bh->b_count=1; + bh->b_dirt=0; + bh->b_uptodate=0; + remove_from_queues(bh); + bh->b_dev=dev; + bh->b_blocknr=block; + insert_into_queues(bh); + return bh; +} + +void brelse(struct buffer_head * buf) +{ + if (!buf) + return; + wait_on_buffer(buf); + if (!(buf->b_count--)) + panic("Trying to free free buffer"); + wake_up(&buffer_wait); +} + +/* + * bread() reads a specified block and returns the buffer that contains + * it. It returns NULL if the block was unreadable. + */ +struct buffer_head * bread(int dev,int block) +{ + struct buffer_head * bh; + + if (!(bh=getblk(dev,block))) + panic("bread: getblk returned NULL\n"); + if (bh->b_uptodate) + return bh; + ll_rw_block(READ,bh); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return NULL; +} + +#define COPYBLK(from,to) \ +__asm__("cld\n\t" \ + "rep\n\t" \ + "movsl\n\t" \ + ::"c" (BLOCK_SIZE/4),"S" (from),"D" (to) \ + ) + +/* + * bread_page reads four buffers into memory at the desired address. It's + * a function of its own, as there is some speed to be got by reading them + * all at the same time, not waiting for one to be read, and then another + * etc. + */ +void bread_page(unsigned long address,int dev,int b[4]) +{ + struct buffer_head * bh[4]; + int i; + + for (i=0 ; i<4 ; i++) + if (b[i]) { + if (bh[i] = getblk(dev,b[i])) + if (!bh[i]->b_uptodate) + ll_rw_block(READ,bh[i]); + } else + bh[i] = NULL; + for (i=0 ; i<4 ; i++,address += BLOCK_SIZE) + if (bh[i]) { + wait_on_buffer(bh[i]); + if (bh[i]->b_uptodate) + COPYBLK((unsigned long) bh[i]->b_data,address); + brelse(bh[i]); + } +} + +/* + * Ok, breada can be used as bread, but additionally to mark other + * blocks for reading as well. End the argument list with a negative + * number. + */ +struct buffer_head * breada(int dev,int first, ...) +{ + va_list args; + struct buffer_head * bh, *tmp; + + va_start(args,first); + if (!(bh=getblk(dev,first))) + panic("bread: getblk returned NULL\n"); + if (!bh->b_uptodate) + ll_rw_block(READ,bh); + while ((first=va_arg(args,int))>=0) { + tmp=getblk(dev,first); + if (tmp) { + if (!tmp->b_uptodate) + ll_rw_block(READA,bh); + tmp->b_count--; + } + } + va_end(args); + wait_on_buffer(bh); + if (bh->b_uptodate) + return bh; + brelse(bh); + return (NULL); +} + +void buffer_init(long buffer_end) +{ + struct buffer_head * h = start_buffer; + void * b; + int i; + + if (buffer_end == 1<<20) + b = (void *) (640*1024); + else + b = (void *) buffer_end; + while ( (b -= BLOCK_SIZE) >= ((void *) (h+1)) ) { + h->b_dev = 0; + h->b_dirt = 0; + h->b_count = 0; + h->b_lock = 0; + h->b_uptodate = 0; + h->b_wait = NULL; + h->b_next = NULL; + h->b_prev = NULL; + h->b_data = (char *) b; + h->b_prev_free = h-1; + h->b_next_free = h+1; + h++; + NR_BUFFERS++; + if (b == (void *) 0x100000) + b = (void *) 0xA0000; + } + h--; + free_list = start_buffer; + free_list->b_prev_free = h; + h->b_next_free = free_list; + for (i=0;iQ6+~nZ1VPZCP{pdlWadpWGMO3Y4-glv z7*S%>7VB1P-Nm-HYhAN#)$LZ}w$ZB8+ONe=TerJ@TU$Tc(rCMCt$(}h?|0vMlL55d z-TBD;&N=s-bI(2Z+7+#v%)Y8<$Vn0Qxlw0+gse0E)BEQG}WjEUu%AUeDd(} zmdM~({gA)qw;vunc#!PP(MdOqm4E%g;8V@tAAGG<%fCd!q2(=2dzZH~lOFGaY7@;K zam|`;j@I5VRtjtJ@)rMIe+whf)(2rU2=x~2W+AxkPke`72A^tW7e{*kB;5>0?aBW# zwrF`vXUQC2Dk_?1`&sH_~Q^ zBE!+9onxg2A<;=>_`>i|H;W8y;fc1e+txJH-Q>2Ra`w5Df9}3V=c5!KWAyL5F|=>k zzmp{DDpKzF>)N{0rlGJla@CvBF>{R=B1l*WwN8(f6*L@ecH@Z*bw@o>}}W>g;;L1T%#Z!ZM5nT@P!r;g3l@Hj>bICzL{!MI0_q)qJ;~whNyu zTV%(Nc9oiFF}S@Yq{`3A`l;u}fz~cG(WY|<6}$s`1NdgBHmh=tRvq7f*5;d|p>s}-@+%ZnN3yp z_Hho3eR}ebWjkt>{p&!u1yA026=Ky9lp9dNHfly!@PXN~!ww-uKYP#J^pHP<95@g{ z+ju+t$u>wGIXLub@U_GAUzSZv@6P4DFgzq(`~H0JAQn^Lz$2pfOfYSxu>-vu&Vz3b{qYP(~38)nyOC=pqUm8Z#VWdyN|&&N!6A!QnM6kzMOB zFujD2^%78>j6wGhg#96L%QQ=&aRWHjvxX|FEr@Kfgqz3D<~K6W6Oqf(OP8*|t?#-O zSZ%=VPB*fX%4u=&CodX&trHt_E1ev;3184_y|uCg&o%Z9E97$1M~K-y#LI`g*;?Py zI<))_79-Zs4cyO8^=KVR`DBkhJo0g_p4PoEVjS4cTan~e-{jk}h}H{l-0{renMa!L zWeC0B_>La1=G{S`;584cp(nq?$ClyCTB1Ww4E=2A7azXGQ=($bgs{gQ%UhxfJEiXV z+B*iH>ipCdG42PqVwwiW{H$}>ebkJ(3scW`^^9RvVaCe(JUwE>>&7qm7;j-j5LP8_ zWntGt_4AL31bMTKW?gYm#P)%Qp=M497UhTNj#b>Xb8O%XKwasZ{^XXin<3Uw(>TjQ zHy%7Iw{-9Eg75*6PNXN3OKgs0(#29Fkt-C+`I3`V>k9+vY;UBLi=?Qdzk154lv7YW z1t*?7Bhu@XdNP|M1*cRlWSwN>{0(c?1l6e_#WCRHH-3U|<6GdK_i2fGJLsZ$0nq2~ z)ZeG!+izI6K`(FyXxsE(0kGoA43JP(k5GQ)_t&gPH34S9C18r?0z6r2{DE|~r2J;h z5QT>QXQ-Gjpv504!cAZ?_?E!((;>0vQ*aIgP<98@11s2--)^IPIb;B6eFX3jQ){TRN> zEH`U=srD(VtuTWrI?&9yX0Vg4HM80bK1b#VY*f&ES(4i{(1qcE$YMXWs%mbU;LjG6k#7W!sAd9ZY zE!gWI2_)Qty@Wc+mH4i+2QZXCiq#jfhp5v_+ZKBkZTm>iwhxd_v#(ZrCHuXSbi4f? z>CL1&?N>=>=zpI50O@|x^X*SFwk+u`dj;tn=~L|`r1PXtvmd4Zt4N=&0?jb450scs zdmEL?JJ6u)he>ZCZQ9dmu$8pmUc~`y)9Q8`J0AE9C>quMnC+T_zY1>{%`SqlO_U8=HgUn6Ho=@8wD6hA9DgM>gr9-sj&B2#msi#+tnm^=l=#FiznDR92Dn zCrJCP66ralZ7Y?|E31`s$Vw$p`fa4^tyC_jtaj32(2#eKZnBTUK&?)?Z&o3SxKi}s z8dcyvjOaycK6gF)Jp^KPQA64H)96&veydpQRMu&vZF_|B(@BRQpR23|r0ebb@NF$5 z9fo|Kvd$pgWF-pom9>a;v*j@GGf7A6KJ;rXCf#B=@omaFi}Y;ENqBUt+9Tv^LVo@+5(%So<5l*&4XWVe+Bxq{?+ zD+O{T$xEzWkmr)T%+lMgowUzq#?E^Uv)HFXcLKOQ>C{eFp%+2(Pg3pk zbK40mhT-o#si_*i4&IoBFEx|YJ(IAQru6hd#yT{yBRAH<&gfv}P$i+&_{1>e(xTb?>wS%RegQ*4vV_dug<11+6?^cZU zK`6!>tBo(M7`MU9D7}U62ek3;E5;?)K=-^wj8(%XYTfvED6Mz2e#23cgB!gZOnVZI z#$9(HB~NRWE>GnyPvz*XRQWpDjTn8OR@+83J?5`V&rNHY8sYrmQh#0<|LFSIrW!9| zaRK8^-g8xDZalctLz< zhr;w7a~=KtbOn5=V+Tkp#t8{FO;rKW_QBvw!W1;z&h&s)G0+qH?Yu-RjoryX_ zVmMx>!ejj>u!QQxO-3F22fCSKd;=~{)T8(%TpWKY1_mkjRuqBjagKQOAJ@Y+>Y2N3 z?XS)Fjpi;p0kzgHdKv71j6rX;@1R{T5ua+liQ_v*hwwaV=4~DM<+Wbq=Tstpno)SH ze|lsc(qpVNX6mRiy61CcBz-67IriA3n(;bE6EmK{ymsh;J%ApL{{mgc3@&U8>;&W@ zE*`d>fMN9*)G~LMIFN({l2<4CPx?87K8e{6_&}C<=6DQ!qD6lg?@Sm{O!>my) zEQ-K=KZa!HooF{^xW*vW%vH?#OlBtl2TGmnWRuE>RMIsISA$s&8gLDni4iE{#Ay(@ z%F1XkX4W;<`s$9WYcQr*^+zM*Y06i3M(v{7RgE}#CaYRa;O#+e?O9NSX`|t*tF5Jq z0TpYK^4YHb0z_CNiWrEE7V*TEqqJSXvkO+WVm4~4+<*-k#;QiTpEN_QYV3e{-Be@N zF_cUWK!P)5s+x6-QVs2hhCXKni8mlWj0|`Y&Vu1<0-CcJVZ6zb%^TJ zYSlv&rybtcoo-)8Pslyj($a(|Bn6D(n4qu?n9*Y^{R9q+{Wys|u&R+(&DDxt2Qtj# zr2|ntL53pibXcnhWQ;*%GpfD0!;@f7qyk)x zS$fVei+F-SLE#UN1^Sy`-hGtxVlALlLER*L>)(;M%G%pI(%D3&oOC)e>1=tM znh;cx9mRp7QtlnOJwca!xF@$`H7ZpsCF6x&(CDNzkavn8u|`rvHYfTVPcz+{jb~g< z6u6GqH_KQ&qeGc~A^H#^G=HIkN?9-*?VJLpI zTrA$QFY;7<4Xc-oZnQf(_L#F8%~R^Ne6_W8bhP`d5xWup%=SjJBdp~QS|g)&Bc!8i z!_V&D|MYQo8&0 z5j{4mWSI*a2kmF)+Pll6myV8X?67Byj?l;YN9^*a1_uX6M@L4_Tf4a2F>0STI=XI& z{nF@2ue}&wqZ@totFL_4?ln(u+;89RyZSNR_iF3mJ)>{!x1W7ovyWMSvpqUOD|_*I zcDW3o`~%-nc1b%~yZDYhJ1-vGxCfmLj*N`#dFiE%BYUXhyXtyhgMIzRJ)_TpH7PS+ zWrMZay4UohT#B*m)wwL5*!tqdzE~;VlW|lrmhO+|0X)8nrFfwf!*^n{>d_K>$4haQ zbczYc3*|&fVb64hTjDXkl2OHYER~7liLT)E=e9VpR3X&oR5$z;L7eMa)h9aHH^a)2>bD!OB8^uo}79CtY&wQ*fx(mf!X&LU7Q09_G9 zI7S6}zWFqQ_buK$CyH)3UMKyUO{EK1bMZ{P(62iBa{W$6wwx?=F{VhRZoZ z@Y!;|n*-KAUa_(OaVDsIZy~Q7J;Qoi@e+=z%M=~#4|yk!YUI4cvA__ATgxf~34&lm zdg?HNtRXiZ998ZlyXkPh;|L6!0xAP@#HHZwMQOKS`cWdR2rLFxGAi0#ve_;1Oq!Kc zsoxU3cnQZwhLxVo@C`C5u9VX?2Pp~wTLJ@g<4TEpoS00Jo)Yepx(u+R7R%UC-Q_Ly zt5aIY^jAj;tt9q8Xx283zf0mHjWGV z{kw1&Q?7s00nVhtvbspT&adTNBGbqFvbs()R_CYw8vO0TAFr#>?=;_byKO;pRX zu6#S>-X&AZzvjyCfZV%GvS0J9IzNATco2Wy4HBe|Wen(D7oi(Aldg|{gWS6UYTwt^ z`T6kmU-QcLUXo6Mzk zp&NZm>*@#n%j%-OCZn!?>G$hGOP{H;m+p0af+_;!???MB4*f+_21QYxp~lbVkAV0CP%ZjBds z_|TAkv=Wam&j9_Y_C&6~-@!rCp2g|aj&spH&0HI&54$Q(KqT^i`I!zq3|ZkOtUs)& z>IYG_@x!-;yd`;`a4T*acphZEQHOKKJK8D2>pK_dRy;UQJmOB!tmSHdE$yy7{n6I* z*8!S-J%63>hih8por2|&F_~$SC8XCjAI*Q97lubaa^RmS^=qk zbQ1Ok67um}SNF-L*YN6a3_(lW1&h5o8r z$yfJ4K2Vu!#$kYGOdOxbM?mw#bz~ml&r)1B-rmjjv%!0NHu(+Uz5V(~dsg_w$9G8P z86PWg;^RAHMY0`lL#jSLoyiG-PtQ^{KUu|v<@g%lAv@8mt@-veg1;X@p+UWQkoC%s zs~^yH=}O#rWBoBV3H(jLc<=Taft=T`9mYQdp0&+0llr4T@2n*MWANS?N&Xe^-iQ8v z?=e8~?;pndtEQao(+=aC!F%T<{m%jKosZ=CW4U)Gl3#e3{ZjDW*~s>l;Jq`E{Dt7X z^N##R@ZLE`e&YFS;sLAr5%I8V+DBafKH_=3`ZnM`*10bE_*{K4t-50rGmewT^ZLY7 ztA0?FXX#8PR@my@n<@{GM?UEtd7(>Xa{2s#cfG?yTjl|YY{9^J_G-In0TU6 ze@i@GsSkn1G^OTZOCp|6#Kv0-6HsT!7mGbOK?oE5xVrVLU5}ff5kLg zl*$3=?_I%qJcy8=3S^#E6LA(bU`t{g(}0ZQc=FIYk^C%-kB9|-0p-wJPab*$MC9ko z#FNnv5qk5XL;1r*$p1iu+`xuUdkaW=z8a?9Vj|jmg@2R?yB`8M5B=B@ng62T{Y1z| zh=}tc!S4zF2N8MU$H1Y3VJc&idnOy$AXq0vG-<^9MP*=aFlEY^jCYG7UnqE%U|g_I zFekW0@CLzQ!OseQQScuG9~S(c;B$g63BD@$2f+^nYgl)PyHRkuAonxM7YLpsxK8kL zLH=hG>Xik#2b1Uj&mewL@P5I67W|3e0l_~B>fdl+$7faAe?std!F7UH2yPbKCb(1Z zcELS@4+`>s3DEBgg0Bnm7kkQUd@hCs`M(?}PYUJ*w+rqPWB5I)ydkWi|h~SqBf1dEy3%^VF?+O33@Z6th|F-Z` zxbM&(5&ljUeu?mx2|pk>DDr!Se_W8y0JMKq_z?Fc_?<$8yh-@!!k;DlD&c#D-zj*D z$iFE3yMjL4v*>RI5&q{2ULoj6dr9~a!AFUxk?#usL*aiR{O<(+M8tmkf$%lB+;Bgh zO+ +#include + +#include +#include + +#include +#include + +extern int tty_read(unsigned minor,char * buf,int count); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef (*crw_ptr)(int rw,unsigned minor,char * buf,int count,off_t * pos); + +static int rw_ttyx(int rw,unsigned minor,char * buf,int count,off_t * pos) +{ + return ((rw==READ)?tty_read(minor,buf,count): + tty_write(minor,buf,count)); +} + +static int rw_tty(int rw,unsigned minor,char * buf,int count, off_t * pos) +{ + if (current->tty<0) + return -EPERM; + return rw_ttyx(rw,current->tty,buf,count,pos); +} + +static int rw_ram(int rw,char * buf, int count, off_t *pos) +{ + return -EIO; +} + +static int rw_mem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_kmem(int rw,char * buf, int count, off_t * pos) +{ + return -EIO; +} + +static int rw_port(int rw,char * buf, int count, off_t * pos) +{ + int i=*pos; + + while (count-->0 && i<65536) { + if (rw==READ) + put_fs_byte(inb(i),buf++); + else + outb(get_fs_byte(buf++),i); + i++; + } + i -= *pos; + *pos += i; + return i; +} + +static int rw_memory(int rw, unsigned minor, char * buf, int count, off_t * pos) +{ + switch(minor) { + case 0: + return rw_ram(rw,buf,count,pos); + case 1: + return rw_mem(rw,buf,count,pos); + case 2: + return rw_kmem(rw,buf,count,pos); + case 3: + return (rw==READ)?0:count; /* rw_null */ + case 4: + return rw_port(rw,buf,count,pos); + default: + return -EIO; + } +} + +#define NRDEVS ((sizeof (crw_table))/(sizeof (crw_ptr))) + +static crw_ptr crw_table[]={ + NULL, /* nodev */ + rw_memory, /* /dev/mem etc */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + rw_ttyx, /* /dev/ttyx */ + rw_tty, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* unnamed pipes */ + +int rw_char(int rw,int dev, char * buf, int count, off_t * pos) +{ + crw_ptr call_addr; + + if (MAJOR(dev)>=NRDEVS) + return -ENODEV; + if (!(call_addr=crw_table[MAJOR(dev)])) + return -ENODEV; + return call_addr(rw,MINOR(dev),buf,count,pos); +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/char_dev.o b/linux-0.11-lab - 副本/0/linux/fs/char_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..2977060a7c0b215e10aa16a8395ed973d52837cd GIT binary patch literal 8288 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 O%Ys)0UlIH-!T$wZ8WjQn literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/exec.c b/linux-0.11-lab - 副本/0/linux/fs/exec.c new file mode 100644 index 0000000..2ff220e --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/exec.c @@ -0,0 +1,359 @@ +/* + * linux/fs/exec.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * #!-checking implemented by tytso. + */ + +/* + * Demand-loading implemented 01.12.91 - no need to read anything but + * the header into memory. The inode of the executable is put into + * "current->executable", and page faults do the actual loading. Clean. + * + * Once more I can proudly say that linux stood up to being changed: it + * was less than 2 hours work to get demand-loading completely implemented. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +extern int sys_exit(int exit_code); +extern int sys_close(int fd); + +/* + * MAX_ARG_PAGES defines the number of pages allocated for arguments + * and envelope for the new program. 32 should suffice, this gives + * a maximum env+arg of 128kB ! + */ +#define MAX_ARG_PAGES 32 + + +int sys_uselib() +{ + return -ENOSYS; +} + +/* + * create_tables() parses the env- and arg-strings in new user + * memory and creates the pointer tables from them, and puts their + * addresses on the "stack", returning the new stack pointer value. + */ +static unsigned long * create_tables(char * p,int argc,int envc) +{ + unsigned long *argv,*envp; + unsigned long * sp; + + sp = (unsigned long *) (0xfffffffc & (unsigned long) p); + sp -= envc+1; + envp = sp; + sp -= argc+1; + argv = sp; + put_fs_long((unsigned long)envp,--sp); + put_fs_long((unsigned long)argv,--sp); + put_fs_long((unsigned long)argc,--sp); + while (argc-->0) { + put_fs_long((unsigned long) p,argv++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,argv); + while (envc-->0) { + put_fs_long((unsigned long) p,envp++); + while (get_fs_byte(p++)) /* nothing */ ; + } + put_fs_long(0,envp); + return sp; +} + +/* + * count() counts the number of arguments/envelopes + */ +static int count(char ** argv) +{ + int i=0; + char ** tmp; + + if (tmp = argv) + while (get_fs_long((unsigned long *) (tmp++))) + i++; + + return i; +} + +/* + * 'copy_string()' copies argument/envelope strings from user + * memory to free pages in kernel mem. These are in a format ready + * to be put directly into the top of new user memory. + * + * Modified by TYT, 11/24/91 to add the from_kmem argument, which specifies + * whether the string and the string array are from user or kernel segments: + * + * from_kmem argv * argv ** + * 0 user space user space + * 1 kernel space user space + * 2 kernel space kernel space + * + * We do this by playing games with the fs segment register. Since it + * it is expensive to load a segment register, we try to avoid calling + * set_fs() unless we absolutely have to. + */ +static unsigned long copy_strings(int argc,char ** argv,unsigned long *page, + unsigned long p, int from_kmem) +{ + char *tmp, *pag; + int len, offset = 0; + unsigned long old_fs, new_fs; + + if (!p) + return 0; /* bullet-proofing */ + new_fs = get_ds(); + old_fs = get_fs(); + if (from_kmem==2) + set_fs(new_fs); + while (argc-- > 0) { + if (from_kmem == 1) + set_fs(new_fs); + if (!(tmp = (char *)get_fs_long(((unsigned long *)argv)+argc))) + panic("argc is wrong"); + if (from_kmem == 1) + set_fs(old_fs); + len=0; /* remember zero-padding */ + do { + len++; + } while (get_fs_byte(tmp++)); + if (p-len < 0) { /* this shouldn't happen - 128kB */ + set_fs(old_fs); + return 0; + } + while (len) { + --p; --tmp; --len; + if (--offset < 0) { + offset = p % PAGE_SIZE; + if (from_kmem==2) + set_fs(old_fs); + if (!(pag = (char *) page[p/PAGE_SIZE]) && + !(pag = (char *) (page[p/PAGE_SIZE] = + (unsigned long *) get_free_page()))) + return 0; + if (from_kmem==2) + set_fs(new_fs); + + } + *(pag + offset) = get_fs_byte(tmp); + } + } + if (from_kmem==2) + set_fs(old_fs); + return p; +} + +static unsigned long change_ldt(unsigned long text_size,unsigned long * page) +{ + unsigned long code_limit,data_limit,code_base,data_base; + int i; + + code_limit = text_size+PAGE_SIZE -1; + code_limit &= 0xFFFFF000; + data_limit = 0x4000000; + code_base = get_base(current->ldt[1]); + data_base = code_base; + set_base(current->ldt[1],code_base); + set_limit(current->ldt[1],code_limit); + set_base(current->ldt[2],data_base); + set_limit(current->ldt[2],data_limit); +/* make sure fs points to the NEW data segment */ + __asm__("pushl $0x17\n\tpop %%fs"::); + data_base += data_limit; + for (i=MAX_ARG_PAGES-1 ; i>=0 ; i--) { + data_base -= PAGE_SIZE; + if (page[i]) + put_page(page[i],data_base); + } + return data_limit; +} + +/* + * 'do_execve()' executes a new program. + */ +int do_execve(unsigned long * eip,long tmp,char * filename, + char ** argv, char ** envp) +{ + struct m_inode * inode; + struct buffer_head * bh; + struct exec ex; + unsigned long page[MAX_ARG_PAGES]; + int i,argc,envc; + int e_uid, e_gid; + int retval; + int sh_bang = 0; + unsigned long p=PAGE_SIZE*MAX_ARG_PAGES-4; + + if ((0xffff & eip[1]) != 0x000f) + panic("execve called from supervisor mode"); + for (i=0 ; ii_mode)) { /* must be regular file */ + retval = -EACCES; + goto exec_error2; + } + i = inode->i_mode; + e_uid = (i & S_ISUID) ? inode->i_uid : current->euid; + e_gid = (i & S_ISGID) ? inode->i_gid : current->egid; + if (current->euid == inode->i_uid) + i >>= 6; + else if (current->egid == inode->i_gid) + i >>= 3; + if (!(i & 1) && + !((inode->i_mode & 0111) && suser())) { + retval = -ENOEXEC; + goto exec_error2; + } + if (!(bh = bread(inode->i_dev,inode->i_zone[0]))) { + retval = -EACCES; + goto exec_error2; + } + ex = *((struct exec *) bh->b_data); /* read exec-header */ + if ((bh->b_data[0] == '#') && (bh->b_data[1] == '!') && (!sh_bang)) { + /* + * This section does the #! interpretation. + * Sorta complicated, but hopefully it will work. -TYT + */ + + char buf[1023], *cp, *interp, *i_name, *i_arg; + unsigned long old_fs; + + strncpy(buf, bh->b_data+2, 1022); + brelse(bh); + iput(inode); + buf[1022] = '\0'; + if (cp = strchr(buf, '\n')) { + *cp = '\0'; + for (cp = buf; (*cp == ' ') || (*cp == '\t'); cp++); + } + if (!cp || *cp == '\0') { + retval = -ENOEXEC; /* No interpreter name found */ + goto exec_error1; + } + interp = i_name = cp; + i_arg = 0; + for ( ; *cp && (*cp != ' ') && (*cp != '\t'); cp++) { + if (*cp == '/') + i_name = cp+1; + } + if (*cp) { + *cp++ = '\0'; + i_arg = cp; + } + /* + * OK, we've parsed out the interpreter name and + * (optional) argument. + */ + if (sh_bang++ == 0) { + p = copy_strings(envc, envp, page, p, 0); + p = copy_strings(--argc, argv+1, page, p, 0); + } + /* + * Splice in (1) the interpreter's name for argv[0] + * (2) (optional) argument to interpreter + * (3) filename of shell script + * + * This is done in reverse order, because of how the + * user environment and arguments are stored. + */ + p = copy_strings(1, &filename, page, p, 1); + argc++; + if (i_arg) { + p = copy_strings(1, &i_arg, page, p, 2); + argc++; + } + p = copy_strings(1, &i_name, page, p, 2); + argc++; + if (!p) { + retval = -ENOMEM; + goto exec_error1; + } + /* + * OK, now restart the process with the interpreter's inode. + */ + old_fs = get_fs(); + set_fs(get_ds()); + if (!(inode=namei(interp))) { /* get executables inode */ + set_fs(old_fs); + retval = -ENOENT; + goto exec_error1; + } + set_fs(old_fs); + goto restart_interp; + } + brelse(bh); + if (N_MAGIC(ex) != ZMAGIC || ex.a_trsize || ex.a_drsize || + ex.a_text+ex.a_data+ex.a_bss>0x3000000 || + inode->i_size < ex.a_text+ex.a_data+ex.a_syms+N_TXTOFF(ex)) { + retval = -ENOEXEC; + goto exec_error2; + } + if (N_TXTOFF(ex) != BLOCK_SIZE) { + printk("%s: N_TXTOFF != BLOCK_SIZE. See a.out.h.", filename); + retval = -ENOEXEC; + goto exec_error2; + } + if (!sh_bang) { + p = copy_strings(envc,envp,page,p,0); + p = copy_strings(argc,argv,page,p,0); + if (!p) { + retval = -ENOMEM; + goto exec_error2; + } + } +/* OK, This is the point of no return */ + if (current->executable) + iput(current->executable); + current->executable = inode; + for (i=0 ; i<32 ; i++) + current->sigaction[i].sa_handler = NULL; + for (i=0 ; iclose_on_exec>>i)&1) + sys_close(i); + current->close_on_exec = 0; + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + if (last_task_used_math == current) + last_task_used_math = NULL; + current->used_math = 0; + p += change_ldt(ex.a_text,page)-MAX_ARG_PAGES*PAGE_SIZE; + p = (unsigned long) create_tables((char *)p,argc,envc); + current->brk = ex.a_bss + + (current->end_data = ex.a_data + + (current->end_code = ex.a_text)); + current->start_stack = p & 0xfffff000; + current->euid = e_uid; + current->egid = e_gid; + 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 */ + return 0; +exec_error2: + iput(inode); +exec_error1: + for (i=0 ; ifk_u6V*Yk91+DAroFcU|k2`}@7; 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/fcntl.c b/linux-0.11-lab - 副本/0/linux/fs/fcntl.c new file mode 100644 index 0000000..c201aa8 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/fcntl.c @@ -0,0 +1,75 @@ +/* + * linux/fs/fcntl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +#include +#include + +extern int sys_close(int fd); + +static int dupfd(unsigned int fd, unsigned int arg) +{ + if (fd >= NR_OPEN || !current->filp[fd]) + return -EBADF; + if (arg >= NR_OPEN) + return -EINVAL; + while (arg < NR_OPEN) + if (current->filp[arg]) + arg++; + else + break; + if (arg >= NR_OPEN) + return -EMFILE; + current->close_on_exec &= ~(1<filp[arg] = current->filp[fd])->f_count++; + return arg; +} + +int sys_dup2(unsigned int oldfd, unsigned int newfd) +{ + sys_close(newfd); + return dupfd(oldfd,newfd); +} + +int sys_dup(unsigned int fildes) +{ + return dupfd(fildes,0); +} + +int sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + switch (cmd) { + case F_DUPFD: + return dupfd(fd,arg); + case F_GETFD: + return (current->close_on_exec>>fd)&1; + case F_SETFD: + if (arg&1) + current->close_on_exec |= (1<close_on_exec &= ~(1<f_flags; + case F_SETFL: + filp->f_flags &= ~(O_APPEND | O_NONBLOCK); + filp->f_flags |= arg & (O_APPEND | O_NONBLOCK); + return 0; + case F_GETLK: case F_SETLK: case F_SETLKW: + return -1; + default: + return -1; + } +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/fcntl.o b/linux-0.11-lab - 副本/0/linux/fs/fcntl.o new file mode 100644 index 0000000000000000000000000000000000000000..17a6ecacd50cb07b4337da65f94d880d02b367a8 GIT binary patch literal 6748 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/file_dev.c b/linux-0.11-lab - 副本/0/linux/fs/file_dev.c new file mode 100644 index 0000000..0c50eaa --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/file_dev.c @@ -0,0 +1,90 @@ +/* + * linux/fs/file_dev.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +int file_read(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + int left,chars,nr; + struct buffer_head * bh; + + if ((left=count)<=0) + return 0; + while (left) { + if (nr = bmap(inode,(filp->f_pos)/BLOCK_SIZE)) { + if (!(bh=bread(inode->i_dev,nr))) + break; + } else + bh = NULL; + nr = filp->f_pos % BLOCK_SIZE; + chars = MIN( BLOCK_SIZE-nr , left ); + filp->f_pos += chars; + left -= chars; + if (bh) { + char * p = nr + bh->b_data; + while (chars-->0) + put_fs_byte(*(p++),buf++); + brelse(bh); + } else { + while (chars-->0) + put_fs_byte(0,buf++); + } + } + inode->i_atime = CURRENT_TIME; + return (count-left)?(count-left):-ERROR; +} + +int file_write(struct m_inode * inode, struct file * filp, char * buf, int count) +{ + off_t pos; + int block,c; + struct buffer_head * bh; + char * p; + int i=0; + +/* + * ok, append may not work when many processes are writing at the same time + * but so what. That way leads to madness anyway. + */ + if (filp->f_flags & O_APPEND) + pos = inode->i_size; + else + pos = filp->f_pos; + while (ii_dev,block))) + break; + c = pos % BLOCK_SIZE; + p = c + bh->b_data; + bh->b_dirt = 1; + c = BLOCK_SIZE-c; + if (c > count-i) c = count-i; + pos += c; + if (pos > inode->i_size) { + inode->i_size = pos; + inode->i_dirt = 1; + } + i += c; + while (c-->0) + *(p++) = get_fs_byte(buf++); + brelse(bh); + } + inode->i_mtime = CURRENT_TIME; + if (!(filp->f_flags & O_APPEND)) { + filp->f_pos = pos; + inode->i_ctime = CURRENT_TIME; + } + return (i?i:-1); +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/file_dev.o b/linux-0.11-lab - 副本/0/linux/fs/file_dev.o new file mode 100644 index 0000000000000000000000000000000000000000..e1ba8a5aa9f848cbe07cc40a116357db631d2c89 GIT binary patch literal 7828 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 SclH@D3RwcTDjZc + +struct file file_table[NR_FILE]; diff --git a/linux-0.11-lab - 副本/0/linux/fs/file_table.o b/linux-0.11-lab - 副本/0/linux/fs/file_table.o new file mode 100644 index 0000000000000000000000000000000000000000..422bcb331f1423abef699440aa5b0f0ff3a8b671 GIT binary patch literal 2644 zcma)8ONbmr7_OR`-P!Hgo!w=9BnF`a8xkecvzttkb&W;|x+aF`!4(DLY)?=3Ogq!v zV?VOl_&SK&K#0s-B=xPW^?j%FhrbeTlMCJwT9?XVawWCSbyVX|l2jSv>;r0{YaW6k_^T zz^c43M3{C3LO#m~p?wD-+vFv!O1}9tWJUXp+$5jUK4*OA9`G6MD!D~It9?Y?9e~%h zNpi;q*R@lSvd7#dtx0>I{E+r8?Jnm!to=&<9J!$#WXynkS-U~|kmDcG>f|2zQB7xz zPu|k*q&*-%ra=ffB0sKOX3X>CC&cs`U|z-_!=_!MBjE%>dy4!bc}e?}e2cuIh2)nQ zKBe73zWo5~GpHxaSY_e9qLcMJC2H@1m#062oG8PB_yu{OzE~^Q_tocb$KXq%R=Xc6 z!W5mtG`ERzeXVwH?aU$)7onWoi!GZ&EG<G-(`FDL5GCjLkzBG)c>s!O5Yd43kpIj0J zL$ni?^gGLma)}S#8gV?s>Amp;_i=x>NJiF;9-MAS< z4d33%KD)7OtgJMKW~aHF8JbRnjKu9i4g+f-0>^2`Q2fM$^wI?~uoxN5N}`rr)!X zkOgp0bB?ivVFjLNqo#(BEj4ghvMo+e;Qti+cm>cWRebh7?!!!*IMC1w&2`!#>Rb)&9ZYkHg8gkiQ-5obM!ho&zcta4TOYQ7!kK zhn{n~t|E>PMc#7XSs04*p2N$^c{neB7xH;8faf`&;yT9LBvCE*xzNe^-E4CxbDRBJaN~jlSq|VjswDS1$X0~#=Lq&ga zCz+rAOpXJ}=@*Vw_-pAt>oj4i1@Xtt-Oowk-9QNMj)Y*HB&K4`iTsa2WPK#+q${0w zg!W?!)3XcxL8Yf>6#9nJ`D4X+Q{jsW-%$9r!fOgYRQQR)FBEb=InIv?e^L0SLLMmk uXB6&HxTJ7d;Yo#$D11WUrb18Qw!+sGzNPRTh3_l;TH*IZ6fvzQ&gs8hV_9GT literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/fs.o b/linux-0.11-lab - 副本/0/linux/fs/fs.o new file mode 100644 index 0000000000000000000000000000000000000000..86ce3ba38e0ee4154487cb990d4dbcff00fb67a3 GIT binary patch literal 142937 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/inode.c b/linux-0.11-lab - 副本/0/linux/fs/inode.c new file mode 100644 index 0000000..9bb10b3 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/inode.c @@ -0,0 +1,340 @@ +/* + * linux/fs/inode.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include +#include + +struct m_inode inode_table[NR_INODE]={{0,},}; + +static void read_inode(struct m_inode * inode); +static void write_inode(struct m_inode * inode); + +static inline void wait_on_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + sti(); +} + +static inline void lock_inode(struct m_inode * inode) +{ + cli(); + while (inode->i_lock) + sleep_on(&inode->i_wait); + inode->i_lock=1; + sti(); +} + +static inline void unlock_inode(struct m_inode * inode) +{ + inode->i_lock=0; + wake_up(&inode->i_wait); +} + +void invalidate_inodes(int dev) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dev == dev) { + if (inode->i_count) + printk("inode in use on removed disk\n\r"); + inode->i_dev = inode->i_dirt = 0; + } + } +} + +void sync_inodes(void) +{ + int i; + struct m_inode * inode; + + inode = 0+inode_table; + for(i=0 ; ii_dirt && !inode->i_pipe) + write_inode(inode); + } +} + +static int _bmap(struct m_inode * inode,int block,int create) +{ + struct buffer_head * bh; + int i; + + if (block<0) + panic("_bmap: block<0"); + if (block >= 7+512+512*512) + panic("_bmap: block>big"); + if (block<7) { + if (create && !inode->i_zone[block]) + if (inode->i_zone[block]=new_block(inode->i_dev)) { + inode->i_ctime=CURRENT_TIME; + inode->i_dirt=1; + } + return inode->i_zone[block]; + } + block -= 7; + if (block<512) { + if (create && !inode->i_zone[7]) + if (inode->i_zone[7]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[7]) + return 0; + if (!(bh = bread(inode->i_dev,inode->i_zone[7]))) + return 0; + i = ((unsigned short *) (bh->b_data))[block]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; + } + block -= 512; + if (create && !inode->i_zone[8]) + if (inode->i_zone[8]=new_block(inode->i_dev)) { + inode->i_dirt=1; + inode->i_ctime=CURRENT_TIME; + } + if (!inode->i_zone[8]) + return 0; + if (!(bh=bread(inode->i_dev,inode->i_zone[8]))) + return 0; + i = ((unsigned short *)bh->b_data)[block>>9]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block>>9]=i; + bh->b_dirt=1; + } + brelse(bh); + if (!i) + return 0; + if (!(bh=bread(inode->i_dev,i))) + return 0; + i = ((unsigned short *)bh->b_data)[block&511]; + if (create && !i) + if (i=new_block(inode->i_dev)) { + ((unsigned short *) (bh->b_data))[block&511]=i; + bh->b_dirt=1; + } + brelse(bh); + return i; +} + +int bmap(struct m_inode * inode,int block) +{ + return _bmap(inode,block,0); +} + +int create_block(struct m_inode * inode, int block) +{ + return _bmap(inode,block,1); +} + +void iput(struct m_inode * inode) +{ + if (!inode) + return; + wait_on_inode(inode); + if (!inode->i_count) + panic("iput: trying to free free inode"); + if (inode->i_pipe) { + wake_up(&inode->i_wait); + if (--inode->i_count) + return; + free_page(inode->i_size); + inode->i_count=0; + inode->i_dirt=0; + inode->i_pipe=0; + return; + } + if (!inode->i_dev) { + inode->i_count--; + return; + } + if (S_ISBLK(inode->i_mode)) { + sync_dev(inode->i_zone[0]); + wait_on_inode(inode); + } +repeat: + if (inode->i_count>1) { + inode->i_count--; + return; + } + if (!inode->i_nlinks) { + truncate(inode); + free_inode(inode); + return; + } + if (inode->i_dirt) { + write_inode(inode); /* we can sleep - so do again */ + wait_on_inode(inode); + goto repeat; + } + inode->i_count--; + return; +} + +struct m_inode * get_empty_inode(void) +{ + struct m_inode * inode; + static struct m_inode * last_inode = inode_table; + int i; + + do { + inode = NULL; + for (i = NR_INODE; i ; i--) { + if (++last_inode >= inode_table + NR_INODE) + last_inode = inode_table; + if (!last_inode->i_count) { + inode = last_inode; + if (!inode->i_dirt && !inode->i_lock) + break; + } + } + if (!inode) { + for (i=0 ; ii_dirt) { + write_inode(inode); + wait_on_inode(inode); + } + } while (inode->i_count); + memset(inode,0,sizeof(*inode)); + inode->i_count = 1; + return inode; +} + +struct m_inode * get_pipe_inode(void) +{ + struct m_inode * inode; + + if (!(inode = get_empty_inode())) + return NULL; + if (!(inode->i_size=get_free_page())) { + inode->i_count = 0; + return NULL; + } + inode->i_count = 2; /* sum of readers/writers */ + PIPE_HEAD(*inode) = PIPE_TAIL(*inode) = 0; + inode->i_pipe = 1; + return inode; +} + +struct m_inode * iget(int dev,int nr) +{ + struct m_inode * inode, * empty; + + if (!dev) + panic("iget with dev==0"); + empty = get_empty_inode(); + inode = inode_table; + while (inode < NR_INODE+inode_table) { + if (inode->i_dev != dev || inode->i_num != nr) { + inode++; + continue; + } + wait_on_inode(inode); + if (inode->i_dev != dev || inode->i_num != nr) { + inode = inode_table; + continue; + } + inode->i_count++; + if (inode->i_mount) { + int i; + + for (i = 0 ; i= NR_SUPER) { + printk("Mounted inode hasn't got sb\n"); + if (empty) + iput(empty); + return inode; + } + iput(inode); + dev = super_block[i].s_dev; + nr = ROOT_INO; + inode = inode_table; + continue; + } + if (empty) + iput(empty); + return inode; + } + if (!empty) + return (NULL); + inode=empty; + inode->i_dev = dev; + inode->i_num = nr; + read_inode(inode); + return inode; +} + +static void read_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!(sb=get_super(inode->i_dev))) + panic("trying to read inode without dev"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + *(struct d_inode *)inode = + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK]; + brelse(bh); + unlock_inode(inode); +} + +static void write_inode(struct m_inode * inode) +{ + struct super_block * sb; + struct buffer_head * bh; + int block; + + lock_inode(inode); + if (!inode->i_dirt || !inode->i_dev) { + unlock_inode(inode); + return; + } + if (!(sb=get_super(inode->i_dev))) + panic("trying to write inode without device"); + block = 2 + sb->s_imap_blocks + sb->s_zmap_blocks + + (inode->i_num-1)/INODES_PER_BLOCK; + if (!(bh=bread(inode->i_dev,block))) + panic("unable to read i-node block"); + __asm__ volatile ("cld"); /* by wyj */ + ((struct d_inode *)bh->b_data) + [(inode->i_num-1)%INODES_PER_BLOCK] = + *(struct d_inode *)inode; + bh->b_dirt=1; + inode->i_dirt=0; + brelse(bh); + unlock_inode(inode); +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/inode.o b/linux-0.11-lab - 副本/0/linux/fs/inode.o new file mode 100644 index 0000000000000000000000000000000000000000..dd67bfa4d43e1073c47e0226043fc43f5f0e9153 GIT binary patch literal 14072 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 I1a}MmH>)TywEzGB literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/ioctl.c b/linux-0.11-lab - 副本/0/linux/fs/ioctl.c new file mode 100644 index 0000000..36fc976 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/ioctl.c @@ -0,0 +1,46 @@ +/* + * linux/fs/ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include + +extern int tty_ioctl(int dev, int cmd, int arg); + +typedef int (*ioctl_ptr)(int dev,int cmd,int arg); + +#define NRDEVS ((sizeof (ioctl_table))/(sizeof (ioctl_ptr))) + +static ioctl_ptr ioctl_table[]={ + NULL, /* nodev */ + NULL, /* /dev/mem */ + NULL, /* /dev/fd */ + NULL, /* /dev/hd */ + tty_ioctl, /* /dev/ttyx */ + tty_ioctl, /* /dev/tty */ + NULL, /* /dev/lp */ + NULL}; /* named pipes */ + + +int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) +{ + struct file * filp; + int dev,mode; + + if (fd >= NR_OPEN || !(filp = current->filp[fd])) + return -EBADF; + mode=filp->f_inode->i_mode; + if (!S_ISCHR(mode) && !S_ISBLK(mode)) + return -EINVAL; + dev = filp->f_inode->i_zone[0]; + if (MAJOR(dev) >= NRDEVS) + return -ENODEV; + if (!ioctl_table[MAJOR(dev)]) + return -ENOTTY; + return ioctl_table[MAJOR(dev)](dev,cmd,arg); +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/ioctl.o b/linux-0.11-lab - 副本/0/linux/fs/ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..1f1f33c5568ad7f154251149e1ecc40766da48c1 GIT binary patch literal 5828 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 +#include +#include + +#include +#include +#include +#include +#include + +#define ACC_MODE(x) ("\004\002\006\377"[(x)&O_ACCMODE]) + +/* + * comment out this line if you want names > NAME_LEN chars to be + * truncated. Else they will be disallowed. + */ +/* #define NO_TRUNCATE */ + +#define MAY_EXEC 1 +#define MAY_WRITE 2 +#define MAY_READ 4 + +/* + * permission() + * + * is used to check for read/write/execute permissions on a file. + * I don't know if we should look at just the euid or both euid and + * uid, but that should be easily changed. + */ +static int permission(struct m_inode * inode,int mask) +{ + int mode = inode->i_mode; + +/* special case: not even root can read/write a deleted file */ + if (inode->i_dev && !inode->i_nlinks) + return 0; + else if (current->euid==inode->i_uid) + mode >>= 6; + else if (current->egid==inode->i_gid) + mode >>= 3; + if (((mode & mask & 0007) == mask) || suser()) + return 1; + return 0; +} + +/* + * ok, we cannot use strncmp, as the name is not in our data space. + * Thus we'll have to use match. No big problem. Match also makes + * some sanity tests. + * + * NOTE! unlike strncmp, match returns 1 for success, 0 for failure. + */ +static int match(int len,const char * name,struct dir_entry * de) +{ + register int same __asm__("ax"); + + if (!de || !de->inode || len > NAME_LEN) + return 0; + if (len < NAME_LEN && de->name[len]) + return 0; + __asm__("cld\n\t" + "fs ; repe ; cmpsb\n\t" + "setz %%al" + :"=a" (same) + :"0" (0),"S" ((long) name),"D" ((long) de->name),"c" (len) + ); + return same; +} + +/* + * find_entry() + * + * finds an entry in the specified directory with the wanted name. It + * returns the cache buffer in which the entry was found, and the entry + * itself (as a parameter - res_dir). It does NOT read the inode of the + * entry - you'll have to do that yourself if you want to. + * + * This also takes care of the few special cases due to '..'-traversal + * over a pseudo-root and a mount point. + */ +static struct buffer_head * find_entry(struct m_inode ** dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int entries; + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + struct super_block * sb; + +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + entries = (*dir)->i_size / (sizeof (struct dir_entry)); + *res_dir = NULL; + if (!namelen) + return NULL; +/* check for '..', as we might have to do some "magic" for it */ + if (namelen==2 && get_fs_byte(name)=='.' && get_fs_byte(name+1)=='.') { +/* '..' in a pseudo-root results in a faked '.' (just change namelen) */ + if ((*dir) == current->root) + namelen=1; + else if ((*dir)->i_num == ROOT_INO) { +/* '..' over a mount-point results in 'dir' being exchanged for the mounted + directory-inode. NOTE! We set mounted, so that we can iput the new dir */ + sb=get_super((*dir)->i_dev); + if (sb->s_imount) { + iput(*dir); + (*dir)=sb->s_imount; + (*dir)->i_count++; + } + } + } + if (!(block = (*dir)->i_zone[0])) + return NULL; + if (!(bh = bread((*dir)->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (i < entries) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || + !(bh = bread((*dir)->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (match(namelen,name,de)) { + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * add_entry() + * + * adds a file entry to the specified directory, using the same + * semantics as find_entry(). It returns NULL if it failed. + * + * NOTE!! The inode part of 'de' is left at 0 - which means you + * may not sleep between calling this and putting something into + * the entry, as someone else might have used it while you slept. + */ +static struct buffer_head * add_entry(struct m_inode * dir, + const char * name, int namelen, struct dir_entry ** res_dir) +{ + int block,i; + struct buffer_head * bh; + struct dir_entry * de; + + *res_dir = NULL; +#ifdef NO_TRUNCATE + if (namelen > NAME_LEN) + return NULL; +#else + if (namelen > NAME_LEN) + namelen = NAME_LEN; +#endif + if (!namelen) + return NULL; + if (!(block = dir->i_zone[0])) + return NULL; + if (!(bh = bread(dir->i_dev,block))) + return NULL; + i = 0; + de = (struct dir_entry *) bh->b_data; + while (1) { + if ((char *)de >= BLOCK_SIZE+bh->b_data) { + brelse(bh); + bh = NULL; + block = create_block(dir,i/DIR_ENTRIES_PER_BLOCK); + if (!block) + return NULL; + if (!(bh = bread(dir->i_dev,block))) { + i += DIR_ENTRIES_PER_BLOCK; + continue; + } + de = (struct dir_entry *) bh->b_data; + } + if (i*sizeof(struct dir_entry) >= dir->i_size) { + de->inode=0; + dir->i_size = (i+1)*sizeof(struct dir_entry); + dir->i_dirt = 1; + dir->i_ctime = CURRENT_TIME; + } + if (!de->inode) { + dir->i_mtime = CURRENT_TIME; + for (i=0; i < NAME_LEN ; i++) + de->name[i]=(ib_dirt = 1; + *res_dir = de; + return bh; + } + de++; + i++; + } + brelse(bh); + return NULL; +} + +/* + * get_dir() + * + * Getdir traverses the pathname until it hits the topmost directory. + * It returns NULL on failure. + */ +static struct m_inode * get_dir(const char * pathname) +{ + char c; + const char * thisname; + struct m_inode * inode; + struct buffer_head * bh; + int namelen,inr,idev; + struct dir_entry * de; + + if (!current->root || !current->root->i_count) + panic("No root inode"); + if (!current->pwd || !current->pwd->i_count) + panic("No cwd inode"); + if ((c=get_fs_byte(pathname))=='/') { + inode = current->root; + pathname++; + } else if (c) + inode = current->pwd; + else + return NULL; /* empty name is bad */ + inode->i_count++; + while (1) { + thisname = pathname; + if (!S_ISDIR(inode->i_mode) || !permission(inode,MAY_EXEC)) { + iput(inode); + return NULL; + } + for(namelen=0;(c=get_fs_byte(pathname++))&&(c!='/');namelen++) + /* nothing */ ; + if (!c) + return inode; + if (!(bh = find_entry(&inode,thisname,namelen,&de))) { + iput(inode); + return NULL; + } + inr = de->inode; + idev = inode->i_dev; + brelse(bh); + iput(inode); + if (!(inode = iget(idev,inr))) + return NULL; + } +} + +/* + * dir_namei() + * + * dir_namei() returns the inode of the directory of the + * specified name, and the name within that directory. + */ +static struct m_inode * dir_namei(const char * pathname, + int * namelen, const char ** name) +{ + char c; + const char * basename; + struct m_inode * dir; + + if (!(dir = get_dir(pathname))) + return NULL; + basename = pathname; + while (c=get_fs_byte(pathname++)) + if (c=='/') + basename=pathname; + *namelen = pathname-basename-1; + *name = basename; + return dir; +} + +/* + * namei() + * + * is used by most simple commands to get the inode of a specified name. + * Open, link etc use their own routines, but this is enough for things + * like 'chmod' etc. + */ +struct m_inode * namei(const char * pathname) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return NULL; + if (!namelen) /* special case: '/usr/' etc */ + return dir; + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return NULL; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + dir=iget(dev,inr); + if (dir) { + dir->i_atime=CURRENT_TIME; + dir->i_dirt=1; + } + return dir; +} + +/* + * open_namei() + * + * namei for open - this is in fact almost the whole open-routine. + */ +int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode) +{ + const char * basename; + int inr,dev,namelen; + struct m_inode * dir, *inode; + struct buffer_head * bh; + struct dir_entry * de; + + if ((flag & O_TRUNC) && !(flag & O_ACCMODE)) + flag |= O_WRONLY; + mode &= 0777 & ~current->umask; + mode |= I_REGULAR; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { /* special case: '/usr/' etc */ + if (!(flag & (O_ACCMODE|O_CREAT|O_TRUNC))) { + *res_inode=dir; + return 0; + } + iput(dir); + return -EISDIR; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + if (!(flag & O_CREAT)) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EACCES; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_uid = current->euid; + inode->i_mode = mode; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + inode->i_nlinks--; + iput(inode); + iput(dir); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + *res_inode = inode; + return 0; + } + inr = de->inode; + dev = dir->i_dev; + brelse(bh); + iput(dir); + if (flag & O_EXCL) + return -EEXIST; + if (!(inode=iget(dev,inr))) + return -EACCES; + if ((S_ISDIR(inode->i_mode) && (flag & O_ACCMODE)) || + !permission(inode,ACC_MODE(flag))) { + iput(inode); + return -EPERM; + } + inode->i_atime = CURRENT_TIME; + if (flag & O_TRUNC) + truncate(inode); + *res_inode = inode; + return 0; +} + +int sys_mknod(const char * filename, int mode, int dev) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(filename,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_mode = mode; + if (S_ISBLK(mode) || S_ISCHR(mode)) + inode->i_zone[0] = dev; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +int sys_mkdir(const char * pathname, int mode) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh, *dir_block; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(pathname,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + return -EEXIST; + } + inode = new_inode(dir->i_dev); + if (!inode) { + iput(dir); + return -ENOSPC; + } + inode->i_size = 32; + inode->i_dirt = 1; + inode->i_mtime = inode->i_atime = CURRENT_TIME; + if (!(inode->i_zone[0]=new_block(inode->i_dev))) { + iput(dir); + inode->i_nlinks--; + iput(inode); + return -ENOSPC; + } + inode->i_dirt = 1; + if (!(dir_block=bread(inode->i_dev,inode->i_zone[0]))) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks--; + iput(inode); + return -ERROR; + } + de = (struct dir_entry *) dir_block->b_data; + de->inode=inode->i_num; + strcpy(de->name,"."); + de++; + de->inode = dir->i_num; + strcpy(de->name,".."); + inode->i_nlinks = 2; + dir_block->b_dirt = 1; + brelse(dir_block); + inode->i_mode = I_DIRECTORY | (mode & 0777 & ~current->umask); + inode->i_dirt = 1; + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + free_block(inode->i_dev,inode->i_zone[0]); + inode->i_nlinks=0; + iput(inode); + return -ENOSPC; + } + de->inode = inode->i_num; + bh->b_dirt = 1; + dir->i_nlinks++; + dir->i_dirt = 1; + iput(dir); + iput(inode); + brelse(bh); + return 0; +} + +/* + * routine to check that the specified directory is empty (for rmdir) + */ +static int empty_dir(struct m_inode * inode) +{ + int nr,block; + int len; + struct buffer_head * bh; + struct dir_entry * de; + + len = inode->i_size / sizeof (struct dir_entry); + if (len<2 || !inode->i_zone[0] || + !(bh=bread(inode->i_dev,inode->i_zone[0]))) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + de = (struct dir_entry *) bh->b_data; + if (de[0].inode != inode->i_num || !de[1].inode || + strcmp(".",de[0].name) || strcmp("..",de[1].name)) { + printk("warning - bad directory on dev %04x\n",inode->i_dev); + return 0; + } + nr = 2; + de += 2; + while (nr= (void *) (bh->b_data+BLOCK_SIZE)) { + brelse(bh); + block=bmap(inode,nr/DIR_ENTRIES_PER_BLOCK); + if (!block) { + nr += DIR_ENTRIES_PER_BLOCK; + continue; + } + if (!(bh=bread(inode->i_dev,block))) + return 0; + de = (struct dir_entry *) bh->b_data; + } + if (de->inode) { + brelse(bh); + return 0; + } + de++; + nr++; + } + brelse(bh); + return 1; +} + +int sys_rmdir(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!suser()) + return -EPERM; + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -EPERM; + } + if ((dir->i_mode & S_ISVTX) && current->euid && + inode->i_uid != current->euid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode->i_dev != dir->i_dev || inode->i_count>1) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (inode == dir) { /* we may not delete ".", but "../dir" is ok */ + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTDIR; + } + if (!empty_dir(inode)) { + iput(inode); + iput(dir); + brelse(bh); + return -ENOTEMPTY; + } + if (inode->i_nlinks != 2) + printk("empty directory has nlink!=2 (%d)",inode->i_nlinks); + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks=0; + inode->i_dirt=1; + dir->i_nlinks--; + dir->i_ctime = dir->i_mtime = CURRENT_TIME; + dir->i_dirt=1; + iput(dir); + iput(inode); + return 0; +} + +int sys_unlink(const char * name) +{ + const char * basename; + int namelen; + struct m_inode * dir, * inode; + struct buffer_head * bh; + struct dir_entry * de; + + if (!(dir = dir_namei(name,&namelen,&basename))) + return -ENOENT; + if (!namelen) { + iput(dir); + return -ENOENT; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + return -EPERM; + } + bh = find_entry(&dir,basename,namelen,&de); + if (!bh) { + iput(dir); + return -ENOENT; + } + if (!(inode = iget(dir->i_dev, de->inode))) { + iput(dir); + brelse(bh); + return -ENOENT; + } + if ((dir->i_mode & S_ISVTX) && !suser() && + current->euid != inode->i_uid && + current->euid != dir->i_uid) { + iput(dir); + iput(inode); + brelse(bh); + return -EPERM; + } + if (S_ISDIR(inode->i_mode)) { + iput(inode); + iput(dir); + brelse(bh); + return -EPERM; + } + if (!inode->i_nlinks) { + printk("Deleting nonexistent file (%04x:%d), %d\n", + inode->i_dev,inode->i_num,inode->i_nlinks); + inode->i_nlinks=1; + } + de->inode = 0; + bh->b_dirt = 1; + brelse(bh); + inode->i_nlinks--; + inode->i_dirt = 1; + inode->i_ctime = CURRENT_TIME; + iput(inode); + iput(dir); + return 0; +} + +int sys_symlink() +{ + return -ENOSYS; +} + +int sys_link(const char * oldname, const char * newname) +{ + struct dir_entry * de; + struct m_inode * oldinode, * dir; + struct buffer_head * bh; + const char * basename; + int namelen; + + oldinode=namei(oldname); + if (!oldinode) + return -ENOENT; + if (S_ISDIR(oldinode->i_mode)) { + iput(oldinode); + return -EPERM; + } + dir = dir_namei(newname,&namelen,&basename); + if (!dir) { + iput(oldinode); + return -EACCES; + } + if (!namelen) { + iput(oldinode); + iput(dir); + return -EPERM; + } + if (dir->i_dev != oldinode->i_dev) { + iput(dir); + iput(oldinode); + return -EXDEV; + } + if (!permission(dir,MAY_WRITE)) { + iput(dir); + iput(oldinode); + return -EACCES; + } + bh = find_entry(&dir,basename,namelen,&de); + if (bh) { + brelse(bh); + iput(dir); + iput(oldinode); + return -EEXIST; + } + bh = add_entry(dir,basename,namelen,&de); + if (!bh) { + iput(dir); + iput(oldinode); + return -ENOSPC; + } + de->inode = oldinode->i_num; + bh->b_dirt = 1; + brelse(bh); + iput(dir); + oldinode->i_nlinks++; + oldinode->i_ctime = CURRENT_TIME; + oldinode->i_dirt = 1; + iput(oldinode); + return 0; +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/namei.o b/linux-0.11-lab - 副本/0/linux/fs/namei.o new file mode 100644 index 0000000000000000000000000000000000000000..0514463113d5878e35d040844344865d47c7032e GIT binary patch literal 20756 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 a@7aEaV1r +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +int sys_ustat(int dev, struct ustat * ubuf) +{ + return -ENOSYS; +} + +int sys_utime(char * filename, struct utimbuf * times) +{ + struct m_inode * inode; + long actime,modtime; + + if (!(inode=namei(filename))) + return -ENOENT; + if (times) { + actime = get_fs_long((unsigned long *) ×->actime); + modtime = get_fs_long((unsigned long *) ×->modtime); + } else + actime = modtime = CURRENT_TIME; + inode->i_atime = actime; + inode->i_mtime = modtime; + inode->i_dirt = 1; + iput(inode); + return 0; +} + +/* + * XXX should we use the real or effective uid? BSD uses the real uid, + * so as to make this call useful to setuid programs. + */ +int sys_access(const char * filename,int mode) +{ + struct m_inode * inode; + int res, i_mode; + + mode &= 0007; + if (!(inode=namei(filename))) + return -EACCES; + i_mode = res = inode->i_mode & 0777; + iput(inode); + if (current->uid == inode->i_uid) + res >>= 6; + else if (current->gid == inode->i_gid) + res >>= 6; + if ((res & 0007 & mode) == mode) + return 0; + /* + * XXX we are doing this test last because we really should be + * swapping the effective with the real user id (temporarily), + * and then calling suser() routine. If we do call the + * suser() routine, it needs to be called last. + */ + if ((!current->uid) && + (!(mode & 1) || (i_mode & 0111))) + return 0; + return -EACCES; +} + +int sys_chdir(const char * filename) +{ + struct m_inode * inode; + + if (!(inode = namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->pwd); + current->pwd = inode; + return (0); +} + +int sys_chroot(const char * filename) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!S_ISDIR(inode->i_mode)) { + iput(inode); + return -ENOTDIR; + } + iput(current->root); + current->root = inode; + return (0); +} + +int sys_chmod(const char * filename,int mode) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if ((current->euid != inode->i_uid) && !suser()) { + iput(inode); + return -EACCES; + } + inode->i_mode = (mode & 07777) | (inode->i_mode & ~07777); + inode->i_dirt = 1; + iput(inode); + return 0; +} + +int sys_chown(const char * filename,int uid,int gid) +{ + struct m_inode * inode; + + if (!(inode=namei(filename))) + return -ENOENT; + if (!suser()) { + iput(inode); + return -EACCES; + } + inode->i_uid=uid; + inode->i_gid=gid; + inode->i_dirt=1; + iput(inode); + return 0; +} + +int sys_open(const char * filename,int flag,int mode) +{ + struct m_inode * inode; + struct file * f; + int i,fd; + + mode &= 0777 & ~current->umask; + for(fd=0 ; fdfilp[fd]) + break; + if (fd>=NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<f_count) break; + if (i>=NR_FILE) + return -EINVAL; + (current->filp[fd]=f)->f_count++; + if ((i=open_namei(filename,flag,mode,&inode))<0) { + current->filp[fd]=NULL; + f->f_count=0; + return i; + } +/* ttys are somewhat special (ttyxx major==4, tty major==5) */ + if (S_ISCHR(inode->i_mode)) + if (MAJOR(inode->i_zone[0])==4) { + if (current->leader && current->tty<0) { + current->tty = MINOR(inode->i_zone[0]); + tty_table[current->tty].pgrp = current->pgrp; + } + } else if (MAJOR(inode->i_zone[0])==5) + if (current->tty<0) { + iput(inode); + current->filp[fd]=NULL; + f->f_count=0; + return -EPERM; + } +/* Likewise with block-devices: check for floppy_change */ + if (S_ISBLK(inode->i_mode)) + check_disk_change(inode->i_zone[0]); + f->f_mode = inode->i_mode; + f->f_flags = flag; + f->f_count = 1; + f->f_inode = inode; + f->f_pos = 0; + return (fd); +} + +int sys_creat(const char * pathname, int mode) +{ + return sys_open(pathname, O_CREAT | O_TRUNC, mode); +} + +int sys_close(unsigned int fd) +{ + struct file * filp; + + if (fd >= NR_OPEN) + return -EINVAL; + current->close_on_exec &= ~(1<filp[fd])) + return -EINVAL; + current->filp[fd] = NULL; + if (filp->f_count == 0) + panic("Close: file count is 0"); + if (--filp->f_count) + return (0); + iput(filp->f_inode); + return (0); +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/open.o b/linux-0.11-lab - 副本/0/linux/fs/open.o new file mode 100644 index 0000000000000000000000000000000000000000..aceb4b8d44365ee59ea3c9bb01413542e9cf0177 GIT binary patch literal 11184 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/fs/pipe.c b/linux-0.11-lab - 副本/0/linux/fs/pipe.c new file mode 100644 index 0000000..dfc4480 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/fs/pipe.c @@ -0,0 +1,111 @@ +/* + * linux/fs/pipe.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include /* for get_free_page */ +#include + +int read_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, read = 0; + + while (count>0) { + while (!(size=PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) /* are there any writers? */ + return read; + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_TAIL(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + read += chars; + size = PIPE_TAIL(*inode); + PIPE_TAIL(*inode) += chars; + PIPE_TAIL(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + put_fs_byte(((char *)inode->i_size)[size++],buf++); + } + wake_up(&inode->i_wait); + return read; +} + +int write_pipe(struct m_inode * inode, char * buf, int count) +{ + int chars, size, written = 0; + + while (count>0) { + while (!(size=(PAGE_SIZE-1)-PIPE_SIZE(*inode))) { + wake_up(&inode->i_wait); + if (inode->i_count != 2) { /* no readers */ + current->signal |= (1<<(SIGPIPE-1)); + return written?written:-1; + } + sleep_on(&inode->i_wait); + } + chars = PAGE_SIZE-PIPE_HEAD(*inode); + if (chars > count) + chars = count; + if (chars > size) + chars = size; + count -= chars; + written += chars; + size = PIPE_HEAD(*inode); + PIPE_HEAD(*inode) += chars; + PIPE_HEAD(*inode) &= (PAGE_SIZE-1); + while (chars-->0) + ((char *)inode->i_size)[size++]=get_fs_byte(buf++); + } + wake_up(&inode->i_wait); + return written; +} + +int sys_pipe(unsigned long * fildes) +{ + struct m_inode * inode; + struct file * f[2]; + int fd[2]; + int i,j; + + 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; +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/pipe.o b/linux-0.11-lab - 副本/0/linux/fs/pipe.o new file mode 100644 index 0000000000000000000000000000000000000000..d5b5db26c38f6881a408d3b6291aeb9d28c67659 GIT binary patch literal 8104 zcmb_h3ve6Pb$z>7E|&rUQX(XSF&o1XEK?QYfoN*RP1EQ6x>9FZJzcCu3k4sUw zzdV4}{^`?^nh|~Xr*m_26laF})6@T^<~j61WnM|1$Eb*8>54VEwI4`O;~Eeo@OapX{#ZRtFF)* zmeOduY`lQM^`~p=DIxcEnS`giyaL*R{*t7W}$qJwI2O`du_B8K|;bY(Jgej=_O3W+@;9>q3}PsuJmn>KdL6vou||P zFZEZxya`Cpj0TZ#m*&j?rG6SUPC@W;FVtao3c|HBw3!(;vc)g>OX+`ceA3v9^&O;IO=)rM@ADR1WZ41y4nq0x0^{f=D+8) zi^gMT*j^idylaN{dSe(%$(Tc5MDEs(Gy{6p9)3|u)p^V=eSX*w!fl@C&Q%q2^wPAeG+7@eO*s86!JmvY}R(hNnZmq3vb*qVe&dpWmB&^3U zUOuCSHL>=Jd>@C8k8*Phd+KheU!tGsa|63}pWSN-fhoadXpi8j{kBhtr*x?iEpi12 zp&QL5&_&m8`UWC0lMsArt zbTD_2x0=k~9G`Du6oF;r_fX%i2j)?@kI9Afz+3En|3wI4J+PWBQs~kHpM=g8B6@J5 zJf(!F9)L?FbnC%VHYLoRblsx|_OL|?{fNV4q%fcdcG0yI2KB(=ddnI;SfzspR-@;z z9$3V5q_AEOglHy(je2mBX1i#%Ne{HKMG9N=z%S6X6t?Msb~<>F>1@{n<4orv3Zr^p z4f{x8To1g?K2o?}5A3ZA59)#Cb+bKsV3H1YGiXW=I?e%M?qS_BdVup|CfJfg4fY|o zi49nqB|Y#*bdaRr=z-grPKv^QJ@8Ws_C@qLqzB$+(DcoyKtb%X>aViyI zKKxzuc~{3u_%ZC;7^nq~+joFiqUk>H!RCiPVytm^YL-a~a~l-Raa!xog*SJT`~!vR_d^HuWO$qj#{(l5+A$Sw06^{dER zp2_o( z%+HXH`ct5rNXPwY(9NXx`zJxSkUr>_@5EN}J!U_i<~H(_`H$oyTT#!9Xv;z1J0wec zlW1EG&Rdnb#o!y#_8P1vMWV=4Q-*wb^NlJ!T_<8nNyaZya?D0?a9*ZwZ z8x?vn8}wNN;i$ji2(s4$+;UdnzL#E}+1-pppFpB|fXf?+E}E#OA*pEm#HddCtQFow zsf{l5*Z z3Vpi@+wpLnV})=v&`7QbO~}#iXpp%;lAgR)biR-1&Ck)IGl`tcC%Fj znzH*6mAq&WD+ekKVgv2VWee5)LR9R@yj^f&89FLuOLi>DV9tS(U4aq_RkD+XL=GHF zC1WR2U`Vi%%-D*iX()4UlKFQmp6&B>#7>+T>-c>`_hlkOkMHbz=XEbtMy#PeYV{TK3BKanzR>TzGxFIH*})p3(!}xA(6RCj-~HwT((K^ddfz9k zs_W$)Yo|5hdg*n&D$=GF4t=Oq} z9$aj``<}>#$Utl`HW2B}C(6mpPLa9Xsh1%L3~n&e=vT72BQyeY3c98uNxkNcHY#v|JYRK&C6{MI>$5EF3cCzXuCUUk&XLBf+m_X&?tc565 zop`zur+Y+-S4yats1~@|?34=V7CjrsNKh`B$u$<)IM2myvYBGpiCojFB1{~>DDVOA z=VLh^D=>&^3G*e#hzU({V5M@lSkB^}L zsJLlNR%{2Op2!uGQ+5h|4i*atjkO^I*zU@}2orK@U?3}6u`3nKlt@;~WxR?4Ct$CP z$%-5~3|%ZR(L^d$7JZpw-tH?@Q%+y8(p#|ixi55Ye{A{k-dtj$uisVl;doK63YQRtw8Mw0|A9cV?i?FX`)ot<$~@ z!C~J=TCf#{*1GS~W2|x@j|B{L$}VO+R>`YwlS{TUx^12Cj zmpFQe zWN-hZ{n&Nw`~%h7JK3JRuDx)b?45`kKZ=dVipE3C)lbyE#FUK#hN$FhyM%K?I1T_3l zZIi-hiLgJV@aGCwV`1v}t8N6y_Hl*WZ#BFi^6z#$_#S9L{#%F0zgslKx|xVSv$~bO zPa%I`quoY@TNU1`@F9g03iApND3tFz`p+u)Hx-^y_>RJVRroW7{DDp8sqkiny$V0A zaFfCv3il|?EBvCuXBB=+;kOn3sY3n=&3Hdn*n*l+UZilb!hVHA3i&HF?e0^UQuv5M z`HKwNzoFz86~3zQ4Tb!%S;kZNDTOhGs};(10Dogj-mUOqg?knLqQYNR_*I49RQRI8 zR}{Xk@NX1eRQN9nuPAKhx@PcwXUOD*U0spD1i=a{aDV_@Tlk zEMUglqHv6enkAI{MTN(e{&^+;iNaTv{_m9hzQQX?KMz|V{V!2Cpm4pyQH61ZSt8=^ zSMt*ezozg7g|8_5Glg#v(eEFW{BH_V_~}2#~)qtx-6xFr)Bs Jg} +#include +#include + +#include +#include +#include + +extern int rw_char(int rw,int dev, char * buf, int count, off_t * pos); +extern int read_pipe(struct m_inode * inode, char * buf, int count); +extern int write_pipe(struct m_inode * inode, char * buf, int count); +extern int block_read(int dev, off_t * pos, char * buf, int count); +extern int block_write(int dev, off_t * pos, char * buf, int count); +extern int file_read(struct m_inode * inode, struct file * filp, + char * buf, int count); +extern int file_write(struct m_inode * inode, struct file * filp, + char * buf, int count); + +int sys_lseek(unsigned int fd,off_t offset, int origin) +{ + struct file * file; + int tmp; + + if (fd >= NR_OPEN || !(file=current->filp[fd]) || !(file->f_inode) + || !IS_SEEKABLE(MAJOR(file->f_inode->i_dev))) + return -EBADF; + if (file->f_inode->i_pipe) + return -ESPIPE; + switch (origin) { + case 0: + if (offset<0) return -EINVAL; + file->f_pos=offset; + break; + case 1: + if (file->f_pos+offset<0) return -EINVAL; + file->f_pos += offset; + break; + case 2: + if ((tmp=file->f_inode->i_size+offset) < 0) + return -EINVAL; + file->f_pos = tmp; + break; + default: + return -EINVAL; + } + return file->f_pos; +} + +int sys_read(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count<0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + verify_area(buf,count); + inode = file->f_inode; + if (inode->i_pipe) + return (file->f_mode&1)?read_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(READ,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_read(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISDIR(inode->i_mode) || S_ISREG(inode->i_mode)) { + if (count+file->f_pos > inode->i_size) + count = inode->i_size - file->f_pos; + if (count<=0) + return 0; + return file_read(inode,file,buf,count); + } + printk("(Read)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} + +int sys_write(unsigned int fd,char * buf,int count) +{ + struct file * file; + struct m_inode * inode; + + if (fd>=NR_OPEN || count <0 || !(file=current->filp[fd])) + return -EINVAL; + if (!count) + return 0; + inode=file->f_inode; + if (inode->i_pipe) + return (file->f_mode&2)?write_pipe(inode,buf,count):-EIO; + if (S_ISCHR(inode->i_mode)) + return rw_char(WRITE,inode->i_zone[0],buf,count,&file->f_pos); + if (S_ISBLK(inode->i_mode)) + return block_write(inode->i_zone[0],&file->f_pos,buf,count); + if (S_ISREG(inode->i_mode)) + return file_write(inode,file,buf,count); + printk("(Write)inode->i_mode=%06o\n\r",inode->i_mode); + return -EINVAL; +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/read_write.o b/linux-0.11-lab - 副本/0/linux/fs/read_write.o new file mode 100644 index 0000000000000000000000000000000000000000..998aad95c9e243e4bfcae9647b34d9235f717844 GIT binary patch literal 7520 zcmbVQYiu0Xb-wf1;mmSLQCvzEBRN?cD{Ezw%cVq1v`kvGMN5?Yh^&V#Id)e2nB}gu zukOx@q+v9+7!{=nR}lg_n!NhJNvN*AKtHNnh1&}46z~!@%^Y@GbSM+Hi&+) z_;%mobMb-b+=o9$?eekszzdgui_HAQ(sVq6%82lGEQ2mj+2<~K+Z0`%8Y+DCs$GC; zV2x_=J>yLH^>=UFxN+@EjO6>iI5qb1OJ4Z(A5i~kU%zGXJdej%Du+ZXEIWMdE6BC9h62MA z*FFygV$Ps-_G5ajP3=Mn;$%Hxqn(z}dF12FaS1v7nUqezq2$`NXa9Tx3EU5_B zL$CjYX`J?3NG#KDtN2$TCPhq$*1Zh&l1x{kusqd^+NERhKFsb6Fan$gvIpkZ%{V(N zJ9h0yU~pX(?-b(gl<{Vm{vh7}iuG{ZTvFY;_QjjTnG(X=ur~Pf2%cx~W!c#o?aC5o zF|j;l-gEiPMoHx)B4Ls3mzS=f%QG^`AM27yzCH~b=81h{o|vy84vfA_LB5zxe^jjM z9J8Fe#WyB?t|@!ilpGHtFFl zG?T&>J^VrFd?BWHXB(%L5ZA*9sf2{yT`%Q@agw2j^l+UuQb_6H?=qSc#`N%HTNp>8+rvEJx4)o5!!}`*qrI4X_Fzhoh5X`%-#!?RyM(FD@9{_~zL|4j2;x%w9$JMc&t58@?@;k{*%Ok&w+_nm(x-f>wBUT}Y`5z|l zvkJAEFp}g0;LwkdZ*m?(d?Us1TSSB^E*H5tq9XJNM)WtvPHuhY01d}zA)MbPznk2& zn$46jc9Gl8%hc~Ck3c^vjB)Zl=ZnmvPvfOOI$1JyrID2V74n6o3`2_SOVcbtX1z+$7$fuzf z#y-*+i|LvseHgtI#)G7Xtvu*{(qmQu^Z@AzYZi2d^eId3xr5}VoD`nMA@aP#H>UB> zLFBV2B0s`pbC1f@en><{!TD3E?lQRpBN@0H2(-Fb|3^riHYk?`YIr1RpZPrM`wMyK zx$5)_BKi)}r44df>KDxDH>E@${enHf<*sdJOZtWR4PK=#v@L#}CpJ#PNZU=3q2H0= zLwI$`@Viy`{%orNt0fg4pnTfl@A1Qz2WHvW9_|(WLQ!n|1Byo(J`5F43+*%cApFr) z;g7BgFMZnKkFN^H=1fZEM%|d~h12YwZX1EEo#gGu) z9YG*QH0@xN!Fz5K2csjf@7D7k2pa5;4Px7%5bKlL-a$Xmw!wo@j$&%lryh`& z{h@Zp^i4uUA*v2g92i?AZh)vp!P<>Ci~Fm7+*?*W_YO{=6F38qIQ)<(`Q#(Gu8<$X z9O~jMn5O-tw+B!8iN~2uCPzxuT)CBZN6MvYYhH9HnhVViQHTaERp~iipOQI-EkaHf z1;R9QMOV>6(^q*5b(a+VYL;fJnKC$*6Q)o0)ELyJaNE%=&(af7$?T+MPhR}?Mf-MD z(RwxISM*ygdopETgyKx=k+xqvda-rUo_zIHY4t-qb^9B58Yiri_Cxx;Q9O34*oQ3p zA^U=TvenY>7_b*lu8Hz9W26}9jwrlz6S>RPTDb8wy-dSP(njZDr>XG>lsQy0i-nt2qZbQK9d-2};arHU(B^0_LwP87g;d-OyxjC=aK!2L9dm2!Y<3!}$)RmrfIcCol zrke6DakVbaq-CWDdWXrC|B6De`0AbV3 zI&vghRW21bucG^jE~U|1-O>dyJwbU2k99UU%bvLh*9F@l#|I|sR9rXghZux<(^B%33bI~Q|P$2|hd zI=WPCRRjhAP>qn_(w-a3FZ#M!xarHmwlsj9X z9E{rcG6Zg*9mQzx!l0frx>Af)nPNQ7^hz-V7E4Dl1SY$q7&4 + +int sys_select() +{ + return -ENOSYS; +} + diff --git a/linux-0.11-lab - 副本/0/linux/fs/select.o b/linux-0.11-lab - 副本/0/linux/fs/select.o new file mode 100644 index 0000000000000000000000000000000000000000..d61f73a39bf58c107d845f3825c695fe69663502 GIT binary patch literal 1776 zcma)7&ubG=5T2J!Yc*|X8^x9irr?h%?k3TorD`oLDvI>~7iJXeveV zCY}@#J&1bs?8UqPfKX4Kdi3hqL;YsoPO~}bz`U9HX5P%3>16x#`kfm}DH2j-P~Rf@ zl+m7QEas>{P2kmV>r<>uh}!akeCds_eOT8?M2Wg)X97y zXXIz{6KZmJ{3ubzqHEJeej#@`cdNkQ($w4KX(HnU<#LNTV+09~f%U6&dCo2MSm&o^ z=r~TL{^ZAS#{HoyMWNGi>XB9FIHI9A%~auDMj@)y@?EFobsJI14^7W`RO+<7ZqF=R zm5SN1Yo)RVO3jdNuC5hVidAdgsuoSx4(hF|?F;i4q1QW&qPbBto4(tQ%w}M_j=AZh zUncKQJrYawEG&Ru~0ZwnU4Z zUPM;Ij%>1OVMtcsbgYI`>u#*Ky`~RWtlPC(;57dvg*F;I@kis zL)RAOsi&aRIIZ<~a{8_RbIu@$_g4DiB@mtO%TCWGy1^hwHd9;uxYGc5+5Qz*MvUa< z9Gq{Nm4w8{zmS6hLcYY~mLMmkQ0ApQ$Ac%gz;MoiD`Am=g*R7#1j7tNTI!1mRP(~3C{b&IOkWGJ +#include + +#include +#include +#include +#include + +static void cp_stat(struct m_inode * inode, struct stat * statbuf) +{ + struct stat tmp; + int i; + + verify_area(statbuf,sizeof (* statbuf)); + tmp.st_dev = inode->i_dev; + tmp.st_ino = inode->i_num; + tmp.st_mode = inode->i_mode; + tmp.st_nlink = inode->i_nlinks; + tmp.st_uid = inode->i_uid; + tmp.st_gid = inode->i_gid; + tmp.st_rdev = inode->i_zone[0]; + tmp.st_size = inode->i_size; + tmp.st_atime = inode->i_atime; + tmp.st_mtime = inode->i_mtime; + tmp.st_ctime = inode->i_ctime; + for (i=0 ; i= NR_OPEN || !(f=current->filp[fd]) || !(inode=f->f_inode)) + return -EBADF; + cp_stat(inode,statbuf); + return 0; +} + +int sys_readlink() +{ + return -ENOSYS; +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/stat.o b/linux-0.11-lab - 副本/0/linux/fs/stat.o new file mode 100644 index 0000000000000000000000000000000000000000..fdb41d331a01a0b46c2a069b24d4be4631d5abd0 GIT binary patch literal 7212 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 +#include +#include +#include + +#include +#include + +int sync_dev(int dev); +void wait_for_keypress(void); + +/* set_bit uses setb, as gas doesn't recognize setc */ +#define set_bit(bitnr,addr) ({ \ +register int __res __asm__("ax"); \ +__asm__("bt %2,%3;setb %%al":"=a" (__res):"a" (0),"r" (bitnr),"m" (*(addr))); \ +__res; }) + +struct super_block super_block[NR_SUPER]; +/* this is initialized in init/main.c */ +int ROOT_DEV = 0; + +static void lock_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sb->s_lock = 1; + sti(); +} + +static void free_super(struct super_block * sb) +{ + cli(); + sb->s_lock = 0; + wake_up(&(sb->s_wait)); + sti(); +} + +static void wait_on_super(struct super_block * sb) +{ + cli(); + while (sb->s_lock) + sleep_on(&(sb->s_wait)); + sti(); +} + +struct super_block * get_super(int dev) +{ + struct super_block * s; + + if (!dev) + return NULL; + s = 0+super_block; + while (s < NR_SUPER+super_block) + if (s->s_dev == dev) { + wait_on_super(s); + if (s->s_dev == dev) + return s; + s = 0+super_block; + } else + s++; + return NULL; +} + +void put_super(int dev) +{ + struct super_block * sb; +/* struct m_inode * inode; */ + int i; + + if (dev == ROOT_DEV) { + printk("root diskette changed: prepare for armageddon\n\r"); + return; + } + if (!(sb = get_super(dev))) + return; + if (sb->s_imount) { + printk("Mounted disk changed - tssk, tssk\n\r"); + return; + } + lock_super(sb); + sb->s_dev = 0; + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + free_super(sb); + return; +} + +static struct super_block * read_super(int dev) +{ + struct super_block * s; + struct buffer_head * bh; + int i,block; + + if (!dev) + return NULL; + check_disk_change(dev); + if (s = get_super(dev)) + return s; + for (s = 0+super_block ;; s++) { + if (s >= NR_SUPER+super_block) + return NULL; + if (!s->s_dev) + break; + } + s->s_dev = dev; + s->s_isup = NULL; + s->s_imount = NULL; + s->s_time = 0; + s->s_rd_only = 0; + s->s_dirt = 0; + lock_super(s); + if (!(bh = bread(dev,1))) { + s->s_dev=0; + free_super(s); + return NULL; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) s) = + *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s->s_magic != SUPER_MAGIC) { + s->s_dev = 0; + free_super(s); + return NULL; + } + for (i=0;is_imap[i] = NULL; + for (i=0;is_zmap[i] = NULL; + block=2; + for (i=0 ; i < s->s_imap_blocks ; i++) + if (s->s_imap[i]=bread(dev,block)) + block++; + else + break; + for (i=0 ; i < s->s_zmap_blocks ; i++) + if (s->s_zmap[i]=bread(dev,block)) + block++; + else + break; + if (block != 2+s->s_imap_blocks+s->s_zmap_blocks) { + for(i=0;is_imap[i]); + for(i=0;is_zmap[i]); + s->s_dev=0; + free_super(s); + return NULL; + } + s->s_imap[0]->b_data[0] |= 1; + s->s_zmap[0]->b_data[0] |= 1; + free_super(s); + return s; +} + +int sys_umount(char * dev_name) +{ + struct m_inode * inode; + struct super_block * sb; + int dev; + + if (!(inode=namei(dev_name))) + return -ENOENT; + dev = inode->i_zone[0]; + if (!S_ISBLK(inode->i_mode)) { + iput(inode); + return -ENOTBLK; + } + iput(inode); + if (dev==ROOT_DEV) + return -EBUSY; + if (!(sb=get_super(dev)) || !(sb->s_imount)) + return -ENOENT; + if (!sb->s_imount->i_mount) + printk("Mounted inode has i_mount=0\n"); + for (inode=inode_table+0 ; inodei_dev==dev && inode->i_count) + return -EBUSY; + sb->s_imount->i_mount=0; + iput(sb->s_imount); + sb->s_imount = NULL; + iput(sb->s_isup); + sb->s_isup = NULL; + put_super(dev); + sync_dev(dev); + return 0; +} + +int sys_mount(char * dev_name, char * dir_name, int rw_flag) +{ + struct m_inode * dev_i, * dir_i; + struct super_block * sb; + int dev; + + if (!(dev_i=namei(dev_name))) + return -ENOENT; + dev = dev_i->i_zone[0]; + if (!S_ISBLK(dev_i->i_mode)) { + iput(dev_i); + return -EPERM; + } + iput(dev_i); + if (!(dir_i=namei(dir_name))) + return -ENOENT; + if (dir_i->i_count != 1 || dir_i->i_num == ROOT_INO) { + iput(dir_i); + return -EBUSY; + } + if (!S_ISDIR(dir_i->i_mode)) { + iput(dir_i); + return -EPERM; + } + if (!(sb=read_super(dev))) { + iput(dir_i); + return -EBUSY; + } + if (sb->s_imount) { + iput(dir_i); + return -EBUSY; + } + if (dir_i->i_mount) { + iput(dir_i); + return -EPERM; + } + sb->s_imount=dir_i; + dir_i->i_mount=1; + dir_i->i_dirt=1; /* NOTE! we don't iput(dir_i) */ + return 0; /* we do that in umount */ +} + +void mount_root(void) +{ + int i,free; + struct super_block * p; + struct m_inode * mi; + + if (32 != sizeof (struct d_inode)) + panic("bad i-node size"); + for(i=0;is_dev = 0; + p->s_lock = 0; + p->s_wait = NULL; + } + if (!(p=read_super(ROOT_DEV))) + panic("Unable to mount root"); + if (!(mi=iget(ROOT_DEV,ROOT_INO))) + panic("Unable to read root i-node"); + mi->i_count += 3 ; /* NOTE! it is logically used 4 times, not 1 */ + p->s_isup = p->s_imount = mi; + current->pwd = mi; + current->root = mi; + free=0; + i=p->s_nzones; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_zmap[i>>13]->b_data)) + free++; + printk("%d/%d free blocks\n\r",free,p->s_nzones); + free=0; + i=p->s_ninodes+1; + while (-- i >= 0) + if (!set_bit(i&8191,p->s_imap[i>>13]->b_data)) + free++; + printk("%d/%d free inodes\n\r",free,p->s_ninodes); +} diff --git a/linux-0.11-lab - 副本/0/linux/fs/super.o b/linux-0.11-lab - 副本/0/linux/fs/super.o new file mode 100644 index 0000000000000000000000000000000000000000..b551798da16bfa699c2dc2848c061720be0e1b2a GIT binary patch literal 12284 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 + +#include + +static void free_ind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_block(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +static void free_dind(int dev,int block) +{ + struct buffer_head * bh; + unsigned short * p; + int i; + + if (!block) + return; + if (bh=bread(dev,block)) { + p = (unsigned short *) bh->b_data; + for (i=0;i<512;i++,p++) + if (*p) + free_ind(dev,*p); + brelse(bh); + } + free_block(dev,block); +} + +void truncate(struct m_inode * inode) +{ + int i; + + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return; + for (i=0;i<7;i++) + if (inode->i_zone[i]) { + free_block(inode->i_dev,inode->i_zone[i]); + inode->i_zone[i]=0; + } + free_ind(inode->i_dev,inode->i_zone[7]); + free_dind(inode->i_dev,inode->i_zone[8]); + inode->i_zone[7] = inode->i_zone[8] = 0; + inode->i_size = 0; + inode->i_dirt = 1; + inode->i_mtime = inode->i_ctime = CURRENT_TIME; +} + diff --git a/linux-0.11-lab - 副本/0/linux/fs/truncate.o b/linux-0.11-lab - 副本/0/linux/fs/truncate.o new file mode 100644 index 0000000000000000000000000000000000000000..8975b924958105c719b40601717933b390dce7b0 GIT binary patch literal 6848 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 T&knY~U11EUL+(?^{YLp;_3Udb literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/include/a.out.h b/linux-0.11-lab - 副本/0/linux/include/a.out.h new file mode 100644 index 0000000..3e67974 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/a.out.h @@ -0,0 +1,220 @@ +#ifndef _A_OUT_H +#define _A_OUT_H + +#define __GNU_EXEC_MACROS__ + +struct exec { + unsigned long a_magic; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#ifndef N_MAGIC +#define N_MAGIC(exec) ((exec).a_magic) +#endif + +#ifndef OMAGIC +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +#endif /* not OMAGIC */ + +#ifndef N_BADMAG +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) +#endif + +#define _N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC) + +#define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec)) + +#ifndef N_TXTOFF +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) : sizeof (struct exec)) +#endif + +#ifndef N_DATOFF +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#endif + +#ifndef N_TRELOFF +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#endif + +#ifndef N_DRELOFF +#define N_DRELOFF(x) (N_TRELOFF(x) + (x).a_trsize) +#endif + +#ifndef N_SYMOFF +#define N_SYMOFF(x) (N_DRELOFF(x) + (x).a_drsize) +#endif + +#ifndef N_STROFF +#define N_STROFF(x) (N_SYMOFF(x) + (x).a_syms) +#endif + +/* Address of text segment in memory after it is loaded. */ +#ifndef N_TXTADDR +#define N_TXTADDR(x) 0 +#endif + +/* Address of data segment in memory after it is loaded. + Note that it is up to you to define SEGMENT_SIZE + on machines not listed here. */ +#if defined(vax) || defined(hp300) || defined(pyr) +#define SEGMENT_SIZE PAGE_SIZE +#endif +#ifdef hp300 +#define PAGE_SIZE 4096 +#endif +#ifdef sony +#define SEGMENT_SIZE 0x2000 +#endif /* Sony. */ +#ifdef is68k +#define SEGMENT_SIZE 0x20000 +#endif +#if defined(m68k) && defined(PORTAR) +#define PAGE_SIZE 0x400 +#define SEGMENT_SIZE PAGE_SIZE +#endif + +#define PAGE_SIZE 4096 +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) + +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#ifndef N_DATADDR +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#endif + +/* Address of bss segment in memory after it is loaded. */ +#ifndef N_BSSADDR +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) +#endif + +#ifndef N_NLIST_DECLARED +struct nlist { + union { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif + +#ifndef N_UNDF +#define N_UNDF 0 +#endif +#ifndef N_ABS +#define N_ABS 2 +#endif +#ifndef N_TEXT +#define N_TEXT 4 +#endif +#ifndef N_DATA +#define N_DATA 6 +#endif +#ifndef N_BSS +#define N_BSS 8 +#endif +#ifndef N_COMM +#define N_COMM 18 +#endif +#ifndef N_FN +#define N_FN 15 +#endif + +#ifndef N_EXT +#define N_EXT 1 +#endif +#ifndef N_TYPE +#define N_TYPE 036 +#endif +#ifndef N_STAB +#define N_STAB 0340 +#endif + +/* The following type indicates the definition of a symbol as being + an indirect reference to another symbol. The other symbol + appears as an undefined reference, immediately following this symbol. + + Indirection is asymmetrical. The other symbol's value will be used + to satisfy requests for the indirect symbol, but not vice versa. + If the other symbol does not have a definition, libraries will + be searched to find a definition. */ +#define N_INDR 0xa + +/* The following symbols refer to set elements. + All the N_SET[ATDB] symbols with the same name form one set. + Space is allocated for the set in the text section, and each set + element's value is stored into one word of the space. + The first word of the space is the length of the set (number of elements). + + The address of the set is made into an N_SETV symbol + whose name is the same as the name of the set. + This symbol acts like a N_DATA global symbol + in that it can satisfy undefined external references. */ + +/* These appear as input to LD, in a .o file. */ +#define N_SETA 0x14 /* Absolute set element symbol */ +#define N_SETT 0x16 /* Text set element symbol */ +#define N_SETD 0x18 /* Data set element symbol */ +#define N_SETB 0x1A /* Bss set element symbol */ + +/* This is output from LD. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#ifndef N_RELOCATION_INFO_DECLARED + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + /* Address (within segment) to be relocated. */ + int r_address; + /* The meaning of r_symbolnum depends on r_extern. */ + unsigned int r_symbolnum:24; + /* Nonzero means value is a pc-relative offset + and it should be relocated for changes in its own address + as well as for changes in the symbol or section specified. */ + unsigned int r_pcrel:1; + /* Length (as exponent of 2) of the field to be relocated. + Thus, a value of 2 indicates 1<<2 bytes. */ + unsigned int r_length:2; + /* 1 => relocate with value of symbol. + r_symbolnum is the index of the symbol + in file's the symbol table. + 0 => relocate with the address of a segment. + r_symbolnum is N_TEXT, N_DATA, N_BSS or N_ABS + (the N_EXT bit may be set also, but signifies nothing). */ + unsigned int r_extern:1; + /* Four bits that aren't used, but when writing an object file + it is desirable to clear them. */ + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + + +#endif /* __A_OUT_GNU_H__ */ diff --git a/linux-0.11-lab - 副本/0/linux/include/asm/io.h b/linux-0.11-lab - 副本/0/linux/include/asm/io.h new file mode 100644 index 0000000..d5cc42a --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/asm/io.h @@ -0,0 +1,24 @@ +#define outb(value,port) \ +__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port)) + + +#define inb(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \ +_v; \ +}) + +#define outb_p(value,port) \ +__asm__ ("outb %%al,%%dx\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:"::"a" (value),"d" (port)) + +#define inb_p(port) ({ \ +unsigned char _v; \ +__asm__ volatile ("inb %%dx,%%al\n" \ + "\tjmp 1f\n" \ + "1:\tjmp 1f\n" \ + "1:":"=a" (_v):"d" (port)); \ +_v; \ +}) diff --git a/linux-0.11-lab - 副本/0/linux/include/asm/memory.h b/linux-0.11-lab - 副本/0/linux/include/asm/memory.h new file mode 100644 index 0000000..51b69e7 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/asm/memory.h @@ -0,0 +1,15 @@ +/* + * NOTE!!! memcpy(dest,src,n) assumes ds=es=normal data segment. This + * goes for all kernel functions (ds=es=kernel space, fs=local data, + * gs=null), as well as for all well-behaving user programs (ds=es= + * user data space). This is NOT a bug, as any user program that changes + * es deserves to die if it isn't careful. + */ +#define memcpy(dest,src,n) ({ \ +void * _res = dest; \ +__asm__ ("cld;rep;movsb" \ + ::"D" ((long)(_res)),"S" ((long)(src)),"c" ((long) (n)) \ + ); \ +_res; \ +}) + diff --git a/linux-0.11-lab - 副本/0/linux/include/asm/segment.h b/linux-0.11-lab - 副本/0/linux/include/asm/segment.h new file mode 100644 index 0000000..94dd102 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/asm/segment.h @@ -0,0 +1,65 @@ +static inline unsigned char get_fs_byte(const char * addr) +{ + unsigned register char _v; + + __asm__ ("movb %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned short get_fs_word(const unsigned short *addr) +{ + unsigned short _v; + + __asm__ ("movw %%fs:%1,%0":"=r" (_v):"m" (*addr)); + return _v; +} + +static inline unsigned long get_fs_long(const unsigned long *addr) +{ + unsigned long _v; + + __asm__ ("movl %%fs:%1,%0":"=r" (_v):"m" (*addr)); \ + return _v; +} + +static inline void put_fs_byte(char val,char *addr) +{ +__asm__ ("movb %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_word(short val,short * addr) +{ +__asm__ ("movw %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +static inline void put_fs_long(unsigned long val,unsigned long * addr) +{ +__asm__ ("movl %0,%%fs:%1"::"r" (val),"m" (*addr)); +} + +/* + * Someone who knows GNU asm better than I should double check the followig. + * It seems to work, but I don't know if I'm doing something subtly wrong. + * --- TYT, 11/24/91 + * [ nothing wrong here, Linus ] + */ + +static inline unsigned long get_fs() +{ + unsigned short _v; + __asm__("mov %%fs,%%ax":"=a" (_v):); + return _v; +} + +static inline unsigned long get_ds() +{ + unsigned short _v; + __asm__("mov %%ds,%%ax":"=a" (_v):); + return _v; +} + +static inline void set_fs(unsigned long val) +{ + __asm__("mov %0,%%fs"::"a" ((unsigned short) val)); +} + diff --git a/linux-0.11-lab - 副本/0/linux/include/asm/system.h b/linux-0.11-lab - 副本/0/linux/include/asm/system.h new file mode 100644 index 0000000..0b5a21d --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/asm/system.h @@ -0,0 +1,66 @@ +#define move_to_user_mode() \ +__asm__ ("movl %%esp,%%eax\n\t" \ + "pushl $0x17\n\t" \ + "pushl %%eax\n\t" \ + "pushfl\n\t" \ + "pushl $0x0f\n\t" \ + "pushl $1f\n\t" \ + "iret\n" \ + "1:\tmovl $0x17,%%eax\n\t" \ + "movw %%ax,%%ds\n\t" \ + "movw %%ax,%%es\n\t" \ + "movw %%ax,%%fs\n\t" \ + "movw %%ax,%%gs" \ + :::"ax") + +#define sti() __asm__ ("sti"::) +#define cli() __asm__ ("cli"::) +#define nop() __asm__ ("nop"::) + +#define iret() __asm__ ("iret"::) + +#define _set_gate(gate_addr,type,dpl,addr) \ +__asm__ ("movw %%dx,%%ax\n\t" \ + "movw %0,%%dx\n\t" \ + "movl %%eax,%1\n\t" \ + "movl %%edx,%2" \ + : \ + : "i" ((short) (0x8000+(dpl<<13)+(type<<8))), \ + "o" (*((char *) (gate_addr))), \ + "o" (*(4+(char *) (gate_addr))), \ + "d" ((char *) (addr)),"a" (0x00080000)) + +#define set_intr_gate(n,addr) \ + _set_gate(&idt[n],14,0,addr) + +#define set_trap_gate(n,addr) \ + _set_gate(&idt[n],15,0,addr) + +#define set_system_gate(n,addr) \ + _set_gate(&idt[n],15,3,addr) + +#define _set_seg_desc(gate_addr,type,dpl,base,limit) {\ + *(gate_addr) = ((base) & 0xff000000) | \ + (((base) & 0x00ff0000)>>16) | \ + ((limit) & 0xf0000) | \ + ((dpl)<<13) | \ + (0x00408000) | \ + ((type)<<8); \ + *((gate_addr)+1) = (((base) & 0x0000ffff)<<16) | \ + ((limit) & 0x0ffff); } + +#define _set_tssldt_desc(n,addr,type) \ +__asm__ ("movw $104,%1\n\t" \ + "movw %%ax,%2\n\t" \ + "rorl $16,%%eax\n\t" \ + "movb %%al,%3\n\t" \ + "movb $" type ",%4\n\t" \ + "movb $0x00,%5\n\t" \ + "movb %%ah,%6\n\t" \ + "rorl $16,%%eax" \ + ::"a" (addr), "m" (*(n)), "m" (*(n+2)), "m" (*(n+4)), \ + "m" (*(n+5)), "m" (*(n+6)), "m" (*(n+7)) \ + ) + +#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 --git a/linux-0.11-lab - 副本/0/linux/include/const.h b/linux-0.11-lab - 副本/0/linux/include/const.h new file mode 100644 index 0000000..7828e61 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/const.h @@ -0,0 +1,15 @@ +#ifndef _CONST_H +#define _CONST_H + +#define BUFFER_END 0x200000 + +#define I_TYPE 0170000 +#define I_DIRECTORY 0040000 +#define I_REGULAR 0100000 +#define I_BLOCK_SPECIAL 0060000 +#define I_CHAR_SPECIAL 0020000 +#define I_NAMED_PIPE 0010000 +#define I_SET_UID_BIT 0004000 +#define I_SET_GID_BIT 0002000 + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/ctype.h b/linux-0.11-lab - 副本/0/linux/include/ctype.h new file mode 100644 index 0000000..7acf55d --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/ctype.h @@ -0,0 +1,34 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#define _U 0x01 /* upper */ +#define _L 0x02 /* lower */ +#define _D 0x04 /* digit */ +#define _C 0x08 /* cntrl */ +#define _P 0x10 /* punct */ +#define _S 0x20 /* white space (space/lf/tab) */ +#define _X 0x40 /* hex digit */ +#define _SP 0x80 /* hard space (0x20) */ + +extern unsigned char _ctype[]; +extern char _ctmp; + +#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D)) +#define isalpha(c) ((_ctype+1)[c]&(_U|_L)) +#define iscntrl(c) ((_ctype+1)[c]&(_C)) +#define isdigit(c) ((_ctype+1)[c]&(_D)) +#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D)) +#define islower(c) ((_ctype+1)[c]&(_L)) +#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP)) +#define ispunct(c) ((_ctype+1)[c]&(_P)) +#define isspace(c) ((_ctype+1)[c]&(_S)) +#define isupper(c) ((_ctype+1)[c]&(_U)) +#define isxdigit(c) ((_ctype+1)[c]&(_D|_X)) + +#define isascii(c) (((unsigned) c)<=0x7f) +#define toascii(c) (((unsigned) c)&0x7f) + +#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) +#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/errno.h b/linux-0.11-lab - 副本/0/linux/include/errno.h new file mode 100644 index 0000000..c282f69 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/errno.h @@ -0,0 +1,60 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +/* + * ok, as I hadn't got any other source of information about + * possible error numbers, I was forced to use the same numbers + * as minix. + * Hopefully these are posix or something. I wouldn't know (and posix + * isn't telling me - they want $$$ for their f***ing standard). + * + * We don't use the _SIGN cludge of minix, so kernel returns must + * see to the sign by themselves. + * + * NOTE! Remember to change strerror() if you change this file! + */ + +extern int errno; + +#define ERROR 99 +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/fcntl.h b/linux-0.11-lab - 副本/0/linux/include/fcntl.h new file mode 100644 index 0000000..a5bf9af --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/fcntl.h @@ -0,0 +1,55 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#include + +/* open/fcntl - NOCTTY, NDELAY isn't implemented yet */ +#define O_ACCMODE 00003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#define O_CREAT 00100 /* not fcntl */ +#define O_EXCL 00200 /* not fcntl */ +#define O_NOCTTY 00400 /* not fcntl */ +#define O_TRUNC 01000 /* not fcntl */ +#define O_APPEND 02000 +#define O_NONBLOCK 04000 /* not fcntl */ +#define O_NDELAY O_NONBLOCK + +/* Defines for fcntl-commands. Note that currently + * locking isn't supported, and other things aren't really + * tested. + */ +#define F_DUPFD 0 /* dup */ +#define F_GETFD 1 /* get f_flags */ +#define F_SETFD 2 /* set f_flags */ +#define F_GETFL 3 /* more flags (cloexec) */ +#define F_SETFL 4 +#define F_GETLK 5 /* not implemented */ +#define F_SETLK 6 +#define F_SETLKW 7 + +/* for F_[GET|SET]FL */ +#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ + +/* Ok, these are locking features, and aren't implemented at any + * level. POSIX wants them. + */ +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +/* Once again - not implemented, but ... */ +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +extern int creat(const char * filename,mode_t mode); +extern int fcntl(int fildes,int cmd, ...); +extern int open(const char * filename, int flags, ...); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/config.h b/linux-0.11-lab - 副本/0/linux/include/linux/config.h new file mode 100644 index 0000000..c979fb3 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/config.h @@ -0,0 +1,48 @@ +#ifndef _CONFIG_H +#define _CONFIG_H + +/* + * The root-device is no longer hard-coded. You can change the default + * root-device by changing the line ROOT_DEV = XXX in boot/bootsect.s + */ + +/* + * define your keyboard here - + * KBD_FINNISH for Finnish keyboards + * KBD_US for US-type + * KBD_GR for German keyboards + * KBD_FR for Frech keyboard + */ +#define KBD_US +/*#define KBD_GR */ +/*#define KBD_FR */ +/*#define KBD_FINNISH */ + +/* + * Normally, Linux can get the drive parameters from the BIOS at + * startup, but if this for some unfathomable reason fails, you'd + * be left stranded. For this case, you can define HD_TYPE, which + * contains all necessary info on your harddisk. + * + * The HD_TYPE macro should look like this: + * + * #define HD_TYPE { head, sect, cyl, wpcom, lzone, ctl} + * + * In case of two harddisks, the info should be sepatated by + * commas: + * + * #define HD_TYPE { h,s,c,wpcom,lz,ctl },{ h,s,c,wpcom,lz,ctl } + */ +/* + This is an example, two drives, first is type 2, second is type 3: + +#define HD_TYPE { 4,17,615,300,615,8 }, { 6,17,615,300,615,0 } + + NOTE: ctl is 0 for all drives with heads<=8, and ctl=8 for drives + with more than 8 heads. + + If you want the BIOS to tell what kind of drive you have, just + leave HD_TYPE undefined. This is the normal thing to do. +*/ + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/fdreg.h b/linux-0.11-lab - 副本/0/linux/include/linux/fdreg.h new file mode 100644 index 0000000..01355af --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/fdreg.h @@ -0,0 +1,71 @@ +/* + * This file contains some defines for the floppy disk controller. + * Various sources. Mostly "IBM Microcomputers: A Programmers + * Handbook", Sanches and Canton. + */ +#ifndef _FDREG_H +#define _FDREG_H + +extern int ticks_to_floppy_on(unsigned int nr); +extern void floppy_on(unsigned int nr); +extern void floppy_off(unsigned int nr); +extern void floppy_select(unsigned int nr); +extern void floppy_deselect(unsigned int nr); + +/* Fd controller regs. S&C, about page 340 */ +#define FD_STATUS 0x3f4 +#define FD_DATA 0x3f5 +#define FD_DOR 0x3f2 /* Digital Output Register */ +#define FD_DIR 0x3f7 /* Digital Input Register (read) */ +#define FD_DCR 0x3f7 /* Diskette Control Register (write)*/ + +/* Bits of main status register */ +#define STATUS_BUSYMASK 0x0F /* drive busy mask */ +#define STATUS_BUSY 0x10 /* FDC busy */ +#define STATUS_DMA 0x20 /* 0- DMA mode */ +#define STATUS_DIR 0x40 /* 0- cpu->fdc */ +#define STATUS_READY 0x80 /* Data reg ready */ + +/* Bits of FD_ST0 */ +#define ST0_DS 0x03 /* drive select mask */ +#define ST0_HA 0x04 /* Head (Address) */ +#define ST0_NR 0x08 /* Not Ready */ +#define ST0_ECE 0x10 /* Equipment chech error */ +#define ST0_SE 0x20 /* Seek end */ +#define ST0_INTR 0xC0 /* Interrupt code mask */ + +/* Bits of FD_ST1 */ +#define ST1_MAM 0x01 /* Missing Address Mark */ +#define ST1_WP 0x02 /* Write Protect */ +#define ST1_ND 0x04 /* No Data - unreadable */ +#define ST1_OR 0x10 /* OverRun */ +#define ST1_CRC 0x20 /* CRC error in data or addr */ +#define ST1_EOC 0x80 /* End Of Cylinder */ + +/* Bits of FD_ST2 */ +#define ST2_MAM 0x01 /* Missing Addess Mark (again) */ +#define ST2_BC 0x02 /* Bad Cylinder */ +#define ST2_SNS 0x04 /* Scan Not Satisfied */ +#define ST2_SEH 0x08 /* Scan Equal Hit */ +#define ST2_WC 0x10 /* Wrong Cylinder */ +#define ST2_CRC 0x20 /* CRC error in data field */ +#define ST2_CM 0x40 /* Control Mark = deleted */ + +/* Bits of FD_ST3 */ +#define ST3_HA 0x04 /* Head (Address) */ +#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */ +#define ST3_WP 0x40 /* Write Protect */ + +/* Values for FD_COMMAND */ +#define FD_RECALIBRATE 0x07 /* move to track 0 */ +#define FD_SEEK 0x0F /* seek track */ +#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */ +#define FD_WRITE 0xC5 /* write with MT, MFM */ +#define FD_SENSEI 0x08 /* Sense Interrupt Status */ +#define FD_SPECIFY 0x03 /* specify HUT etc */ + +/* DMA commands */ +#define DMA_READ 0x46 +#define DMA_WRITE 0x4A + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/fs.h b/linux-0.11-lab - 副本/0/linux/include/linux/fs.h new file mode 100644 index 0000000..7a90b10 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/fs.h @@ -0,0 +1,202 @@ +/* + * This file has definitions for some important file table + * structures etc. + */ + +#ifndef _FS_H +#define _FS_H + +#include + +/* devices are as follows: (same as minix, so we can use the minix + * file system. These are major numbers.) + * + * 0 - unused (nodev) + * 1 - /dev/mem + * 2 - /dev/fd + * 3 - /dev/hd + * 4 - /dev/ttyx + * 5 - /dev/tty + * 6 - /dev/lp + * 7 - unnamed pipes + */ + +#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3) + +#define READ 0 +#define WRITE 1 +#define READA 2 /* read-ahead - don't pause */ +#define WRITEA 3 /* "write-ahead" - silly, but somewhat useful */ + +void buffer_init(long buffer_end); + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define NAME_LEN 14 +#define ROOT_INO 1 + +#define I_MAP_SLOTS 8 +#define Z_MAP_SLOTS 8 +#define SUPER_MAGIC 0x137F + +#define NR_OPEN 20 +#define NR_INODE 32 +#define NR_FILE 64 +#define NR_SUPER 8 +#define NR_HASH 307 +#define NR_BUFFERS nr_buffers +#define BLOCK_SIZE 1024 +#define BLOCK_SIZE_BITS 10 +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#define INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct d_inode))) +#define DIR_ENTRIES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct dir_entry))) + +#define PIPE_HEAD(inode) ((inode).i_zone[0]) +#define PIPE_TAIL(inode) ((inode).i_zone[1]) +#define PIPE_SIZE(inode) ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1)) +#define PIPE_EMPTY(inode) (PIPE_HEAD(inode)==PIPE_TAIL(inode)) +#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1)) +#define INC_PIPE(head) \ +__asm__("incl %0\n\tandl $4095,%0"::"m" (head)) + +typedef char buffer_block[BLOCK_SIZE]; + +struct buffer_head { + char * b_data; /* pointer to data block (1024 bytes) */ + unsigned long b_blocknr; /* block number */ + unsigned short b_dev; /* device (0 = free) */ + unsigned char b_uptodate; + unsigned char b_dirt; /* 0-clean,1-dirty */ + unsigned char b_count; /* users using this block */ + unsigned char b_lock; /* 0 - ok, 1 -locked */ + struct task_struct * b_wait; + struct buffer_head * b_prev; + struct buffer_head * b_next; + struct buffer_head * b_prev_free; + struct buffer_head * b_next_free; +}; + +struct d_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_time; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +}; + +struct m_inode { + unsigned short i_mode; + unsigned short i_uid; + unsigned long i_size; + unsigned long i_mtime; + unsigned char i_gid; + unsigned char i_nlinks; + unsigned short i_zone[9]; +/* these are in memory also */ + struct task_struct * i_wait; + unsigned long i_atime; + unsigned long i_ctime; + unsigned short i_dev; + unsigned short i_num; + unsigned short i_count; + unsigned char i_lock; + unsigned char i_dirt; + unsigned char i_pipe; + unsigned char i_mount; + unsigned char i_seek; + unsigned char i_update; +}; + +struct file { + unsigned short f_mode; + unsigned short f_flags; + unsigned short f_count; + struct m_inode * f_inode; + off_t f_pos; +}; + +struct super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +/* These are only in memory */ + struct buffer_head * s_imap[8]; + struct buffer_head * s_zmap[8]; + unsigned short s_dev; + struct m_inode * s_isup; + struct m_inode * s_imount; + unsigned long s_time; + struct task_struct * s_wait; + unsigned char s_lock; + unsigned char s_rd_only; + unsigned char s_dirt; +}; + +struct d_super_block { + unsigned short s_ninodes; + unsigned short s_nzones; + unsigned short s_imap_blocks; + unsigned short s_zmap_blocks; + unsigned short s_firstdatazone; + unsigned short s_log_zone_size; + unsigned long s_max_size; + unsigned short s_magic; +}; + +struct dir_entry { + unsigned short inode; + char name[NAME_LEN]; +}; + +extern struct m_inode inode_table[NR_INODE]; +extern struct file file_table[NR_FILE]; +extern struct super_block super_block[NR_SUPER]; +extern struct buffer_head * start_buffer; +extern int nr_buffers; + +extern void check_disk_change(int dev); +extern int floppy_change(unsigned int nr); +extern int ticks_to_floppy_on(unsigned int dev); +extern void floppy_on(unsigned int dev); +extern void floppy_off(unsigned int dev); +extern void truncate(struct m_inode * inode); +extern void sync_inodes(void); +extern void wait_on(struct m_inode * inode); +extern int bmap(struct m_inode * inode,int block); +extern int create_block(struct m_inode * inode,int block); +extern struct m_inode * namei(const char * pathname); +extern int open_namei(const char * pathname, int flag, int mode, + struct m_inode ** res_inode); +extern void iput(struct m_inode * inode); +extern struct m_inode * iget(int dev,int nr); +extern struct m_inode * get_empty_inode(void); +extern struct m_inode * get_pipe_inode(void); +extern struct buffer_head * get_hash_table(int dev, int block); +extern struct buffer_head * getblk(int dev, int block); +extern void ll_rw_block(int rw, struct buffer_head * bh); +extern void brelse(struct buffer_head * buf); +extern struct buffer_head * bread(int dev,int block); +extern void bread_page(unsigned long addr,int dev,int b[4]); +extern struct buffer_head * breada(int dev,int block,...); +extern int new_block(int dev); +extern void free_block(int dev, int block); +extern struct m_inode * new_inode(int dev); +extern void free_inode(struct m_inode * inode); +extern int sync_dev(int dev); +extern struct super_block * get_super(int dev); +extern int ROOT_DEV; + +extern void mount_root(void); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/hdreg.h b/linux-0.11-lab - 副本/0/linux/include/linux/hdreg.h new file mode 100644 index 0000000..e6c593f --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/hdreg.h @@ -0,0 +1,65 @@ +/* + * This file contains some defines for the AT-hd-controller. + * Various sources. Check out some definitions (see comments with + * a ques). + */ +#ifndef _HDREG_H +#define _HDREG_H + +/* Hd controller regs. Ref: IBM AT Bios-listing */ +#define HD_DATA 0x1f0 /* _CTL when writing */ +#define HD_ERROR 0x1f1 /* see err-bits */ +#define HD_NSECTOR 0x1f2 /* nr of sectors to read/write */ +#define HD_SECTOR 0x1f3 /* starting sector */ +#define HD_LCYL 0x1f4 /* starting cylinder */ +#define HD_HCYL 0x1f5 /* high byte of starting cyl */ +#define HD_CURRENT 0x1f6 /* 101dhhhh , d=drive, hhhh=head */ +#define HD_STATUS 0x1f7 /* see status-bits */ +#define HD_PRECOMP HD_ERROR /* same io address, read=error, write=precomp */ +#define HD_COMMAND HD_STATUS /* same io address, read=status, write=cmd */ + +#define HD_CMD 0x3f6 + +/* Bits of HD_STATUS */ +#define ERR_STAT 0x01 +#define INDEX_STAT 0x02 +#define ECC_STAT 0x04 /* Corrected error */ +#define DRQ_STAT 0x08 +#define SEEK_STAT 0x10 +#define WRERR_STAT 0x20 +#define READY_STAT 0x40 +#define BUSY_STAT 0x80 + +/* Values for HD_COMMAND */ +#define WIN_RESTORE 0x10 +#define WIN_READ 0x20 +#define WIN_WRITE 0x30 +#define WIN_VERIFY 0x40 +#define WIN_FORMAT 0x50 +#define WIN_INIT 0x60 +#define WIN_SEEK 0x70 +#define WIN_DIAGNOSE 0x90 +#define WIN_SPECIFY 0x91 + +/* Bits for HD_ERROR */ +#define MARK_ERR 0x01 /* Bad address mark ? */ +#define TRK0_ERR 0x02 /* couldn't find track 0 */ +#define ABRT_ERR 0x04 /* ? */ +#define ID_ERR 0x10 /* ? */ +#define ECC_ERR 0x40 /* ? */ +#define BBD_ERR 0x80 /* ? */ + +struct partition { + unsigned char boot_ind; /* 0x80 - active (unused) */ + unsigned char head; /* ? */ + unsigned char sector; /* ? */ + unsigned char cyl; /* ? */ + unsigned char sys_ind; /* ? */ + unsigned char end_head; /* ? */ + unsigned char end_sector; /* ? */ + unsigned char end_cyl; /* ? */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/head.h b/linux-0.11-lab - 副本/0/linux/include/linux/head.h new file mode 100644 index 0000000..db3dda2 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/head.h @@ -0,0 +1,20 @@ +#ifndef _HEAD_H +#define _HEAD_H + +typedef struct desc_struct { + unsigned long a,b; +} desc_table[256]; + +extern unsigned long pg_dir[1024]; +extern desc_table idt,gdt; + +#define GDT_NUL 0 +#define GDT_CODE 1 +#define GDT_DATA 2 +#define GDT_TMP 3 + +#define LDT_NUL 0 +#define LDT_CODE 1 +#define LDT_DATA 2 + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/kernel.h b/linux-0.11-lab - 副本/0/linux/include/linux/kernel.h new file mode 100644 index 0000000..cb40dd5 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/kernel.h @@ -0,0 +1,22 @@ +/* + * 'kernel.h' contains some often-used function prototypes etc + */ +void verify_area(void * addr,int count); +volatile void panic(const char * str); +int printf(const char * fmt, ...); +int printk(const char * fmt, ...); +int tty_write(unsigned ch,char * buf,int count); +void * malloc(unsigned int size); +void free_s(void * obj, int size); + +#define free(x) free_s((x), 0) + +/* + * This is defined as a macro, but at some point this might become a + * real subroutine that sets a flag if it returns true (to do + * BSD-style accounting where the process is flagged if it uses root + * privs). The implication of this is that you should do normal + * permissions checks first, and check suser() last. + */ +#define suser() (current->euid == 0) + diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/mm.h b/linux-0.11-lab - 副本/0/linux/include/linux/mm.h new file mode 100644 index 0000000..5a160f3 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/mm.h @@ -0,0 +1,10 @@ +#ifndef _MM_H +#define _MM_H + +#define PAGE_SIZE 4096 + +extern unsigned long get_free_page(void); +extern unsigned long put_page(unsigned long page,unsigned long address); +extern void free_page(unsigned long addr); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/sched.h b/linux-0.11-lab - 副本/0/linux/include/linux/sched.h new file mode 100644 index 0000000..772646a --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/sched.h @@ -0,0 +1,239 @@ +#ifndef _SCHED_H +#define _SCHED_H + +#define NR_TASKS 64 +#define HZ 100 + +#define FIRST_TASK task[0] +#define LAST_TASK task[NR_TASKS-1] + +#include +#include +#include +#include + +#if (NR_OPEN > 32) +#error "Currently the close-on-exec-flags are in one word, max 32 files/proc" +#endif + +#define TASK_RUNNING 0 +#define TASK_INTERRUPTIBLE 1 +#define TASK_UNINTERRUPTIBLE 2 +#define TASK_ZOMBIE 3 +#define TASK_STOPPED 4 + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +extern int copy_page_tables(unsigned long from, unsigned long to, long size); +extern int free_page_tables(unsigned long from, unsigned long size); + +extern void sched_init(void); +extern void schedule(void); +extern void trap_init(void); +extern void panic(const char * str); +extern int tty_write(unsigned minor,char * buf,int count); + +typedef int (*fn_ptr)(); + +struct i387_struct { + long cwd; + long swd; + long twd; + long fip; + long fcs; + long foo; + long fos; + long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ +}; + +struct tss_struct { + long back_link; /* 16 high bits zero */ + long esp0; + long ss0; /* 16 high bits zero */ + long esp1; + long ss1; /* 16 high bits zero */ + long esp2; + long ss2; /* 16 high bits zero */ + long cr3; + long eip; + long eflags; + long eax,ecx,edx,ebx; + long esp; + long ebp; + long esi; + long edi; + long es; /* 16 high bits zero */ + long cs; /* 16 high bits zero */ + long ss; /* 16 high bits zero */ + long ds; /* 16 high bits zero */ + long fs; /* 16 high bits zero */ + long gs; /* 16 high bits zero */ + long ldt; /* 16 high bits zero */ + long trace_bitmap; /* bits: trace 0, bitmap 16-31 */ + struct i387_struct i387; +}; + +struct task_struct { +/* these are hardcoded - don't touch */ + long state; /* -1 unrunnable, 0 runnable, >0 stopped */ + long counter; + long priority; + long signal; + struct sigaction sigaction[32]; + long blocked; /* bitmap of masked signals */ +/* various fields */ + int exit_code; + unsigned long start_code,end_code,end_data,brk,start_stack; + long pid,father,pgrp,session,leader; + unsigned short uid,euid,suid; + unsigned short gid,egid,sgid; + long alarm; + long utime,stime,cutime,cstime,start_time; + unsigned short used_math; +/* file system info */ + int tty; /* -1 if no tty, so it must be signed */ + unsigned short umask; + struct m_inode * pwd; + struct m_inode * root; + struct m_inode * executable; + unsigned long close_on_exec; + struct file * filp[NR_OPEN]; +/* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ + struct desc_struct ldt[3]; +/* tss for this task */ + struct tss_struct tss; +}; + +/* + * INIT_TASK is used to set up the first task table, touch at + * your own risk!. Base=0, limit=0x9ffff (=640kB) + */ +#define INIT_TASK \ +/* state etc */ { 0,15,15, \ +/* signals */ 0,{{},},0, \ +/* ec,brk... */ 0,0,0,0,0,0, \ +/* pid etc.. */ 0,-1,0,0,0, \ +/* uid etc */ 0,0,0,0,0,0, \ +/* alarm */ 0,0,0,0,0,0, \ +/* math */ 0, \ +/* fs info */ -1,0022,NULL,NULL,NULL,0, \ +/* filp */ {NULL,}, \ + { \ + {0,0}, \ +/* ldt */ {0x9f,0xc0fa00}, \ + {0x9f,0xc0f200}, \ + }, \ +/*tss*/ {0,PAGE_SIZE+(long)&init_task,0x10,0,0,0,0,(long)&pg_dir,\ + 0,0,0,0,0,0,0,0, \ + 0,0,0x17,0x17,0x17,0x17,0x17,0x17, \ + _LDT(0),0x80000000, \ + {} \ + }, \ +} + +extern struct task_struct *task[NR_TASKS]; +extern struct task_struct *last_task_used_math; +extern struct task_struct *current; +extern long volatile jiffies; +extern long startup_time; + +#define CURRENT_TIME (startup_time+jiffies/HZ) + +extern void add_timer(long jiffies, void (*fn)(void)); +extern void sleep_on(struct task_struct ** p); +extern void interruptible_sleep_on(struct task_struct ** p); +extern void wake_up(struct task_struct ** p); + +/* + * Entry into gdt where to find first TSS. 0-nul, 1-cs, 2-ds, 3-syscall + * 4-TSS0, 5-LDT0, 6-TSS1 etc ... + */ +#define FIRST_TSS_ENTRY 4 +#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1) +#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) +#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3)) +#define ltr(n) __asm__("ltr %%ax"::"a" (_TSS(n))) +#define lldt(n) __asm__("lldt %%ax"::"a" (_LDT(n))) +#define str(n) \ +__asm__("str %%ax\n\t" \ + "subl %2,%%eax\n\t" \ + "shrl $4,%%eax" \ + :"=a" (n) \ + :"a" (0),"i" (FIRST_TSS_ENTRY<<3)) +/* + * switch_to(n) should switch tasks to task nr n, first + * checking that n isn't the current task, in which case it does nothing. + * This also clears the TS-flag if the task we switched to has used + * tha math co-processor latest. + */ +#define switch_to(n) {\ +struct {long a,b;} __tmp; \ +__asm__("cmpl %%ecx,current\n\t" \ + "je 1f\n\t" \ + "movw %%dx,%1\n\t" \ + "xchgl %%ecx,current\n\t" \ + "ljmp *%0\n\t" \ + "cmpl %%ecx,last_task_used_math\n\t" \ + "jne 1f\n\t" \ + "clts\n" \ + "1:" \ + ::"m" (*&__tmp.a),"m" (*&__tmp.b), \ + "d" (_TSS(n)),"c" ((long) task[n])); \ +} + +#define PAGE_ALIGN(n) (((n)+0xfff)&0xfffff000) + +#define _set_base(addr,base) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %%dl,%1\n\t" \ + "movb %%dh,%2\n\t" \ + "pop %%edx" \ + ::"m" (*((addr)+2)), \ + "m" (*((addr)+4)), \ + "m" (*((addr)+7)), \ + "d" (base) \ + ) + +#define _set_limit(addr,limit) \ +__asm__ ("push %%edx\n\t" \ + "movw %%dx,%0\n\t" \ + "rorl $16,%%edx\n\t" \ + "movb %1,%%dh\n\t" \ + "andb $0xf0,%%dh\n\t" \ + "orb %%dh,%%dl\n\t" \ + "movb %%dl,%1\n\t" \ + "pop %%edx" \ + ::"m" (*(addr)), \ + "m" (*((addr)+6)), \ + "d" (limit) \ + ) + +#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) +#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , (limit-1)>>12 ) + +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))); + return __base; +} + +#define get_base(ldt) _get_base( ((char *)&(ldt)) ) + +#define get_limit(segment) ({ \ +unsigned long __limit; \ +__asm__("lsll %1,%0\n\tincl %0":"=r" (__limit):"r" (segment)); \ +__limit;}) + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/linux/sys.h b/linux-0.11-lab - 副本/0/linux/include/linux/sys.h new file mode 100644 index 0000000..2a1c8be --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/sys.h @@ -0,0 +1,111 @@ +/* + * Why isn't this a .c file? Enquiring minds.... + */ + +extern int sys_setup(); +extern int sys_exit(); +extern int sys_fork(); +extern int sys_read(); +extern int sys_write(); +extern int sys_open(); +extern int sys_close(); +extern int sys_waitpid(); +extern int sys_creat(); +extern int sys_link(); +extern int sys_unlink(); +extern int sys_execve(); +extern int sys_chdir(); +extern int sys_time(); +extern int sys_mknod(); +extern int sys_chmod(); +extern int sys_chown(); +extern int sys_break(); +extern int sys_stat(); +extern int sys_lseek(); +extern int sys_getpid(); +extern int sys_mount(); +extern int sys_umount(); +extern int sys_setuid(); +extern int sys_getuid(); +extern int sys_stime(); +extern int sys_ptrace(); +extern int sys_alarm(); +extern int sys_fstat(); +extern int sys_pause(); +extern int sys_utime(); +extern int sys_stty(); +extern int sys_gtty(); +extern int sys_access(); +extern int sys_nice(); +extern int sys_ftime(); +extern int sys_sync(); +extern int sys_kill(); +extern int sys_rename(); +extern int sys_mkdir(); +extern int sys_rmdir(); +extern int sys_dup(); +extern int sys_pipe(); +extern int sys_times(); +extern int sys_prof(); +extern int sys_brk(); +extern int sys_setgid(); +extern int sys_getgid(); +extern int sys_signal(); +extern int sys_geteuid(); +extern int sys_getegid(); +extern int sys_acct(); +extern int sys_phys(); +extern int sys_lock(); +extern int sys_ioctl(); +extern int sys_fcntl(); +extern int sys_mpx(); +extern int sys_setpgid(); +extern int sys_ulimit(); +extern int sys_uname(); +extern int sys_umask(); +extern int sys_chroot(); +extern int sys_ustat(); +extern int sys_dup2(); +extern int sys_getppid(); +extern int sys_getpgrp(); +extern int sys_setsid(); +extern int sys_sigaction(); +extern int sys_sgetmask(); +extern int sys_ssetmask(); +extern int sys_setreuid(); +extern int sys_setregid(); +extern int sys_sigpending(); +extern int sys_sigsuspend(); +extern int sys_sethostname(); +extern int sys_setrlimit(); +extern int sys_getrlimit(); +extern int sys_getrusage(); +extern int sys_gettimeofday(); +extern int sys_settimeofday(); +extern int sys_getgroups(); +extern int sys_setgroups(); +extern int sys_select(); +extern int sys_symlink(); +extern int sys_lstat(); +extern int sys_readlink(); +extern int sys_uselib(); + +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, +sys_unlink, sys_execve, sys_chdir, sys_time, sys_mknod, sys_chmod, +sys_chown, sys_break, sys_stat, sys_lseek, sys_getpid, sys_mount, +sys_umount, sys_setuid, sys_getuid, sys_stime, sys_ptrace, sys_alarm, +sys_fstat, sys_pause, sys_utime, sys_stty, sys_gtty, sys_access, +sys_nice, sys_ftime, sys_sync, sys_kill, sys_rename, sys_mkdir, +sys_rmdir, sys_dup, sys_pipe, sys_times, sys_prof, sys_brk, sys_setgid, +sys_getgid, sys_signal, sys_geteuid, sys_getegid, sys_acct, sys_phys, +sys_lock, sys_ioctl, sys_fcntl, sys_mpx, sys_setpgid, sys_ulimit, +sys_uname, sys_umask, sys_chroot, sys_ustat, sys_dup2, sys_getppid, +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, +sys_lstat, sys_readlink, sys_uselib }; + +/* 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 - 副本/0/linux/include/linux/tty.h b/linux-0.11-lab - 副本/0/linux/include/linux/tty.h new file mode 100644 index 0000000..ad846b3 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/linux/tty.h @@ -0,0 +1,77 @@ +/* + * 'tty.h' defines some structures used by tty_io.c and some defines. + * + * NOTE! Don't touch this without checking that nothing in rs_io.s or + * con_io.s breaks. Some constants are hardwired into the system (mainly + * offsets into 'tty_queue' + */ + +#ifndef _TTY_H +#define _TTY_H + +#include + +#define TTY_BUF_SIZE 1024 + +struct tty_queue { + unsigned long data; + unsigned long head; + unsigned long tail; + struct task_struct * proc_list; + char buf[TTY_BUF_SIZE]; +}; + +#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1)) +#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1)) +#define EMPTY(a) ((a).head == (a).tail) +#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1)) +#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)]) +#define FULL(a) (!LEFT(a)) +#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1)) +#define GETCH(queue,c) \ +(void)({c=(queue).buf[(queue).tail];INC((queue).tail);}) +#define PUTCH(c,queue) \ +(void)({(queue).buf[(queue).head]=(c);INC((queue).head);}) + +#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) +#define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) +#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) +#define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) +#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) +#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) +#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) +#define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) + +struct tty_struct { + struct termios termios; + int pgrp; + int stopped; + void (*write)(struct tty_struct * tty); + struct tty_queue read_q; + struct tty_queue write_q; + struct tty_queue secondary; + }; + +extern struct tty_struct tty_table[]; + +/* intr=^C quit=^| erase=del kill=^U + eof=^D vtime=\0 vmin=\1 sxtc=\0 + start=^Q stop=^S susp=^Z eol=\0 + reprint=^R discard=^U werase=^W lnext=^V + eol2=\0 +*/ +#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0" + +void rs_init(void); +void con_init(void); +void tty_init(void); + +int tty_read(unsigned c, char * buf, int n); +int tty_write(unsigned c, char * buf, int n); + +void rs_write(struct tty_struct * tty); +void con_write(struct tty_struct * tty); + +void copy_to_cooked(struct tty_struct * tty); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/signal.h b/linux-0.11-lab - 副本/0/linux/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/signal.h @@ -0,0 +1,68 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +typedef int sig_atomic_t; +typedef unsigned int sigset_t; /* 32 bits */ + +#define _NSIG 32 +#define NSIG _NSIG + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGUNUSED 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 + +/* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ +#define SA_NOCLDSTOP 1 +#define SA_NOMASK 0x40000000 +#define SA_ONESHOT 0x80000000 + +#define SIG_BLOCK 0 /* for blocking signals */ +#define SIG_UNBLOCK 1 /* for unblocking signals */ +#define SIG_SETMASK 2 /* for setting the signal mask */ + +#define SIG_DFL ((void (*)(int))0) /* default signal handling */ +#define SIG_IGN ((void (*)(int))1) /* ignore signal */ + +struct sigaction { + void (*sa_handler)(int); + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; + +void (*signal(int _sig, void (*_func)(int)))(int); +int raise(int sig); +int kill(pid_t pid, int sig); +int sigaddset(sigset_t *mask, int signo); +int sigdelset(sigset_t *mask, int signo); +int sigemptyset(sigset_t *mask); +int sigfillset(sigset_t *mask); +int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ +int sigpending(sigset_t *set); +int sigprocmask(int how, sigset_t *set, sigset_t *oldset); +int sigsuspend(sigset_t *sigmask); +int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); + +#endif /* _SIGNAL_H */ diff --git a/linux-0.11-lab - 副本/0/linux/include/stdarg.h b/linux-0.11-lab - 副本/0/linux/include/stdarg.h new file mode 100644 index 0000000..fd79ec0 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/stdarg.h @@ -0,0 +1,28 @@ +#ifndef _STDARG_H +#define _STDARG_H + +typedef char *va_list; + +/* Amount of space required in an argument list for an arg of type TYPE. + TYPE may alternatively be an expression whose type is used. */ + +#define __va_rounded_size(TYPE) \ + (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int)) + +#ifndef __sparc__ +#define va_start(AP, LASTARG) \ + (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#else +#define va_start(AP, LASTARG) \ + (__builtin_saveregs (), \ + AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG))) +#endif + +void va_end (va_list); /* Defined in gnulib */ +#define va_end(AP) + +#define va_arg(AP, TYPE) \ + (AP += __va_rounded_size (TYPE), \ + *((TYPE *) (AP - __va_rounded_size (TYPE)))) + +#endif /* _STDARG_H */ diff --git a/linux-0.11-lab - 副本/0/linux/include/stddef.h b/linux-0.11-lab - 副本/0/linux/include/stddef.h new file mode 100644 index 0000000..97f72ff --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/stddef.h @@ -0,0 +1,19 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned long size_t; +#endif + +#undef NULL +#define NULL ((void *)0) + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/string.h b/linux-0.11-lab - 副本/0/linux/include/string.h new file mode 100644 index 0000000..48b91e5 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/string.h @@ -0,0 +1,405 @@ +#ifndef _STRING_H_ +#define _STRING_H_ + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +extern char * strerror(int errno); + +/* + * This string-include defines all string functions as inline + * functions. Use gcc. It also assumes ds=es=data space, this should be + * normal. Most of the string-functions are rather heavily hand-optimized, + * see especially strtok,strstr,str[c]spn. They should work, but are not + * very easy to understand. Everything is done entirely within the register + * set, making the functions fast and clean. String instructions have been + * used through-out, making for "slightly" unclear code :-) + * + * (C) 1991 Linus Torvalds + */ + +extern inline char * strcpy(char * dest,const char *src) +{ +__asm__("cld\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest)); +return dest; +} + +extern inline char * strncpy(char * dest,const char *src,int count) +{ +__asm__("cld\n" + "1:\tdecl %2\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "rep\n\t" + "stosb\n" + "2:" + ::"S" (src),"D" (dest),"c" (count)); +return dest; +} + +extern inline char * strcat(char * dest,const char * src) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n" + "1:\tlodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff)); +return dest; +} + +extern inline char * strncat(char * dest,const char * src,int count) +{ +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "decl %1\n\t" + "movl %4,%3\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "stosb\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %2,%2\n\t" + "stosb" + ::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count) + ); +return dest; +} + +extern inline int strcmp(const char * cs,const char * ct) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tlodsb\n\t" + "scasb\n\t" + "jne 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "jmp 3f\n" + "2:\tmovl $1,%%eax\n\t" + "jl 3f\n\t" + "negl %%eax\n" + "3:" + :"=a" (__res):"D" (cs),"S" (ct)); +return __res; +} + +extern inline int strncmp(const char * cs,const char * ct,int count) +{ +register int __res __asm__("ax"); +__asm__("cld\n" + "1:\tdecl %3\n\t" + "js 2f\n\t" + "lodsb\n\t" + "scasb\n\t" + "jne 3f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n" + "2:\txorl %%eax,%%eax\n\t" + "jmp 4f\n" + "3:\tmovl $1,%%eax\n\t" + "jl 4f\n\t" + "negl %%eax\n" + "4:" + :"=a" (__res):"D" (cs),"S" (ct),"c" (count)); +return __res; +} + +extern inline char * strchr(const char * s,char c) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "je 2f\n\t" + "testb %%al,%%al\n\t" + "jne 1b\n\t" + "movl $1,%1\n" + "2:\tmovl %1,%0\n\t" + "decl %0" + :"=a" (__res):"S" (s),"0" (c)); +return __res; +} + +extern inline char * strrchr(const char * s,char c) +{ +register char * __res __asm__("dx"); +__asm__("cld\n\t" + "movb %%al,%%ah\n" + "1:\tlodsb\n\t" + "cmpb %%ah,%%al\n\t" + "jne 2f\n\t" + "movl %%esi,%0\n\t" + "decl %0\n" + "2:\ttestb %%al,%%al\n\t" + "jne 1b" + :"=d" (__res):"0" (0),"S" (s),"a" (c)); +return __res; +} + +extern inline int strspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline int strcspn(const char * cs, const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n" + "2:\tdecl %0" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res-cs; +} + +extern inline char * strpbrk(const char * cs,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "movl %%ecx,%%edx\n" + "1:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 2f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 1b\n\t" + "decl %0\n\t" + "jmp 3f\n" + "2:\txorl %0,%0\n" + "3:" + :"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct) + ); +return __res; +} + +extern inline char * strstr(const char * cs,const char * ct) +{ +register char * __res __asm__("ax"); +__asm__("cld\n\t" \ + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" /* NOTE! This also sets Z if searchstring='' */ + "movl %%ecx,%%edx\n" + "1:\tmovl %4,%%edi\n\t" + "movl %%esi,%%eax\n\t" + "movl %%edx,%%ecx\n\t" + "repe\n\t" + "cmpsb\n\t" + "je 2f\n\t" /* also works for empty string, see above */ + "xchgl %%eax,%%esi\n\t" + "incl %%esi\n\t" + "cmpb $0,-1(%%eax)\n\t" + "jne 1b\n\t" + "xorl %%eax,%%eax\n\t" + "2:" + :"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct) + ); +return __res; +} + +extern inline int strlen(const char * s) +{ +register int __res ; +__asm__("cld\n\t" + "repne\n\t" + "scasb\n\t" + "notl %0\n\t" + "decl %0" + :"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff)); +return __res; +} + +extern char * ___strtok; + +extern inline char * strtok(char * s,const char * ct) +{ +register char * __res __asm__("si"); +__asm__("testl %1,%1\n\t" + "jne 1f\n\t" + "testl %0,%0\n\t" + "je 8f\n\t" + "movl %0,%1\n" + "1:\txorl %0,%0\n\t" + "movl $-1,%%ecx\n\t" + "xorl %%eax,%%eax\n\t" + "cld\n\t" + "movl %4,%%edi\n\t" + "repne\n\t" + "scasb\n\t" + "notl %%ecx\n\t" + "decl %%ecx\n\t" + "je 7f\n\t" /* empty delimeter-string */ + "movl %%ecx,%%edx\n" + "2:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 7f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "je 2b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 7f\n\t" + "movl %1,%0\n" + "3:\tlodsb\n\t" + "testb %%al,%%al\n\t" + "je 5f\n\t" + "movl %4,%%edi\n\t" + "movl %%edx,%%ecx\n\t" + "repne\n\t" + "scasb\n\t" + "jne 3b\n\t" + "decl %1\n\t" + "cmpb $0,(%1)\n\t" + "je 5f\n\t" + "movb $0,(%1)\n\t" + "incl %1\n\t" + "jmp 6f\n" + "5:\txorl %1,%1\n" + "6:\tcmpb $0,(%0)\n\t" + "jne 7f\n\t" + "xorl %0,%0\n" + "7:\ttestl %0,%0\n\t" + "jne 8f\n\t" + "movl %0,%1\n" + "8:" + :"=b" (__res),"=S" (___strtok) + :"0" (___strtok),"1" (s),"g" (ct) + ); +return __res; +} + +extern inline void * memcpy(void * dest,const void * src, int n) +{ +__asm__("cld\n\t" + "rep\n\t" + "movsb" + ::"c" (n),"S" (src),"D" (dest) + ); +return dest; +} + +extern inline void * memmove(void * dest,const void * src, int n) +{ +if (dest + +struct stat { + dev_t st_dev; + ino_t st_ino; + umode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; + +#define S_IFMT 00170000 +#define S_IFLNK 0120000 +#define S_IFREG 0100000 +#define S_IFBLK 0060000 +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFIFO 0010000 +#define S_ISUID 0004000 +#define S_ISGID 0002000 +#define S_ISVTX 0001000 + +#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) + +#define S_IRWXU 00700 +#define S_IRUSR 00400 +#define S_IWUSR 00200 +#define S_IXUSR 00100 + +#define S_IRWXG 00070 +#define S_IRGRP 00040 +#define S_IWGRP 00020 +#define S_IXGRP 00010 + +#define S_IRWXO 00007 +#define S_IROTH 00004 +#define S_IWOTH 00002 +#define S_IXOTH 00001 + +extern int chmod(const char *_path, mode_t mode); +extern int fstat(int fildes, struct stat *stat_buf); +extern int mkdir(const char *_path, mode_t mode); +extern int mkfifo(const char *_path, mode_t mode); +extern int stat(const char *filename, struct stat *stat_buf); +extern mode_t umask(mode_t mask); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/sys/times.h b/linux-0.11-lab - 副本/0/linux/include/sys/times.h new file mode 100644 index 0000000..68d5bfb --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/sys/times.h @@ -0,0 +1,15 @@ +#ifndef _TIMES_H +#define _TIMES_H + +#include + +struct tms { + time_t tms_utime; + time_t tms_stime; + time_t tms_cutime; + time_t tms_cstime; +}; + +extern time_t times(struct tms * tp); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/sys/types.h b/linux-0.11-lab - 副本/0/linux/include/sys/types.h new file mode 100644 index 0000000..557aa31 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/sys/types.h @@ -0,0 +1,46 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _PTRDIFF_T +#define _PTRDIFF_T +typedef long ptrdiff_t; +#endif + +#ifndef NULL +#define NULL ((void *) 0) +#endif + +typedef int pid_t; +typedef unsigned short uid_t; +typedef unsigned char gid_t; +typedef unsigned short dev_t; +typedef unsigned short ino_t; +typedef unsigned short mode_t; +typedef unsigned short umode_t; +typedef unsigned char nlink_t; +typedef int daddr_t; +typedef long off_t; +typedef unsigned char u_char; +typedef unsigned short ushort; + +typedef struct { int quot,rem; } div_t; +typedef struct { long quot,rem; } ldiv_t; + +struct ustat { + daddr_t f_tfree; + ino_t f_tinode; + char f_fname[6]; + char f_fpack[6]; +}; + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/sys/utsname.h b/linux-0.11-lab - 副本/0/linux/include/sys/utsname.h new file mode 100644 index 0000000..0a1c5a0 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/sys/utsname.h @@ -0,0 +1,16 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#include + +struct utsname { + char sysname[9]; + char nodename[9]; + char release[9]; + char version[9]; + char machine[9]; +}; + +extern int uname(struct utsname * utsbuf); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/sys/wait.h b/linux-0.11-lab - 副本/0/linux/include/sys/wait.h new file mode 100644 index 0000000..53190c2 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/sys/wait.h @@ -0,0 +1,23 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H + +#include + +#define _LOW(v) ( (v) & 0377) +#define _HIGH(v) ( ((v) >> 8) & 0377) + +/* options for waitpid, WUNTRACED not supported */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WIFEXITED(s) (!((s)&0xFF) +#define WIFSTOPPED(s) (((s)&0xFF)==0x7F) +#define WEXITSTATUS(s) (((s)>>8)&0xFF) +#define WTERMSIG(s) ((s)&0x7F) +#define WSTOPSIG(s) (((s)>>8)&0xFF) +#define WIFSIGNALED(s) (((unsigned int)(s)-1 & 0xFFFF) < 0xFF) + +pid_t wait(int *stat_loc); +pid_t waitpid(pid_t pid, int *stat_loc, int options); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/termios.h b/linux-0.11-lab - 副本/0/linux/include/termios.h new file mode 100644 index 0000000..2b7b913 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/termios.h @@ -0,0 +1,228 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#define TTY_BUF_SIZE 1024 + +/* 0x54 is just a magic number to make these relatively uniqe ('T') */ + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCINQ 0x541B + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#define NCCS 17 +struct termios { + unsigned long c_iflag; /* input mode flags */ + unsigned long c_oflag; /* output mode flags */ + unsigned long c_cflag; /* control mode flags */ + unsigned long c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 + +/* c_oflag bits */ +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define XTABS 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 + +/* c_cflag bit meaning */ +#define CBAUD 0000017 +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#define EXTA B19200 +#define EXTB B38400 +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define CPARENB 0000400 +#define CPARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 +#define CIBAUD 03600000 /* input baud rate (not used) */ +#define CRTSCTS 020000000000 /* flow control */ + +#define PARENB CPARENB +#define PARODD CPARODD + +/* c_lflag bits */ +#define ISIG 0000001 +#define ICANON 0000002 +#define XCASE 0000004 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define IEXTEN 0100000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +typedef int speed_t; + +extern speed_t cfgetispeed(struct termios *termios_p); +extern speed_t cfgetospeed(struct termios *termios_p); +extern int cfsetispeed(struct termios *termios_p, speed_t speed); +extern int cfsetospeed(struct termios *termios_p, speed_t speed); +extern int tcdrain(int fildes); +extern int tcflow(int fildes, int action); +extern int tcflush(int fildes, int queue_selector); +extern int tcgetattr(int fildes, struct termios *termios_p); +extern int tcsendbreak(int fildes, int duration); +extern int tcsetattr(int fildes, int optional_actions, + struct termios *termios_p); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/time.h b/linux-0.11-lab - 副本/0/linux/include/time.h new file mode 100644 index 0000000..d0a765d --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/time.h @@ -0,0 +1,42 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifndef _TIME_T +#define _TIME_T +typedef long time_t; +#endif + +#ifndef _SIZE_T +#define _SIZE_T +typedef unsigned int size_t; +#endif + +#define CLOCKS_PER_SEC 100 + +typedef long clock_t; + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + +clock_t clock(void); +time_t time(time_t * tp); +double difftime(time_t time2, time_t time1); +time_t mktime(struct tm * tp); + +char * asctime(const struct tm * tp); +char * ctime(const time_t * tp); +struct tm * gmtime(const time_t *tp); +struct tm *localtime(const time_t * tp); +size_t strftime(char * s, size_t smax, const char * fmt, const struct tm * tp); +void tzset(void); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/unistd.h b/linux-0.11-lab - 副本/0/linux/include/unistd.h new file mode 100644 index 0000000..dcbc754 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/unistd.h @@ -0,0 +1,269 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +/* ok, this may be a joke, but I'm working on it */ +#define _POSIX_VERSION 198808L + +#define _POSIX_CHOWN_RESTRICTED /* only root can do a chown (I think..) */ +#define _POSIX_NO_TRUNC /* no pathname truncation (but see in kernel) */ +#define _POSIX_VDISABLE '\0' /* character to disable things like ^C */ +/*#define _POSIX_SAVED_IDS */ /* we'll get to this yet */ +/*#define _POSIX_JOB_CONTROL */ /* we aren't there quite yet. Soon hopefully */ + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifndef NULL +#define NULL ((void *)0) +#endif + +/* access */ +#define F_OK 0 +#define X_OK 1 +#define W_OK 2 +#define R_OK 4 + +/* lseek */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +/* _SC stands for System Configuration. We don't use them much */ +#define _SC_ARG_MAX 1 +#define _SC_CHILD_MAX 2 +#define _SC_CLOCKS_PER_SEC 3 +#define _SC_NGROUPS_MAX 4 +#define _SC_OPEN_MAX 5 +#define _SC_JOB_CONTROL 6 +#define _SC_SAVED_IDS 7 +#define _SC_VERSION 8 + +/* more (possibly) configurable things - now pathnames */ +#define _PC_LINK_MAX 1 +#define _PC_MAX_CANON 2 +#define _PC_MAX_INPUT 3 +#define _PC_NAME_MAX 4 +#define _PC_PATH_MAX 5 +#define _PC_PIPE_BUF 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_CHOWN_RESTRICTED 9 + +#include +#include +#include +#include + +#ifdef __LIBRARY__ + +#define __NR_setup 0 /* used only by init, to get system going */ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_break 17 +#define __NR_stat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_fstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_phys 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_uname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_lstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define _syscall0(type,name) \ +type name(void) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name)); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall1(type,name,atype,a) \ +type name(atype a) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall2(type,name,atype,a,btype,b) \ +type name(atype a,btype b) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b))); \ +if (__res >= 0) \ + return (type) __res; \ +errno = -__res; \ +return -1; \ +} + +#define _syscall3(type,name,atype,a,btype,b,ctype,c) \ +type name(atype a,btype b,ctype c) \ +{ \ +long __res; \ +__asm__ volatile ("int $0x80" \ + : "=a" (__res) \ + : "0" (__NR_##name),"b" ((long)(a)),"c" ((long)(b)),"d" ((long)(c))); \ +if (__res>=0) \ + return (type) __res; \ +errno=-__res; \ +return -1; \ +} + +#endif /* __LIBRARY__ */ + +extern int errno; + +int access(const char * filename, mode_t mode); +int acct(const char * filename); +int alarm(int sec); +int brk(void * end_data_segment); +void * sbrk(ptrdiff_t increment); +int chdir(const char * filename); +int chmod(const char * filename, mode_t mode); +int chown(const char * filename, uid_t owner, gid_t group); +int chroot(const char * filename); +int close(int fildes); +int creat(const char * filename, mode_t mode); +int dup(int fildes); +int execve(const char * filename, char ** argv, char ** envp); +int execv(const char * pathname, char ** argv); +int execvp(const char * file, char ** argv); +int execl(const char * pathname, char * arg0, ...); +int execlp(const char * file, char * arg0, ...); +int execle(const char * pathname, char * arg0, ...); +volatile void exit(int status); +volatile void _exit(int status); +int fcntl(int fildes, int cmd, ...); +int fork(void); +int getpid(void); +int getuid(void); +int geteuid(void); +int getgid(void); +int getegid(void); +int ioctl(int fildes, int cmd, ...); +int kill(pid_t pid, int signal); +int link(const char * filename1, const char * filename2); +int lseek(int fildes, off_t offset, int origin); +int mknod(const char * filename, mode_t mode, dev_t dev); +int mount(const char * specialfile, const char * dir, int rwflag); +int nice(int val); +int open(const char * filename, int flag, ...); +int pause(void); +int pipe(int * fildes); +int read(int fildes, char * buf, off_t count); +int setpgrp(void); +int setpgid(pid_t pid,pid_t pgid); +int setuid(uid_t uid); +int setgid(gid_t gid); +void (*signal(int sig, void (*fn)(int)))(int); +int stat(const char * filename, struct stat * stat_buf); +int fstat(int fildes, struct stat * stat_buf); +int stime(time_t * tptr); +int sync(void); +time_t time(time_t * tloc); +time_t times(struct tms * tbuf); +int ulimit(int cmd, long limit); +mode_t umask(mode_t mask); +int umount(const char * specialfile); +int uname(struct utsname * name); +int unlink(const char * filename); +int ustat(dev_t dev, struct ustat * ubuf); +int utime(const char * filename, struct utimbuf * times); +pid_t waitpid(pid_t pid,int * wait_stat,int options); +pid_t wait(int * wait_stat); +int write(int fildes, const char * buf, off_t count); +int dup2(int oldfd, int newfd); +int getppid(void); +pid_t getpgrp(void); +pid_t setsid(void); + +#define __always_inline inline __attribute__((always_inline)) + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/include/utime.h b/linux-0.11-lab - 副本/0/linux/include/utime.h new file mode 100644 index 0000000..83f07c7 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/include/utime.h @@ -0,0 +1,13 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#include /* I know - shouldn't do this, but .. */ + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +extern int utime(const char *filename, struct utimbuf *times); + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/init/main.c b/linux-0.11-lab - 副本/0/linux/init/main.c new file mode 100644 index 0000000..0892fdc --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/init/main.c @@ -0,0 +1,210 @@ +/* + * linux/init/main.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include +#include + +/* + * we need this inline - forking from kernel space will result + * in NO COPY ON WRITE (!!!), until an execve is executed. This + * is no problem, but for the stack. This is handled by not letting + * main() use the stack at all after fork(). Thus, no function + * calls - which means inline code for fork too, as otherwise we + * would use the stack upon exit from 'fork()'. + * + * Actually only pause and fork are needed inline, so that there + * won't be any messing with the stack from main(), but we define + * some others too. + */ + +__always_inline _syscall0(int,fork) +__always_inline _syscall0(int,pause) +__always_inline _syscall1(int,setup,void *,BIOS) +__always_inline _syscall0(int,sync) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +static char printbuf[1024]; + +extern int vsprintf(); +extern void init(void); +extern void blk_dev_init(void); +extern void chr_dev_init(void); +extern void hd_init(void); +extern void floppy_init(void); +extern void mem_init(long start, long end); +extern long rd_init(long mem_start, int length); +extern long kernel_mktime(struct tm * tm); +extern long startup_time; + +/* + * This is set up by the setup-routine at boot-time + */ +#define EXT_MEM_K (*(unsigned short *)0x90002) +#define DRIVE_INFO (*(struct drive_info *)0x90080) +#define ORIG_ROOT_DEV (*(unsigned short *)0x901FC) + +/* + * Yeah, yeah, it's ugly, but I cannot find how to do this correctly + * and this seems to work. I anybody has more info on the real-time + * clock I'd be interested. Most of this was trial and error, and some + * bios-listing reading. Urghh. + */ + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) + +static void time_init(void) +{ + struct tm time; + + do { + time.tm_sec = CMOS_READ(0); + time.tm_min = CMOS_READ(2); + time.tm_hour = CMOS_READ(4); + time.tm_mday = CMOS_READ(7); + time.tm_mon = CMOS_READ(8); + time.tm_year = CMOS_READ(9); + } while (time.tm_sec != CMOS_READ(0)); + BCD_TO_BIN(time.tm_sec); + BCD_TO_BIN(time.tm_min); + BCD_TO_BIN(time.tm_hour); + BCD_TO_BIN(time.tm_mday); + BCD_TO_BIN(time.tm_mon); + BCD_TO_BIN(time.tm_year); + time.tm_mon--; + startup_time = kernel_mktime(&time); +} + +static long memory_end = 0; +static long buffer_memory_end = 0; +static long main_memory_start = 0; + +struct drive_info { char dummy[32]; } drive_info; + +void main(void) /* This really IS void, no error here. */ +{ /* The startup routine assumes (well, ...) this */ +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + ROOT_DEV = ORIG_ROOT_DEV; + __asm__ volatile ("cld"); /* by wyj */ + drive_info = DRIVE_INFO; + memory_end = (1<<20) + (EXT_MEM_K<<10); + memory_end &= 0xfffff000; + if (memory_end > 16*1024*1024) + memory_end = 16*1024*1024; + if (memory_end > 12*1024*1024) + buffer_memory_end = 4*1024*1024; + else if (memory_end > 6*1024*1024) + buffer_memory_end = 2*1024*1024; + else + buffer_memory_end = 1*1024*1024; + main_memory_start = buffer_memory_end; +#ifdef RAMDISK + main_memory_start += rd_init(main_memory_start, RAMDISK*1024); +#endif + mem_init(main_memory_start,memory_end); + trap_init(); + blk_dev_init(); + chr_dev_init(); + tty_init(); + time_init(); + sched_init(); + buffer_init(buffer_memory_end); + hd_init(); + floppy_init(); + sti(); + move_to_user_mode(); + if (!fork()) { /* we count on this going ok */ + init(); + } +/* + * NOTE!! For any other task 'pause()' would mean we have to get a + * signal to awaken, but task0 is the sole exception (see 'schedule()') + * as task 0 gets activated at every idle moment (when no other tasks + * can run). For task0 'pause()' just means we go check if some other + * task can run, and if not we return here. + */ + for(;;) pause(); +} + +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; +} + +static char * argv_rc[] = { "/bin/sh", NULL }; +static char * envp_rc[] = { "HOME=/", NULL, NULL }; + +static char * argv[] = { "-/bin/sh",NULL }; +static char * envp[] = { "HOME=/usr/root", NULL, NULL }; + +void init(void) +{ + int pid,i; + + setup((void *) &drive_info); + (void) open("/dev/tty0",O_RDWR,0); + (void) dup(0); + (void) dup(0); + printf("%d buffers = %d bytes buffer space\n\r",NR_BUFFERS, + NR_BUFFERS*BLOCK_SIZE); + printf("Free mem: %d bytes\n\r",memory_end-main_memory_start); + 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\r\n"); + continue; + } + if (!pid) { + close(0);close(1);close(2); + setsid(); + (void) open("/dev/tty0",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); /* NOTE! _exit, not exit() */ +} diff --git a/linux-0.11-lab - 副本/0/linux/init/main.o b/linux-0.11-lab - 副本/0/linux/init/main.o new file mode 100644 index 0000000000000000000000000000000000000000..20bade066c6c637fb950d7858a4e12b8dcd54564 GIT binary patch literal 9040 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 UIUey|!5+cgf` tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + (cd chr_drv; make dep) + (cd blk_drv; make dep) + +### Dependencies: +exit.s exit.o : exit.c ../include/errno.h ../include/signal.h \ + ../include/sys/types.h ../include/sys/wait.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/linux/mm.h \ + ../include/linux/kernel.h ../include/linux/tty.h ../include/termios.h \ + ../include/asm/segment.h +fork.s fork.o : fork.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/segment.h ../include/asm/system.h +mktime.s mktime.o : mktime.c ../include/time.h +panic.s panic.o : panic.c ../include/linux/kernel.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h +printk.s printk.o : printk.c ../include/stdarg.h ../include/stddef.h \ + ../include/linux/kernel.h +sched.s sched.o : sched.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/linux/sys.h \ + ../include/linux/fdreg.h ../include/asm/system.h ../include/asm/io.h \ + ../include/asm/segment.h +signal.s signal.o : signal.c ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/sys/types.h ../include/linux/mm.h \ + ../include/signal.h ../include/linux/kernel.h ../include/asm/segment.h +sys.s sys.o : sys.c ../include/errno.h ../include/linux/sched.h \ + ../include/linux/head.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/tty.h \ + ../include/termios.h ../include/linux/kernel.h ../include/asm/segment.h \ + ../include/sys/times.h ../include/sys/utsname.h +traps.s traps.o : traps.c ../include/string.h ../include/linux/head.h \ + ../include/linux/sched.h ../include/linux/fs.h ../include/sys/types.h \ + ../include/linux/mm.h ../include/signal.h ../include/linux/kernel.h \ + ../include/asm/system.h ../include/asm/segment.h ../include/asm/io.h +vsprintf.s vsprintf.o : vsprintf.c ../include/stdarg.h ../include/string.h diff --git a/linux-0.11-lab - 副本/0/linux/kernel/asm.o b/linux-0.11-lab - 副本/0/linux/kernel/asm.o new file mode 100644 index 0000000000000000000000000000000000000000..a89ec75e6e7dea54ae5b8d9b94ba28158b48a77f GIT binary patch literal 1740 zcma)+O=uHQ5XWcRv}sSZ2!7VKN<_gLTB@F^9;`i75B*Zxid{F^*K{@67k4+Yil|sH zrv|)<7wbhmD2RBl?IjkWde90*5b+=$0#XkiyeY()eY^2xiRgpv|Nnb$W-{}d&9$S) z`xHe1e<@H4e+Zz*gMDtmZfJlym?EDGMTQ55PMti_THiEx4rWIp9YYK2@F4#&zm)${ zdN=d3q3K?@?aYKaK6ZL^#Z6j!Eo4c^qL61o9t*iIN>a0?YOGAXEIm;+mxxDna!+$#}~zPg>(|qFzDh#3ziNdZhm7_Gt$HGtt5$ zJb2(2L6$5XS6!9gLaHZMBo4WC>dM&)G@;K)yrt}^F9miX@AvkI_oDBSxC{Lei4UOf zm-sOHL5cg&k4j8uHzb}wuS$Fw{k+6C(HA7XgML}!hv?r*yy$rny5~3eqzG`)Jgcaa zE(!kRc@m2M7T_NN{u$t~^pB$a<^Z<^_)viR13VsJBf!@Kd@I0Ua+O&Yx70Y-8Aw() zvWCvYA?PfYNr0I$z%ZR|;8|u(Ciz8(@r %eax + xchgl %ebx,(%esp) # &function <-> %ebx + pushl %ecx + pushl %edx + pushl %edi + pushl %esi + pushl %ebp + push %ds + push %es + push %fs + pushl %eax # error code + lea 44(%esp),%eax # offset + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + mov %ax,%fs + call *%ebx + addl $8,%esp + pop %fs + pop %es + pop %ds + popl %ebp + popl %esi + popl %edi + popl %edx + popl %ecx + popl %ebx + popl %eax + iret + +invalid_TSS: + pushl $do_invalid_TSS + jmp error_code + +segment_not_present: + pushl $do_segment_not_present + jmp error_code + +stack_segment: + pushl $do_stack_segment + jmp error_code + +general_protection: + pushl $do_general_protection + jmp error_code + diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/Makefile b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/Makefile new file mode 100644 index 0000000..1fb57f9 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/Makefile @@ -0,0 +1,58 @@ +# +# Makefile for the FREAX-kernel block device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = ll_rw_blk.o floppy.o hd.o ramdisk.o + +blk_drv.a: $(OBJS) + $(AR) rcs blk_drv.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +floppy.s floppy.o : floppy.c ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/fdreg.h ../../include/asm/system.h \ + ../../include/asm/io.h ../../include/asm/segment.h blk.h +hd.s hd.o : hd.c ../../include/linux/config.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/linux/hdreg.h \ + ../../include/asm/system.h ../../include/asm/io.h \ + ../../include/asm/segment.h blk.h +ll_rw_blk.s ll_rw_blk.o : ll_rw_blk.c ../../include/errno.h ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/kernel.h ../../include/asm/system.h blk.h diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk.h b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk.h new file mode 100644 index 0000000..7a69b71 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk.h @@ -0,0 +1,140 @@ +#ifndef _BLK_H +#define _BLK_H + +#define NR_BLK_DEV 7 +/* + * NR_REQUEST is the number of entries in the request-queue. + * NOTE that writes may use only the low 2/3 of these: reads + * take precedence. + * + * 32 seems to be a reasonable number: enough to get some benefit + * from the elevator-mechanism, but not so much as to lock a lot of + * buffers when they are in the queue. 64 seems to be too many (easily + * long pauses in reading when heavy writing/syncing is going on) + */ +#define NR_REQUEST 32 + +/* + * Ok, this is an expanded form so that we can use the same + * request for paging requests when that is implemented. In + * paging, 'bh' is NULL, and 'waiting' is used to wait for + * read/write completion. + */ +struct request { + int dev; /* -1 if no request */ + int cmd; /* READ or WRITE */ + int errors; + unsigned long sector; + unsigned long nr_sectors; + char * buffer; + struct task_struct * waiting; + struct buffer_head * bh; + struct request * next; +}; + +/* + * This is used in the elevator algorithm: Note that + * reads always go before writes. This is natural: reads + * are much more time-critical than writes. + */ +#define IN_ORDER(s1,s2) \ +((s1)->cmd<(s2)->cmd || (s1)->cmd==(s2)->cmd && \ +((s1)->dev < (s2)->dev || ((s1)->dev == (s2)->dev && \ +(s1)->sector < (s2)->sector))) + +struct blk_dev_struct { + void (*request_fn)(void); + struct request * current_request; +}; + +extern struct blk_dev_struct blk_dev[NR_BLK_DEV]; +extern struct request request[NR_REQUEST]; +extern struct task_struct * wait_for_request; + +#ifdef MAJOR_NR + +/* + * Add entries as needed. Currently the only block devices + * supported are hard-disks and floppies. + */ + +#if (MAJOR_NR == 1) +/* ram disk */ +#define DEVICE_NAME "ramdisk" +#define DEVICE_REQUEST do_rd_request +#define DEVICE_NR(device) ((device) & 7) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR == 2) +/* floppy */ +#define DEVICE_NAME "floppy" +#define DEVICE_INTR do_floppy +#define DEVICE_REQUEST do_fd_request +#define DEVICE_NR(device) ((device) & 3) +#define DEVICE_ON(device) floppy_on(DEVICE_NR(device)) +#define DEVICE_OFF(device) floppy_off(DEVICE_NR(device)) + +#elif (MAJOR_NR == 3) +/* harddisk */ +#define DEVICE_NAME "harddisk" +#define DEVICE_INTR do_hd +#define DEVICE_REQUEST do_hd_request +#define DEVICE_NR(device) (MINOR(device)/5) +#define DEVICE_ON(device) +#define DEVICE_OFF(device) + +#elif (MAJOR_NR > 3) +/* unknown blk device */ +#error "unknown blk device" + +#endif + +#define CURRENT (blk_dev[MAJOR_NR].current_request) +#define CURRENT_DEV DEVICE_NR(CURRENT->dev) + +#ifdef DEVICE_INTR +void (*DEVICE_INTR)(void) = NULL; +#endif +static void (DEVICE_REQUEST)(void); + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk(DEVICE_NAME ": free buffer being unlocked\n"); + bh->b_lock=0; + wake_up(&bh->b_wait); +} + +static inline void end_request(int uptodate) +{ + DEVICE_OFF(CURRENT->dev); + if (CURRENT->bh) { + CURRENT->bh->b_uptodate = uptodate; + unlock_buffer(CURRENT->bh); + } + if (!uptodate) { + printk(DEVICE_NAME " I/O error\n\r"); + printk("dev %04x, block %d\n\r",CURRENT->dev, + CURRENT->bh->b_blocknr); + } + wake_up(&CURRENT->waiting); + wake_up(&wait_for_request); + CURRENT->dev = -1; + CURRENT = CURRENT->next; +} + +#define INIT_REQUEST \ +repeat: \ + if (!CURRENT) \ + return; \ + if (MAJOR(CURRENT->dev) != MAJOR_NR) \ + panic(DEVICE_NAME ": request list destroyed"); \ + if (CURRENT->bh) { \ + if (!CURRENT->bh->b_lock) \ + panic(DEVICE_NAME ": block not locked"); \ + } + +#endif + +#endif diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk_drv.a b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/blk_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..02751f123aa0c72fe90e820ca24599de825468be GIT binary patch literal 52212 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 +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 2 +#include "blk.h" + +static int recalibrate = 0; +static int reset = 0; +static int seek = 0; + +extern unsigned char current_DOR; + +#define immoutb_p(val,port) \ +__asm__("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:"::"a" ((char) (val)),"i" (port)) + +#define TYPE(x) ((x)>>2) +#define DRIVE(x) ((x)&0x03) +/* + * Note that MAX_ERRORS=8 doesn't imply that we retry every bad read + * max 8 times - some types of errors increase the errorcount by 2, + * so we might actually retry only 5-6 times before giving up. + */ +#define MAX_ERRORS 8 + +/* + * globals used by 'result()' + */ +#define MAX_REPLIES 7 +static unsigned char reply_buffer[MAX_REPLIES]; +#define ST0 (reply_buffer[0]) +#define ST1 (reply_buffer[1]) +#define ST2 (reply_buffer[2]) +#define ST3 (reply_buffer[3]) + +/* + * This struct defines the different floppy types. Unlike minix + * linux doesn't have a "search for right type"-type, as the code + * for that is convoluted and weird. I've got enough problems with + * this driver as it is. + * + * The 'stretch' tells if the tracks need to be boubled for some + * types (ie 360kB diskette in 1.2MB drive etc). Others should + * be self-explanatory. + */ +static struct floppy_struct { + unsigned int size, sect, head, track, stretch; + unsigned char gap,rate,spec1; +} floppy_type[] = { + { 0, 0,0, 0,0,0x00,0x00,0x00 }, /* no testing */ + { 720, 9,2,40,0,0x2A,0x02,0xDF }, /* 360kB PC diskettes */ + { 2400,15,2,80,0,0x1B,0x00,0xDF }, /* 1.2 MB AT-diskettes */ + { 720, 9,2,40,1,0x2A,0x02,0xDF }, /* 360kB in 720kB drive */ + { 1440, 9,2,80,0,0x2A,0x02,0xDF }, /* 3.5" 720kB diskette */ + { 720, 9,2,40,1,0x23,0x01,0xDF }, /* 360kB in 1.2MB drive */ + { 1440, 9,2,80,0,0x23,0x01,0xDF }, /* 720kB in 1.2MB drive */ + { 2880,18,2,80,0,0x1B,0x00,0xCF }, /* 1.44MB diskette */ +}; +/* + * Rate is 0 for 500kb/s, 2 for 300kbps, 1 for 250kbps + * Spec1 is 0xSH, where S is stepping rate (F=1ms, E=2ms, D=3ms etc), + * H is head unload time (1=16ms, 2=32ms, etc) + * + * Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms etc) + * and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA). + */ + +extern void floppy_interrupt(void); +extern char tmp_floppy_area[1024]; + +/* + * These are global variables, as that's the easiest way to give + * information to interrupts. They are the data used for the current + * request. + */ +static int cur_spec1 = -1; +static int cur_rate = -1; +static struct floppy_struct * floppy = floppy_type; +static unsigned char current_drive = 0; +static unsigned char sector = 0; +static unsigned char head = 0; +static unsigned char track = 0; +static unsigned char seek_track = 0; +static unsigned char current_track = 255; +static unsigned char command = 0; +unsigned char selected = 0; +struct task_struct * wait_on_floppy_select = NULL; + +void floppy_deselect(unsigned int nr) +{ + if (nr != (current_DOR & 3)) + printk("floppy_deselect: drive not selected\n\r"); + selected = 0; + wake_up(&wait_on_floppy_select); +} + +/* + * floppy-change is never called from an interrupt, so we can relax a bit + * here, sleep etc. Note that floppy-on tries to set current_DOR to point + * to the desired drive, but it will probably not survive the sleep if + * several floppies are used at the same time: thus the loop. + */ +int floppy_change(unsigned int nr) +{ +repeat: + floppy_on(nr); + while ((current_DOR & 3) != nr && selected) + interruptible_sleep_on(&wait_on_floppy_select); + if ((current_DOR & 3) != nr) + goto repeat; + if (inb(FD_DIR) & 0x80) { + floppy_off(nr); + return 1; + } + floppy_off(nr); + return 0; +} + +#define copy_buffer(from,to) \ +__asm__("cld ; rep ; movsl" \ + ::"c" (BLOCK_SIZE/4),"S" ((long)(from)),"D" ((long)(to)) \ + ) + +static void setup_DMA(void) +{ + long addr = (long) CURRENT->buffer; + + cli(); + if (addr >= 0x100000) { + addr = (long) tmp_floppy_area; + if (command == FD_WRITE) + copy_buffer(CURRENT->buffer,tmp_floppy_area); + } +/* mask DMA 2 */ + immoutb_p(4|2,10); +/* output command byte. I don't know why, but everyone (minix, */ +/* sanches & canton) output this twice, first to 12 then to 11 */ + __asm__("outb %%al,$12\n\tjmp 1f\n1:\tjmp 1f\n1:\t" + "outb %%al,$11\n\tjmp 1f\n1:\tjmp 1f\n1:":: + "a" ((char) ((command == FD_READ)?DMA_READ:DMA_WRITE))); +/* 8 low bits of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 8-15 of addr */ + immoutb_p(addr,4); + addr >>= 8; +/* bits 16-19 of addr */ + immoutb_p(addr,0x81); +/* low 8 bits of count-1 (1024-1=0x3ff) */ + immoutb_p(0xff,5); +/* high 8 bits of count-1 */ + immoutb_p(3,5); +/* activate DMA 2 */ + immoutb_p(0|2,10); + sti(); +} + +static void output_byte(char byte) +{ + int counter; + unsigned char status; + + if (reset) + return; + for(counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS) & (STATUS_READY | STATUS_DIR); + if (status == STATUS_READY) { + outb(byte,FD_DATA); + return; + } + } + reset = 1; + printk("Unable to send byte to FDC\n\r"); +} + +static int result(void) +{ + int i = 0, counter, status; + + if (reset) + return -1; + for (counter = 0 ; counter < 10000 ; counter++) { + status = inb_p(FD_STATUS)&(STATUS_DIR|STATUS_READY|STATUS_BUSY); + if (status == STATUS_READY) + return i; + if (status == (STATUS_DIR|STATUS_READY|STATUS_BUSY)) { + if (i >= MAX_REPLIES) + break; + reply_buffer[i++] = inb_p(FD_DATA); + } + } + reset = 1; + printk("Getstatus times out\n\r"); + return -1; +} + +static void bad_flp_intr(void) +{ + CURRENT->errors++; + if (CURRENT->errors > MAX_ERRORS) { + floppy_deselect(current_drive); + end_request(0); + } + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; + else + recalibrate = 1; +} + +/* + * Ok, this interrupt is called after a DMA read/write has succeeded, + * so we check the results, and copy any buffers. + */ +static void rw_interrupt(void) +{ + if (result() != 7 || (ST0 & 0xf8) || (ST1 & 0xbf) || (ST2 & 0x73)) { + if (ST1 & 0x02) { + printk("Drive %d is write protected\n\r",current_drive); + floppy_deselect(current_drive); + end_request(0); + } else + bad_flp_intr(); + do_fd_request(); + return; + } + if (command == FD_READ && (unsigned long)(CURRENT->buffer) >= 0x100000) + copy_buffer(tmp_floppy_area,CURRENT->buffer); + floppy_deselect(current_drive); + end_request(1); + do_fd_request(); +} + +inline void setup_rw_floppy(void) +{ + setup_DMA(); + do_floppy = rw_interrupt; + output_byte(command); + output_byte(head<<2 | current_drive); + output_byte(track); + output_byte(head); + output_byte(sector); + output_byte(2); /* sector size = 512 */ + output_byte(floppy->sect); + output_byte(floppy->gap); + output_byte(0xFF); /* sector size (0xff when n!=0 ?) */ + if (reset) + do_fd_request(); +} + +/* + * This is the routine called after every seek (or recalibrate) interrupt + * from the floppy controller. Note that the "unexpected interrupt" routine + * also does a recalibrate, but doesn't come here. + */ +static void seek_interrupt(void) +{ +/* sense drive status */ + output_byte(FD_SENSEI); + if (result() != 2 || (ST0 & 0xF8) != 0x20 || ST1 != seek_track) { + bad_flp_intr(); + do_fd_request(); + return; + } + current_track = ST1; + setup_rw_floppy(); +} + +/* + * This routine is called when everything should be correctly set up + * for the transfer (ie floppy motor is on and the correct floppy is + * selected). + */ +static void transfer(void) +{ + if (cur_spec1 != floppy->spec1) { + cur_spec1 = floppy->spec1; + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + } + if (cur_rate != floppy->rate) + outb_p(cur_rate = floppy->rate,FD_DCR); + if (reset) { + do_fd_request(); + return; + } + if (!seek) { + setup_rw_floppy(); + return; + } + do_floppy = seek_interrupt; + if (seek_track) { + output_byte(FD_SEEK); + output_byte(head<<2 | current_drive); + output_byte(seek_track); + } else { + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + } + if (reset) + do_fd_request(); +} + +/* + * Special case - used after a unexpected interrupt (or reset) + */ +static void recal_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 0; + do_fd_request(); +} + +void unexpected_floppy_interrupt(void) +{ + output_byte(FD_SENSEI); + if (result()!=2 || (ST0 & 0xE0) == 0x60) + reset = 1; + else + recalibrate = 1; +} + +static void recalibrate_floppy(void) +{ + recalibrate = 0; + current_track = 0; + current_drive = 1; /* by wyj, ?? */ + do_floppy = recal_interrupt; + output_byte(FD_RECALIBRATE); + output_byte(head<<2 | current_drive); + if (reset) + do_fd_request(); +} + +static void reset_interrupt(void) +{ + output_byte(FD_SENSEI); + (void) result(); + output_byte(FD_SPECIFY); + output_byte(cur_spec1); /* hut etc */ + output_byte(6); /* Head load time =6ms, DMA */ + do_fd_request(); +} + +/* + * reset is done by pulling bit 2 of DOR low for a while. + */ +static void reset_floppy(void) +{ + int i; + + reset = 0; + cur_spec1 = -1; + cur_rate = -1; + recalibrate = 1; + printk("Reset-floppy called\n\r"); + cli(); + do_floppy = reset_interrupt; + outb_p(current_DOR & ~0x04,FD_DOR); + for (i=0 ; i<100 ; i++) + __asm__("nop"); + outb(current_DOR,FD_DOR); + sti(); +} + +static void floppy_on_interrupt(void) +{ +/* We cannot do a floppy-select, as that might sleep. We just force it */ + selected = 1; + if (current_drive != (current_DOR & 3)) { + current_DOR &= 0xFC; + current_DOR |= current_drive; + outb(current_DOR,FD_DOR); + add_timer(2,&transfer); + } else + transfer(); +} + +void do_fd_request(void) +{ + unsigned int block; + + seek = 0; + if (reset) { + reset_floppy(); + return; + } + if (recalibrate) { + recalibrate_floppy(); + return; + } + INIT_REQUEST; + floppy = (MINOR(CURRENT->dev)>>2) + floppy_type; + if (current_drive != CURRENT_DEV) + seek = 1; + current_drive = CURRENT_DEV; + block = CURRENT->sector; + if (block+2 > floppy->size) { + end_request(0); + goto repeat; + } + sector = block % floppy->sect; + block /= floppy->sect; + head = block % floppy->head; + track = block / floppy->head; + seek_track = track << floppy->stretch; + if (seek_track != current_track) + seek = 1; + sector++; + if (CURRENT->cmd == READ) + command = FD_READ; + else if (CURRENT->cmd == WRITE) + command = FD_WRITE; + else + panic("do_fd_request: unknown command"); + add_timer(ticks_to_floppy_on(current_drive),&floppy_on_interrupt); +} + +void floppy_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_trap_gate(0x26,&floppy_interrupt); + outb(inb_p(0x21)&~0x40,0x21); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/floppy.o b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/floppy.o new file mode 100644 index 0000000000000000000000000000000000000000..33235bcdcc660371f0cfe6077089e24f2a1c3a96 GIT binary patch literal 16612 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.c b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.c new file mode 100644 index 0000000..c0e908f --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.c @@ -0,0 +1,351 @@ +/* + * linux/kernel/hd.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This is the low-level hd interrupt support. It traverses the + * request-list, using interrupts to jump between functions. As + * all the functions are called within interrupts, we may not + * sleep. Special care is recommended. + * + * modified by Drew Eckhardt to check nr of hd's from the CMOS. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 3 +#include "blk.h" + +#define CMOS_READ(addr) ({ \ +outb_p(0x80|addr,0x70); \ +inb_p(0x71); \ +}) + +/* Max read/write errors/sector */ +#define MAX_ERRORS 7 +#define MAX_HD 2 + +static void recal_intr(void); + +static int recalibrate = 0; /* 1, wen */ +static int reset = 0; + +/* + * This struct defines the HD's and their types. + */ +struct hd_i_struct { + int head,sect,cyl,wpcom,lzone,ctl; + }; +#ifdef HD_TYPE +struct hd_i_struct hd_info[] = { HD_TYPE }; +#define NR_HD ((sizeof (hd_info))/(sizeof (struct hd_i_struct))) +#else +struct hd_i_struct hd_info[] = { {0,0,0,0,0,0},{0,0,0,0,0,0} }; +static int NR_HD = 0; +#endif + +static struct hd_struct { + long start_sect; + long nr_sects; +} hd[5*MAX_HD]={{0,0},}; + +#define port_read(port,buf,nr) \ +__asm__("cld;rep;insw"::"d" (port),"D" (buf),"c" (nr)) + +#define port_write(port,buf,nr) \ +__asm__("cld;rep;outsw"::"d" (port),"S" (buf),"c" (nr)) + +extern void hd_interrupt(void); +extern void rd_load(void); + +/* This may be used only once, enforced by 'static int callable' */ +int sys_setup(void * BIOS) +{ + static int callable = 1; + int i,drive; + unsigned char cmos_disks; + struct partition *p; + struct buffer_head * bh; + + if (!callable) + return -1; + callable = 0; +#ifndef HD_TYPE + for (drive=0 ; drive<2 ; drive++) { + hd_info[drive].cyl = *(unsigned short *) BIOS; + hd_info[drive].head = *(unsigned char *) (2+BIOS); + hd_info[drive].wpcom = *(unsigned short *) (5+BIOS); + hd_info[drive].ctl = *(unsigned char *) (8+BIOS); + hd_info[drive].lzone = *(unsigned short *) (12+BIOS); + hd_info[drive].sect = *(unsigned char *) (14+BIOS); + BIOS += 16; + } + if (hd_info[1].cyl) + NR_HD=2; + else + NR_HD=1; +#endif + for (i=0 ; i are the primary drives in the system, and + the ones reflected as drive 1 or 2. + + The first drive is stored in the high nibble of CMOS + byte 0x12, the second in the low nibble. This will be + either a 4 bit drive type or 0xf indicating use byte 0x19 + for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS. + + Needless to say, a non-zero value means we have + an AT controller hard disk for that drive. + + + */ + + if ((cmos_disks = CMOS_READ(0x12)) & 0xf0) + if (cmos_disks & 0x0f) + NR_HD = 2; + else + NR_HD = 1; + else + NR_HD = 0; + for (i = NR_HD ; i < 2 ; i++) { + hd[i*5].start_sect = 0; + hd[i*5].nr_sects = 0; + } + for (drive=0 ; driveb_data[510] != 0x55 || (unsigned char) + bh->b_data[511] != 0xAA) { + printk("Bad partition table on drive %d\n\r",drive); + panic(""); + } + p = 0x1BE + (void *)bh->b_data; + for (i=1;i<5;i++,p++) { + hd[i+5*drive].start_sect = p->start_sect; + hd[i+5*drive].nr_sects = p->nr_sects; + } + brelse(bh); + } + if (NR_HD) + printk("Partition table%s ok.\n\r",(NR_HD>1)?"s":""); + rd_load(); + mount_root(); + return (0); +} + +static int controller_ready(void) +{ + /* int retries=10000; */ + int retries=100000; + + /* while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40); */ + while (--retries && (inb_p(HD_STATUS)&0x80)); + return (retries); +} + +static int win_result(void) +{ + int i=inb_p(HD_STATUS); + + if ((i & (BUSY_STAT | READY_STAT | WRERR_STAT | SEEK_STAT | ERR_STAT)) + == (READY_STAT | SEEK_STAT)) + return(0); /* ok */ + if (i&1) i=inb(HD_ERROR); + return (1); +} + +static void hd_out(unsigned int drive,unsigned int nsect,unsigned int sect, + unsigned int head,unsigned int cyl,unsigned int cmd, + void (*intr_addr)(void)) +{ + register int port asm("dx"); + + if (drive>1 || head>15) + panic("Trying to write bad sector"); + if (!controller_ready()) + panic("HD controller not ready"); + do_hd = intr_addr; + outb_p(hd_info[drive].ctl,HD_CMD); + port=HD_DATA; + outb_p(hd_info[drive].wpcom>>2,++port); + outb_p(nsect,++port); + outb_p(sect,++port); + outb_p(cyl,++port); + outb_p(cyl>>8,++port); + outb_p(0xA0|(drive<<4)|head,++port); + outb(cmd,++port); +} + +static int drive_busy(void) +{ + unsigned int i; + + for (i = 0; i < 10000; i++) + if (READY_STAT == (inb_p(HD_STATUS) & (BUSY_STAT|READY_STAT))) + break; + i = inb(HD_STATUS); + i &= BUSY_STAT | READY_STAT | SEEK_STAT; + if (i == READY_STAT | SEEK_STAT) + return(0); + printk("HD controller times out\n\r"); + return(1); +} + +static void reset_controller(void) +{ + int i; + + outb(4,HD_CMD); + for(i = 0; i < 100; i++) nop(); + outb(hd_info[0].ctl & 0x0f ,HD_CMD); + if (drive_busy()) + printk("HD-controller still busy\n\r"); + if ((i = inb(HD_ERROR)) != 1) + printk("HD-controller reset failed: %02x\n\r",i); +} + +static void reset_hd(int nr) +{ + reset_controller(); + hd_out(nr,hd_info[nr].sect,hd_info[nr].sect,hd_info[nr].head-1, + hd_info[nr].cyl,WIN_SPECIFY,&recal_intr); +} + +void unexpected_hd_interrupt(void) +{ + printk("Unexpected HD interrupt\n\r"); +} + +static void bad_rw_intr(void) +{ + if (++CURRENT->errors >= MAX_ERRORS) + end_request(0); + if (CURRENT->errors > MAX_ERRORS/2) + reset = 1; +} + +static void read_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + port_read(HD_DATA,CURRENT->buffer,256); + CURRENT->errors = 0; + CURRENT->buffer += 512; + CURRENT->sector++; + if (--CURRENT->nr_sectors) { + do_hd = &read_intr; + return; + } + end_request(1); + do_hd_request(); +} + +static void write_intr(void) +{ + if (win_result()) { + bad_rw_intr(); + do_hd_request(); + return; + } + if (--CURRENT->nr_sectors) { + CURRENT->sector++; + CURRENT->buffer += 512; + do_hd = &write_intr; + port_write(HD_DATA,CURRENT->buffer,256); + return; + } + end_request(1); + do_hd_request(); +} + +static void recal_intr(void) +{ + if (win_result()) + bad_rw_intr(); + do_hd_request(); +} + +void do_hd_request(void) +{ + int i,r; + unsigned int block,dev; + unsigned int sec,head,cyl; + unsigned int nsect; + + INIT_REQUEST; + dev = MINOR(CURRENT->dev); + block = CURRENT->sector; + if (dev >= 5*NR_HD || block+2 > hd[dev].nr_sects) { + end_request(0); + goto repeat; + } + block += hd[dev].start_sect; + dev /= 5; + __asm__("divl %4":"=a" (block),"=d" (sec):"0" (block),"1" (0), + "r" (hd_info[dev].sect)); + __asm__("divl %4":"=a" (cyl),"=d" (head):"0" (block),"1" (0), + "r" (hd_info[dev].head)); + sec++; + nsect = CURRENT->nr_sectors; + if (reset) { + reset = 0; + recalibrate = 1; + reset_hd(CURRENT_DEV); + return; + } + if (recalibrate) { + recalibrate = 0; + hd_out(dev,hd_info[CURRENT_DEV].sect,0,0,0, + WIN_RESTORE,&recal_intr); + return; + } + if (CURRENT->cmd == WRITE) { + hd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr); + for(i=0 ; i<3000 && !(r=inb_p(HD_STATUS)&DRQ_STAT) ; i++) + /* nothing */ ; + if (!r) { + bad_rw_intr(); + goto repeat; + } + port_write(HD_DATA,CURRENT->buffer,256); + } else if (CURRENT->cmd == READ) { + hd_out(dev,nsect,sec,head,cyl,WIN_READ,&read_intr); + } else + panic("unknown hd-command"); +} + +void hd_init(void) +{ + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + set_intr_gate(0x2E,&hd_interrupt); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xbf,0xA1); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.o b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/hd.o new file mode 100644 index 0000000000000000000000000000000000000000..bf2b0d10bc58477ea1758f63f765ba3eab8d6225 GIT binary patch literal 15520 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ll_rw_blk.c b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ll_rw_blk.c new file mode 100644 index 0000000..f57d998 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ll_rw_blk.c @@ -0,0 +1,165 @@ +/* + * linux/kernel/blk_dev/ll_rw.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This handles all read/write requests to block devices + */ +#include +#include +#include +#include + +#include "blk.h" + +/* + * The request-struct contains all necessary data + * to load a nr of sectors into memory + */ +struct request request[NR_REQUEST]; + +/* + * used to wait on when there are no free requests + */ +struct task_struct * wait_for_request = NULL; + +/* blk_dev_struct is: + * do_request-address + * next-request + */ +struct blk_dev_struct blk_dev[NR_BLK_DEV] = { + { NULL, NULL }, /* no_dev */ + { NULL, NULL }, /* dev mem */ + { NULL, NULL }, /* dev fd */ + { NULL, NULL }, /* dev hd */ + { NULL, NULL }, /* dev ttyx */ + { NULL, NULL }, /* dev tty */ + { NULL, NULL } /* dev lp */ +}; + +static inline void lock_buffer(struct buffer_head * bh) +{ + cli(); + while (bh->b_lock) + sleep_on(&bh->b_wait); + bh->b_lock=1; + sti(); +} + +static inline void unlock_buffer(struct buffer_head * bh) +{ + if (!bh->b_lock) + printk("ll_rw_block.c: buffer not locked\n\r"); + bh->b_lock = 0; + wake_up(&bh->b_wait); +} + +/* + * add-request adds a request to the linked list. + * It disables interrupts so that it can muck with the + * request-lists in peace. + */ +static void add_request(struct blk_dev_struct * dev, struct request * req) +{ + struct request * tmp; + + req->next = NULL; + cli(); + if (req->bh) + req->bh->b_dirt = 0; + if (!(tmp = dev->current_request)) { + dev->current_request = req; + sti(); + (dev->request_fn)(); + return; + } + for ( ; tmp->next ; tmp=tmp->next) + if ((IN_ORDER(tmp,req) || + !IN_ORDER(tmp,tmp->next)) && + IN_ORDER(req,tmp->next)) + break; + req->next=tmp->next; + tmp->next=req; + sti(); +} + +static void make_request(int major,int rw, struct buffer_head * bh) +{ + struct request * req; + int rw_ahead; + +/* WRITEA/READA is special case - it is not really needed, so if the */ +/* buffer is locked, we just forget about it, else it's a normal read */ + if (rw_ahead = (rw == READA || rw == WRITEA)) { + if (bh->b_lock) + return; + if (rw == READA) + rw = READ; + else + rw = WRITE; + } + if (rw!=READ && rw!=WRITE) + panic("Bad block dev command, must be R/W/RA/WA"); + lock_buffer(bh); + if ((rw == WRITE && !bh->b_dirt) || (rw == READ && bh->b_uptodate)) { + unlock_buffer(bh); + return; + } +repeat: +/* we don't allow the write-requests to fill up the queue completely: + * we want some room for reads: they take precedence. The last third + * of the requests are only for reads. + */ + if (rw == READ) + req = request+NR_REQUEST; + else + req = request+((NR_REQUEST*2)/3); +/* find an empty request */ + while (--req >= request) + if (req->dev<0) + break; +/* if none found, sleep on new requests: check for rw_ahead */ + if (req < request) { + if (rw_ahead) { + unlock_buffer(bh); + return; + } + sleep_on(&wait_for_request); + goto repeat; + } +/* fill up the request-info, and add it to the queue */ + req->dev = bh->b_dev; + req->cmd = rw; + req->errors=0; + req->sector = bh->b_blocknr<<1; + req->nr_sectors = 2; + req->buffer = bh->b_data; + req->waiting = NULL; + req->bh = bh; + req->next = NULL; + add_request(major+blk_dev,req); +} + +void ll_rw_block(int rw, struct buffer_head * bh) +{ + unsigned int major; + + if ((major=MAJOR(bh->b_dev)) >= NR_BLK_DEV || + !(blk_dev[major].request_fn)) { + printk("Trying to read nonexistent block-device\n\r"); + return; + } + make_request(major,rw,bh); +} + +void blk_dev_init(void) +{ + int i; + + for (i=0 ; iYkGs}N`|^F* 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 + +#include +#include +#include +#include +#include +#include +#include + +#define MAJOR_NR 1 +#include "blk.h" + +char *rd_start; +int rd_length = 0; + +void do_rd_request(void) +{ + int len; + char *addr; + + INIT_REQUEST; + addr = rd_start + (CURRENT->sector << 9); + len = CURRENT->nr_sectors << 9; + if ((MINOR(CURRENT->dev) != 1) || (addr+len > rd_start+rd_length)) { + end_request(0); + goto repeat; + } + if (CURRENT-> cmd == WRITE) { + (void ) memcpy(addr, + CURRENT->buffer, + len); + } else if (CURRENT->cmd == READ) { + (void) memcpy(CURRENT->buffer, + addr, + len); + } else + panic("unknown ramdisk-command"); + end_request(1); + goto repeat; +} + +/* + * Returns amount of memory which needs to be reserved. + */ +long rd_init(long mem_start, int length) +{ + int i; + char *cp; + + blk_dev[MAJOR_NR].request_fn = DEVICE_REQUEST; + rd_start = (char *) mem_start; + rd_length = length; + cp = rd_start; + for (i=0; i < length; i++) + *cp++ = '\0'; + return(length); +} + +/* + * If the root device is the ram disk, try to load it. + * In order to do this, the root device is originally set to the + * floppy, and we later change it to be ram disk. + */ +void rd_load(void) +{ + struct buffer_head *bh; + struct super_block s; + int block = 256; /* Start at block 256 */ + int i = 1; + int nblocks; + char *cp; /* Move pointer */ + + if (!rd_length) + return; + printk("Ram disk: %d bytes, starting at 0x%x\n", rd_length, + (int) rd_start); + if (MAJOR(ROOT_DEV) != 2) + return; + bh = breada(ROOT_DEV,block+1,block,block+2,-1); + if (!bh) { + printk("Disk error while looking for ramdisk!\n"); + return; + } + __asm__ volatile ("cld"); /* by wyj */ + *((struct d_super_block *) &s) = *((struct d_super_block *) bh->b_data); + brelse(bh); + if (s.s_magic != SUPER_MAGIC) + /* No ram disk image present, assume normal floppy boot */ + return; + nblocks = s.s_nzones << s.s_log_zone_size; + if (nblocks > (rd_length >> BLOCK_SIZE_BITS)) { + printk("Ram disk image too big! (%d blocks, %d avail)\n", + nblocks, rd_length >> BLOCK_SIZE_BITS); + return; + } + printk("Loading %d bytes into ram disk... 0000k", + nblocks << BLOCK_SIZE_BITS); + cp = rd_start; + while (nblocks) { + if (nblocks > 2) + bh = breada(ROOT_DEV, block, block+1, block+2, -1); + else + bh = bread(ROOT_DEV, block); + if (!bh) { + printk("I/O error on block %d, aborting load\n", + block); + return; + } + (void) memcpy(cp, bh->b_data, BLOCK_SIZE); + brelse(bh); + printk("\010\010\010\010\010%4dk",i); + cp += BLOCK_SIZE; + block++; + nblocks--; + i++; + } + printk("\010\010\010\010\010done \n"); + ROOT_DEV=0x0101; +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ramdisk.o b/linux-0.11-lab - 副本/0/linux/kernel/blk_drv/ramdisk.o new file mode 100644 index 0000000000000000000000000000000000000000..d37a922496b20c46741e78e22466958ee16e9dcd GIT binary patch literal 10664 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 azd^gt2s%I$JikGRTt|uA(-65=A^s1$?rygL literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/Makefile b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/Makefile new file mode 100644 index 0000000..9d4d8d1 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/Makefile @@ -0,0 +1,68 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = tty_io.o console.o keyboard.2.o serial.o rs_io.o \ + tty_ioctl.o + +chr_drv.a: $(OBJS) + $(AR) rcs chr_drv.a $(OBJS) + sync + +keyboard.2.s: keyboard.S ../../include/linux/config.h + $(CPP) -traditional keyboard.S -o keyboard.2.s + +clean: + rm -f core *.o *.a tmp_make keyboard.2.s + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +console.s console.o : console.c ../../include/linux/sched.h \ + ../../include/linux/head.h ../../include/linux/fs.h \ + ../../include/sys/types.h ../../include/linux/mm.h ../../include/signal.h \ + ../../include/linux/tty.h ../../include/termios.h ../../include/asm/io.h \ + ../../include/asm/system.h +serial.s serial.o : serial.c ../../include/linux/tty.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/asm/system.h ../../include/asm/io.h +tty_io.s tty_io.o : tty_io.c ../../include/ctype.h ../../include/errno.h \ + ../../include/signal.h ../../include/sys/types.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/linux/mm.h ../../include/linux/tty.h \ + ../../include/termios.h ../../include/asm/segment.h \ + ../../include/asm/system.h +tty_ioctl.s tty_ioctl.o : tty_ioctl.c ../../include/errno.h ../../include/termios.h \ + ../../include/linux/sched.h ../../include/linux/head.h \ + ../../include/linux/fs.h ../../include/sys/types.h ../../include/linux/mm.h \ + ../../include/signal.h ../../include/linux/kernel.h \ + ../../include/linux/tty.h ../../include/asm/io.h \ + ../../include/asm/segment.h ../../include/asm/system.h diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/chr_drv.a b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/chr_drv.a new file mode 100644 index 0000000000000000000000000000000000000000..d2f3869a9d5cd226117476be64275b50d1cf4aa7 GIT binary patch literal 68902 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ਞ(_ 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 E8yu$yWB>pF literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.c b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.c new file mode 100644 index 0000000..a12ffbf --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.c @@ -0,0 +1,710 @@ +/* + * linux/kernel/console.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * console.c + * + * This module implements the console io functions + * 'void con_init(void)' + * 'void con_write(struct tty_queue * queue)' + * Hopefully this will be a rather complete VT102 implementation. + * + * Beeping thanks to John T Kohl. + */ + +/* + * NOTE!!! We sometimes disable and enable interrupts for a short while + * (to put a word in video IO), but this will work even for keyboard + * interrupts. We know interrupts aren't enabled when getting a keyboard + * interrupt, as we use trap-gates. Hopefully all is well. + */ + +/* + * Code to check for different video-cards mostly by Galen Hunt, + * + */ + +#include +#include +#include +#include + +/* + * These are set up by the setup-routine at boot-time: + */ + +#define ORIG_X (*(unsigned char *)0x90000) +#define ORIG_Y (*(unsigned char *)0x90001) +#define ORIG_VIDEO_PAGE (*(unsigned short *)0x90004) +#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff) +#define ORIG_VIDEO_COLS (((*(unsigned short *)0x90006) & 0xff00) >> 8) +#define ORIG_VIDEO_LINES (25) +#define ORIG_VIDEO_EGA_AX (*(unsigned short *)0x90008) +#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a) +#define ORIG_VIDEO_EGA_CX (*(unsigned short *)0x9000c) + +#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ +#define VIDEO_TYPE_CGA 0x11 /* CGA Display */ +#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */ +#define VIDEO_TYPE_EGAC 0x21 /* EGA/VGA in Color Mode */ + +#define NPAR 16 + +extern void keyboard_interrupt(void); + +static unsigned char video_type; /* Type of display being used */ +static unsigned long video_num_columns; /* Number of text columns */ +static unsigned long video_size_row; /* Bytes per row */ +static unsigned long video_num_lines; /* Number of test lines */ +static unsigned char video_page; /* Initial video page */ +static unsigned long video_mem_start; /* Start of video RAM */ +static unsigned long video_mem_end; /* End of video RAM (sort of) */ +static unsigned short video_port_reg; /* Video register select port */ +static unsigned short video_port_val; /* Video register value port */ +static unsigned short video_erase_char; /* Char+Attrib to erase with */ + +static unsigned long origin; /* Used for EGA/VGA fast scroll */ +static unsigned long scr_end; /* Used for EGA/VGA fast scroll */ +static unsigned long pos; +static unsigned long x,y; +static unsigned long top,bottom; +static unsigned long state=0; +static unsigned long npar,par[NPAR]; +static unsigned long ques=0; +static unsigned char attr=0x07; + +static void sysbeep(void); + +/* + * this is what the terminal answers to a ESC-Z or csi0c + * query (= vt100 response). + */ +#define RESPONSE "\033[?1;2c" + +/* NOTE! gotoxy thinks x==video_num_columns is ok */ +static inline void gotoxy(unsigned int new_x,unsigned int new_y) +{ + if (new_x > video_num_columns || new_y >= video_num_lines) + return; + x=new_x; + y=new_y; + pos=origin + y*video_size_row + (x<<1); +} + +static inline void set_origin(void) +{ + cli(); + outb_p(12, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>9), video_port_val); + outb_p(13, video_port_reg); + outb_p(0xff&((origin-video_mem_start)>>1), video_port_val); + sti(); +} + +static void scrup(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + if (!top && bottom == video_num_lines) { + origin += video_size_row; + pos += video_size_row; + scr_end += video_size_row; + if (scr_end > video_mem_end) { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%1\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((video_num_lines-1)*video_num_columns>>1), + "D" (video_mem_start), + "S" (origin) + ); + scr_end -= origin-video_mem_start; + pos -= origin-video_mem_start; + origin = video_mem_start; + } else { + __asm__("cld\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" (video_num_columns), + "D" (scr_end-video_size_row) + ); + } + set_origin(); + } else { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } + } + else /* Not EGA/VGA */ + { + __asm__("cld\n\t" + "rep\n\t" + "movsl\n\t" + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*top), + "S" (origin+video_size_row*(top+1)) + ); + } +} + +static void scrdown(void) +{ + if (video_type == VIDEO_TYPE_EGAC || video_type == VIDEO_TYPE_EGAM) + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } + else /* Not EGA/VGA */ + { + __asm__("std\n\t" + "rep\n\t" + "movsl\n\t" + "addl $2,%%edi\n\t" /* %edi has been decremented by 4 */ + "movl video_num_columns,%%ecx\n\t" + "rep\n\t" + "stosw" + ::"a" (video_erase_char), + "c" ((bottom-top-1)*video_num_columns>>1), + "D" (origin+video_size_row*bottom-4), + "S" (origin+video_size_row*(bottom-1)-4) + ); + } +} + +static void lf(void) +{ + if (y+1top) { + y--; + pos -= video_size_row; + return; + } + scrdown(); +} + +static void cr(void) +{ + pos -= x<<1; + x=0; +} + +static void del(void) +{ + if (x) { + pos -= 2; + x--; + *(unsigned short *)pos = video_erase_char; + } +} + +static void csi_J(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of display */ + count = (scr_end-pos)>>1; + start = pos; + break; + case 1: /* erase from start to cursor */ + count = (pos-origin)>>1; + start = origin; + break; + case 2: /* erase whole display */ + count = video_num_columns * video_num_lines; + start = origin; + break; + default: + return; + } + __asm__("cld\n\t" + "rep\n\t" + "stosw\n\t" + ::"c" (count), + "D" (start),"a" (video_erase_char) + ); +} + +static void csi_K(int par) +{ + long count __asm__("cx"); + long start __asm__("di"); + + switch (par) { + case 0: /* erase from cursor to end of line */ + if (x>=video_num_columns) + return; + count = video_num_columns-x; + start = pos; + break; + case 1: /* erase from start of line to cursor */ + start = pos - (x<<1); + count = (x>9), video_port_val); + outb_p(15, video_port_reg); + outb_p(0xff&((pos-video_mem_start)>>1), video_port_val); + sti(); +} + +static void respond(struct tty_struct * tty) +{ + char * p = RESPONSE; + + cli(); + while (*p) { + PUTCH(*p,tty->read_q); + p++; + } + sti(); + copy_to_cooked(tty); +} + +static void insert_char(void) +{ + int i=x; + unsigned short tmp, old = video_erase_char; + unsigned short * p = (unsigned short *) pos; + + while (i++=video_num_columns) + return; + i = x; + while (++i < video_num_columns) { + *p = *(p+1); + p++; + } + *p = video_erase_char; +} + +static void delete_line(void) +{ + int oldtop,oldbottom; + + oldtop=top; + oldbottom=bottom; + top=y; + bottom = video_num_lines; + scrup(); + top=oldtop; + bottom=oldbottom; +} + +static void csi_at(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + insert_char(); +} + +static void csi_L(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr = 1; + while (nr--) + insert_line(); +} + +static void csi_P(unsigned int nr) +{ + if (nr > video_num_columns) + nr = video_num_columns; + else if (!nr) + nr = 1; + while (nr--) + delete_char(); +} + +static void csi_M(unsigned int nr) +{ + if (nr > video_num_lines) + nr = video_num_lines; + else if (!nr) + nr=1; + while (nr--) + delete_line(); +} + +static int saved_x=0; +static int saved_y=0; + +static void save_cur(void) +{ + saved_x=x; + saved_y=y; +} + +static void restore_cur(void) +{ + gotoxy(saved_x, saved_y); +} + +void con_write(struct tty_struct * tty) +{ + int nr; + char c; + + nr = CHARS(tty->write_q); + while (nr--) { + GETCH(tty->write_q,c); + switch(state) { + case 0: + if (c>31 && c<127) { + if (x>=video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + __asm__("movb attr,%%ah\n\t" + "movw %%ax,%1\n\t" + ::"a" (c),"m" (*(short *)pos) + ); + pos += 2; + x++; + } else if (c==27) + state=1; + else if (c==10 || c==11 || c==12) + lf(); + else if (c==13) + cr(); + else if (c==ERASE_CHAR(tty)) + del(); + else if (c==8) { + if (x) { + x--; + pos -= 2; + } + } else if (c==9) { + c=8-(x&7); + x += c; + pos += c<<1; + if (x>video_num_columns) { + x -= video_num_columns; + pos -= video_size_row; + lf(); + } + c=9; + } else if (c==7) + sysbeep(); + break; + case 1: + state=0; + if (c=='[') + state=2; + else if (c=='E') + gotoxy(0,y+1); + else if (c=='M') + ri(); + else if (c=='D') + lf(); + else if (c=='Z') + respond(tty); + else if (x=='7') + save_cur(); + else if (x=='8') + restore_cur(); + break; + case 2: + for(npar=0;npar='0' && c<='9') { + par[npar]=10*par[npar]+c-'0'; + break; + } else state=4; + case 4: + state=0; + switch(c) { + case 'G': case '`': + if (par[0]) par[0]--; + gotoxy(par[0],y); + break; + case 'A': + if (!par[0]) par[0]++; + gotoxy(x,y-par[0]); + break; + case 'B': case 'e': + if (!par[0]) par[0]++; + gotoxy(x,y+par[0]); + break; + case 'C': case 'a': + if (!par[0]) par[0]++; + gotoxy(x+par[0],y); + break; + case 'D': + if (!par[0]) par[0]++; + gotoxy(x-par[0],y); + break; + case 'E': + if (!par[0]) par[0]++; + gotoxy(0,y+par[0]); + break; + case 'F': + if (!par[0]) par[0]++; + gotoxy(0,y-par[0]); + break; + case 'd': + if (par[0]) par[0]--; + gotoxy(x,par[0]); + break; + case 'H': case 'f': + if (par[0]) par[0]--; + if (par[1]) par[1]--; + gotoxy(par[1],par[0]); + break; + case 'J': + csi_J(par[0]); + break; + case 'K': + csi_K(par[0]); + break; + case 'L': + csi_L(par[0]); + break; + case 'M': + csi_M(par[0]); + break; + case 'P': + csi_P(par[0]); + break; + case '@': + csi_at(par[0]); + break; + case 'm': + csi_m(); + break; + case 'r': + if (par[0]) par[0]--; + if (!par[1]) par[1] = video_num_lines; + if (par[0] < par[1] && + par[1] <= video_num_lines) { + top=par[0]; + bottom=par[1]; + } + break; + case 's': + save_cur(); + break; + case 'u': + restore_cur(); + break; + } + } + } + set_cursor(); +} + +/* + * void con_init(void); + * + * This routine initalizes console interrupts, and does nothing + * else. If you want the screen to clear, call tty_write with + * the appropriate escape-sequece. + * + * Reads the information preserved by setup.s to determine the current display + * type and sets everything accordingly. + */ +void con_init(void) +{ + register unsigned char a; + char *display_desc = "????"; + char *display_ptr; + + video_num_columns = ORIG_VIDEO_COLS; + video_size_row = video_num_columns * 2; + video_num_lines = ORIG_VIDEO_LINES; + video_page = ORIG_VIDEO_PAGE; + video_erase_char = 0x0720; + + if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ + { + video_mem_start = 0xb0000; + video_port_reg = 0x3b4; + video_port_val = 0x3b5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAM; + video_mem_end = 0xb8000; + display_desc = "EGAm"; + } + else + { + video_type = VIDEO_TYPE_MDA; + video_mem_end = 0xb2000; + display_desc = "*MDA"; + } + } + else /* If not, it is color. */ + { + video_mem_start = 0xb8000; + video_port_reg = 0x3d4; + video_port_val = 0x3d5; + if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) + { + video_type = VIDEO_TYPE_EGAC; + video_mem_end = 0xbc000; + display_desc = "EGAc"; + } + else + { + video_type = VIDEO_TYPE_CGA; + video_mem_end = 0xba000; + display_desc = "*CGA"; + } + } + + /* Let the user known what kind of display driver we are using */ + + display_ptr = ((char *)video_mem_start) + video_size_row - 8; + while (*display_desc) + { + *display_ptr++ = *display_desc++; + display_ptr++; + } + + /* Initialize the variables used for scrolling (mostly EGA/VGA) */ + + origin = video_mem_start; + scr_end = video_mem_start + video_num_lines * video_size_row; + top = 0; + bottom = video_num_lines; + + gotoxy(ORIG_X,ORIG_Y); + set_trap_gate(0x21,&keyboard_interrupt); + outb_p(inb_p(0x21)&0xfd,0x21); + a=inb_p(0x61); + outb_p(a|0x80,0x61); + outb(a,0x61); +} +/* from bsd-net-2: */ + +void sysbeepstop(void) +{ + /* disable counter 2 */ + outb(inb_p(0x61)&0xFC, 0x61); +} + +int beepcount = 0; + +static void sysbeep(void) +{ + /* enable counter 2 */ + outb_p(inb_p(0x61)|3, 0x61); + /* set command for counter 2, 2 byte write */ + outb_p(0xB6, 0x43); + /* send 0x637 for 750 HZ */ + outb_p(0x37, 0x42); + outb(0x06, 0x42); + /* 1/8 second */ + beepcount = HZ/8; +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.o b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/console.o new file mode 100644 index 0000000000000000000000000000000000000000..cdb09cf249a683c556a1bd6a57bcc3dbe96270a4 GIT binary patch literal 20896 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" +# 1 "" +# 1 "keyboard.S" + + + + + + + + + + + + + +# 1 "../../include/linux/config.h" 1 + + + + + + + + + + + + + + + + + + + + + +# 36 "../../include/linux/config.h" + +# 47 "../../include/linux/config.h" + +# 14 "keyboard.S" 2 + +.text +.globl keyboard_interrupt + + + + +size = 1024 + +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 +leds: .byte 2 +e0: .byte 0 + + + + + + +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + + + + + + +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + + + + + +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 + je cur + testb $0x02,leds + je cur + testb $0x03,mode + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + + + + + +num_table: + .ascii "789 456 1230," + +cur_table: + .ascii "HA5 DGC YB623" + + + + +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + + + + +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +# 294 "keyboard.S" + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 + .byte '-,0,0,0,'+ + .byte 0,0,0,0,0,0,0 + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 + .fill 16,1,0 + .byte 0,0,0,0,0 + .byte 0,0,0,0,0,0,0 + .byte '| + .fill 10,1,0 + +# 449 "keyboard.S" + + + + +do_self: + lea alt_map,%ebx + testb $0x20,mode + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + + + + + + +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + + + + + + +key_table: + .long none,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,ctrl,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,lshift,do_self + .long do_self,do_self,do_self,do_self + .long do_self,do_self,do_self,do_self + .long do_self,minus,rshift,do_self + .long alt,do_self,caps,func + .long func,func,func,func + .long func,func,func,func + .long func,num,scroll,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,do_self,cursor + .long cursor,cursor,cursor,cursor + .long none,none,do_self,func + .long func,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,unctrl,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unlshift,none + .long none,none,none,none + .long none,none,none,none + .long none,none,unrshift,none + .long unalt,none,uncaps,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + .long none,none,none,none + + + + + +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret + + + + +reboot: + call kb_wait + movw $0x1234,0x472 + movb $0xfc,%al + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/keyboard.S b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/keyboard.S new file mode 100644 index 0000000..25210b4 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/keyboard.S @@ -0,0 +1,588 @@ +/* + * linux/kernel/keyboard.S + * + * (C) 1991 Linus Torvalds + */ + +/* + * Thanks to Alfred Leung for US keyboard patches + * Wolfgang Thiel for German keyboard patches + * Marc Corsini for the French keyboard + */ + +#include + +.text +.globl keyboard_interrupt + +/* + * these are for the keyboard read functions + */ +size = 1024 /* must be a power of two ! And MUST be the same + as in tty_io.c !!!! */ +head = 4 +tail = 8 +proc_list = 12 +buf = 16 + +mode: .byte 0 /* caps, alt, ctrl and shift mode */ +leds: .byte 2 /* num-lock, caps, scroll-lock mode (nom-lock on) */ +e0: .byte 0 + +/* + * con_int is the real interrupt routine that reads the + * keyboard scan-code and converts it into the appropriate + * ascii character(s). + */ +keyboard_interrupt: + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + push %ds + push %es + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + xor %al,%al /* %eax is scan code */ + inb $0x60,%al + cmpb $0xe0,%al + je set_e0 + cmpb $0xe1,%al + je set_e1 + call key_table(,%eax,4) + movb $0,e0 +e0_e1: inb $0x61,%al + jmp 1f +1: jmp 1f +1: orb $0x80,%al + jmp 1f +1: jmp 1f +1: outb %al,$0x61 + jmp 1f +1: jmp 1f +1: andb $0x7F,%al + outb %al,$0x61 + movb $0x20,%al + outb %al,$0x20 + pushl $0 + call do_tty_interrupt + addl $4,%esp + pop %es + pop %ds + popl %edx + popl %ecx + popl %ebx + popl %eax + iret +set_e0: movb $1,e0 + jmp e0_e1 +set_e1: movb $2,e0 + jmp e0_e1 + +/* + * This routine fills the buffer with max 8 bytes, taken from + * %ebx:%eax. (%edx is high). The bytes are written in the + * order %al,%ah,%eal,%eah,%bl,%bh ... until %eax is zero. + */ +put_queue: + pushl %ecx + pushl %edx + movl table_list,%edx # read-queue for console + movl head(%edx),%ecx +1: movb %al,buf(%edx,%ecx) + incl %ecx + andl $size-1,%ecx + cmpl tail(%edx),%ecx # buffer full - discard everything + je 3f + shrdl $8,%ebx,%eax + je 2f + shrl $8,%ebx + jmp 1b +2: movl %ecx,head(%edx) + movl proc_list(%edx),%ecx + testl %ecx,%ecx + je 3f + movl $0,(%ecx) +3: popl %edx + popl %ecx + ret + +ctrl: movb $0x04,%al + jmp 1f +alt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: orb %al,mode + ret +unctrl: movb $0x04,%al + jmp 1f +unalt: movb $0x10,%al +1: cmpb $0,e0 + je 2f + addb %al,%al +2: notb %al + andb %al,mode + ret + +lshift: + orb $0x01,mode + ret +unlshift: + andb $0xfe,mode + ret +rshift: + orb $0x02,mode + ret +unrshift: + andb $0xfd,mode + ret + +caps: testb $0x80,mode + jne 1f + xorb $4,leds + xorb $0x40,mode + orb $0x80,mode +set_leds: + call kb_wait + movb $0xed,%al /* set leds command */ + outb %al,$0x60 + call kb_wait + movb leds,%al + outb %al,$0x60 + ret +uncaps: andb $0x7f,mode + ret +scroll: + xorb $1,leds + jmp set_leds +num: xorb $2,leds + jmp set_leds + +/* + * curosr-key/numeric keypad cursor keys are handled here. + * checking for numeric keypad etc. + */ +cursor: + subb $0x47,%al + jb 1f + cmpb $12,%al + ja 1f + jne cur2 /* check for ctrl-alt-del */ + testb $0x0c,mode + je cur2 + testb $0x30,mode + jne reboot +cur2: cmpb $0x01,e0 /* e0 forces cursor movement */ + je cur + testb $0x02,leds /* not num-lock forces cursor */ + je cur + testb $0x03,mode /* shift forces cursor */ + jne cur + xorl %ebx,%ebx + movb num_table(%eax),%al + jmp put_queue +1: ret + +cur: movb cur_table(%eax),%al + cmpb $'9,%al + ja ok_cur + movb $'~,%ah +ok_cur: shll $16,%eax + movw $0x5b1b,%ax + xorl %ebx,%ebx + jmp put_queue + +#if defined(KBD_FR) +num_table: + .ascii "789 456 1230." +#else +num_table: + .ascii "789 456 1230," +#endif +cur_table: + .ascii "HA5 DGC YB623" + +/* + * this routine handles function keys + */ +func: + pushl %eax + pushl %ecx + pushl %edx + call show_stat + popl %edx + popl %ecx + popl %eax + subb $0x3B,%al + jb end_func + cmpb $9,%al + jbe ok_func + subb $18,%al + cmpb $10,%al + jb end_func + cmpb $11,%al + ja end_func +ok_func: + cmpl $4,%ecx /* check that there is enough room */ + jl end_func + movl func_table(,%eax,4),%eax + xorl %ebx,%ebx + jmp put_queue +end_func: + ret + +/* + * function keys send F1:'esc [ [ A' F2:'esc [ [ B' etc. + */ +func_table: + .long 0x415b5b1b,0x425b5b1b,0x435b5b1b,0x445b5b1b + .long 0x455b5b1b,0x465b5b1b,0x475b5b1b,0x485b5b1b + .long 0x495b5b1b,0x4a5b5b1b,0x4b5b5b1b,0x4c5b5b1b + +#if defined(KBD_FINNISH) +key_map: + .byte 0,27 + .ascii "1234567890+'" + .byte 127,9 + .ascii "qwertyuiop}" + .byte 0,13,0 + .ascii "asdfghjkl|{" + .byte 0,0 + .ascii "'zxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTYUIOP]^" + .byte 13,0 + .ascii "ASDFGHJKL\\[" + .byte 0,0 + .ascii "*ZXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_US) + +key_map: + .byte 0,27 + .ascii "1234567890-=" + .byte 127,9 + .ascii "qwertyuiop[]" + .byte 13,0 + .ascii "asdfghjkl;'" + .byte '`,0 + .ascii "\\zxcvbnm,./" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!@#$%^&*()_+" + .byte 127,9 + .ascii "QWERTYUIOP{}" + .byte 13,0 + .ascii "ASDFGHJKL:\"" + .byte '~,0 + .ascii "|ZXCVBNM<>?" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#elif defined(KBD_GR) + +key_map: + .byte 0,27 + .ascii "1234567890\\'" + .byte 127,9 + .ascii "qwertzuiop@+" + .byte 13,0 + .ascii "asdfghjkl[]^" + .byte 0,'# + .ascii "yxcvbnm,.-" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + + +shift_map: + .byte 0,27 + .ascii "!\"#$%&/()=?`" + .byte 127,9 + .ascii "QWERTZUIOP\\*" + .byte 13,0 + .ascii "ASDFGHJKL{}~" + .byte 0,'' + .ascii "YXCVBNM;:_" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0@\0$\0\0{[]}\\\0" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + + +#elif defined(KBD_FR) + +key_map: + .byte 0,27 + .ascii "&{\"'(-}_/@)=" + .byte 127,9 + .ascii "azertyuiop^$" + .byte 13,0 + .ascii "qsdfghjklm|" + .byte '`,0,42 /* coin sup gauche, don't know, [*|mu] */ + .ascii "wxcvbn,;:!" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '< + .fill 10,1,0 + +shift_map: + .byte 0,27 + .ascii "1234567890]+" + .byte 127,9 + .ascii "AZERTYUIOP<>" + .byte 13,0 + .ascii "QSDFGHJKLM%" + .byte '~,0,'# + .ascii "WXCVBN?./\\" + .byte 0,'*,0,32 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte '-,0,0,0,'+ /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '> + .fill 10,1,0 + +alt_map: + .byte 0,0 + .ascii "\0~#{[|`\\^@]}" + .byte 0,0 + .byte '@,0,0,0,0,0,0,0,0,0,0 + .byte '~,13,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0 + .byte 0,0,0,0,0,0,0,0,0,0,0 + .byte 0,0,0,0 /* 36-39 */ + .fill 16,1,0 /* 3A-49 */ + .byte 0,0,0,0,0 /* 4A-4E */ + .byte 0,0,0,0,0,0,0 /* 4F-55 */ + .byte '| + .fill 10,1,0 + +#else +#error "KBD-type not defined" +#endif +/* + * do_self handles "normal" keys, ie keys that don't change meaning + * and which have just one character returns. + */ +do_self: + lea alt_map,%ebx + testb $0x20,mode /* alt-gr */ + jne 1f + lea shift_map,%ebx + testb $0x03,mode + jne 1f + lea key_map,%ebx +1: movb (%ebx,%eax),%al + orb %al,%al + je none + testb $0x4c,mode /* ctrl or caps */ + je 2f + cmpb $'a,%al + jb 2f + cmpb $'},%al + ja 2f + subb $32,%al +2: testb $0x0c,mode /* ctrl */ + je 3f + cmpb $64,%al + jb 3f + cmpb $64+32,%al + jae 3f + subb $64,%al +3: testb $0x10,mode /* left alt */ + je 4f + orb $0x80,%al +4: andl $0xff,%eax + xorl %ebx,%ebx + call put_queue +none: ret + +/* + * minus has a routine of it's own, as a 'E0h' before + * the scan code for minus means that the numeric keypad + * slash was pushed. + */ +minus: cmpb $1,e0 + jne do_self + movl $'/,%eax + xorl %ebx,%ebx + jmp put_queue + +/* + * This table decides which routine to call when a scan-code has been + * gotten. Most routines just call do_self, or none, depending if + * they are make or break. + */ +key_table: + .long none,do_self,do_self,do_self /* 00-03 s0 esc 1 2 */ + .long do_self,do_self,do_self,do_self /* 04-07 3 4 5 6 */ + .long do_self,do_self,do_self,do_self /* 08-0B 7 8 9 0 */ + .long do_self,do_self,do_self,do_self /* 0C-0F + ' bs tab */ + .long do_self,do_self,do_self,do_self /* 10-13 q w e r */ + .long do_self,do_self,do_self,do_self /* 14-17 t y u i */ + .long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */ + .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */ + .long do_self,do_self,do_self,do_self /* 20-23 d f g h */ + .long do_self,do_self,do_self,do_self /* 24-27 j k l | */ + .long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */ + .long do_self,do_self,do_self,do_self /* 2C-2F z x c v */ + .long do_self,do_self,do_self,do_self /* 30-33 b n m , */ + .long do_self,minus,rshift,do_self /* 34-37 . - rshift * */ + .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */ + .long func,func,func,func /* 3C-3F f2 f3 f4 f5 */ + .long func,func,func,func /* 40-43 f6 f7 f8 f9 */ + .long func,num,scroll,cursor /* 44-47 f10 num scr home */ + .long cursor,cursor,do_self,cursor /* 48-4B up pgup - left */ + .long cursor,cursor,do_self,cursor /* 4C-4F n5 right + end */ + .long cursor,cursor,cursor,cursor /* 50-53 dn pgdn ins del */ + .long none,none,do_self,func /* 54-57 sysreq ? < f11 */ + .long func,none,none,none /* 58-5B f12 ? ? ? */ + .long none,none,none,none /* 5C-5F ? ? ? ? */ + .long none,none,none,none /* 60-63 ? ? ? ? */ + .long none,none,none,none /* 64-67 ? ? ? ? */ + .long none,none,none,none /* 68-6B ? ? ? ? */ + .long none,none,none,none /* 6C-6F ? ? ? ? */ + .long none,none,none,none /* 70-73 ? ? ? ? */ + .long none,none,none,none /* 74-77 ? ? ? ? */ + .long none,none,none,none /* 78-7B ? ? ? ? */ + .long none,none,none,none /* 7C-7F ? ? ? ? */ + .long none,none,none,none /* 80-83 ? br br br */ + .long none,none,none,none /* 84-87 br br br br */ + .long none,none,none,none /* 88-8B br br br br */ + .long none,none,none,none /* 8C-8F br br br br */ + .long none,none,none,none /* 90-93 br br br br */ + .long none,none,none,none /* 94-97 br br br br */ + .long none,none,none,none /* 98-9B br br br br */ + .long none,unctrl,none,none /* 9C-9F br unctrl br br */ + .long none,none,none,none /* A0-A3 br br br br */ + .long none,none,none,none /* A4-A7 br br br br */ + .long none,none,unlshift,none /* A8-AB br br unlshift br */ + .long none,none,none,none /* AC-AF br br br br */ + .long none,none,none,none /* B0-B3 br br br br */ + .long none,none,unrshift,none /* B4-B7 br br unrshift br */ + .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */ + .long none,none,none,none /* BC-BF br br br br */ + .long none,none,none,none /* C0-C3 br br br br */ + .long none,none,none,none /* C4-C7 br br br br */ + .long none,none,none,none /* C8-CB br br br br */ + .long none,none,none,none /* CC-CF br br br br */ + .long none,none,none,none /* D0-D3 br br br br */ + .long none,none,none,none /* D4-D7 br br br br */ + .long none,none,none,none /* D8-DB br ? ? ? */ + .long none,none,none,none /* DC-DF ? ? ? ? */ + .long none,none,none,none /* E0-E3 e0 e1 ? ? */ + .long none,none,none,none /* E4-E7 ? ? ? ? */ + .long none,none,none,none /* E8-EB ? ? ? ? */ + .long none,none,none,none /* EC-EF ? ? ? ? */ + .long none,none,none,none /* F0-F3 ? ? ? ? */ + .long none,none,none,none /* F4-F7 ? ? ? ? */ + .long none,none,none,none /* F8-FB ? ? ? ? */ + .long none,none,none,none /* FC-FF ? ? ? ? */ + +/* + * kb_wait waits for the keyboard controller buffer to empty. + * there is no timeout - if the buffer doesn't empty, we hang. + */ +kb_wait: + pushl %eax +1: inb $0x64,%al + testb $0x02,%al + jne 1b + popl %eax + ret +/* + * This routine reboots the machine by asking the keyboard + * controller to pulse the reset-line low. + */ +reboot: + call kb_wait + movw $0x1234,0x472 /* don't do memory check */ + movb $0xfc,%al /* pulse reset and A20 low */ + outb %al,$0x64 +die: jmp die diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/rs_io.o b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/rs_io.o new file mode 100644 index 0000000000000000000000000000000000000000..9d7d5b3a22aa1a7d33dea95b723af176ee68e951 GIT binary patch literal 1320 zcma)5O=}ZT6upy7lN1_>vDAuUi$oC$(TZ-YF8rt{7SvR*(+bl`=7mYg$1w9^jTe}J1pL8J+VS-DUc@11#5ry}TuH|L!9&O7g8W*$#YU6UjU z!jd2kzZJlJAu zYUu}^X)*0615dy3#7CS5;3%o*n6o2-mX*|mBJ()SkJ>Kxy3mDOdS@N-cB{sLjja`nuw?{k1!T?BECWK1Ur++2eHxq=#!x{gli&& zBRH@@L{yj;>c8RMuaxqliKJ!!PW(mv0M`reH^_6neMo3eLAl-mBy=A^x!y36flz|$ z9Yaq056bmU5ZT?V>*Z0VgF%1b96oaqeG&Pkh$c>dL{JjkL^3ZF1^Vqn>-rt20MOw)mDl`5E4qoh_V zHiu%f3^vy+-ZaTqsdKQH=_9M_uuwBq{86e5Y7L#$RJ8J@4U1NVGqq%B7P>V(VAV>U z?KNO{nOQ2UnY@MR;}pv*t7+mQ_L+$Cmk2hbH&o7BkuiEb(opct5uPWFopkSn(*o}a PoD +#include +#include +#include + +#define WAKEUP_CHARS (TTY_BUF_SIZE/4) + +extern void rs1_interrupt(void); +extern void rs2_interrupt(void); + +static void init(int port) +{ + outb_p(0x80,port+3); /* set DLAB of line control reg */ + outb_p(0x30,port); /* LS of divisor (48 -> 2400 bps */ + outb_p(0x00,port+1); /* MS of divisor */ + outb_p(0x03,port+3); /* reset DLAB */ + outb_p(0x0b,port+4); /* set DTR,RTS, OUT_2 */ + outb_p(0x0d,port+1); /* enable all intrs but writes */ + (void)inb(port); /* read data port to reset things (?) */ +} + +void rs_init(void) +{ + set_intr_gate(0x24,rs1_interrupt); + set_intr_gate(0x23,rs2_interrupt); + init(tty_table[1].read_q.data); + init(tty_table[2].read_q.data); + outb(inb_p(0x21)&0xE7,0x21); +} + +/* + * This routine gets called when tty_write has put something into + * the write_queue. It must check wheter the queue is empty, and + * set the interrupt register accordingly + * + * void _rs_write(struct tty_struct * tty); + */ +void rs_write(struct tty_struct * tty) +{ + cli(); + if (!EMPTY(tty->write_q)) + outb(inb_p(tty->write_q.data+1)|0x02,tty->write_q.data+1); + sti(); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/serial.o b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/serial.o new file mode 100644 index 0000000000000000000000000000000000000000..bf80e08be94a19c3982f10989e20a6e929a1d240 GIT binary patch literal 6752 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 +#include +#include + +#define ALRMMASK (1<<(SIGALRM-1)) +#define KILLMASK (1<<(SIGKILL-1)) +#define INTMASK (1<<(SIGINT-1)) +#define QUITMASK (1<<(SIGQUIT-1)) +#define TSTPMASK (1<<(SIGTSTP-1)) + +#include +#include +#include +#include + +#define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) +#define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) +#define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) + +#define L_CANON(tty) _L_FLAG((tty),ICANON) +#define L_ISIG(tty) _L_FLAG((tty),ISIG) +#define L_ECHO(tty) _L_FLAG((tty),ECHO) +#define L_ECHOE(tty) _L_FLAG((tty),ECHOE) +#define L_ECHOK(tty) _L_FLAG((tty),ECHOK) +#define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) +#define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) + +#define I_UCLC(tty) _I_FLAG((tty),IUCLC) +#define I_NLCR(tty) _I_FLAG((tty),INLCR) +#define I_CRNL(tty) _I_FLAG((tty),ICRNL) +#define I_NOCR(tty) _I_FLAG((tty),IGNCR) + +#define O_POST(tty) _O_FLAG((tty),OPOST) +#define O_NLCR(tty) _O_FLAG((tty),ONLCR) +#define O_CRNL(tty) _O_FLAG((tty),OCRNL) +#define O_NLRET(tty) _O_FLAG((tty),ONLRET) +#define O_LCUC(tty) _O_FLAG((tty),OLCUC) + +struct tty_struct tty_table[] = { + { + {ICRNL, /* change incoming CR to NL */ + OPOST|ONLCR, /* change outgoing NL to CRNL */ + 0, + ISIG | ICANON | ECHO | ECHOCTL | ECHOKE, + 0, /* console termio */ + INIT_C_CC}, + 0, /* initial pgrp */ + 0, /* initial stopped */ + con_write, + {0,0,0,0,""}, /* console read-queue */ + {0,0,0,0,""}, /* console write-queue */ + {0,0,0,0,""} /* console secondary queue */ + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x3f8,0,0,0,""}, /* rs 1 */ + {0x3f8,0,0,0,""}, + {0,0,0,0,""} + },{ + {0, /* no translation */ + 0, /* no translation */ + B2400 | CS8, + 0, + 0, + INIT_C_CC}, + 0, + 0, + rs_write, + {0x2f8,0,0,0,""}, /* rs 2 */ + {0x2f8,0,0,0,""}, + {0,0,0,0,""} + } +}; + +/* + * these are the tables used by the machine code handlers. + * you can implement pseudo-tty's or something by changing + * them. Currently not done. + */ +struct tty_queue * table_list[]={ + &tty_table[0].read_q, &tty_table[0].write_q, + &tty_table[1].read_q, &tty_table[1].write_q, + &tty_table[2].read_q, &tty_table[2].write_q + }; + +void tty_init(void) +{ + rs_init(); + con_init(); +} + +void tty_intr(struct tty_struct * tty, int mask) +{ + int i; + + if (tty->pgrp <= 0) + return; + for (i=0;ipgrp==tty->pgrp) + task[i]->signal |= mask; +} + +static void sleep_if_empty(struct tty_queue * queue) +{ + cli(); + while (!current->signal && EMPTY(*queue)) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +static void sleep_if_full(struct tty_queue * queue) +{ + if (!FULL(*queue)) + return; + cli(); + while (!current->signal && LEFT(*queue)<128) + interruptible_sleep_on(&queue->proc_list); + sti(); +} + +void wait_for_keypress(void) +{ + sleep_if_empty(&tty_table[0].secondary); +} + +void copy_to_cooked(struct tty_struct * tty) +{ + signed char c; + + while (!EMPTY(tty->read_q) && !FULL(tty->secondary)) { + GETCH(tty->read_q,c); + if (c==13) + if (I_CRNL(tty)) + c=10; + else if (I_NOCR(tty)) + continue; + else ; + else if (c==10 && I_NLCR(tty)) + c=13; + if (I_UCLC(tty)) + c=tolower(c); + if (L_CANON(tty)) { + if (c==KILL_CHAR(tty)) { + /* deal with killing the input line */ + while(!(EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty))) { + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + } + continue; + } + if (c==ERASE_CHAR(tty)) { + if (EMPTY(tty->secondary) || + (c=LAST(tty->secondary))==10 || + c==EOF_CHAR(tty)) + continue; + if (L_ECHO(tty)) { + if (c<32) + PUTCH(127,tty->write_q); + PUTCH(127,tty->write_q); + tty->write(tty); + } + DEC(tty->secondary.head); + continue; + } + if (c==STOP_CHAR(tty)) { + tty->stopped=1; + continue; + } + if (c==START_CHAR(tty)) { + tty->stopped=0; + continue; + } + } + if (L_ISIG(tty)) { + if (c==INTR_CHAR(tty)) { + tty_intr(tty,INTMASK); + continue; + } + if (c==QUIT_CHAR(tty)) { + tty_intr(tty,QUITMASK); + continue; + } + } + if (c==10 || c==EOF_CHAR(tty)) + tty->secondary.data++; + if (L_ECHO(tty)) { + if (c==10) { + PUTCH(10,tty->write_q); + PUTCH(13,tty->write_q); + } else if (c<32) { + if (L_ECHOCTL(tty)) { + PUTCH('^',tty->write_q); + PUTCH(c+64,tty->write_q); + } + } else + PUTCH(c,tty->write_q); + tty->write(tty); + } + PUTCH(c,tty->secondary); + } + wake_up(&tty->secondary.proc_list); +} + +int tty_read(unsigned channel, char * buf, int nr) +{ + struct tty_struct * tty; + char c, * b=buf; + int minimum,time,flag=0; + long oldalarm; + + if (channel>2 || nr<0) return -1; + tty = &tty_table[channel]; + oldalarm = current->alarm; + time = 10L*tty->termios.c_cc[VTIME]; + minimum = tty->termios.c_cc[VMIN]; + if (time && !minimum) { + minimum=1; + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + } + if (minimum>nr) + minimum=nr; + while (nr>0) { + if (flag && (current->signal & ALRMMASK)) { + current->signal &= ~ALRMMASK; + break; + } + if (current->signal) + break; + if (EMPTY(tty->secondary) || (L_CANON(tty) && + !tty->secondary.data && LEFT(tty->secondary)>20)) { + sleep_if_empty(&tty->secondary); + continue; + } + do { + GETCH(tty->secondary,c); + if (c==EOF_CHAR(tty) || c==10) + tty->secondary.data--; + if (c==EOF_CHAR(tty) && L_CANON(tty)) + return (b-buf); + else { + put_fs_byte(c,b++); + if (!--nr) + break; + } + } while (nr>0 && !EMPTY(tty->secondary)); + if (time && !L_CANON(tty)) + if (flag=(!oldalarm || time+jiffiesalarm = time+jiffies; + else + current->alarm = oldalarm; + if (L_CANON(tty)) { + if (b-buf) + break; + } else if (b-buf >= minimum) + break; + } + current->alarm = oldalarm; + if (current->signal && !(b-buf)) + return -EINTR; + return (b-buf); +} + +int tty_write(unsigned channel, char * buf, int nr) +{ + static cr_flag=0; + struct tty_struct * tty; + char c, *b=buf; + + if (channel>2 || nr<0) return -1; + tty = channel + tty_table; + while (nr>0) { + sleep_if_full(&tty->write_q); + if (current->signal) + break; + while (nr>0 && !FULL(tty->write_q)) { + c=get_fs_byte(b); + if (O_POST(tty)) { + if (c=='\r' && O_CRNL(tty)) + c='\n'; + else if (c=='\n' && O_NLRET(tty)) + c='\r'; + if (c=='\n' && !cr_flag && O_NLCR(tty)) { + cr_flag = 1; + PUTCH(13,tty->write_q); + continue; + } + if (O_LCUC(tty)) + c=toupper(c); + } + b++; nr--; + cr_flag = 0; + PUTCH(c,tty->write_q); + } + tty->write(tty); + if (nr>0) + schedule(); + } + return (b-buf); +} + +/* + * Jeh, sometimes I really like the 386. + * This routine is called from an interrupt, + * and there should be absolutely no problem + * with sleeping even in an interrupt (I hope). + * Of course, if somebody proves me wrong, I'll + * hate intel for all time :-). We'll have to + * be careful and see to reinstating the interrupt + * chips before calling this, though. + * + * I don't think we sleep here under normal circumstances + * anyway, which is good, as the task sleeping might be + * totally innocent. + */ +void do_tty_interrupt(int tty) +{ + copy_to_cooked(tty_table+tty); +} + +void chr_dev_init(void) +{ +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_io.o b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_io.o new file mode 100644 index 0000000000000000000000000000000000000000..37e2b15961ebc5713d826d6c25e53571ac6fbb83 GIT binary patch literal 22504 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 O^kQA0pRj`M3jQCx0hyNo literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.c b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.c new file mode 100644 index 0000000..e4e3745 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.c @@ -0,0 +1,204 @@ +/* + * linux/kernel/chr_drv/tty_ioctl.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include + +#include +#include +#include + +#include +#include +#include + +static unsigned short quotient[] = { + 0, 2304, 1536, 1047, 857, + 768, 576, 384, 192, 96, + 64, 48, 24, 12, 6, 3 +}; + +static void change_speed(struct tty_struct * tty) +{ + unsigned short port,quot; + + if (!(port = tty->read_q.data)) + return; + quot = quotient[tty->termios.c_cflag & CBAUD]; + cli(); + outb_p(0x80,port+3); /* set DLAB */ + outb_p(quot & 0xff,port); /* LS of divisor */ + outb_p(quot >> 8,port+1); /* MS of divisor */ + outb(0x03,port+3); /* reset DLAB */ + sti(); +} + +static void flush(struct tty_queue * queue) +{ + cli(); + queue->head = queue->tail; + sti(); +} + +static void wait_until_sent(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static void send_break(struct tty_struct * tty) +{ + /* do nothing - not implemented */ +} + +static int get_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + verify_area(termios, sizeof (*termios)); + for (i=0 ; i< (sizeof (*termios)) ; i++) + put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios ); + return 0; +} + +static int set_termios(struct tty_struct * tty, struct termios * termios) +{ + int i; + + for (i=0 ; i< (sizeof (*termios)) ; i++) + ((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios); + change_speed(tty); + return 0; +} + +static int get_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + verify_area(termio, sizeof (*termio)); + tmp_termio.c_iflag = tty->termios.c_iflag; + tmp_termio.c_oflag = tty->termios.c_oflag; + tmp_termio.c_cflag = tty->termios.c_cflag; + tmp_termio.c_lflag = tty->termios.c_lflag; + tmp_termio.c_line = tty->termios.c_line; + for(i=0 ; i < NCC ; i++) + tmp_termio.c_cc[i] = tty->termios.c_cc[i]; + for (i=0 ; i< (sizeof (*termio)) ; i++) + put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio ); + return 0; +} + +/* + * This only works as the 386 is low-byt-first + */ +static int set_termio(struct tty_struct * tty, struct termio * termio) +{ + int i; + struct termio tmp_termio; + + for (i=0 ; i< (sizeof (*termio)) ; i++) + ((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio); + *(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag; + *(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag; + *(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag; + *(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag; + tty->termios.c_line = tmp_termio.c_line; + for(i=0 ; i < NCC ; i++) + tty->termios.c_cc[i] = tmp_termio.c_cc[i]; + change_speed(tty); + return 0; +} + +int tty_ioctl(int dev, int cmd, int arg) +{ + struct tty_struct * tty; + if (MAJOR(dev) == 5) { + dev=current->tty; + if (dev<0) + panic("tty_ioctl: dev<0"); + } else + dev=MINOR(dev); + tty = dev + tty_table; + switch (cmd) { + case TCGETS: + return get_termios(tty,(struct termios *) arg); + case TCSETSF: + flush(&tty->read_q); /* fallthrough */ + case TCSETSW: + wait_until_sent(tty); /* fallthrough */ + case TCSETS: + return set_termios(tty,(struct termios *) arg); + case TCGETA: + return get_termio(tty,(struct termio *) arg); + case TCSETAF: + flush(&tty->read_q); /* fallthrough */ + case TCSETAW: + wait_until_sent(tty); /* fallthrough */ + case TCSETA: + return set_termio(tty,(struct termio *) arg); + case TCSBRK: + if (!arg) { + wait_until_sent(tty); + send_break(tty); + } + return 0; + case TCXONC: + return -EINVAL; /* not implemented */ + case TCFLSH: + if (arg==0) + flush(&tty->read_q); + else if (arg==1) + flush(&tty->write_q); + else if (arg==2) { + flush(&tty->read_q); + flush(&tty->write_q); + } else + return -EINVAL; + return 0; + case TIOCEXCL: + return -EINVAL; /* not implemented */ + case TIOCNXCL: + return -EINVAL; /* not implemented */ + case TIOCSCTTY: + return -EINVAL; /* set controlling term NI */ + case TIOCGPGRP: + verify_area((void *) arg,4); + put_fs_long(tty->pgrp,(unsigned long *) arg); + return 0; + case TIOCSPGRP: + tty->pgrp=get_fs_long((unsigned long *) arg); + return 0; + case TIOCOUTQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->write_q),(unsigned long *) arg); + return 0; + case TIOCINQ: + verify_area((void *) arg,4); + put_fs_long(CHARS(tty->secondary), + (unsigned long *) arg); + return 0; + case TIOCSTI: + return -EINVAL; /* not implemented */ + case TIOCGWINSZ: + return -EINVAL; /* not implemented */ + case TIOCSWINSZ: + return -EINVAL; /* not implemented */ + case TIOCMGET: + return -EINVAL; /* not implemented */ + case TIOCMBIS: + return -EINVAL; /* not implemented */ + case TIOCMBIC: + return -EINVAL; /* not implemented */ + case TIOCMSET: + return -EINVAL; /* not implemented */ + case TIOCGSOFTCAR: + return -EINVAL; /* not implemented */ + case TIOCSSOFTCAR: + return -EINVAL; /* not implemented */ + default: + return -EINVAL; + } +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.o b/linux-0.11-lab - 副本/0/linux/kernel/chr_drv/tty_ioctl.o new file mode 100644 index 0000000000000000000000000000000000000000..6fcf766d95e129c53038533553e2124de8516b4b GIT binary patch literal 10648 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/exit.c b/linux-0.11-lab - 副本/0/linux/kernel/exit.c new file mode 100644 index 0000000..2406ebe --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/exit.c @@ -0,0 +1,197 @@ +/* + * linux/kernel/exit.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include + +#include +#include +#include +#include + +int sys_pause(void); +int sys_close(int fd); + +void release(struct task_struct * p) +{ + int i; + + if (!p) + return; + for (i=1 ; i32) + return -EINVAL; + if (priv || (current->euid==p->euid) || suser()) + p->signal |= (1<<(sig-1)); + else + return -EPERM; + return 0; +} + +static void kill_session(void) +{ + struct task_struct **p = NR_TASKS + task; + + while (--p > &FIRST_TASK) { + if (*p && (*p)->session == current->session) + (*p)->signal |= 1<<(SIGHUP-1); + } +} + +/* + * XXX need to check permissions needed to send signals to process + * groups, etc. etc. kill() permissions semantics are tricky! + */ +int sys_kill(int pid,int sig) +{ + struct task_struct **p = NR_TASKS + task; + int err, retval = 0; + + if (!pid) while (--p > &FIRST_TASK) { + if (*p && (*p)->pgrp == current->pid) + if (err=send_sig(sig,*p,1)) + retval = err; + } else if (pid>0) while (--p > &FIRST_TASK) { + if (*p && (*p)->pid == pid) + if (err=send_sig(sig,*p,0)) + retval = err; + } else if (pid == -1) while (--p > &FIRST_TASK) + if (err = send_sig(sig,*p,0)) + retval = err; + else while (--p > &FIRST_TASK) + if (*p && (*p)->pgrp == -pid) + if (err = send_sig(sig,*p,0)) + retval = err; + return retval; +} + +static void tell_father(int pid) +{ + int i; + + if (pid) + for (i=0;ipid != pid) + continue; + task[i]->signal |= (1<<(SIGCHLD-1)); + return; + } +/* if we don't find any fathers, we just release ourselves */ +/* This is not really OK. Must change it to make father 1 */ + printk("BAD BAD - no father found\n\r"); + release(current); +} + +int do_exit(long code) +{ + int i; + + free_page_tables(get_base(current->ldt[1]),get_limit(0x0f)); + free_page_tables(get_base(current->ldt[2]),get_limit(0x17)); + for (i=0 ; ifather == current->pid) { + task[i]->father = 1; + if (task[i]->state == TASK_ZOMBIE) + /* assumption task[1] is always init */ + (void) send_sig(SIGCHLD, task[1], 1); + } + for (i=0 ; ifilp[i]) + sys_close(i); + iput(current->pwd); + current->pwd=NULL; + iput(current->root); + current->root=NULL; + iput(current->executable); + current->executable=NULL; + if (current->leader && current->tty >= 0) + tty_table[current->tty].pgrp = 0; + if (last_task_used_math == current) + last_task_used_math = NULL; + if (current->leader) + kill_session(); + current->state = TASK_ZOMBIE; + current->exit_code = code; + tell_father(current->father); + schedule(); + return (-1); /* just to suppress warnings */ +} + +int sys_exit(int error_code) +{ + return do_exit((error_code&0xff)<<8); +} + +int sys_waitpid(pid_t pid,unsigned long * stat_addr, int options) +{ + int flag, code; + struct task_struct ** p; + + verify_area(stat_addr,4); +repeat: + flag=0; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p || *p == current) + continue; + if ((*p)->father != current->pid) + continue; + if (pid>0) { + if ((*p)->pid != pid) + continue; + } else if (!pid) { + if ((*p)->pgrp != current->pgrp) + continue; + } else if (pid != -1) { + if ((*p)->pgrp != -pid) + continue; + } + switch ((*p)->state) { + case TASK_STOPPED: + if (!(options & WUNTRACED)) + continue; + put_fs_long(0x7f,stat_addr); + return (*p)->pid; + case TASK_ZOMBIE: + current->cutime += (*p)->utime; + current->cstime += (*p)->stime; + flag = (*p)->pid; + code = (*p)->exit_code; + release(*p); + put_fs_long(code,stat_addr); + return flag; + default: + flag=1; + continue; + } + } + if (flag) { + if (options & WNOHANG) + return 0; + current->state=TASK_INTERRUPTIBLE; + schedule(); + if (!(current->signal &= ~(1<<(SIGCHLD-1)))) + goto repeat; + else + return -EINTR; + } + return -ECHILD; +} + + diff --git a/linux-0.11-lab - 副本/0/linux/kernel/exit.o b/linux-0.11-lab - 副本/0/linux/kernel/exit.o new file mode 100644 index 0000000000000000000000000000000000000000..97c5057fd4da000378b2c23ca0dba2b274e9b855 GIT binary patch literal 11164 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 + +#include +#include +#include +#include + +extern void write_verify(unsigned long address); + +long last_pid=0; + +void verify_area(void * addr,int size) +{ + unsigned long start; + + start = (unsigned long) addr; + size += start & 0xfff; + start &= 0xfffff000; + start += get_base(current->ldt[2]); + while (size>0) { + size -= 4096; + write_verify(start); + start += 4096; + } +} + +int copy_mem(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; + + 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); + if (copy_page_tables(old_data_base,new_data_base,data_limit)) { + free_page_tables(new_data_base,data_limit); + return -ENOMEM; + } + return 0; +} + +/* + * Ok, this is the main fork-routine. It copies the system process + * information (task[nr]) and sets up the necessary registers. It + * also copies the data segment in it's entirety. + */ +int copy_process(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->tss.back_link = 0; + p->tss.esp0 = PAGE_SIZE + (long) p; + p->tss.ss0 = 0x10; + p->tss.eip = eip; + p->tss.eflags = eflags; + p->tss.eax = 0; + p->tss.ecx = ecx; + p->tss.edx = edx; + p->tss.ebx = ebx; + p->tss.esp = esp; + 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(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; +} + +int find_empty_process(void) +{ + int i; + + repeat: + if ((++last_pid)<0) last_pid=1; + for(i=0 ; ipid == last_pid) goto repeat; + for(i=1 ; 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 Mi^Z-!?KYSAen*aa+ literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/math/Makefile b/linux-0.11-lab - 副本/0/linux/kernel/math/Makefile new file mode 100644 index 0000000..b35d488 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/math/Makefile @@ -0,0 +1,43 @@ +# +# Makefile for the FREAX-kernel character device drivers. +# +# Note! Dependencies are done automagically by 'make dep', which also +# removes any old dependencies. DON'T put your own dependencies here +# unless it's something special (ie not a .c file). +# + +AR =ar +AS =as +LD =ld +LDFLAGS =-s -x +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -nostdinc -fno-stack-protector -I../../include +CPP =gcc -E -nostdinc -I../../include + +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< +.s.o: + $(AS) -o $*.o $< +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< + +OBJS = math_emulate.o + +math.a: $(OBJS) + $(AR) rcs math.a $(OBJS) + sync + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: diff --git a/linux-0.11-lab - 副本/0/linux/kernel/math/math.a b/linux-0.11-lab - 副本/0/linux/kernel/math/math.a new file mode 100644 index 0000000000000000000000000000000000000000..f92fb43a9c019f8e75bf744c65f88b59c8d4ba88 GIT binary patch literal 6628 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 + +#include +#include +#include + +void math_emulate(long edi, long esi, long ebp, long sys_call_ret, + long eax,long ebx,long ecx,long edx, + unsigned short fs,unsigned short es,unsigned short ds, + unsigned long eip,unsigned short cs,unsigned long eflags, + unsigned short ss, unsigned long esp) +{ + unsigned char first, second; + +/* 0x0007 means user code space */ + if (cs != 0x000F) { + printk("math_emulate: %04x:%08x\n\r",cs,eip); + panic("Math emulation needed in kernel"); + } + first = get_fs_byte((char *)((*&eip)++)); + second = get_fs_byte((char *)((*&eip)++)); + printk("%04x:%08x %02x %02x\n\r",cs,eip-2,first,second); + current->signal |= 1<<(SIGFPE-1); +} + +void math_error(void) +{ + __asm__("fnclex"); + if (last_task_used_math) + last_task_used_math->signal |= 1<<(SIGFPE-1); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/math/math_emulate.o b/linux-0.11-lab - 副本/0/linux/kernel/math/math_emulate.o new file mode 100644 index 0000000000000000000000000000000000000000..8a98b22720edd26bc9b196e2d1b86549665ddef0 GIT binary patch literal 6464 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 + +/* + * This isn't the library routine, it is only used in the kernel. + * as such, we don't care about years<1970 etc, but assume everything + * is ok. Similarly, TZ etc is happily ignored. We just do everything + * as easily as possible. Let's find something public for the library + * routines (although I think minix times is public). + */ +/* + * PS. I hate whoever though up the year 1970 - couldn't they have gotten + * a leap-year instead? I also hate Gregorius, pope or no. I'm grumpy. + */ +#define MINUTE 60 +#define HOUR (60*MINUTE) +#define DAY (24*HOUR) +#define YEAR (365*DAY) + +/* interestingly, we assume leap-years */ +static int month[12] = { + 0, + DAY*(31), + DAY*(31+29), + DAY*(31+29+31), + DAY*(31+29+31+30), + DAY*(31+29+31+30+31), + DAY*(31+29+31+30+31+30), + DAY*(31+29+31+30+31+30+31), + DAY*(31+29+31+30+31+30+31+31), + DAY*(31+29+31+30+31+30+31+31+30), + DAY*(31+29+31+30+31+30+31+31+30+31), + DAY*(31+29+31+30+31+30+31+31+30+31+30) +}; + +long kernel_mktime(struct tm * tm) +{ + long res; + int year; + if (tm->tm_year < 70 ) tm->tm_year += 100; /* gohigh */ + year = tm->tm_year - 70; +/* magic offsets (y+1) needed to get leapyears right.*/ + res = YEAR*year + DAY*((year+1)/4); + res += month[tm->tm_mon]; +/* and (y+2) here. If it wasn't a leap-year, we have to adjust */ + if (tm->tm_mon>1 && ((year+2)%4)) + res -= DAY; + res += DAY*(tm->tm_mday-1); + res += HOUR*tm->tm_hour; + res += MINUTE*tm->tm_min; + res += tm->tm_sec; + return res; +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/mktime.o b/linux-0.11-lab - 副本/0/linux/kernel/mktime.o new file mode 100644 index 0000000000000000000000000000000000000000..6694bf8258168567f68b2aba8bfc5ed630e30698 GIT binary patch literal 2872 zcma)8U1%It6h3!mHraGH+f8=c=BL9R=z+QC zJLlZh2X+aMEv_t>trhe7 zs=+FMvsh7H_c`1WH#v6H&lF#_7Ezv9*R)o}g{=tMS}|I;&BYZj{7N|;Z9Xl?_laJb zy7!+sbi64(04lkZ^z#JEw@~X^<|*sGoj9@%qYI3-zKwt5w^gpqUj~T!PEd383^f<8 z5*2O|-T9N6-}eamWL(gJl4$n6A(|h2E>b)kOL|%2Nt}5PFW*T8(P1??!wQYF%COpD zFue+;jqZ;aTKk|*0Ft#II4RZEhrnBa!&WCpF}4Cntxo8-0mrQn^gX~ys}K5K;2vui za3An?3&%40fm0N+LM7Luwrebj!QH%qP@{PFZ$|B0mly;xE>pPX)Jg2cF5~jqj<1=E zhY-iO?9nD!cLZXD-J@6{INm?3=}2O4-(6lqCNC^>iQTb8#EkXFxcneQzY^j ztGFErVTL1-{gDF^k>ECTk{N?AnHY_52(>Xx)Mkr=y}s?i-pK?)jrF|qcrU!#Lu7`1 zFQbQ>HnKtNU{S?{b<<`}KFMAYAtn=WkM5+&M3&Rhc76;Lt)>d3#|T{J#~|E3A@0UH zd6kzHO|T+#TCCnYx$DpU%wJs-Bbgsx@RQRvR@s?bKYSJna`l3rj$BF>73&&%scXkDpCbUrK1xQ`%?p_ zW*V;7@Q;*vxFMzC3&SJ!(8!>#<*R`SFo|;~Nt_Rh{-|ZW&eP)8K+YOAIp2v`(i|5t zd6(__LdDC?kX`p`J}+uibIP{oob|{qJbHHN9lg{A-$Y1?s@gL!-S zBN1mE^5T3tFW>nM@!sQj^Q_aP`$J4UrLA^zH?rA;v#(!9l zgBc)OgxP>F5Bw(!k}2Q7b&W~#cYaM_$_cND?5(5uI+LR7MnXh#w zG`P#%nAqCq-~V;k_#GyCi}wmH8{YxJ+xEdL7= CPoF&i literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/panic.c b/linux-0.11-lab - 副本/0/linux/kernel/panic.c new file mode 100644 index 0000000..7d8a06b --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/panic.c @@ -0,0 +1,24 @@ +/* + * linux/kernel/panic.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This function is used through-out the kernel (includeinh mm and fs) + * to indicate a major problem. + */ +#include +#include + +void sys_sync(void); /* it's really int */ + +volatile void panic(const char * s) +{ + printk("Kernel panic: %s\n\r",s); + if (current == task[0]) + printk("In swapper task - not syncing\n\r"); + else + sys_sync(); + for(;;); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/panic.o b/linux-0.11-lab - 副本/0/linux/kernel/panic.o new file mode 100644 index 0000000000000000000000000000000000000000..da42b57864ffc04172b2020b3f3f9096af53eb86 GIT binary patch literal 5424 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 D&gTd! literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/printk.c b/linux-0.11-lab - 副本/0/linux/kernel/printk.c new file mode 100644 index 0000000..0daa097 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/printk.c @@ -0,0 +1,41 @@ +/* + * linux/kernel/printk.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * When in kernel-mode, we cannot use printf, as fs is liable to + * point to 'interesting' things. Make a printf with fs-saving, and + * all is well. + */ +#include +#include + +#include + +static char buf[1024]; + +extern int vsprintf(char * buf, const char * fmt, va_list args); + +int printk(const char *fmt, ...) +{ + va_list args; + int i; + + va_start(args, fmt); + i=vsprintf(buf,fmt,args); + va_end(args); + __asm__("push %%fs\n\t" + "push %%ds\n\t" + "pop %%fs\n\t" + "pushl %0\n\t" + "pushl $buf\n\t" + "pushl $0\n\t" + "call tty_write\n\t" + "addl $8,%%esp\n\t" + "popl %0\n\t" + "pop %%fs" + ::"r" (i):"ax","cx","dx"); + return i; +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/printk.o b/linux-0.11-lab - 副本/0/linux/kernel/printk.o new file mode 100644 index 0000000000000000000000000000000000000000..93ce6e40ca451b8b2b024367e2fd7f575b694368 GIT binary patch literal 2424 zcma)7&2Jk;6o2DgCr+F=bwa44L}e?vC4jtkz$&FcNl74zT1BEwQKbUW+Fsk+*lV-9 zPLry@Ap#ObAoTzO!66j~E?kfhSCAS$gv5Ou_hxtEEfNw>nt8wXJ@aOE z_N^B#y(okrMS?WyOGHgQw3H>Ar3WZWSGNC{eQz;e-d)Vk>@DU?d#m}G-PL>wvi^gf zXV2gNK0G{xoZEXPpBvjhF?RP#ll3=3%l1L)`q*8>=C%)Juisi90ly z>aykdDJiyw91=P9O5ADEu%2|>07X85BF&XXc={4!l&3=tH3#1S8mjc_B(nQ}NevS+ zX2q$@L|V&CXR=~^;Mj4be2}!vx%AWNhz0-DrLfy04cA?ur zdfS82aa)dS7wSE?8aN%-hsx~~{J^TN7rI_2u&Y7GqgKal7(Lf_8m?V4_zbZkpEj(u zmg5KHJGbm$t7}uS*=gHFw^s{_9lzk(H;c&L+bopKxw%5isuWA1qPT8*uH6dra=N4a zR-2X=NkmHv3+Ig4tCgM`^uoOr9`8wM?#;QfSt>sgY6;&}NaEII61P)gdPLWE&{P9z zJ`yH*3>Pw~?ZiT+l(?8lUAUK#--hXLwF9d{rXP4AZz|;3Eiec z$O^M5i?7IF5RtO2K#teF2H_ZVT$lH!>e|3629V~E?;3-Ml+A)1&)0;&c{txNhRXLk zFvsw|nRb!ymk`RCZ9HyAT=~6`G|KE@(H-d7eQUg`kCXV589b>lVJwlj!6Ly5PP@Nmnz+;^@S&-W3E%tEI~ z@kn{1j;@ME+C(083(}ch`{!E#R3zOA&vW cIpTsy{wm_%F-Lt_7ZcwB_FIU!0iJ;T4?BzyrvLx| literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/sched.c b/linux-0.11-lab - 副本/0/linux/kernel/sched.c new file mode 100644 index 0000000..15d839b --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/sched.c @@ -0,0 +1,412 @@ +/* + * linux/kernel/sched.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'sched.c' is the main kernel file. It contains scheduling primitives + * (sleep_on, wakeup, schedule etc) as well as a number of simple system + * call functions (type getpid(), which just extracts a field from + * current-task + */ +#include +#include +#include +#include +#include +#include +#include + +#include + +#define _S(nr) (1<<((nr)-1)) +#define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) + +void show_task(int nr,struct task_struct * p) +{ + int i,j = 4096-sizeof(struct task_struct); + + printk("%d: pid=%d, state=%d, ",nr,p->pid,p->state); + i=0; + while (i>2 ] ; + +struct { + long * a; + short b; + } stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }; +/* + * 'math_state_restore()' saves the current math information in the + * old math state array, and gets the new ones from the current task + */ +void math_state_restore() +{ + if (last_task_used_math == current) + return; + __asm__("fwait"); + if (last_task_used_math) { + __asm__("fnsave %0"::"m" (last_task_used_math->tss.i387)); + } + last_task_used_math=current; + if (current->used_math) { + __asm__("frstor %0"::"m" (current->tss.i387)); + } else { + __asm__("fninit"::); + current->used_math=1; + } +} + +/* + * 'schedule()' is the scheduler function. This is GOOD CODE! There + * probably won't be any reason to change this, as it should work well + * in all circumstances (ie gives IO-bound processes good response etc). + * The one thing you might take a look at is the signal-handler code here. + * + * NOTE!! Task 0 is the 'idle' task, which gets called when no other + * tasks can run. It can not be killed, and it cannot sleep. The 'state' + * information in task[0] is never used. + */ +void schedule(void) +{ + int i,next,c; + struct task_struct ** p; + +/* check alarm, wake up any interruptible tasks that have got a signal */ + + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) { + if ((*p)->alarm && (*p)->alarm < jiffies) { + (*p)->signal |= (1<<(SIGALRM-1)); + (*p)->alarm = 0; + } + if (((*p)->signal & ~(_BLOCKABLE & (*p)->blocked)) && + (*p)->state==TASK_INTERRUPTIBLE) + (*p)->state=TASK_RUNNING; + } + +/* this is the scheduler proper: */ + + while (1) { + c = -1; + next = 0; + i = NR_TASKS; + p = &task[NR_TASKS]; + while (--i) { + if (!*--p) + continue; + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + c = (*p)->counter, next = i; + } + if (c) break; + for(p = &LAST_TASK ; p > &FIRST_TASK ; --p) + if (*p) + (*p)->counter = ((*p)->counter >> 1) + + (*p)->priority; + } + switch_to(next); +} + +int sys_pause(void) +{ + current->state = TASK_INTERRUPTIBLE; + schedule(); + return 0; +} + +void sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp = *p; + *p = current; + current->state = TASK_UNINTERRUPTIBLE; + schedule(); + if (tmp) + tmp->state=0; +} + +void interruptible_sleep_on(struct task_struct **p) +{ + struct task_struct *tmp; + + if (!p) + return; + if (current == &(init_task.task)) + panic("task[0] trying to sleep"); + tmp=*p; + *p=current; +repeat: current->state = TASK_INTERRUPTIBLE; + schedule(); + if (*p && *p != current) { + (**p).state=0; + goto repeat; + } + *p=NULL; + if (tmp) + tmp->state=0; +} + +void wake_up(struct task_struct **p) +{ + if (p && *p) { + (**p).state=0; + *p=NULL; + } +} + +/* + * OK, here are some floppy things that shouldn't be in the kernel + * proper. They are here because the floppy needs a timer, and this + * was the easiest way of doing it. + */ +static struct task_struct * wait_motor[4] = {NULL,NULL,NULL,NULL}; +static int mon_timer[4]={0,0,0,0}; +static int moff_timer[4]={0,0,0,0}; +unsigned char current_DOR = 0x0C; + +int ticks_to_floppy_on(unsigned int nr) +{ + extern unsigned char selected; + unsigned char mask = 0x10 << nr; + + if (nr>3) + panic("floppy_on: nr>3"); + moff_timer[nr]=10000; /* 100 s = very big :-) */ + cli(); /* use floppy_off to turn it off */ + mask |= current_DOR; + if (!selected) { + mask &= 0xFC; + mask |= nr; + } + if (mask != current_DOR) { + outb(mask,FD_DOR); + if ((mask ^ current_DOR) & 0xf0) + mon_timer[nr] = HZ/2; + else if (mon_timer[nr] < 2) + mon_timer[nr] = 2; + current_DOR = mask; + } + sti(); + return mon_timer[nr]; +} + +void floppy_on(unsigned int nr) +{ + cli(); + while (ticks_to_floppy_on(nr)) + sleep_on(nr+wait_motor); + sti(); +} + +void floppy_off(unsigned int nr) +{ + moff_timer[nr]=3*HZ; +} + +void do_floppy_timer(void) +{ + int i; + unsigned char mask = 0x10; + + for (i=0 ; i<4 ; i++,mask <<= 1) { + if (!(mask & current_DOR)) + continue; + if (mon_timer[i]) { + if (!--mon_timer[i]) + wake_up(i+wait_motor); + } else if (!moff_timer[i]) { + current_DOR &= ~mask; + outb(current_DOR,FD_DOR); + } else + moff_timer[i]--; + } +} + +#define TIME_REQUESTS 64 + +static struct timer_list { + long jiffies; + void (*fn)(); + struct timer_list * next; +} timer_list[TIME_REQUESTS], * next_timer = NULL; + +void add_timer(long jiffies, void (*fn)(void)) +{ + struct timer_list * p; + + if (!fn) + return; + cli(); + if (jiffies <= 0) + (fn)(); + else { + for (p = timer_list ; p < timer_list + TIME_REQUESTS ; p++) + if (!p->fn) + break; + if (p >= timer_list + TIME_REQUESTS) + panic("No more time requests free"); + p->fn = fn; + p->jiffies = jiffies; + p->next = next_timer; + next_timer = p; + while (p->next && p->next->jiffies < p->jiffies) { + p->jiffies -= p->next->jiffies; + fn = p->fn; + p->fn = p->next->fn; + p->next->fn = fn; + jiffies = p->jiffies; + p->jiffies = p->next->jiffies; + p->next->jiffies = jiffies; + p = p->next; + } + } + sti(); +} + +void do_timer(long cpl) +{ + extern int beepcount; + extern void sysbeepstop(void); + + if (beepcount) + if (!--beepcount) + sysbeepstop(); + + if (cpl) + current->utime++; + else + current->stime++; + + if (next_timer) { + next_timer->jiffies--; + while (next_timer && next_timer->jiffies <= 0) { + void (*fn)(void); + + fn = next_timer->fn; + next_timer->fn = NULL; + next_timer = next_timer->next; + (fn)(); + } + } + if (current_DOR & 0xf0) + do_floppy_timer(); + if ((--current->counter)>0) return; + current->counter=0; + if (!cpl) return; + schedule(); +} + +int sys_alarm(long seconds) +{ + int old = current->alarm; + + if (old) + old = (old - jiffies) / HZ; + current->alarm = (seconds>0)?(jiffies+HZ*seconds):0; + return (old); +} + +int sys_getpid(void) +{ + return current->pid; +} + +int sys_getppid(void) +{ + return current->father; +} + +int sys_getuid(void) +{ + return current->uid; +} + +int sys_geteuid(void) +{ + return current->euid; +} + +int sys_getgid(void) +{ + return current->gid; +} + +int sys_getegid(void) +{ + return current->egid; +} + +int sys_nice(long increment) +{ + if (current->priority-increment>0) + current->priority -= increment; + return 0; +} + +void sched_init(void) +{ + int i; + struct desc_struct * p; + + if (sizeof(struct sigaction) != 16) + panic("Struct sigaction MUST be 16 bytes"); + set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); + set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt)); + p = gdt+2+FIRST_TSS_ENTRY; + for(i=1;ia=p->b=0; + p++; + p->a=p->b=0; + p++; + } +/* Clear NT, so that we won't have troubles with that later on */ + __asm__("pushfl ; andl $0xffffbfff,(%esp) ; popfl"); + ltr(0); + lldt(0); + outb_p(0x36,0x43); /* binary, mode 3, LSB/MSB, ch 0 */ + outb_p(LATCH & 0xff , 0x40); /* LSB */ + outb(LATCH >> 8 , 0x40); /* MSB */ + set_intr_gate(0x20,&timer_interrupt); + outb(inb_p(0x21)&~0x01,0x21); + set_system_gate(0x80,&system_call); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/sched.o b/linux-0.11-lab - 副本/0/linux/kernel/sched.o new file mode 100644 index 0000000000000000000000000000000000000000..8907e54fae556c36d88e61cb2d6e7dbb043a4216 GIT binary patch literal 22732 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 U-~)n>3HAxTA^3?P_htI|KkS5JegFUf literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/signal.c b/linux-0.11-lab - 副本/0/linux/kernel/signal.c new file mode 100644 index 0000000..8d5a65f --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/signal.c @@ -0,0 +1,129 @@ +/* + * linux/kernel/signal.c + * + * (C) 1991 Linus Torvalds + */ + +#include +#include +#include +#include +#include + +volatile void do_exit(int error_code); + +int sys_sgetmask() +{ + return current->blocked; +} + +int sys_ssetmask(int newmask) +{ + int old=current->blocked; + + current->blocked = newmask & ~(1<<(SIGKILL-1)); + return old; +} + +int sys_sigpending() +{ + return -ENOSYS; +} + +int sys_sigsuspend() +{ + return -ENOSYS; +} + +static inline void save_old(char * from,char * to) +{ + int i; + + verify_area(to, sizeof(struct sigaction)); + for (i=0 ; i< sizeof(struct sigaction) ; i++) { + put_fs_byte(*from,to); + from++; + to++; + } +} + +static inline void get_new(char * from,char * to) +{ + int i; + + for (i=0 ; i< sizeof(struct sigaction) ; i++) + *(to++) = get_fs_byte(from++); +} + +int sys_signal(int signum, long handler, long restorer) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp.sa_handler = (void (*)(int)) handler; + tmp.sa_mask = 0; + tmp.sa_flags = SA_ONESHOT | SA_NOMASK; + tmp.sa_restorer = (void (*)(void)) restorer; + handler = (long) current->sigaction[signum-1].sa_handler; + current->sigaction[signum-1] = tmp; + return handler; +} + +int sys_sigaction(int signum, const struct sigaction * action, + struct sigaction * oldaction) +{ + struct sigaction tmp; + + if (signum<1 || signum>32 || signum==SIGKILL) + return -1; + tmp = current->sigaction[signum-1]; + get_new((char *) action, + (char *) (signum-1+current->sigaction)); + if (oldaction) + save_old((char *) &tmp,(char *) oldaction); + if (current->sigaction[signum-1].sa_flags & SA_NOMASK) + current->sigaction[signum-1].sa_mask = 0; + else + current->sigaction[signum-1].sa_mask |= (1<<(signum-1)); + return 0; +} + +void do_signal(long signr,long eax, long ebx, long ecx, long edx, + long fs, long es, long ds, + long eip, long cs, long eflags, + unsigned long * esp, long ss) +{ + unsigned long sa_handler; + long old_eip=eip; + struct sigaction * sa = current->sigaction + signr - 1; + int longs; + unsigned long * tmp_esp; + + sa_handler = (unsigned long) sa->sa_handler; + if (sa_handler==1) + return; + if (!sa_handler) { + if (signr==SIGCHLD) + return; + else + do_exit(1<<(signr-1)); + } + if (sa->sa_flags & SA_ONESHOT) + sa->sa_handler = NULL; + *(&eip) = sa_handler; + longs = (sa->sa_flags & SA_NOMASK)?7:8; + *(&esp) -= longs; + verify_area(esp,longs*4); + tmp_esp=esp; + put_fs_long((long) sa->sa_restorer,tmp_esp++); + put_fs_long(signr,tmp_esp++); + if (!(sa->sa_flags & SA_NOMASK)) + put_fs_long(current->blocked,tmp_esp++); + put_fs_long(eax,tmp_esp++); + put_fs_long(ecx,tmp_esp++); + put_fs_long(edx,tmp_esp++); + put_fs_long(eflags,tmp_esp++); + put_fs_long(old_eip,tmp_esp++); + current->blocked |= sa->sa_mask; +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/signal.o b/linux-0.11-lab - 副本/0/linux/kernel/signal.o new file mode 100644 index 0000000000000000000000000000000000000000..1970f39f72c6b0c63a277c6955a88089975ca4d3 GIT binary patch literal 8960 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/sys.c b/linux-0.11-lab - 副本/0/linux/kernel/sys.c new file mode 100644 index 0000000..695f287 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/sys.c @@ -0,0 +1,292 @@ +/* + * linux/kernel/sys.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +#include +#include +#include +#include +#include +#include + +int sys_ftime() +{ + return -ENOSYS; +} + +int sys_break() +{ + return -ENOSYS; +} + +int sys_ptrace() +{ + return -ENOSYS; +} + +int sys_stty() +{ + return -ENOSYS; +} + +int sys_gtty() +{ + return -ENOSYS; +} + +int sys_rename() +{ + return -ENOSYS; +} + +int sys_prof() +{ + return -ENOSYS; +} + +int sys_setregid(int rgid, int egid) +{ + if (rgid>0) { + if ((current->gid == rgid) || + suser()) + current->gid = rgid; + else + return(-EPERM); + } + if (egid>0) { + if ((current->gid == egid) || + (current->egid == egid) || + suser()) { + current->egid = egid; + current->sgid = egid; + } else + return(-EPERM); + } + return 0; +} + +int sys_setgid(int gid) +{ +/* return(sys_setregid(gid, gid)); */ + if (suser()) + current->gid = current->egid = current->sgid = gid; + else if ((gid == current->gid) || (gid == current->sgid)) + current->egid = gid; + else + return -EPERM; + return 0; +} + +int sys_acct() +{ + return -ENOSYS; +} + +int sys_phys() +{ + return -ENOSYS; +} + +int sys_lock() +{ + return -ENOSYS; +} + +int sys_mpx() +{ + return -ENOSYS; +} + +int sys_ulimit() +{ + return -ENOSYS; +} + +int sys_time(long * tloc) +{ + int i; + + i = CURRENT_TIME; + if (tloc) { + verify_area(tloc,4); + put_fs_long(i,(unsigned long *)tloc); + } + return i; +} + +/* + * Unprivileged users may change the real user id to the effective uid + * or vice versa. + */ +int sys_setreuid(int ruid, int euid) +{ + int old_ruid = current->uid; + + if (ruid>0) { + if ((current->euid==ruid) || + (old_ruid == ruid) || + suser()) + current->uid = ruid; + else + return(-EPERM); + } + if (euid>0) { + if ((old_ruid == euid) || + (current->euid == euid) || + suser()) { + current->euid = euid; + current->suid = euid; + } else { + current->uid = old_ruid; + return(-EPERM); + } + } + return 0; +} + +int sys_setuid(int uid) +{ +/* return(sys_setreuid(uid, uid)); */ + if (suser()) + current->uid = current->euid = current->suid = uid; + else if ((uid == current->uid) || (uid == current->suid)) + current->euid = uid; + else + return -EPERM; + return(0); +} + +int sys_stime(long * tptr) +{ + if (!suser()) + return -EPERM; + startup_time = get_fs_long((unsigned long *)tptr) - jiffies/HZ; + return 0; +} + +int sys_times(struct tms * tbuf) +{ + if (tbuf) { + verify_area(tbuf,sizeof *tbuf); + put_fs_long(current->utime,(unsigned long *)&tbuf->tms_utime); + put_fs_long(current->stime,(unsigned long *)&tbuf->tms_stime); + put_fs_long(current->cutime,(unsigned long *)&tbuf->tms_cutime); + put_fs_long(current->cstime,(unsigned long *)&tbuf->tms_cstime); + } + return jiffies; +} + +int sys_brk(unsigned long end_data_seg) +{ + if (end_data_seg >= current->end_code && + end_data_seg < current->start_stack - 16384) + current->brk = end_data_seg; + return current->brk; +} + +/* + * This needs some heave checking ... + * I just haven't get the stomach for it. I also don't fully + * understand sessions/pgrp etc. Let somebody who does explain it. + */ +int sys_setpgid(int pid, int pgid) +{ + int i; + + if (!pid) + pid = current->pid; + if (!pgid) + pgid = current->pid; + for (i=0 ; ipid==pid) { + if (task[i]->leader) + return -EPERM; + if (task[i]->session != current->session) + return -EPERM; + task[i]->pgrp = pgid; + return 0; + } + return -ESRCH; +} + +int sys_getpgrp(void) +{ + return current->pgrp; +} + +int sys_setsid(void) +{ + if (current->leader && !suser()) + return -EPERM; + current->leader = 1; + current->session = current->pgrp = current->pid; + current->tty = -1; + return current->pgrp; +} + +int sys_getgroups() +{ + return -ENOSYS; +} + +int sys_setgroups() +{ + return -ENOSYS; +} + +int sys_uname(struct utsname * name) +{ + static struct utsname thisname = { + "linux .0","nodename","release ","version ","machine " + }; + int i; + + if (!name) return -ERROR; + verify_area(name,sizeof *name); + for(i=0;iumask; + + current->umask = mask & 0777; + return (old); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/sys.o b/linux-0.11-lab - 副本/0/linux/kernel/sys.o new file mode 100644 index 0000000000000000000000000000000000000000..a691166c6ad2230733c9baaa0609d3b8fe779594 GIT binary patch literal 13088 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 M35GC+)VB!!4-!@J2mk;8 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/system_call.o b/linux-0.11-lab - 副本/0/linux/kernel/system_call.o new file mode 100644 index 0000000000000000000000000000000000000000..ddce0649262248d052f5c003cc697385b7d0d869 GIT binary patch literal 2520 zcma);U1%It6vxlzt5st*N@_%FyJCv5#+YcU6+wvEqzNo^(C8hE#)L@xkZzL2X~8v@an@S&Rx&BsEWdJp{#SsXi)OAGkh-}qT;9JQX7e?%TKm*uNczHFZD&j#eUX- z-eP1q*|~hG8>|2R#l2sJKm1H|g)d%yBiT7J^%Jj{Og?k`MEJ~(y{N-mHooev`{hb? z)m?Y1S>L}#gge5K>bW*l5q_OhPtP24mr$O6ZhhO_j$8Km$koVlv@cTLYK^;d${)8~ z+lL&Lx1xQ!8(r&q#T{L&mb$`cXO2z#BR%W!siRz6uyiCoeVwk;@aEDkKA*+SV*47K zs}X0Dw|(Mxa%20sk>To+Ti{}~*uKj1oGXo4Ty%1S2JMBMP-mgSs%yq~mSzkJtt4nL ztqPR}XKkBv{NJ`0f&2`0coX>9`9ylC_^7$vjq4`Y)o(+9v#>mm!#Qpzu6-W2Lb?4Z zGTofcfoW0^;UE4 zf$8xP;}Q5fCB6@Sx5W3uMnH zzs}q^_nMOjH(SkF0Lb}Y1Izi}1k3r~0ngy7x0>^wZ(R-1MQC$=h%SLA8ZjZd0`H$^ zH~xCxf)98P1M?5ypS^hI-{AYCadc5k;#=WQNxTRClElOC7o>dS;EKdaFP6Lb+|&RU z0$d94%K=^r@Y?}?H^3JHycXc~0Dm6ftpNWL;9moLOXFFn?{`;#DKU9i8J&nlX>24( zV^8B6#T8A`c!I_f6vcfqPNR_V*vR1o9f?K95^*eA+-TY)-Z3Sam}^X|u63TbLFG^Oj;S*h0%GDb+A+ znpM->;SwP#mC@2gLxUBHZkf5}pfrtmhHhGOB(gcpQnFm6RV)a1Kr3mfd5tn@sb4qD zLSaGbD5w_J*9@sEt<7gsnvyq#qRy*XL!Ct(DYIaiDb2P`OTii@w&$1Vm#yIY!jVPG z((-}??>%iQ-cjXLk@04_);(DNJg7dJD;j*-FJyH+tJyr+-4`2gGkP|kRK}y literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/kernel/system_call.s b/linux-0.11-lab - 副本/0/linux/kernel/system_call.s new file mode 100644 index 0000000..b7987f0 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/system_call.s @@ -0,0 +1,285 @@ +/* + * linux/kernel/system_call.s + * + * (C) 1991 Linus Torvalds + */ + +/* + * system_call.s contains the system-call low-level handling routines. + * This also contains the timer-interrupt handler, as some of the code is + * the same. The hd- and flopppy-interrupts are also here. + * + * NOTE: This code handles signal-recognition, which happens every time + * after a timer-interrupt and after each system call. Ordinary interrupts + * don't handle signal-recognition, as that would clutter them up totally + * unnecessarily. + * + * Stack layout in 'ret_from_system_call': + * + * 0(%esp) - %eax + * 4(%esp) - %ebx + * 8(%esp) - %ecx + * C(%esp) - %edx + * 10(%esp) - %fs + * 14(%esp) - %es + * 18(%esp) - %ds + * 1C(%esp) - %eip + * 20(%esp) - %cs + * 24(%esp) - %eflags + * 28(%esp) - %oldesp + * 2C(%esp) - %oldss + */ + +SIG_CHLD = 17 + +EAX = 0x00 +EBX = 0x04 +ECX = 0x08 +EDX = 0x0C +FS = 0x10 +ES = 0x14 +DS = 0x18 +EIP = 0x1C +CS = 0x20 +EFLAGS = 0x24 +OLDESP = 0x28 +OLDSS = 0x2C + +state = 0 # these are offsets into the task-struct. +counter = 4 +priority = 8 +signal = 12 +sigaction = 16 # MUST be 16 (=len of sigaction) +blocked = (33*16) + +# offsets within sigaction +sa_handler = 0 +sa_mask = 4 +sa_flags = 8 +sa_restorer = 12 + +nr_system_calls = 86 /* 72 */ + +/* + * Ok, I get parallel printer interrupts while using the floppy for some + * strange reason. Urgel. Now I just ignore them. + */ +.globl system_call,sys_fork,timer_interrupt,sys_execve +.globl hd_interrupt,floppy_interrupt,parallel_interrupt +.globl device_not_available, coprocessor_error + +.align 4 +bad_sys_call: + movl $-1,%eax + iret +.align 4 +reschedule: + pushl $ret_from_sys_call + jmp schedule +.align 4 +system_call: + cmpl $nr_system_calls-1,%eax + ja bad_sys_call + push %ds + push %es + push %fs + pushl %edx + pushl %ecx # push %ebx,%ecx,%edx as parameters + pushl %ebx # to the system call + movl $0x10,%edx # set up ds,es to kernel space + mov %dx,%ds + mov %dx,%es + movl $0x17,%edx # fs points to local data space + mov %dx,%fs + call sys_call_table(,%eax,4) + pushl %eax + movl current,%eax + cmpl $0,state(%eax) # state + jne reschedule + cmpl $0,counter(%eax) # counter + je reschedule +ret_from_sys_call: + movl current,%eax # task[0] cannot have signals + cmpl task,%eax + je 3f + cmpw $0x0f,CS(%esp) # was old code segment supervisor ? + jne 3f + cmpw $0x17,OLDSS(%esp) # was stack segment = 0x17 ? + jne 3f + movl signal(%eax),%ebx + movl blocked(%eax),%ecx + notl %ecx + andl %ebx,%ecx + bsfl %ecx,%ecx + je 3f + btrl %ecx,%ebx + movl %ebx,signal(%eax) + incl %ecx + pushl %ecx + call do_signal + popl %eax +3: popl %eax + popl %ebx + popl %ecx + popl %edx + pop %fs + pop %es + pop %ds + iret + +.align 4 +coprocessor_error: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + jmp math_error + +.align 2 +device_not_available: + push %ds + push %es + push %fs + pushl %edx + pushl %ecx + pushl %ebx + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + pushl $ret_from_sys_call + clts # clear TS so that we can use math + movl %cr0,%eax + testl $0x4,%eax # EM (math emulation bit) + je math_state_restore + pushl %ebp + pushl %esi + pushl %edi + call math_emulate + popl %edi + popl %esi + popl %ebp + ret + +.align 4 +timer_interrupt: + push %ds # save ds,es and put kernel data space + push %es # into them. %fs is used by _system_call + push %fs + pushl %edx # we save %eax,%ecx,%edx as gcc doesn't + pushl %ecx # save those across function calls. %ebx + pushl %ebx # is saved as we use that in ret_sys_call + pushl %eax + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + incl jiffies + movb $0x20,%al # EOI to interrupt controller #1 + outb %al,$0x20 + movl CS(%esp),%eax + andl $3,%eax # %eax is CPL (0 or 3, 0=supervisor) + pushl %eax + call do_timer # 'do_timer(long CPL)' does everything from + addl $4,%esp # task switching to accounting ... + jmp ret_from_sys_call + +.align 4 +sys_execve: + lea EIP(%esp),%eax + pushl %eax + call do_execve + addl $4,%esp + ret + +.align 4 +sys_fork: + call find_empty_process + testl %eax,%eax + js 1f + push %gs + pushl %esi + pushl %edi + pushl %ebp + pushl %eax + call copy_process + addl $20,%esp +1: ret + +hd_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0xA0 # EOI to interrupt controller #1 + jmp 1f # give port chance to breathe +1: jmp 1f +1: xorl %edx,%edx + xchgl do_hd,%edx + testl %edx,%edx + jne 1f + movl $unexpected_hd_interrupt,%edx +1: outb %al,$0x20 + call *%edx # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +floppy_interrupt: + pushl %eax + pushl %ecx + pushl %edx + push %ds + push %es + push %fs + movl $0x10,%eax + mov %ax,%ds + mov %ax,%es + movl $0x17,%eax + mov %ax,%fs + movb $0x20,%al + outb %al,$0x20 # EOI to interrupt controller #1 + xorl %eax,%eax + xchgl do_floppy,%eax + testl %eax,%eax + jne 1f + movl $unexpected_floppy_interrupt,%eax +1: call *%eax # "interesting" way of handling intr. + pop %fs + pop %es + pop %ds + popl %edx + popl %ecx + popl %eax + iret + +parallel_interrupt: + pushl %eax + movb $0x20,%al + outb %al,$0x20 + popl %eax + iret diff --git a/linux-0.11-lab - 副本/0/linux/kernel/traps.c b/linux-0.11-lab - 副本/0/linux/kernel/traps.c new file mode 100644 index 0000000..f9bd8f1 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/kernel/traps.c @@ -0,0 +1,208 @@ +/* + * linux/kernel/traps.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * 'Traps.c' handles hardware traps and faults after we have saved some + * state in 'asm.s'. Currently mostly a debugging-aid, will be extended + * to mainly kill the offending process (probably by giving it a signal, + * but possibly by killing it outright if necessary). + */ +#include + +#include +#include +#include +#include +#include +#include + +#define get_seg_byte(seg,addr) ({ \ +register char __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define get_seg_long(seg,addr) ({ \ +register unsigned long __res; \ +__asm__("push %%fs;mov %%ax,%%fs;movl %%fs:%2,%%eax;pop %%fs" \ + :"=a" (__res):"0" (seg),"m" (*(addr))); \ +__res;}) + +#define _fs() ({ \ +register unsigned short __res; \ +__asm__("mov %%fs,%%ax":"=a" (__res):); \ +__res;}) + +int do_exit(long code); + +void page_exception(void); + +void divide_error(void); +void debug(void); +void nmi(void); +void int3(void); +void overflow(void); +void bounds(void); +void invalid_op(void); +void device_not_available(void); +void double_fault(void); +void coprocessor_segment_overrun(void); +void invalid_TSS(void); +void segment_not_present(void); +void stack_segment(void); +void general_protection(void); +void page_fault(void); +void coprocessor_error(void); +void reserved(void); +void parallel_interrupt(void); +void irq13(void); + +static void die(char * str,long esp_ptr,long nr) +{ + long * esp = (long *) esp_ptr; + int i; + + printk("%s: %04x\n\r",str,nr&0xffff); + printk("EIP:\t%04x:%p\nEFLAGS:\t%p\nESP:\t%04x:%p\n", + esp[1],esp[0],esp[2],esp[4],esp[3]); + printk("fs: %04x\n",_fs()); + printk("base: %p, limit: %p\n",get_base(current->ldt[1]),get_limit(0x17)); + if (esp[4] == 0x17) { + printk("Stack: "); + for (i=0;i<4;i++) + printk("%p ",get_seg_long(0x17,i+(long *)esp[3])); + printk("\n"); + } + str(i); + printk("Pid: %d, process nr: %d\n\r",current->pid,0xffff & i); + for(i=0;i<10;i++) + printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0]))); + printk("\n\r"); + do_exit(11); /* play segment exception */ +} + +void do_double_fault(long esp, long error_code) +{ + die("double fault",esp,error_code); +} + +void do_general_protection(long esp, long error_code) +{ + die("general protection",esp,error_code); +} + +void do_divide_error(long esp, long error_code) +{ + die("divide error",esp,error_code); +} + +void do_int3(long * esp, long error_code, + long fs,long es,long ds, + long ebp,long esi,long edi, + long edx,long ecx,long ebx,long eax) +{ + int tr; + + __asm__("str %%ax":"=a" (tr):"0" (0)); + printk("eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r", + eax,ebx,ecx,edx); + printk("esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r", + esi,edi,ebp,(long) esp); + printk("\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r", + ds,es,fs,tr); + printk("EIP: %8x CS: %4x EFLAGS: %8x\n\r",esp[0],esp[1],esp[2]); +} + +void do_nmi(long esp, long error_code) +{ + die("nmi",esp,error_code); +} + +void do_debug(long esp, long error_code) +{ + die("debug",esp,error_code); +} + +void do_overflow(long esp, long error_code) +{ + die("overflow",esp,error_code); +} + +void do_bounds(long esp, long error_code) +{ + die("bounds",esp,error_code); +} + +void do_invalid_op(long esp, long error_code) +{ + die("invalid operand",esp,error_code); +} + +void do_device_not_available(long esp, long error_code) +{ + die("device not available",esp,error_code); +} + +void do_coprocessor_segment_overrun(long esp, long error_code) +{ + die("coprocessor segment overrun",esp,error_code); +} + +void do_invalid_TSS(long esp,long error_code) +{ + die("invalid TSS",esp,error_code); +} + +void do_segment_not_present(long esp,long error_code) +{ + die("segment not present",esp,error_code); +} + +void do_stack_segment(long esp,long error_code) +{ + die("stack segment",esp,error_code); +} + +void do_coprocessor_error(long esp, long error_code) +{ + if (last_task_used_math != current) + return; + die("coprocessor error",esp,error_code); +} + +void do_reserved(long esp, long error_code) +{ + die("reserved (15,17-47) error",esp,error_code); +} + +void trap_init(void) +{ + int i; + + set_trap_gate(0,÷_error); + set_trap_gate(1,&debug); + set_trap_gate(2,&nmi); + set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_gate(4,&overflow); + set_system_gate(5,&bounds); + set_trap_gate(6,&invalid_op); + set_trap_gate(7,&device_not_available); + set_trap_gate(8,&double_fault); + set_trap_gate(9,&coprocessor_segment_overrun); + set_trap_gate(10,&invalid_TSS); + set_trap_gate(11,&segment_not_present); + set_trap_gate(12,&stack_segment); + set_trap_gate(13,&general_protection); + set_trap_gate(14,&page_fault); + set_trap_gate(15,&reserved); + set_trap_gate(16,&coprocessor_error); + for (i=17;i<48;i++) + set_trap_gate(i,&reserved); + set_trap_gate(45,&irq13); + outb_p(inb_p(0x21)&0xfb,0x21); + outb(inb_p(0xA1)&0xdf,0xA1); + set_trap_gate(39,¶llel_interrupt); +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/traps.o b/linux-0.11-lab - 副本/0/linux/kernel/traps.o new file mode 100644 index 0000000000000000000000000000000000000000..51de46fe88ac98ea479385c2c283bf030d1f46cd GIT binary patch literal 12972 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 +#include + +/* we use this so that we can do without the ctype library */ +#define is_digit(c) ((c) >= '0' && (c) <= '9') + +static int skip_atoi(const char **s) +{ + int i=0; + + while (is_digit(**s)) + i = i*10 + *((*s)++) - '0'; + return i; +} + +#define ZEROPAD 1 /* pad with zero */ +#define SIGN 2 /* unsigned/signed long */ +#define PLUS 4 /* show plus */ +#define SPACE 8 /* space if plus */ +#define LEFT 16 /* left justified */ +#define SPECIAL 32 /* 0x */ +#define SMALL 64 /* use 'abcdef' instead of 'ABCDEF' */ + +#define do_div(n,base) ({ \ +int __res; \ +__asm__("divl %4":"=a" (n),"=d" (__res):"0" (n),"1" (0),"r" (base)); \ +__res; }) + +static char * number(char * str, int num, int base, int size, int precision + ,int type) +{ + char c,sign,tmp[36]; + const char *digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + int i; + + if (type&SMALL) digits="0123456789abcdefghijklmnopqrstuvwxyz"; + if (type&LEFT) type &= ~ZEROPAD; + if (base<2 || base>36) + return 0; + c = (type & ZEROPAD) ? '0' : ' ' ; + if (type&SIGN && num<0) { + sign='-'; + num = -num; + } else + sign=(type&PLUS) ? '+' : ((type&SPACE) ? ' ' : 0); + if (sign) size--; + if (type&SPECIAL) + if (base==16) size -= 2; + else if (base==8) size--; + i=0; + if (num==0) + tmp[i++]='0'; + else while (num!=0) + tmp[i++]=digits[do_div(num,base)]; + if (i>precision) precision=i; + size -= precision; + if (!(type&(ZEROPAD+LEFT))) + while(size-->0) + *str++ = ' '; + if (sign) + *str++ = sign; + if (type&SPECIAL) + if (base==8) + *str++ = '0'; + else if (base==16) { + *str++ = '0'; + *str++ = digits[33]; + } + if (!(type&LEFT)) + while(size-->0) + *str++ = c; + while(i0) + *str++ = tmp[i]; + while(size-->0) + *str++ = ' '; + return str; +} + +int vsprintf(char *buf, const char *fmt, va_list args) +{ + int len; + int i; + char * str; + char *s; + int *ip; + + int flags; /* flags to number() */ + + int field_width; /* width of output field */ + int precision; /* min. # of digits for integers; max + number of chars for from string */ + int qualifier; /* 'h', 'l', or 'L' for integer fields */ + + for (str=buf ; *fmt ; ++fmt) { + if (*fmt != '%') { + *str++ = *fmt; + continue; + } + + /* process flags */ + flags = 0; + repeat: + ++fmt; /* this also skips first '%' */ + switch (*fmt) { + case '-': flags |= LEFT; goto repeat; + case '+': flags |= PLUS; goto repeat; + case ' ': flags |= SPACE; goto repeat; + case '#': flags |= SPECIAL; goto repeat; + case '0': flags |= ZEROPAD; goto repeat; + } + + /* get field width */ + field_width = -1; + if (is_digit(*fmt)) + field_width = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + field_width = va_arg(args, int); + if (field_width < 0) { + field_width = -field_width; + flags |= LEFT; + } + } + + /* get the precision */ + precision = -1; + if (*fmt == '.') { + ++fmt; + if (is_digit(*fmt)) + precision = skip_atoi(&fmt); + else if (*fmt == '*') { + /* it's the next argument */ + precision = va_arg(args, int); + } + if (precision < 0) + precision = 0; + } + + /* get the conversion qualifier */ + qualifier = -1; + if (*fmt == 'h' || *fmt == 'l' || *fmt == 'L') { + qualifier = *fmt; + ++fmt; + } + + switch (*fmt) { + case 'c': + if (!(flags & LEFT)) + while (--field_width > 0) + *str++ = ' '; + *str++ = (unsigned char) va_arg(args, int); + while (--field_width > 0) + *str++ = ' '; + break; + + case 's': + s = va_arg(args, char *); + len = strlen(s); + if (precision < 0) + precision = len; + else if (len > precision) + len = precision; + + if (!(flags & LEFT)) + while (len < field_width--) + *str++ = ' '; + for (i = 0; i < len; ++i) + *str++ = *s++; + while (len < field_width--) + *str++ = ' '; + break; + + case 'o': + str = number(str, va_arg(args, unsigned long), 8, + field_width, precision, flags); + break; + + case 'p': + if (field_width == -1) { + field_width = 8; + flags |= ZEROPAD; + } + str = number(str, + (unsigned long) va_arg(args, void *), 16, + field_width, precision, flags); + break; + + case 'x': + flags |= SMALL; + case 'X': + str = number(str, va_arg(args, unsigned long), 16, + field_width, precision, flags); + break; + + case 'd': + case 'i': + flags |= SIGN; + case 'u': + str = number(str, va_arg(args, unsigned long), 10, + field_width, precision, flags); + break; + + case 'n': + ip = va_arg(args, int *); + *ip = (str - buf); + break; + + default: + if (*fmt != '%') + *str++ = '%'; + if (*fmt) + *str++ = *fmt; + else + --fmt; + break; + } + } + *str = '\0'; + return str-buf; +} diff --git a/linux-0.11-lab - 副本/0/linux/kernel/vsprintf.o b/linux-0.11-lab - 副本/0/linux/kernel/vsprintf.o new file mode 100644 index 0000000000000000000000000000000000000000..5acfe6576413e77d5a31e400e048fdd1e4ad4bf8 GIT binary patch literal 6156 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 tmp_make + (for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \ + $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +_exit.s _exit.o : _exit.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +close.s close.o : close.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +ctype.s ctype.o : ctype.c ../include/ctype.h +dup.s dup.o : dup.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +errno.s errno.o : errno.c +execve.s execve.o : execve.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +malloc.s malloc.o : malloc.c ../include/linux/kernel.h ../include/linux/mm.h \ + ../include/asm/system.h +open.s open.o : open.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/stdarg.h +setsid.s setsid.o : setsid.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h +string.s string.o : string.c ../include/string.h +wait.s wait.o : wait.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h ../include/sys/wait.h +write.s write.o : write.c ../include/unistd.h ../include/sys/stat.h \ + ../include/sys/types.h ../include/sys/times.h ../include/sys/utsname.h \ + ../include/utime.h diff --git a/linux-0.11-lab - 副本/0/linux/lib/_exit.c b/linux-0.11-lab - 副本/0/linux/lib/_exit.c new file mode 100644 index 0000000..c0c9d69 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/_exit.c @@ -0,0 +1,13 @@ +/* + * linux/lib/_exit.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +volatile void _exit(int exit_code) +{ + __asm__("int $0x80"::"a" (__NR_exit),"b" (exit_code)); +} diff --git a/linux-0.11-lab - 副本/0/linux/lib/_exit.o b/linux-0.11-lab - 副本/0/linux/lib/_exit.o new file mode 100644 index 0000000000000000000000000000000000000000..04229e90d130407cf5356bdac84c753b533235f4 GIT binary patch literal 1992 zcma)7&u<$=6n^8i6BDOylYnRxgf>!919aC8HK-H{g%ko5MWRq~s8F=FC-#bXH|(xy zS|NUj3y4z>hzkduN(oKlttQ8~1Zabz`rqA-Gz>6dHxVy`)-w zeh#QsZ~O}8)f;hANUb)%Mx|>0WNh;{j5PND z#>g0MH$<*{;%6~x@;GLt{%)VZY#N7VDB0DAaS;yahQKC@x1iR4sny_Sj51B~c$Da& z&z(E}e4J*5f6UYwrxV>tro*C>=0T!wcJ||BdKh%W&COsx>UX-O0&`#T__i)?9cbC! zx$bZIz3@WV^Mgs04aS$^^B11;gOMNXrIWY__OfWAgM$?5bp~aeAg&Jfrpcg)(e$sgLJ6H=w*9r>!QDLy+2KgX<0?^%+yGm zpKkWTZtuxb%l16X38Zdc6ZJ_`tu5B;U!jZc8_;I@{z|*~Wo_qvn@1tcZ%vA*4_;&? zA3Id&!$QJgR74W?^IXDA?}tO(pN@9pWG{uu;Hclv^v6|eltsx%A6vkdxCMwW;UJw% zG(K3Epd%r=Tz04oqsP0ZtE~9{5sy1>5AOnr_o{lvXd|s-5Zmh~SE#Iz^E(S2j`)B2 zb>ZXIFbw0}B(UUc=O91il;GWYkwfq$41NX<=6eyttpSuDG2S7tbH$6{*>`3C+GKt^>e0=$_K@Xv)aG4e$HF~ly7Y5%KAumFsl3bxv~$uaaRP&R*>~ow#`BT)By^5kJSRI|)z{^(f1IBD z_@9MxwGztJjFep$$|&CK);JkORmeNmDXwo-tdzOKBl3hDJR(mPXA#(gWp>Lw)a4s) zDp2UzBJ2uHV&BOhu^hh@QP|cxIS$;0)psnvWcd}#uUdZ1^7k$0`DL83mHA$%M)_^1 Mf7;r8aQtKBUyA6>L;wH) literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/close.c b/linux-0.11-lab - 副本/0/linux/lib/close.c new file mode 100644 index 0000000..afd8364 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/close.c @@ -0,0 +1,10 @@ +/* + * linux/lib/close.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall1(int,close,int,fd) diff --git a/linux-0.11-lab - 副本/0/linux/lib/close.o b/linux-0.11-lab - 副本/0/linux/lib/close.o new file mode 100644 index 0000000000000000000000000000000000000000..a80ba5284931b40ab6a906bea4c618b8b4d73713 GIT binary patch literal 2224 zcma)7&2Jk;6o0e3{%D*UCn=C9NGwt+Qef8!H4v4Sexy(pP!EL)B#@%Dy|!1ichmi# zX%(PSghUk%R0u^#9FTh9PpCLmDi;p)QVF=hfg2nO95`?&zc)J*Z%**!c^|*`=DnFW zp4ksye*G081Zfgv(%2&U#mqe|DHiDfP0<@$zc+4`0c^jyFnj&p_t&nUUYOk4T$rSd z@;21p8qELx=_b#)^#HW>ZR4FgpTV*iB1^Qv#a*x_+n^V6L55Xf&9F-QAxx_jgee(D z@iRp6VQFs=pR(lB$R-n`>D!JnLoLN6od$IQ9+}RlpJ~6vm5 z^@%#eDDmA6&&a|cNxSYKKfRK{n7L29idKqp6+N_!-k(MZnX)hm`k~*oxwXS6>`O(a zqGS-osl6wnIfzDnGt9baGfJG$zuX)KVYcBcxy#GW&}%oBasa$dejJApojG^GUbS29 zirccCkr#Ic$AZHv&)ZJlc6!k$NS$8njeKW4!V>%#U=Sjy@AR^;lLk?k016`~NxjZR zXFZNmzmrBWt*ym=f}N`McLrX(+kzyx>Ze!MeUd1hSzSG1FJ5S8VVdPDah}bjwfw_u=%-D|gF|GlEui@mUqofal=d-Md< zAh#2ZMm`SE4bdGJ9nZU!&+!Lqvcvh>{||p0L45D|S~Kx|Fa9C*n=lW29|tI^;$q-O z(-<7X7o6>b%2v+@U4&gEo$qOY9RFW&ydFJ=^KiZ$RupO9671so8c2Q(7_YB{q1Sf; zx}F0SZwsyvD~h!5JZ!DA>oN?R6-C;24tBBbr>NTi#&vmrx-Ks5o_sqkq8ozDYM z%=ZAJ<5(udE*eJFT?iN6?} zkNeIwi}~&&?qOh>bUtlsS;Q^+fMK29xBsZ5J@*iSC-1 z&nG)3lP1RoG?VZ_Dv(Ls!7-WWfbKQl-D#XqF@pQD`(Ebneg0kpK7=8Vp6|Z^`#=G^>I;ot?WOg Jqz!4n{ulF`_R9bO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/ctype.c b/linux-0.11-lab - 副本/0/linux/lib/ctype.c new file mode 100644 index 0000000..877e629 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/ctype.c @@ -0,0 +1,35 @@ +/* + * linux/lib/ctype.c + * + * (C) 1991 Linus Torvalds + */ + +#include + +char _ctmp; +unsigned char _ctype[] = {0x00, /* EOF */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */ + diff --git a/linux-0.11-lab - 副本/0/linux/lib/ctype.o b/linux-0.11-lab - 副本/0/linux/lib/ctype.o new file mode 100644 index 0000000000000000000000000000000000000000..acd65e6a3869dcf4ecb16245dcd9f21e6856c20c GIT binary patch literal 1908 zcmcgtOK;Oa5Z;Yl`bZlRr97$%luE4#2s;S`RJF8FBB+9@9*}xLf?_*PViDVs<3Ni9 z`~q(L0B%U!xbSDVaN!4lxFJ-&+4Ux_=z$X>&CcuFnf2_$Z|?2f=bSS|oM~)qG4@WA zk-89NmS=McD&>@-GLbUI@_qg|=_5+~TY|8Lzeob^3d)>76rVc2n*VRvD5;CGI)4bs z*HdfA+<;+%H5$-ZU7u_~(fO1CG4YX{GZ#n|eV*7M$MlntL+7VH!C<_=S8~OymRro_ z&oP$ayjkQ$?>nnU-72u4kLY+Y6cVm^}~9P?}_=LdCEQ&ajIZ zIscWL!zfMy_MbB+KJ2@uBcPRT=)09**orIRzzEzIm7W(24~(i=s~J7Zu2iK1qs@lF z!0QBVtK@X8Xq0B)y>uxf+jnBW&$f5>N{v$8Ts7+@!?z-*yWw45y;(9kC8HhsUTm}@ z%Xf`_=moJG!RZC4=^E`};KW`S4B!evV-Q=;Gov4cvFpTPMA@l`D9yGTjkQvF&mIQx zP}VZ84TV*EU8|eb`eo_G77Y&l*s>wxNXo9#V)r0sX3L5#X4-=RGb6WWwp@GI+4q8W zh>*}N+m77l>8KT1LC3`e382+09l4q5gud?v$Q@wuCK@6?Ml}52hDF*q@TmkY@9220 zy2nciF1gC=4%sRQy#yw@1g86>a9b%1#g$o2>EtI|o0NnU?kenQ<%FD_Wb7#<&Zszu zbZw~KEwGvcm3@G*NlHR0whLS76#52(j<+HedjLneZVz>-4%LM!YLopKtmZ&vzhRU~ zNl3*!*rd~U6RqGbeU_>iDMlP8QsKS;cSRuNpm47eoC?XiudMN!3UH~tpeW(qj$xy< zQ(k$!WpEw`;w#kC;8`&BIS;0ur1Sj*?ks$YD9=fh_Ur8XQ5tjnZ$bIfD + +_syscall1(int,dup,int,fd) diff --git a/linux-0.11-lab - 副本/0/linux/lib/dup.o b/linux-0.11-lab - 副本/0/linux/lib/dup.o new file mode 100644 index 0000000000000000000000000000000000000000..db9a7a81905d536743a71bac0ad2fb102e9303dc GIT binary patch literal 2200 zcma)7&2Jl35TCcZ{%D*UCjpTtNEj)F1lYAhEr<%GDJfJ1)I&>=fJ3yl*Y>LRZn_`T zt-^;CA+-tzDuf~=Zv6{5(R<;*pJngp3NK}0{9nWZJ!GCfQ)bbjZL+N~8RcHdf>zy9N$kFTFvn%>!7nx=7a z7vk?Vp6~r~lh@pO0NVMs_TKH!fh<;$CEmd-4r6+fG3bSikztisGOWUPV5U{@gM6QKj-SRH#6SWn^;1i3PKKtny;zsf9Ch?7Tj|_sW7mZG{45 zmNRq4JW;VlW|bW?Sen2S3ok7o_hXzNLwAHFE?v{x5Den_g!rd=7_&ShoQ!ash97i> zY1bpd-klDwNdrGly3QawyMhdD9ulvkk)l{e2Q8!bmr+2RG>H9v;C1WV*lc|~2&1Ha zz|a_kBd-yp-J}u5cHmuZ4E-P-+f8S6)gHR-Ml(}jZj%>9K}e_1UZ`)>Th5x(s@o$s z>I{ziN7tUO+x@!T3rBup_ab-X*;^qpdl8g=fS{h;OM_10hd~Tg5ZZC#b}rgmQJ8q0 zB#dZtGxB0=P?g;oxDgG*pf5KN`&Yf>%9ck`O{X_Dj@6ehw9_C-vr_EmQi)bSTx~hc z)=H)&e8(AytLI2;m&M|=WnDvi`Cxc3$pblAE$gPcw{ z8hJQ2CqQ!?G(2low#FN5$_8h(|DXABIPqOCDrdgq`HxV)1B=ifQa;S?3GjT$^QT4$Mxtn9EaoWv7kuXn!x$`IQSSkuCIWh>syDc*FeO3 zf{Vj~B5gYdtYtP`2B@>3NZZZ==ktz{w+0>O<^AcrxTpu>?IFOs&}q`~TqyGKt|17= z;doORI^HG7yoUG9bQj>)Oq4U*cx)@K{qEpdcv^a7llJ>W`DxR=>}Aq$zxFScpEloz zu(t1&)yMD)jQl=6%kASK*z`VTAnR`cA~gYSvY?3TV`8pzGX5JM?4RIxcZvTY9FP0X zIrH&;!*|L#H0gL6Yo6CzboYVQGe7t@WSq~yn6ppFlwVvP%m3NF!jvbv53!z4c0wji zPXHv7@Ds|BN!-B+ndpGdz;|~R-KtE?vM=hH=O1PERKvc4ArPAHzQDv;1scfxV*ZHY z{Ie2h{u9h`j>}5lQ2e;!rxbrfae0Rj$7PK5A1M8&ip#vXoP2IiZUFxaTkQ2g literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/errno.c b/linux-0.11-lab - 副本/0/linux/lib/errno.c new file mode 100644 index 0000000..50aca2e --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/errno.c @@ -0,0 +1,7 @@ +/* + * linux/lib/errno.c + * + * (C) 1991 Linus Torvalds + */ + +int errno; diff --git a/linux-0.11-lab - 副本/0/linux/lib/errno.o b/linux-0.11-lab - 副本/0/linux/lib/errno.o new file mode 100644 index 0000000000000000000000000000000000000000..2b68237de5d516e34b24195231b0aca298879d71 GIT binary patch literal 1472 zcma)6OK;Oa5T1=w3Ydmg1wmB_8L5aA;Z4#;RaIVx3Mvrltw)6HWYZdIyK>f04m|FN zQzg#)0?zylPW%tJawy;IdK)8wV5HfZ`R3c5eT@C~{^JKi2y!CGqe(;*G;F4COq*tD zhF0J=P23c#u;RT5?9d1qnU)x*JchjHRFY|6bK+WS-uGIIt=UUNjXrs;4gZ$^aQ@yx z<1%g4zI(q1Z~h2j6(cu&0sWJ$A$%|qR4VNU>bGy@>F%Qa;Q7` zILy?`&VG`WhhbOtdf|Q)ce)n97~6@owY?K;27S3M`$3pS#bEDFvbw$&gu6jF%F{%L zqasRGc#z{XssNZ|SX70hG8^b5&&GhVJRIw2@H{*ya;*kBFDBdC+T7d-+BC)B- zS4tE0-t_vi+h4XQksQBDbri$u!rDFOX?3Vc4kI0rjK^b=h1!=x6_>kDlWdeDW&9|P z3-zL&jfyDSRhVE2ymRMcZIXjLO%oAA%n@OM*0>xf%W?lD%bcN^;Fz@=wUp6kTr zwgEVwb048-;uCSXM?mUzzo0JH;kwgMSN92gHwP|#hPK(M#N`si?DM%dHD^0`P{Vn9=cGS3H+G;zUhcI0wwV1*e(!;SW6KSHBFC{e%O4g?Ao$4$9}9h4P)$ z*E_(yFvp3j>tbi?c$2;#JDlzBe=d&eJK?xqkz?M?M7)#kwU}pKsGhICB+oxPNy78Y z2`7+8zBwmXVV$EN$0z>-^SiR&i@-<2cO$So-!t2bm0e(qhB5y<;QWRHWd6 + +_syscall3(int,execve,const char *,file,char **,argv,char **,envp) diff --git a/linux-0.11-lab - 副本/0/linux/lib/execve.o b/linux-0.11-lab - 副本/0/linux/lib/execve.o new file mode 100644 index 0000000000000000000000000000000000000000..250d3960bb4f0002c32cd56d11ed8f4363a47a21 GIT binary patch literal 2340 zcma)7OKclO82)E>{Yad;c_9)d5=L?%Ja(NBtBOkc!i5s3id3i&qE%SiV|#_Y8`kSI zt)hYyA%ViB2Sh;}kSZijy>KZvP!SIyPF#BJg$qbLB*cM3`Tp6RcyoeZp8x%te|E-i zK7HmHAp~g)li3v7PPm z7;R;D!TvJN`0qP6IP%s#z|Pm>uipL^Qk>Hg&w>|mW_BVv8WS?C+&5qiEAummX=OY= zBE!gi&PtL0RM~QOl$8Am#Ik|J=rS+^=Mf)&2Auf>NQ^RTT%*igC8;#mtV}H><+Hyj z>2c*5QO>#vF8=~h&iX=O=0`ZS@x3Y}Cd8rQRKYCH6(_`GcKm)=%2X&Eg9=?IY#!Y? z;`pptJW_bF@bK)~6g!`o`QWKpF@***6kFD&j2WVAb)T3!h1HkIEamK=NDxTly4w{lkZpp@`bQ&Bo@V$Q2bUN{e zkWtyq5%C<(LuB*cff%hnjSNy%IzdlX{6RCS1by3=mnvP)A8gr+&eD?Ib?cSISOHv5 zN(?K>F!TeG{^kaqK6}1YD^;Bpr&_XmZrJD?^_Eu-m+W@QZUsFrvRk3sllDe{4?%`d zdOj*iyEX6|kr()VsQke0M{eVFdm{`Y*@%LWT3%OTJAJS1%Vw$3aYO2Nf-oxW>G;Fi zC&W(P6&YRLkmQE#P3i`IyTp#`>!Iuuovzi6lorm{2Yxh&o3@`AC~4{HQq@_kJ`!tr zmeY&?;>tM^+j%iJW?AoG_V~f0#x7C;JV_mZ8ss#BUQc4b zj*me)IGlK}ag6M&tHX$U|3CNvIPsg3O`Q40r$14)G0b6&C@w}#Tpj#q5{rHK*wJ$v!~Xx}$NlISPQv+qU?u@=TZEkMuZ!f@q2vBCSh~Lx;B^dGT7~d7 zGYM$hImnu4(^n8m%p{;~XCbHSS`fye*T^HAQU%tCYa1lBUI-d(gI^Q$|&cpde zv2;G31IO^b8IIv4_$y`=W*e{VglfNK4E#~$5hLx#GhklBMSU=dLfbxs%zXT;5xoY# z6&(c1{V}|cmEOmEY99w-)BBhJpDuMB!VTy&=(_2eY`c&n`W+PSE*-$)d^~rqna+0x z!^7LZ2Rh%LB4N^ci~hKmw(tMf<^1UiEbCpzQKtIhh8avkvnepui4GN}I@z>5HWa{_ zgukp5n8Xttf{6+6x52=7cM>PWbJf6eNj>fA--O~9o+>a2r04rDfVi^25ILUdeF^2i zGl4^YkSS)mkmyxB{J1XrpGxTS303z9`j->gWr{o-iF`Go??}6iL K2`zydkpBhBxe2NO literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/lib.a b/linux-0.11-lab - 副本/0/linux/lib/lib.a new file mode 100644 index 0000000000000000000000000000000000000000..0944ab9b445a35144a211b8b311d1288299547ba GIT binary patch literal 34170 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 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/malloc.c b/linux-0.11-lab - 副本/0/linux/lib/malloc.c new file mode 100644 index 0000000..d7c95d5 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/malloc.c @@ -0,0 +1,232 @@ +/* + * malloc.c --- a general purpose kernel memory allocator for Linux. + * + * Written by Theodore Ts'o (tytso@mit.edu), 11/29/91 + * + * This routine is written to be as fast as possible, so that it + * can be called from the interrupt level. + * + * Limitations: maximum size of memory we can allocate using this routine + * is 4k, the size of a page in Linux. + * + * The general game plan is that each page (called a bucket) will only hold + * objects of a given size. When all of the object on a page are released, + * the page can be returned to the general free pool. When malloc() is + * called, it looks for the smallest bucket size which will fulfill its + * request, and allocate a piece of memory from that bucket pool. + * + * Each bucket has as its control block a bucket descriptor which keeps + * track of how many objects are in use on that page, and the free list + * for that page. Like the buckets themselves, bucket descriptors are + * stored on pages requested from get_free_page(). However, unlike buckets, + * pages devoted to bucket descriptor pages are never released back to the + * system. Fortunately, a system should probably only need 1 or 2 bucket + * descriptor pages, since a page can hold 256 bucket descriptors (which + * corresponds to 1 megabyte worth of bucket pages.) If the kernel is using + * that much allocated memory, it's probably doing something wrong. :-) + * + * Note: malloc() and free() both call get_free_page() and free_page() + * in sections of code where interrupts are turned off, to allow + * malloc() and free() to be safely called from an interrupt routine. + * (We will probably need this functionality when networking code, + * particularily things like NFS, is added to Linux.) However, this + * presumes that get_free_page() and free_page() are interrupt-level + * safe, which they may not be once paging is added. If this is the + * case, we will need to modify malloc() to keep a few unused pages + * "pre-allocated" so that it can safely draw upon those pages if + * it is called from an interrupt routine. + * + * Another concern is that get_free_page() should not sleep; if it + * does, the code is carefully ordered so as to avoid any race + * conditions. The catch is that if malloc() is called re-entrantly, + * there is a chance that unecessary pages will be grabbed from the + * system. Except for the pages for the bucket descriptor page, the + * extra pages will eventually get released back to the system, though, + * so it isn't all that bad. + */ + +#include +#include +#include + +struct bucket_desc { /* 16 bytes */ + void *page; + struct bucket_desc *next; + void *freeptr; + unsigned short refcnt; + unsigned short bucket_size; +}; + +struct _bucket_dir { /* 8 bytes */ + int size; + struct bucket_desc *chain; +}; + +/* + * The following is the where we store a pointer to the first bucket + * descriptor for a given size. + * + * If it turns out that the Linux kernel allocates a lot of objects of a + * specific size, then we may want to add that specific size to this list, + * since that will allow the memory to be allocated more efficiently. + * However, since an entire page must be dedicated to each specific size + * on this list, some amount of temperance must be exercised here. + * + * Note that this list *must* be kept in order. + */ +struct _bucket_dir bucket_dir[] = { + { 16, (struct bucket_desc *) 0}, + { 32, (struct bucket_desc *) 0}, + { 64, (struct bucket_desc *) 0}, + { 128, (struct bucket_desc *) 0}, + { 256, (struct bucket_desc *) 0}, + { 512, (struct bucket_desc *) 0}, + { 1024, (struct bucket_desc *) 0}, + { 2048, (struct bucket_desc *) 0}, + { 4096, (struct bucket_desc *) 0}, + { 0, (struct bucket_desc *) 0}}; /* End of list marker */ + +/* + * This contains a linked list of free bucket descriptor blocks + */ +struct bucket_desc *free_bucket_desc = (struct bucket_desc *) 0; + +/* + * This routine initializes a bucket description page. + */ +static inline void init_bucket_desc() +{ + struct bucket_desc *bdesc, *first; + int i; + + first = bdesc = (struct bucket_desc *) get_free_page(); + if (!bdesc) + panic("Out of memory in init_bucket_desc()"); + for (i = PAGE_SIZE/sizeof(struct bucket_desc); i > 1; i--) { + bdesc->next = bdesc+1; + bdesc++; + } + /* + * This is done last, to avoid race conditions in case + * get_free_page() sleeps and this routine gets called again.... + */ + bdesc->next = free_bucket_desc; + free_bucket_desc = first; +} + +void *malloc(unsigned int len) +{ + struct _bucket_dir *bdir; + struct bucket_desc *bdesc; + void *retval; + + /* + * First we search the bucket_dir to find the right bucket change + * for this request. + */ + for (bdir = bucket_dir; bdir->size; bdir++) + if (bdir->size >= len) + break; + if (!bdir->size) { + printk("malloc called with impossibly large argument (%d)\n", + len); + panic("malloc: bad arg"); + } + /* + * Now we search for a bucket descriptor which has free space + */ + cli(); /* Avoid race conditions */ + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) + if (bdesc->freeptr) + break; + /* + * If we didn't find a bucket with free space, then we'll + * allocate a new one. + */ + if (!bdesc) { + char *cp; + int i; + + if (!free_bucket_desc) + init_bucket_desc(); + bdesc = free_bucket_desc; + free_bucket_desc = bdesc->next; + bdesc->refcnt = 0; + bdesc->bucket_size = bdir->size; + bdesc->page = bdesc->freeptr = (void *) (cp = get_free_page()); + if (!cp) + panic("Out of memory in kernel malloc()"); + /* Set up the chain of free objects */ + for (i=PAGE_SIZE/bdir->size; i > 1; i--) { + *((char **) cp) = cp + bdir->size; + cp += bdir->size; + } + *((char **) cp) = 0; + bdesc->next = bdir->chain; /* OK, link it in! */ + bdir->chain = bdesc; + } + retval = (void *) bdesc->freeptr; + bdesc->freeptr = *((void **) retval); + bdesc->refcnt++; + sti(); /* OK, we're safe again */ + return(retval); +} + +/* + * Here is the free routine. If you know the size of the object that you + * are freeing, then free_s() will use that information to speed up the + * search for the bucket descriptor. + * + * We will #define a macro so that "free(x)" is becomes "free_s(x, 0)" + */ +void free_s(void *obj, int size) +{ + void *page; + struct _bucket_dir *bdir; + struct bucket_desc *bdesc, *prev; + + /* Calculate what page this object lives in */ + page = (void *) ((unsigned long) obj & 0xfffff000); + /* Now search the buckets looking for that page */ + for (bdir = bucket_dir; bdir->size; bdir++) { + prev = 0; + /* If size is zero then this conditional is always false */ + if (bdir->size < size) + continue; + for (bdesc = bdir->chain; bdesc; bdesc = bdesc->next) { + if (bdesc->page == page) + goto found; + prev = bdesc; + } + } + panic("Bad address passed to kernel free_s()"); +found: + cli(); /* To avoid race conditions */ + *((void **)obj) = bdesc->freeptr; + bdesc->freeptr = obj; + bdesc->refcnt--; + if (bdesc->refcnt == 0) { + /* + * We need to make sure that prev is still accurate. It + * may not be, if someone rudely interrupted us.... + */ + if ((prev && (prev->next != bdesc)) || + (!prev && (bdir->chain != bdesc))) + for (prev = bdir->chain; prev; prev = prev->next) + if (prev->next == bdesc) + break; + if (prev) + prev->next = bdesc->next; + else { + if (bdir->chain != bdesc) + panic("malloc bucket chains corrupted"); + bdir->chain = bdesc->next; + } + free_page((unsigned long) bdesc->page); + bdesc->next = free_bucket_desc; + free_bucket_desc = bdesc; + } + sti(); + return; +} + diff --git a/linux-0.11-lab - 副本/0/linux/lib/malloc.o b/linux-0.11-lab - 副本/0/linux/lib/malloc.o new file mode 100644 index 0000000000000000000000000000000000000000..83667757057ff0915c7c4ad6ae9f4d0c0160ea5d GIT binary patch literal 4880 zcma)AS!`Ta89sOBdNTId@?Fn#g3%ipE_#~_of1bL9E?Nob`ab!I zi+!(7T-}TyePri5q3N3vn|36JywH3rg7ig|=;VdqFN>4|Y6uD0$b_k=Ozh-m4gGIv zI%LD9cRm58cWNkl@`4|l?@)}?Ahli*ydk0WLLZY-Bqxr*atWsx2y&Iz zQ1g(^z4->@t0pdP##;1&99S)`$%Svb1UW~T9|qN>$66&9Xz+Mw{to(0$ucMAd%z^5 zsx45e1P1PsQe}d~6C!wxTZ1Ve4odw4tl?9LEbGU0OQ?zs$Z02#;(*FHF*VeDKiCAS z-K?TEkDk2Hdh$HH5xPtGEf9AhAMBq*z}?ygU-|`*FUMK ztQwMHeY;T9`P+36j^gt$ylB#2GF+vqk9thnNjbH}1CY=vxtnf0Gl3(3^_R`jIHd8* z8W#_1NDFL@QH>^mWin7}?XuCyX7W@C@xE~mx?b5WIx02> zLEA>-eBN_wHK&@X)i9V}akSy6=ei>`X{hs2NjkalOrczJauv@Ds=k{SJ(#+hwQa3M zSSyK3=UF}9VptKO1z?*sSO$bsFtF|*DZ*bMeP}EFgIxg~u_Au} z6Mq+-b?$9Q4&$><&7*IwWFLi44Io-&J8t<=Zfh zuznSU0PRfU2DBaQ8kyeDA?b9`Sr0OU2D#py6BO)cJS7lTyR|yr84Jf(#@nrqNZYL_ zL8ldt$6^~}n_^ZcR;)#Y<79SrZouN(ts(|!Anb%Xk_5380fbngNgT0g8Zqd^phJo0 zwskX9Cju zNweIX?UuE(lL>Y7h@GANm`>+XX7_Z{UhooUY0ViTWeyGLH}QqUZRjoQM!W^R{I!7S zmOl0A9PLml87BOOu!f?Y!K?_`p&53U+3iDTMRrAw%}qZTZrnUG+b0DNM^4W~x4zOd zcUJLdB42u8`jP3`nak1Z!OL`vZdvM2=^#gDF8}!K-1VLZ!cDuj{c`4s+5WlN{u5Gp zCQ_03a3mc2&dZ2<{T<2s=tIAV1aot9W~9TxTXVCoU7q`DPfy6kyhbZQIWKC3$6VpL zqd6SdEH6aCo2cr0!d#LCPu%yZhn(%sV0uG(&`FgtUT%C#;S(F~bW&qZYP3=+_^DAZ zQ*u+)3eLUjL0Bjk3uQMo8kBQ>p@RD>HCnEuYJMhnFje&`zMJzao*b(FG8X;gm6F?E z4)T6~rIsqYhx-vGIFcGjuUnTYX0rVQN`O9#bdehK_m5UN2mer}C~#eR;^s?UEDiz> zb<-|Rk5iU+tf-AwJl_e*wZd2#cQdarbroa9tC=y^xX6-KJ@=4UW;)r#jsR(Dn0prXBggk@H{;7>{|~kFP%76)3yw1cv>#(bDMt54>`qijVOamt&f}2U75-!=og0Gw}>>uwHJ9zw?*k zVq5;#Fyq&cK;Fz+xr9Z7Fy$*i6k1kU+M82p?76~AExfF9wCBn%wXkSeVnBsu1(rl% zS&4c+F3&k7!}!|a@iDDt=IzM;F3l5I$9r$$9{|s}@Luh}eD>U=e+0a_Td6;AlYZ&d zc;7oz_om8c$nboG#_$)36w0@znkg4@I+Cb*c#IC3mutyL?S&9F)`yXU)gZ)2fg$X_ z&ydIDG8(HyY@X+dusaJ3VMD#B`IpGU@1Nx1XJhWfE{*Ge9Ov`o;eUWU>>IIB8MjD; z{EI-!*J9g{9{`fyP5gimdniZTtVZq*-Z%J91Yu$6c}9r*KN4a$5ixs+*l1i!%GYb$ zs&SV_-ci(NHOjjK{NtMcipJ+O{!rr!M2z!_=6|j6ipGCveJkgWcpuWZR^#17_>XAb z( +#include + +int open(const char * filename, int flag, ...) +{ + register int res; + va_list arg; + + va_start(arg,flag); + __asm__("int $0x80" + :"=a" (res) + :"0" (__NR_open),"b" (filename),"c" (flag), + "d" (va_arg(arg,int))); + if (res>=0) + return res; + errno = -res; + return -1; +} diff --git a/linux-0.11-lab - 副本/0/linux/lib/open.o b/linux-0.11-lab - 副本/0/linux/lib/open.o new file mode 100644 index 0000000000000000000000000000000000000000..eb38332f48e0690a11dc41caa62a86db34a03b87 GIT binary patch literal 2368 zcma)7O>Epm6nw;(6kAZC{2)Bl^=nKyu03Ai(Na| z-jY`3H?7ntLbL}|A#teG3m2}aoTwByR4NFGOQc>nZ~(ypxNzW5zBl$H?g^ee?|Xmq zX6DU|=e_4nJuieHMS^tN)rjgw;;BfOq`fpmXV!lo{Ahk+-}-H1V}7E4^Atp&u?e>R zi?KO)D~IUK*C$55dw*l=^1U@!(iN( zX(0j9jQsZyH6!;cKsR!pACso#zht8*d@gJ#f#*5%RXe5dU897_%(!^MRWOmYuGSm?3Ev9ZMd#Mr_J zr)SO%Q54rv54*)DrR#f86B%oft{xAhLY-?Q+}myKB~zJw0u;ooab1F@RU8;k8}g>9}fC zHw^uNPA;D{=gf*dV^>V8%Dqo~?HMxSPz_I?$Ec^t;m)d#dteVnsRka!o?jTsY$+*p+ji`(#bno= z*deObz7wD-k7UAGeDss<>BB@TX)%!c^SlG)}obR2!2TIF9L4G?wK*2Y3l_M}UfW zeoUXBW!Ev2S;rpu)H;SBXNS5C@>V^al_>Um8H;d|Y=PGn+3)@i<12 z%BOUNS-U}h-dA?U2VZB_vm>ysR-N?HcivN_W3n02<&N$ebh)!xy?W6p;6X@u3v?JrmgQ#~3lt xWNI&`cr?ZN6c + +_syscall0(pid_t,setsid) diff --git a/linux-0.11-lab - 副本/0/linux/lib/setsid.o b/linux-0.11-lab - 副本/0/linux/lib/setsid.o new file mode 100644 index 0000000000000000000000000000000000000000..7511f7c4a222329aaa1dc0b3b033b4453e6416f0 GIT binary patch literal 2244 zcma)7&2QX96o0dJHffSBn-AJVEyAEwgb#ZYxTR$;*NOkQf0xep z9su^gt$%X|f=!Lsstv3T1FcX7GzuaWdz@Uw9{T~r`jPz6v%t1J7Dky=D&vn)rzXB8 zvB&S{QuQa0u_Hig@+2^UA=PKMfU94UoqP_sa%V@z-vVQO$Ec!a)QQ^MlvO)cn^CjX z`cb$n$<)+YsNi%&tlH_R7pE@IVFg-0flQt{w^&%7TD&~RndcWixv;3C;b!!i$}6^x|a zILVxcTpHcDA2gytCu_v18wJ-Jy)YW=xGUc3s@wBhjg>+H+>#(kqF63ox#p}nP4AS~ zblkq5w7V~bCr`cLxSNi<5%jTZ6~%6v`Ry%t zJBhQPoyCc)uO~r@t?CW5yM7|QINB_>65a?{5ZMkp>zU+6xwy7=+F8EV8bsNkSdjbt zAeUC(TWxwP&8G`3{__IVjjN*eCe*QM+rEjqQqM*b^5(78=C^A2y}fj|pZP7&EGcN$ za7obfvS23@uj6OFc&!vIq_PvV2Ak_)v=PIU^M0$91n-ose&R=)*kx$~OJgP=hj{I{ z-w)6|FG6KJRJ*8DF(>G*=hZFN{D1J{aKculs-1cE%Ree@gkuZmrY=8KbWc+dl%FI3jEC1ula{k^86;|HSp@{kH>2Pr{@Sp66cyF|$GuIiK`VP5G!PH2n!u zG;UeznU8+?IR(9><<~WRQ&T?2^lNF_BSpM-wfvE$`8sf5xn|n)d7utt{^S1u<;VW3 literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/string.c b/linux-0.11-lab - 副本/0/linux/lib/string.c new file mode 100644 index 0000000..1182e63 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/string.c @@ -0,0 +1,14 @@ +/* + * linux/lib/string.c + * + * (C) 1991 Linus Torvalds + */ + +#ifndef __GNUC__ +#error I want gcc! +#endif + +#define extern +#define inline +#define __LIBRARY__ +#include diff --git a/linux-0.11-lab - 副本/0/linux/lib/string.o b/linux-0.11-lab - 副本/0/linux/lib/string.o new file mode 100644 index 0000000000000000000000000000000000000000..840f038b2beb337cf418b004cd61fe5f8badc3b6 GIT binary patch literal 6380 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 b$T5+-MNW%6E;57|# +#include + +_syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options) + +pid_t wait(int * wait_stat) +{ + return waitpid(-1,wait_stat,0); +} diff --git a/linux-0.11-lab - 副本/0/linux/lib/wait.o b/linux-0.11-lab - 副本/0/linux/lib/wait.o new file mode 100644 index 0000000000000000000000000000000000000000..ba0290563e3e14c314e77ea37c75283d77b2c810 GIT binary patch literal 2584 zcma)8ONbmr7_RE>nVszHPG*xe*(Cu-oZ$MHo?WwOjCpL_#25)NM598KNzY90PUBAZ z+TD{E!3T?A*wca<#N2`h4}u~{@R~r(!9&Q!lb~J{Bd91IqQvj(uG;B=y5WicgWjcWgF)BvHvr9M2%Ll8QFAYGs{8Dvn`MGN4t2fT= ztqv`ntqzG(`DL&_l{x?U^+iTrx(!;oQa*Nh>E_VYz10Ghu$K{JUA3w-|L|AhGj#b! z*wV6=duYQ6jN~u~I1fkw_0EQY_Y3)DK>va+rCU z^Il39zQvqo8cs6_QLI5{USo)mBXUb=ebFp!Dvii>`SM1juZm)E7gTWCAk5PC;^V~w z>#;MXNAq&F+&!LJ?i)X_o{=+S=bsptaLea}Sx94yG1P{rQcx^R-yyD9i&{)R_-`5C zOEVVxF}ufijAPZCF$^wW9Td6aoD`h^8sZRUDQ}gAF(-EnH%r=f-Sb-uy|!DAPDi3I z3USi$V!Oo@@##f3vOBzrJ>QGsHu$7oE}6|i`83W{<_li}jJe~4 z_j~QQ9z-?YJy~Dy{NAbBq&+oNTX357$y9;4Dcmsh1A#+t#A5%Uqm|jpw7t!quGG3t z*y`-`wr+c*Qk$>T=7O#l*XBZ}>(&+nTrW3-(({qptY1z4s_#_Y!I9wW(=)a{B&M%SMlK0?9K+ggjf2n}#gw zZFHRn%t7K^7JEvCC1bWUcCu91bGc+OZilk*o{QO1xlzJbYe%QMvC{;`VTv8ih3he02{Wqk0q zDA@#(-brC~*7+WUhW`KM$MxtKCSksx$tcpcNyypt%|Q4BI<7B=q1QJ9UdMnHZ$kK- zj3RA20$KAkJ&JF#LPn9c@$=8t{Uy^E?oZcs!Rr{Ncmes&kWr*<4&-b;F_`v=`vAL| z?^W=O;l4@Nkm0$8i(S{8kRz6Bh zq<1lA_ff#&%g}KjYcX_RM!;uF9fsi|beeQs;%ZIsqiimec-6%)2Jvh=oijeUb-$$u|sqO6i|b_`JfG6*d(v5RvbklFuvrP~jH}uMpvP YL&@JMOxBB!p8KZ#n8FIsfIOq{ABC4WX#fBK literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/lib/write.c b/linux-0.11-lab - 副本/0/linux/lib/write.c new file mode 100644 index 0000000..df52e74 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/lib/write.c @@ -0,0 +1,10 @@ +/* + * linux/lib/write.c + * + * (C) 1991 Linus Torvalds + */ + +#define __LIBRARY__ +#include + +_syscall3(int,write,int,fd,const char *,buf,off_t,count) diff --git a/linux-0.11-lab - 副本/0/linux/lib/write.o b/linux-0.11-lab - 副本/0/linux/lib/write.o new file mode 100644 index 0000000000000000000000000000000000000000..3aae21041d4ba6dc5244299e04aa1f571eb6f14b GIT binary patch literal 2376 zcma)8OK%)S5U!rtm%Yx$4<5E0i9y&BF9UKToQIG=R070wS-C6I5-5FH@mjsCjA#nt8gw*Q zo?gHA;@Ovk5Tr?vNkc@`%_&b^iaENECg`=@KgRdYR*xO9Z|`DtdhhkB^~3ugp01AV z?o`KUtFQ<4_i^U`{B(n79^3`(-Wq@F=C?p9XHG0b7r%iOFqlp%K}N3l4OAnS{~5x} z<^3Qb!zg~mMp3#BA#)hklQOLMqjVI$hsYm*iP00_Oq^1D{xx`^(@yQiJ{6jS4iMXo z{alfw#puftl}f)#BvbDvG?L?tqi=$hp8+#(%iLl@9Is53&B|xO-=77W@+EsX8J+pP8cV6bJ+I|~bT&u!M`l>xj-t#E+$dr=gGbmrUzYt^bdi%#9L z`)<_gp7c*FK5g0SmfZ>aeqwhbx9`~-A+C%U!RQA_?b)3{&`SI;h+zssJ5JozJN8Bt zCSEHEBOD<1*8{I@wYqLZaW{+->(IuxPo8@i#wHc&U-7sQ)C+@ki_MKjdt)qF=ZuuTZ+V$^CWgkVsSiTJPQ2Yu+$LlaDcRLpdnf5q{B^c+sY`EIk4lJ?C5 zXZQChl3#<3_m{`e`&)so=Rl<;fG=1{N&C(NYn@%c09dS~qJ&Nqso^Kl(`4xgLp5}trRl`1*=cfdDX z8iqi6{{96RuPl&^`@)iI$C7{G1e*RZOVo5OwafYN^ST^&I+bgwd?S@_r?Q#K9!uo= bB*kB*lK&0iJaRwyaCz?>cQKU~qyhXd?!6OW literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/mm/Makefile b/linux-0.11-lab - 副本/0/linux/mm/Makefile new file mode 100644 index 0000000..e0bcd73 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/mm/Makefile @@ -0,0 +1,38 @@ +AR =ar +AS =as +LD =ld +LDFLAGS =-m elf_i386 -Ttext 0 -e startup_32 +CC =gcc -march=i386 +CFLAGS =-w -g -fstrength-reduce -fomit-frame-pointer -mcld \ + -finline-functions -nostdinc -fno-stack-protector -I../include +CPP =gcc -E -nostdinc -I../include + +.c.o: + $(CC) $(CFLAGS) \ + -c -o $*.o $< +.s.o: + $(AS) -o $*.o $< +.c.s: + $(CC) $(CFLAGS) \ + -S -o $*.s $< + +OBJS = memory.o page.o + +all: mm.o + +mm.o: $(OBJS) + $(LD) -r -o mm.o $(OBJS) + +clean: + rm -f core *.o *.a tmp_make + for i in *.c;do rm -f `basename $$i .c`.s;done + +dep: + sed '/\#\#\# Dependencies/q' < Makefile > tmp_make + (for i in *.c;do $(CPP) -M $$i;done) >> tmp_make + cp tmp_make Makefile + +### Dependencies: +memory.o : memory.c ../include/signal.h ../include/sys/types.h \ + ../include/asm/system.h ../include/linux/sched.h ../include/linux/head.h \ + ../include/linux/fs.h ../include/linux/mm.h ../include/linux/kernel.h diff --git a/linux-0.11-lab - 副本/0/linux/mm/memory.c b/linux-0.11-lab - 副本/0/linux/mm/memory.c new file mode 100644 index 0000000..0ffa375 --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/mm/memory.c @@ -0,0 +1,431 @@ +/* + * linux/mm/memory.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * demand-loading started 01.12.91 - seems it is high on the list of + * things wanted, and it should be easy to implement. - Linus + */ + +/* + * Ok, demand-loading was easy, shared pages a little bit tricker. Shared + * pages started 02.12.91, seems to work. - Linus. + * + * Tested sharing by executing about 30 /bin/sh: under the old kernel it + * would have taken more than the 6M I have free, but it worked well as + * far as I could see. + * + * Also corrected some "invalidate()"s - I wasn't doing enough of them. + */ + +#include + +#include + +#include +#include +#include + +volatile void do_exit(long code); + +static inline volatile void oom(void) +{ + printk("out of memory\n\r"); + do_exit(SIGSEGV); +} + +#define invalidate() \ +__asm__("movl %%eax,%%cr3"::"a" (0)) + +/* these are not to be changed without changing head.s etc */ +#define LOW_MEM 0x100000 +#define PAGING_MEMORY (15*1024*1024) +#define PAGING_PAGES (PAGING_MEMORY>>12) +#define MAP_NR(addr) (((addr)-LOW_MEM)>>12) +#define USED 100 + +#define CODE_SPACE(addr) ((((addr)+4095)&~4095) < \ +current->start_code + current->end_code) + +static long HIGH_MEMORY = 0; + +#define copy_page(from,to) \ +__asm__("cld ; rep ; movsl"::"S" (from),"D" (to),"c" (1024)) + +static unsigned char mem_map [ PAGING_PAGES ] = {0,}; + +/* + * Get physical address of first (actually last :-) free page, and mark it + * used. If no free pages left, return 0. + */ +unsigned long get_free_page(void) +{ +register unsigned long __res asm("ax"); + +__asm__("std ; repne ; scasb\n\t" + "jne 1f\n\t" + "movb $1,1(%%edi)\n\t" + "sall $12,%%ecx\n\t" + "addl %2,%%ecx\n\t" + "movl %%ecx,%%edx\n\t" + "movl $1024,%%ecx\n\t" + "leal 4092(%%edx),%%edi\n\t" + "rep ; stosl\n\t" + "movl %%edx,%%eax\n\t" + "1:" + "cld\n\t" /* by wyj */ + :"=a" (__res) + :"0" (0),"i" (LOW_MEM),"c" (PAGING_PAGES), + "D" (mem_map+PAGING_PAGES-1) + ); +return __res; +} + +/* + * Free a page of memory at physical address 'addr'. Used by + * 'free_page_tables()' + */ +void free_page(unsigned long addr) +{ + if (addr < LOW_MEM) return; + if (addr >= HIGH_MEMORY) + panic("trying to free nonexistent page"); + addr -= LOW_MEM; + addr >>= 12; + if (mem_map[addr]--) return; + mem_map[addr]=0; + panic("trying to free free page"); +} + +/* + * This function frees a continuos block of page tables, as needed + * by 'exit()'. As does copy_page_tables(), this handles only 4Mb blocks. + */ +int free_page_tables(unsigned long from,unsigned long size) +{ + unsigned long *pg_table; + unsigned long * dir, nr; + + if (from & 0x3fffff) + panic("free_page_tables called with wrong alignment"); + if (!from) + panic("Trying to free up swapper memory space"); + size = (size + 0x3fffff) >> 22; + dir = (unsigned long *) ((from>>20) & 0xffc); /* _pg_dir = 0 */ + for ( ; size-->0 ; dir++) { + if (!(1 & *dir)) + continue; + pg_table = (unsigned long *) (0xfffff000 & *dir); + for (nr=0 ; nr<1024 ; nr++) { + if (1 & *pg_table) + free_page(0xfffff000 & *pg_table); + *pg_table = 0; + pg_table++; + } + free_page(0xfffff000 & *dir); + *dir = 0; + } + invalidate(); + return 0; +} + +/* + * Well, here is one of the most complicated functions in mm. It + * copies a range of linerar addresses by copying only the pages. + * Let's hope this is bug-free, 'cause this one I don't want to debug :-) + * + * Note! We don't copy just any chunks of memory - addresses have to + * be divisible by 4Mb (one page-directory entry), as this makes the + * function easier. It's used only by fork anyway. + * + * NOTE 2!! When from==0 we are copying kernel space for the first + * fork(). Then we DONT want to copy a full page-directory entry, as + * that would lead to some serious memory waste - we just copy the + * first 160 pages - 640kB. Even that is more than we need, but it + * doesn't take any more memory - we don't copy-on-write in the low + * 1 Mb-range, so the pages can be shared with the kernel. Thus the + * special case for nr=xxxx. + */ +int copy_page_tables(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 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: 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; + 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 + * out of memory (either when trying to access page-table or + * page.) + */ +unsigned long put_page(unsigned long page,unsigned long address) +{ + unsigned long tmp, *page_table; + +/* NOTE !!! This uses the fact that _pg_dir=0 */ + + if (page < LOW_MEM || page >= HIGH_MEMORY) + printk("Trying to put page %p at %p\n",page,address); + if (mem_map[(page-LOW_MEM)>>12] != 1) + printk("mem_map disagrees with %p at %p\n",page,address); + page_table = (unsigned long *) ((address>>20) & 0xffc); + if ((*page_table)&1) + page_table = (unsigned long *) (0xfffff000 & *page_table); + else { + if (!(tmp=get_free_page())) + return 0; + *page_table = tmp|7; + page_table = (unsigned long *) tmp; + } + page_table[(address>>12) & 0x3ff] = page | 7; +/* no need for invalidate */ + return page; +} + +void un_wp_page(unsigned long * table_entry) +{ + unsigned long old_page,new_page; + + old_page = 0xfffff000 & *table_entry; + if (old_page >= LOW_MEM && mem_map[MAP_NR(old_page)]==1) { + *table_entry |= 2; + invalidate(); + return; + } + if (!(new_page=get_free_page())) + oom(); + if (old_page >= LOW_MEM) + mem_map[MAP_NR(old_page)]--; + *table_entry = new_page | 7; + invalidate(); + copy_page(old_page,new_page); +} + +/* + * This routine handles present pages, when users try to write + * to a shared page. It is done by copying the page to a new address + * and decrementing the shared-page counter for the old page. + * + * If it's in code space we exit with a segment error. + */ +void do_wp_page(unsigned long error_code,unsigned long address) +{ +#if 0 +/* we cannot do this yet: the estdio library writes to code space */ +/* stupid, stupid. I really want the libc.a from GNU */ + if (CODE_SPACE(address)) + do_exit(SIGSEGV); +#endif + un_wp_page((unsigned long *) + (((address>>10) & 0xffc) + (0xfffff000 & + *((unsigned long *) ((address>>20) &0xffc))))); + +} + +void write_verify(unsigned long address) +{ + unsigned long page; + + if (!( (page = *((unsigned long *) ((address>>20) & 0xffc)) )&1)) + return; + page &= 0xfffff000; + page += ((address>>10) & 0xffc); + if ((3 & *(unsigned long *) page) == 1) /* non-writeable, present */ + un_wp_page((unsigned long *) page); + return; +} + +void get_empty_page(unsigned long address) +{ + unsigned long tmp; + + if (!(tmp=get_free_page()) || !put_page(tmp,address)) { + free_page(tmp); /* 0 is ok - ignored */ + oom(); + } +} + +/* + * try_to_share() checks the page at address "address" in the task "p", + * to see if it exists, and if it is clean. If so, share it with the current + * task. + * + * NOTE! This assumes we have checked that p != current, and that they + * share the same executable. + */ +static int try_to_share(unsigned long address, struct task_struct * p) +{ + unsigned long from; + unsigned long to; + unsigned long from_page; + unsigned long to_page; + unsigned long phys_addr; + + from_page = to_page = ((address>>20) & 0xffc); + from_page += ((p->start_code>>20) & 0xffc); + to_page += ((current->start_code>>20) & 0xffc); +/* is there a page-directory at from? */ + from = *(unsigned long *) from_page; + if (!(from & 1)) + return 0; + from &= 0xfffff000; + from_page = from + ((address>>10) & 0xffc); + phys_addr = *(unsigned long *) from_page; +/* is the page clean and present? */ + if ((phys_addr & 0x41) != 0x01) + return 0; + phys_addr &= 0xfffff000; + if (phys_addr >= HIGH_MEMORY || phys_addr < LOW_MEM) + return 0; + to = *(unsigned long *) to_page; + if (!(to & 1)) + if (to = get_free_page()) + *(unsigned long *) to_page = to | 7; + else + oom(); + to &= 0xfffff000; + to_page = to + ((address>>10) & 0xffc); + if (1 & *(unsigned long *) to_page) + panic("try_to_share: to_page already exists"); +/* share them: write-protect */ + *(unsigned long *) from_page &= ~2; + *(unsigned long *) to_page = *(unsigned long *) from_page; + invalidate(); + phys_addr -= LOW_MEM; + phys_addr >>= 12; + mem_map[phys_addr]++; + return 1; +} + +/* + * share_page() tries to find a process that could share a page with + * the current one. Address is the address of the wanted page relative + * to the current data space. + * + * We first check if it is at all feasible by checking executable->i_count. + * It should be >1 if there are other tasks sharing this inode. + */ +static int share_page(unsigned long address) +{ + struct task_struct ** p; + + if (!current->executable) + return 0; + if (current->executable->i_count < 2) + return 0; + for (p = &LAST_TASK ; p > &FIRST_TASK ; --p) { + if (!*p) + continue; + if (current == *p) + continue; + if ((*p)->executable != current->executable) + continue; + if (try_to_share(address,*p)) + return 1; + } + return 0; +} + +void do_no_page(unsigned long error_code,unsigned long address) +{ + int nr[4]; + unsigned long tmp; + unsigned long page; + int block,i; + + 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 mem_init(long start_mem, long end_mem) +{ + int i; + + HIGH_MEMORY = end_mem; + for (i=0 ; i>= 12; + while (end_mem-->0) + mem_map[i++]=0; +} + +void calc_mem(void) +{ + int i,j,k,free=0; + long * pg_tbl; + + for(i=0 ; i5I8yebbsjY3b+28NJ=ba4L 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 WJ>8K)@)PG@pEzRdVi(KKAO0KJhD)6Q literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/mm/page.o b/linux-0.11-lab - 副本/0/linux/mm/page.o new file mode 100644 index 0000000000000000000000000000000000000000..da4852668a6d8b88d91c428ae8572bb3d4d2090d GIT binary patch literal 640 zcmb<-^>JflWMqH=Mh0dE1doAX4phPfOlvT3Ft9STv#10H$+7V-*d+iI?Yq@?sP7TK z!lj^ql^~s^>@WWO|Ns9rE0}6N!ok0gT|O!@;yi<1ab<2vViJ%pDT2@$Fji4&j$TP> zMG1pmN@7VOgI-c`G1OurD0!e7kj-pRwIH{eL)jn-<{xPwn-fXAfQf+ts z<^W<T@#lCNna>cIHh8 zmQpZarI9YWp8nWXTYFZwwe@IEyOkE|#*J0!>F(05)$YpKrDtJJ5Z!~;QnpgEpU-{o z&Abe$XZOGTgPYvB_xtmH@Av+A@BVn7TiL%#Q54|>kMIgYaK~e;cQqn)NMC85`N&FK*ZX5l&;H4Oj1zW; zl`a4-7FU(Q?uwEQw-y88WD$bDkiXOglipPZ_m{!T%HX@p;Epo*lYqOQ_o?*995GK+ zA^p`}2c8Xs5`z)?bcxXWZqf5*G?CT|c_S)}k%TF-MlP4hiJTFR3eW(FNHUW*L?&yb zMJ$_3q|F#8xkxH2be+neBb+n!R5+0qTXG500Dc5G6X{SYleX!)xT(Kyd9U6PYNN>> z`>&LC>*DOnC&ndAE930KC!Uuu zt&MAhzb;`~9d9ALPr|f5P9L7wAz{`c&Te!fD`D0q-c9%(3A0x5)r8kcn6-^|tug-Iy1?28It}``mwHP0bT-cz-X{1=$j#XZ%}~ ziTzM4;G@$U_Z%O6r}0%^Gig(Y4^8a-0ZID_O8%G5c=r7LOK)GU9RB&4f->Llb*W?>)GX96Oe+fC5pdm-^MoZ7}hb3gVPQzky{>)}nKu{L39fE-o5E z3Jf{16(aji z2B)jAT{&Qj$1UTBY5X3#byxE?T12BRLCv#c7D74v3I>psw^7TcFl7zDC0*f@F62m( zu4GEryp2)0XIFC;8b=SxL~N~wuO4A>m$JAO&8i0Gy(^lt>{d`sX3E|T+0iqaN&at= z|81B`zA>>(@z(kz;WZL|ZWBhwVTL0jDK8W$)njZo>N-Y|CyE3#zD@A{IS9LpgoYwP zs!A3KO+`WzB{qP-YVh$nLp8qqp>zSAYW3$wrGuSjTnZJe?NPApJZSkI)1qJ89J+gKOvILLd`42Yk@^OxU$8n6I#&{sfY{{#r2t98kUEB;{&LjpELl}v>QmIa z9eT$~Z7~RT+0N?B?d-ACo!8DUP*(?ZeMCDC|Gw1Dhsp1;YwT|4_eeN_Qdp5`?JOz( zRHT&Jxpp5!eo!Qo+PRH{$BTqgJ4;o&iiA=-ucpLi5Zt3!0T?+<#OJ;UX=ijC2Hj~n47=^@*>RfrGK!w5qdf&8 zJK7cqq8d^olokg$5zZiI-nP^p;uQE%jl2v+pI4QYP%ynJAJNF4fdRHJXKdt?pwHBnr|q`b4D&zogW}@%iXk?=+1io7?t&uNsf7$#0#;@ETQ- zz511x&Utp9HWym&1!H)i?OD{!=0vuWUYvUL02xPLRj&PA;otGV-E_Bp*Tl(L``m%g zeD@#T*&3msd2)laAOZ`}Yq=`0Rcll|S%4j*FE?(Qknea4CGRz~mM?YWR`9;LAb*kA zm=6yb*J*==L^7%kW-?~ph?rX5Fbi2Nzcp_fDQ!~@=%_J#m$vB!Es+BMU1C-LE$i0Z zA$l`~WHh}H0(c+R$ftoZ5ivqyeF@MKd97tZbdk0odNp1@MPD*$426?!eyt@HzBiN8 zmRUT@!_jHfU@)jz3|ESc>F{9E(9Dd+cXn+djb7-&^4(sG#N0*;UTT1ZKS7X@#3q+ zr@1WABH?6Gi-i+OEOyGBBpZ}3m?c8FpKO*H9aR+nm<@cNFPOd1nGB> zp2EZHXGrhC!&${EL>6fiQm*S6l>62TWt*y8R_*gW2)qVd6XG`L9Y-o^)KxXrH_xsz zeIw$=OP7A4qj^4_6rvk(F3P|fPKe$bjrs-d88r)N(?)EI7 zRpG6u{0YkBBI_ZYi6? z)SjQz_-My#i0dHhp)3MzKZ4i~TpJN6Z`1>0?uE<*47w05c;JEuE_mRA2QGNvf(I^m z;DQG(c;JEuE_mSop$GQu_NiG!nuevBjMYewjQUg@-idJ>oXkVY^XSWva&g16&}zV3 z2NC}5xv9)|aNdlgI`RDdIO9Wl7%=w)b|dmElk2Fthz#7P5zqTnuBUECE@f!zDWppPBl~|2JU@4YF2K~{4iYlq(hZBcy6!(ddd17Rmz;AZ4Gtnj?f1*z9p`F&8miaNx^ zQ@I@^AfJ;+e?lTF{sEjmUj(tz1!=wtA4|HF#9bMQsl1hvZ&S$_ zc`AIK4@v$i0ncX2J|VMDko`Gk{l3e|q4={%DldiTqrTrhjYR!2sJ_#GieI7r7l^(O z=kZrPO8i;oRrQll>H7oo)#@9ho@2gN<>8-iius1X5h(Ksg+OEA1rihqGzDr%@kl@m z+)PzI2{Z@l2vkU*CBSPi}D*p!2w!nu}aFKEhNoU|U1gaGp+!d%LTdf4H z4{V}kb;_&2bq7KOE>>;;up-b;;1Z=Dz^cH{2sA2m-%WuA0!_;A0jv(_1Qsa&0=E7@ zh~cI$J`0@RcNK6|Y)_h9eGD{W z*_skt3vr2EC@QZ-Uac5e%!D^PD(*W;Zk5Bc;xjc=E-G&a^>%-V`!VYCAo$xj83~mx z@ORLKs#*Z6fAQ1ESF3k{-+$eAk*`%>#;4@A{+pO)_I|!Q_V2HiB;-Sb>{D6zFS>E{dY0H zTBUdVDGsM~Dz~@%Y32vStZ2dzN;}8?A|RBt~mi7&YsF+ zwO67P<$CJm6#;IODUZDc!8zL?Vi6!X=SB&U;Ca|rmk`Pg6!Ds8wYo?VIHT1iqDAPG zRySCP3FXFLL&|HO67|EdU+I=Z)BK%QznvD?;AyQcKPZ$QHl4?8L<7@g*}(5Zyx|yl zadteHE~|Wookb{flm#{QRo1d|&-E6?34%t{GL-bxzY* z570$zkS0~&$y&nSIPZEsuODYe5C`Z!<-?j;_?4I4*t*!|P3A>wA)k{MwuT~+*2I#o zCDygA;842IisxBtA{|K`7AgO z5aGS=4R7EzsqCuyAD1g&nRj?RXpX$8=WwPZ%wau^!xW+O=p)|&uj%>3eTFFT0E<*f zNr~0Q<P?;I^70u*yFM7k5)vbkV*?Z zo5_oCZfKZd5%eLU56d$u%HiNd=$T~H$rsZ3#8BFZYLR$2M*&ov!V%FL&!mjjbRlZC zX7a(bu?3?6_ZEX~q4xG*GCbJYW+6n$)S@z3Q+UFvtk7lsISJA|mNTV;^g^0<^g2r3 zkUn;tA*+}TM;8~}%J!v>Rek*{g}j=lr;QPM0&MM80&RpoWhI@glst5U&-H@-X9f6N zdNd_n!wOq)m@t?N@U+!n)9QoUms+p&(y9efu}FLwhdc5S9H9n>v|ucgN|?b|E}Sxg z*$jMulgMB!oe5&}Mm7htxr`}K1zlc{_0c)bS=SiO@Zf$OZGlUNvYn+1(6N}ZYe7*V zYxOSOsS63RD@mVHSw71V!A7;XG4T=tQi-f=+-p!St*8= zqzq$hBr@q~fDT&DNRr>mWRs={;ZPU9CR;xg0{~KnC%GbI#C6#SdOQkA2eKsea4r|# zYDqZxdm~_j@^C5z%8iR!)2#3={2JjY`NXIfxK0G*> z!(3ofFl-Db&$p2Ob>Mmu&j~&stUJ>H@Dwcu(ipBp4O4^kP($G8>|&wE)e*RzMgcN8$!x5!E!zN+(9 zDPCtJAJ@OnL-B6FP9QJC-H2SfvRtlPmq3VXXs2A_88;(xt;;;uy940Ukaw30P~3+Y zKqMd6%O?0}kE4%u;9Ke_qQkcfe7nGRyUoY7zQgwr^0bxZaQ%M-d{-jx1oAO_9?{_w zToZ#ZPJ$h119=}oboh9$ew;`eVh8dudvJzzI&dPXIwa*7tSry$-%U z*ysd@?`a?$K6%%Dj*$1@%lW?V;)~*HOcZ=)9VVoXz88_l%cX2%c{d-I#T^>io%~Oc z$F)bv$NiD&Kf?D0cxWF@=jGPgKf?DG=xht}$vgkxo3wFAWVvkLV~CDE-myMAgFf1L z!o|n^7oknR$4(x`_g#El;Ohb(%W(pE7|tLPPy2Wsw_BT;?+>8UzBWV#@~x3M>xVQ( zKYo}xVXr0x{)@q(%`M}57EI?HqrmO(T~WsO?FB+Cc8D&%)-t}MSK&V9417y%KBpc# zTd?2Y>VFhrL^qN?K_bK4MOdKEppPi_WhcDefu$Y>?|dMTm2JT>!Xe`-Ml^SU=0dns zgL8V|cPPYIU$7=s;w`;kn&aztA5fCY2pp}$}pTd*~| za9mq3TLt~o-uLs0Itg=}GUK(MJRFY}Y|TKWR5S3Vis@W)C3a$fQAGWhahzbC;b-kYjM>eNTUj4Ca_ zdWv+9m?c6;+gxxDU}rCw^iKnpH}sJzkd7gB{H4HOdjWI*7>U&PRiuu875H~Q33i}8 z?tV&m9JD(hvE&tuntufBw$~Pw3HkpOIj4Lqjm1g8PWvcmpAP^#<&(~DOXNIf4>0O2`vAoW$+QePI;6+;i7BcKjVTa z&x&7fmp2Ey3v;b002KN|hy{S%-yC(8(Qhq-qh)XbFh4^HOMSD%ZosRH^_wTY0N5GN z^gp+<`5d?WGh2KGaLFI@#9sq;Hmk`0Ex^u>7UAarJG)?nzX#X}8Zxf}cJ#5n|6E3Y z7ck#*C{u?wJ?_Cef&LJYoS8QZu^9Fnv>Zpd|vV~PBX z&CO(e9_Plu>m{vaAH4C4x-#B;MvsTnQJBbEm(z$?oN~{~{u=MRZ|mH=_IG%0l-w+E zBV2xEO9;7tV%J`eW%c+LcnRw@8zuJ$ti2*`3+p!z>+9{l*_#aK^XQnm4j((6fX<)U N^|Cbi(V*L${{d;jp)>#h literal 0 HcmV?d00001 diff --git a/linux-0.11-lab - 副本/0/linux/tools/build.c b/linux-0.11-lab - 副本/0/linux/tools/build.c new file mode 100644 index 0000000..8b8c7ab --- /dev/null +++ b/linux-0.11-lab - 副本/0/linux/tools/build.c @@ -0,0 +1,171 @@ +/* + * linux/tools/build.c + * + * (C) 1991 Linus Torvalds + */ + +/* + * This file builds a disk-image from three different files: + * + * - bootsect: max 510 bytes of 8086 machine code, loads the rest + * - setup: max 4 sectors of 8086 machine code, sets up system parm + * - system: 80386 code for actual system + * + * It does some checking that all files are of the correct type, and + * just writes the result to stdout, removing headers and padding to + * the right amount. It also writes some system data to stderr. + */ + +/* + * Changes by tytso to allow root device specification + */ + +#include /* fprintf */ +#include +#include /* contains exit */ +#include /* unistd.h needs this */ +#include +#include +#include /* contains read/write */ +#include + +#define MAJOR(a) (((unsigned)(a))>>8) +#define MINOR(a) ((a)&0xff) + +#define MINIX_HEADER 32 +#define GCC_HEADER 0x80 /* 0x1000 */ /* by wyj */ + +#define SYS_SIZE 0x3000 + +#define DEFAULT_MAJOR_ROOT 0x03 //0x02 /* by wyj */ +#define DEFAULT_MINOR_ROOT 0x00 //0x1d + +/* max nr of sectors of setup: don't change unless you also change + * bootsect etc */ +#define SETUP_SECTS 4 + +#define STRINGIFY(x) #x + +void die(char * str) +{ + fprintf(stderr,"%s\n",str); + exit(1); +} + +void usage(void) +{ + die("Usage: build bootsect setup system [rootdev] [> image]"); +} + +int main(int argc, char ** argv) +{ + int i,c,id; + char buf[1024*4]; /* by wyj */ + char major_root, minor_root; + struct stat sb; + + if ((argc != 4) && (argc != 5)) + usage(); + if (argc == 5) { + if (strcmp(argv[4], "FLOPPY")) { + if (stat(argv[4], &sb)) { + perror(argv[4]); + die("Couldn't stat root device."); + } + major_root = MAJOR(sb.st_rdev); + minor_root = MINOR(sb.st_rdev); + } else { + major_root = 0; + minor_root = 0; + } + } else { + major_root = DEFAULT_MAJOR_ROOT; + minor_root = DEFAULT_MINOR_ROOT; + } + fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root); + if ((major_root != 2) && (major_root != 3) && + (major_root != 0)) { + fprintf(stderr, "Illegal root device (major = %d)\n", + major_root); + die("Bad root device --- major #"); + } + for (i=0;i0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close (id); + if (i > SETUP_SECTS*512) + die("Setup exceeds " STRINGIFY(SETUP_SECTS) + " sectors - rewrite build/boot/setup"); + fprintf(stderr,"Setup is %d bytes.\n",i); + for (c=0 ; c sizeof(buf)) + c = sizeof(buf); + if (write(1,buf,c) != c) + die("Write call failed"); + i += c; + } + + if ((id=open(argv[3],O_RDONLY,0))<0) + die("Unable to open 'system'"); + if (read(id,buf,GCC_HEADER) != GCC_HEADER) + die("Unable to read header of 'system'"); +// if (((long *) buf)[5] != 0) +// die("Non-GCC header of 'system'"); + for (i=0 ; (c=read(id,buf,sizeof buf))>0 ; i+=c ) + if (write(1,buf,c)!=c) + die("Write call failed"); + close(id); + fprintf(stderr,"System is %d bytes.\n",i); + if (i > SYS_SIZE*16) + die("System is too big"); + return(0); +} diff --git a/linux-0.11-lab - 副本/0/linux/tools/system b/linux-0.11-lab - 副本/0/linux/tools/system new file mode 100644 index 0000000000000000000000000000000000000000..cdec13498fa56de2a8a9c9f8d06d839b764ef75e GIT binary patch literal 286057 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