version 1 of mmap

master
forever-learner 2 years ago
parent 6085e6a476
commit 09608b155c

Binary file not shown.

@ -111,481 +111,481 @@
00009036 t put_fs_long 00009036 t put_fs_long
00009042 T sys_getcwd 00009042 T sys_getcwd
000094e6 T sys_getdents 000094e6 T sys_getdents
00009777 T sys_pipe2 00009761 T sys_pipe2
0000977d T sys_sleep 00009767 T sys_sleep
00009833 T sys_mmap 0000981d T sys_clone
00009839 T sys_munmap 00009823 T sys_ftime
0000983f T sys_clone 00009829 T sys_break
00009845 T sys_ftime 0000982f T sys_ptrace
0000984b T sys_break 00009835 T sys_stty
00009851 T sys_ptrace 0000983b T sys_gtty
00009857 T sys_stty 00009841 T sys_rename
0000985d T sys_gtty 00009847 T sys_prof
00009863 T sys_rename 0000984d T sys_setregid
00009869 T sys_prof 00009906 T sys_setgid
0000986f T sys_setregid 0000999d T sys_acct
00009928 T sys_setgid 000099a3 T sys_phys
000099bf T sys_acct 000099a9 T sys_lock
000099c5 T sys_phys 000099af T sys_mpx
000099cb T sys_lock 000099b5 T sys_ulimit
000099d1 T sys_mpx 000099bb T sys_time
000099d7 T sys_ulimit 00009a17 T sys_setreuid
000099dd T sys_time 00009af9 T sys_setuid
00009a39 T sys_setreuid 00009b8e T sys_stime
00009b1b T sys_setuid 00009be4 T sys_times
00009bb0 T sys_stime 00009c84 T sys_brk
00009c06 T sys_times 00009cc6 T sys_setpgid
00009ca6 T sys_brk 00009d9f T sys_getpgrp
00009ce8 T sys_setpgid 00009dab T sys_setsid
00009dc1 T sys_getpgrp 00009e25 T sys_getgroups
00009dcd T sys_setsid 00009e2b T sys_setgroups
00009e47 T sys_getgroups 00009e31 T sys_uname
00009e4d T sys_setgroups 00009e9a T sys_sethostname
00009e53 T sys_uname 00009ea0 T sys_getrlimit
00009ebc T sys_sethostname 00009ea6 T sys_setrlimit
00009ec2 T sys_getrlimit 00009eac T sys_getrusage
00009ec8 T sys_setrlimit 00009eb2 T sys_gettimeofday
00009ece T sys_getrusage 00009eb8 T sys_settimeofday
00009ed4 T sys_gettimeofday 00009ebe T sys_umask
00009eda T sys_settimeofday 00009ef1 T sys_mmap
00009ee0 T sys_umask 0000a1b6 T sys_munmap
00009f13 t _get_base 0000a1bc t _get_base
00009f45 t put_fs_long 0000a1ee t put_fs_long
00009f51 T release 0000a1fa T release
00009fb5 t send_sig 0000a25e t send_sig
0000a034 t kill_session 0000a2dd t kill_session
0000a08e T sys_kill 0000a337 T sys_kill
0000a23e t tell_father 0000a4e7 t tell_father
0000a2c8 T do_exit 0000a571 T do_exit
0000a4fc T sys_exit 0000a7a5 T sys_exit
0000a515 T sys_waitpid 0000a7be T sys_waitpid
0000a73b t get_fs_byte 0000a9e4 t get_fs_byte
0000a749 t put_fs_byte 0000a9f2 t put_fs_byte
0000a761 t put_fs_long 0000aa0a t put_fs_long
0000a76d T sys_sgetmask 0000aa16 T sys_sgetmask
0000a779 T sys_ssetmask 0000aa22 T sys_ssetmask
0000a7a5 T sys_sigpending 0000aa4e T sys_sigpending
0000a7ab T sys_sigsuspend 0000aa54 T sys_sigsuspend
0000a7b1 t save_old 0000aa5a t save_old
0000a804 t get_new 0000aaad t get_new
0000a844 T sys_signal 0000aaed T sys_signal
0000a8c8 T sys_sigaction 0000ab71 T sys_sigaction
0000a9d2 T do_signal 0000ac7b T do_signal
0000abbe T kernel_mktime 0000ae67 T kernel_mktime
0000ad03 t oom 0000afac t oom
0000ad22 T get_free_page 0000afcb T get_free_page
0000ad5e T free_page 0000b007 T free_page
0000adcd T free_page_tables 0000b076 T free_page_tables
0000aecc T copy_page_tables 0000b175 T copy_page_tables
0000b04d T put_page 0000b2f6 T put_page
0000b139 T un_wp_page 0000b3e2 T un_wp_page
0000b1f1 T do_wp_page 0000b49a T do_wp_page
0000b27c T get_empty_page 0000b525 T get_empty_page
0000b2bc t try_to_share 0000b565 t try_to_share
0000b44e t share_page 0000b6f7 t share_page
0000b502 T do_no_page 0000b7ab T do_no_page
0000b664 T mem_init 0000b940 T mem_init
0000b6d8 T do_execve2 0000b9b4 T do_execve2
0000b852 T calc_mem 0000bb2e T calc_mem
0000b947 T page_fault 0000bc23 T page_fault
0000b97e t get_fs_long 0000bc5a t get_fs_long
0000b994 T sys_ustat 0000bc70 T sys_ustat
0000b99a T sys_utime 0000bc76 T sys_utime
0000ba47 T sys_access 0000bd23 T sys_access
0000bb23 T sys_chdir 0000bdff T sys_chdir
0000bb97 T sys_chroot 0000be73 T sys_chroot
0000bc0b T sys_chmod 0000bee7 T sys_chmod
0000bca5 T sys_chown 0000bf81 T sys_chown
0000bd20 T sys_open 0000bffc T sys_open
0000bfc3 T sys_creat 0000c29f T sys_creat
0000bfe6 T sys_close 0000c2c2 T sys_close
0000c0b5 T sys_lseek 0000c391 T sys_lseek
0000c1cc T sys_read 0000c4a8 T sys_read
0000c3bf T sys_write 0000c69b T sys_write
0000c56d t lock_inode 0000c849 t lock_inode
0000c59a t unlock_inode 0000c876 t unlock_inode
0000c5b8 T invalidate_inodes 0000c894 T invalidate_inodes
0000c627 T sync_inodes 0000c903 T sync_inodes
0000c67e t _bmap 0000c95a t _bmap
0000ca6a T bmap 0000cd46 T bmap
0000ca8d T create_block 0000cd69 T create_block
0000cab0 T iput 0000cd8c T iput
0000cc1f T get_empty_inode 0000cefb T get_empty_inode
0000cd74 T get_pipe_inode 0000d050 T get_pipe_inode
0000cde9 T iget 0000d0c5 T iget
0000cfae t read_inode 0000d28a t read_inode
0000d1e4 T sys_sync 0000d4c0 T sys_sync
0000d247 T sync_dev 0000d523 T sync_dev
0000d340 T invalidate_buffers 0000d61c T invalidate_buffers
0000d3b2 T check_disk_change 0000d68e T check_disk_change
0000d45c t remove_from_queues 0000d738 t remove_from_queues
0000d553 t insert_into_queues 0000d82f t insert_into_queues
0000d618 t find_buffer 0000d8f4 t find_buffer
0000d680 T get_hash_table 0000d95c T get_hash_table
0000d702 T getblk 0000d9de T getblk
0000d8a0 T brelse 0000db7c T brelse
0000d8e9 T bread 0000dbc5 T bread
0000d96e T bread_page 0000dc4a T bread_page
0000da90 T breada 0000dd6c T breada
0000db85 T buffer_init 0000de61 T buffer_init
0000dcb4 t lock_super 0000df90 t lock_super
0000dce1 t free_super 0000dfbd t free_super
0000dd26 T get_super 0000e002 T get_super
0000dd95 T put_super 0000e071 T put_super
0000de68 t read_super 0000e144 t read_super
0000e1ab T sys_umount 0000e487 T sys_umount
0000e30c T sys_mount 0000e5e8 T sys_mount
0000e47d T mount_root 0000e759 T mount_root
0000e68b t get_fs_byte 0000e967 t get_fs_byte
0000e699 t put_fs_byte 0000e975 t put_fs_byte
0000e6b1 T block_write 0000e98d T block_write
0000e803 T block_read 0000eadf T block_read
0000e92e t get_fs_byte 0000ec0a t get_fs_byte
0000e93c t put_fs_byte 0000ec18 t put_fs_byte
0000e954 t rw_ttyx 0000ec30 t rw_ttyx
0000e99c t rw_tty 0000ec78 t rw_tty
0000e9ec t rw_ram 0000ecc8 t rw_ram
0000e9f2 t rw_mem 0000ecce t rw_mem
0000e9f8 t rw_kmem 0000ecd4 t rw_kmem
0000e9fe t rw_port 0000ecda t rw_port
0000ea98 t rw_memory 0000ed74 t rw_memory
0000eb6e T rw_char 0000ee4a T rw_char
0000ebd8 t get_fs_byte 0000eeb4 t get_fs_byte
0000ebe6 t put_fs_byte 0000eec2 t put_fs_byte
0000ebfe T file_read 0000eeda T file_read
0000eda9 T file_write 0000f085 T file_write
0000efa3 t put_fs_byte 0000f27f t put_fs_byte
0000efbb t cp_stat 0000f297 t cp_stat
0000f092 T sys_stat 0000f36e T sys_stat
0000f0dc T sys_lstat 0000f3b8 T sys_lstat
0000f0f7 T sys_fstat 0000f3d3 T sys_fstat
0000f154 T sys_readlink 0000f430 T sys_readlink
0000f15a t _get_base 0000f436 t _get_base
0000f18c t get_fs_byte 0000f468 t get_fs_byte
0000f19a t get_fs_long 0000f476 t get_fs_long
0000f1b0 t put_fs_byte 0000f48c t put_fs_byte
0000f1c8 t put_fs_long 0000f4a4 t put_fs_long
0000f1d4 t get_fs 0000f4b0 t get_fs
0000f1e8 t get_ds 0000f4c4 t get_ds
0000f1fc t set_fs 0000f4d8 t set_fs
0000f203 T sys_uselib 0000f4df T sys_uselib
0000f209 t create_tables 0000f4e5 t create_tables
0000f354 t count 0000f630 t count
0000f393 t copy_strings 0000f66f t copy_strings
0000f54f t change_ldt 0000f82b t change_ldt
0000f6d2 T do_execve 0000f9ae T do_execve
000101f7 t get_fs_byte 000104d3 t get_fs_byte
00010205 t put_fs_byte 000104e1 t put_fs_byte
0001021d t put_fs_long 000104f9 t put_fs_long
00010229 T read_pipe 00010505 T read_pipe
000104fe T sys_pipe 000107da T sys_pipe
00010700 t get_fs_byte 000109dc t get_fs_byte
0001070e t permission 000109ea t permission
000107af t match 00010a8b t match
00010817 t find_entry 00010af3 t find_entry
00010c71 t get_dir 00010f4d t get_dir
00010e5e t dir_namei 0001113a t dir_namei
00010edd T namei 000111b9 T namei
00010ff3 T open_namei 000112cf T open_namei
00011346 T sys_mknod 00011622 T sys_mknod
00011576 T sys_mkdir 00011852 T sys_mkdir
00011927 t empty_dir 00011c03 t empty_dir
00011b05 T sys_rmdir 00011de1 T sys_rmdir
00011e5d T sys_unlink 00012139 T sys_unlink
000120fe T sys_symlink 000123da T sys_symlink
00012104 T sys_link 000123e0 T sys_link
0001235e T free_block 0001263a T free_block
000124d0 T new_block 000127ac T new_block
00012674 T free_inode 00012950 T free_inode
000127db T new_inode 00012ab7 T new_inode
000129b5 t dupfd 00012c91 t dupfd
00012a8f T sys_dup2 00012d6b T sys_dup2
00012ab6 T sys_dup 00012d92 T sys_dup
00012ad1 T sys_fcntl 00012dad T sys_fcntl
00012c10 T sys_ioctl 00012eec T sys_ioctl
00012ce1 t free_ind 00012fbd t free_ind
00012d80 t free_dind 0001305c t free_dind
00012e1f T truncate 000130fb T truncate
00012f54 T sys_select 00013230 T sys_select
00012f5a t lock_buffer 00013236 t lock_buffer
00012f87 t unlock_buffer 00013263 t unlock_buffer
00013179 t make_request 00013455 t make_request
0001331d T ll_rw_block 000135f9 T ll_rw_block
00013376 T blk_dev_init 00013652 T blk_dev_init
000133c4 t unlock_buffer 000136a0 t unlock_buffer
000133f9 t end_request 000136d5 t end_request
000134aa T floppy_deselect 00013786 T floppy_deselect
000134e1 T floppy_change 000137bd T floppy_change
00013567 t setup_DMA 00013843 t setup_DMA
0001361d t output_byte 000138f9 t output_byte
00013693 t result 0001396f t result
00013750 t bad_flp_intr 00013a2c t bad_flp_intr
000137af t rw_interrupt 00013a8b t rw_interrupt
0001389e T setup_rw_floppy 00013b7a T setup_rw_floppy
0001395f t seek_interrupt 00013c3b t seek_interrupt
000139b8 t transfer 00013c94 t transfer
00013aed t recal_interrupt 00013dc9 t recal_interrupt
00013b37 T unexpected_floppy_interrupt 00013e13 T unexpected_floppy_interrupt
00013b7c t recalibrate_floppy 00013e58 t recalibrate_floppy
00013bde t reset_interrupt 00013eba t reset_interrupt
00013c23 t reset_floppy 00013eff t reset_floppy
00013ca0 t floppy_on_interrupt 00013f7c t floppy_on_interrupt
00013d0b t do_fd_request 00013fe7 t do_fd_request
00013f0f T floppy_init 000141eb T floppy_init
00013f61 t unlock_buffer 0001423d t unlock_buffer
00013f96 t end_request 00014272 t end_request
00014035 T sys_setup 00014311 T sys_setup
000143e8 t controller_ready 000146c4 t controller_ready
0001447c t hd_out 00014758 t hd_out
00014569 t drive_busy 00014845 t drive_busy
000145cf t reset_controller 000148ab t reset_controller
0001464c t reset_hd 00014928 t reset_hd
000146e4 T unexpected_hd_interrupt 000149c0 T unexpected_hd_interrupt
000146f7 t bad_rw_intr 000149d3 t bad_rw_intr
00014735 t read_intr 00014a11 t read_intr
0001485b t recal_intr 00014b37 t recal_intr
00014875 t do_hd_request 00014b51 t do_hd_request
00014b76 T hd_init 00014e52 T hd_init
00014bf0 t unlock_buffer 00014ecc t unlock_buffer
00014c25 t end_request 00014f01 t end_request
00014cc4 t do_rd_request 00014fa0 t do_rd_request
00014dfa T rd_init 000150d6 T rd_init
00014e50 T rd_load 0001512c T rd_load
000150fc t get_fs_byte 000153d8 t get_fs_byte
0001510a t put_fs_byte 000153e6 t put_fs_byte
00015122 T tty_init 000153fe T tty_init
00015133 T tty_intr 0001540f T tty_intr
000151a7 t sleep_if_empty 00015483 t sleep_if_empty
000151df t sleep_if_full 000154bb t sleep_if_full
00015253 T copy_to_cooked 0001552f T copy_to_cooked
0001580e T tty_read 00015aea T tty_read
00015b7c T tty_write 00015e58 T tty_write
00015d8e T do_tty_interrupt 0001606a T do_tty_interrupt
00015db6 T chr_dev_init 00016092 T chr_dev_init
00015db7 t gotoxy 00016093 t gotoxy
00015e05 t set_origin 000160e1 t set_origin
00015e6b t scrup 00016147 t scrup
0001605b t scrdown 00016337 t scrdown
00016152 t lf 0001642e t lf
00016188 t ri 00016464 t ri
000161be t cr 0001649a t cr
000161df t del 000164bb t del
00016211 t csi_J 000164ed t csi_J
000162a2 t csi_K 0001657e t csi_K
00016354 T csi_m 00016630 T csi_m
000163bb t set_cursor 00016697 t set_cursor
00016421 t respond 000166fd t respond
00016479 t insert_char 00016755 t insert_char
000164dc t insert_line 000167b8 t insert_line
00016520 t delete_char 000167fc t delete_char
0001657e t delete_line 0001685a t delete_line
000165c2 t csi_at 0001689e t csi_at
00016600 t csi_L 000168dc t csi_L
0001663e t csi_P 0001691a t csi_P
0001667c t csi_M 00016958 t csi_M
000166ba t save_cur 00016996 t save_cur
000166cf t restore_cur 000169ab t restore_cur
000166ee T con_write 000169ca T con_write
00016d7c T con_init 00017058 T con_init
00016fb3 T sysbeepstop 0001728f T sysbeepstop
00016fdc t sysbeep 000172b8 t sysbeep
0001703a t mode 00017316 t mode
0001703b t leds 00017317 t leds
0001703c t e0 00017318 t e0
0001703d T keyboard_interrupt 00017319 T keyboard_interrupt
00017066 t e0_e1 00017342 t e0_e1
00017091 t set_e0 0001736d t set_e0
0001709a t set_e1 00017376 t set_e1
000170a3 t put_queue 0001737f t put_queue
000170dc t ctrl 000173b8 t ctrl
000170f4 t unctrl 000173d0 t unctrl
000170f8 t unalt 000173d4 t unalt
0001710e t lshift 000173ea t lshift
00017116 t unlshift 000173f2 t unlshift
0001711e t rshift 000173fa t rshift
00017126 t unrshift 00017402 t unrshift
0001712e t caps 0001740a t caps
00017150 t set_leds 0001742c t set_leds
00017166 t uncaps 00017442 t uncaps
0001716e t scroll 0001744a t scroll
00017177 t num 00017453 t num
00017180 t cursor 0001745c t cursor
000171a0 t cur2 0001747c t cur2
000171c9 t cur 000174a5 t cur
000171d5 t ok_cur 000174b1 t ok_cur
000171e3 t num_table 000174bf t num_table
000171f0 t cur_table 000174cc t cur_table
000171fd t func 000174d9 t func
0001721a t ok_func 000174f6 t ok_func
0001722d t end_func 00017509 t end_func
0001722e t func_table 0001750a t func_table
0001725e t key_map 0001753a t key_map
000172bf t shift_map 0001759b t shift_map
00017381 t do_self 0001765d t do_self
000173e9 t none 000176c5 t none
000173ea t minus 000176c6 t minus
000173ff t key_table 000176db t key_table
000177ff t kb_wait 00017adb t kb_wait
00017808 t reboot 00017ae4 t reboot
0001781a t die 00017af6 t die
0001781c t init 00017af8 t init
00017891 T rs_init 00017b6d T rs_init
00017914 T rs_write 00017bf0 T rs_write
00017964 T rs1_interrupt 00017c40 T rs1_interrupt
0001796c T rs2_interrupt 00017c48 T rs2_interrupt
00017971 t rs_int 00017c4d t rs_int
00017988 t rep_int 00017c64 t rep_int
000179a5 t end 00017c81 t end
000179b3 t jmp_table 00017c8f t jmp_table
000179c4 t modem_status 00017ca0 t modem_status
000179cc t line_status 00017ca8 t line_status
000179d4 t read_char 00017cb0 t read_char
00017a5b t get_fs_byte 00017d37 t get_fs_byte
00017a69 t get_fs_long 00017d45 t get_fs_long
00017a7f t put_fs_byte 00017d5b t put_fs_byte
00017a97 t put_fs_long 00017d73 t put_fs_long
00017aa3 t change_speed 00017d7f t change_speed
00017b21 t flush 00017dfd t flush
00017b33 t send_break 00017e0f t send_break
00017b34 t get_termios 00017e10 t get_termios
00017b90 t set_termios 00017e6c t set_termios
00017be0 t get_termio 00017ebc t get_termio
00017ca8 t set_termio 00017f84 t set_termio
00017d6c T tty_ioctl 00018048 T tty_ioctl
0001806a t get_fs_byte 00018346 t get_fs_byte
00018078 T math_emulate 00018354 T math_emulate
0001815b T math_error 00018437 T math_error
0001817b T _exit 00018457 T _exit
0001818b T open 00018467 T open
000181d4 T close 000184b0 T close
00018248 T dup 00018524 T dup
0001827f T setsid 0001855b T setsid
000182ae T execve 0001858a T execve
0001834b T strcpy 00018627 T strcpy
00018367 T strncpy 00018643 T strncpy
0001838c T strcat 00018668 T strcat
000183b7 T strncat 00018693 T strncat
000183ec T strcmp 000186c8 T strcmp
00018413 T strncmp 000186ef T strncmp
00018441 T strchr 0001871d T strchr
0001846e T strrchr 0001874a T strrchr
0001849d T strspn 00018779 T strspn
000184da T strcspn 000187b6 T strcspn
00018517 T strpbrk 000187f3 T strpbrk
0001854e T strstr 0001882a T strstr
00018587 T strlen 00018863 T strlen
000185aa T strtok 00018886 T strtok
0001862d T memcpy 00018909 T memcpy
0001864d T memmove 00018929 T memmove
000186a1 T memcmp 0001897d T memcmp
000186cb T memchr 000189a7 T memchr
00018703 T memset 000189df T memset
00018727 t init_bucket_desc 00018a03 t init_bucket_desc
00018790 T malloc 00018a6c T malloc
0001891c T free_s 00018bf8 T free_s
0001cb48 d envp_rc 0001cee8 d envp_rc
0001cb5c d envp 0001cefc d envp
0001cb80 D sys_call_table 0001cf20 D sys_call_table
0001ccfc D NR_syscalls 0001d09c D NR_syscalls
0001cd00 d init_task 0001d0a0 d init_task
0001dd00 D current 0001e0a0 D current
0001dd20 D task 0001e0c0 D task
0001de20 D stack_start 0001e1c0 D stack_start
0001de28 D current_DOR 0001e1c8 D current_DOR
0001de40 d thisname.2345 0001e1e0 d thisname.2384
0001de80 d month 0001e220 d month
0001dec0 d last_inode.1935 0001e260 d last_inode.1935
0001dec4 D start_buffer 0001e264 D start_buffer
0001dee0 d crw_table 0001e280 d crw_table
0001df00 d ioctl_table 0001e2a0 d ioctl_table
0001df20 d floppy_type 0001e2c0 d floppy_type
0001dfe0 d cur_spec1 0001e380 d cur_spec1
0001dfe4 d cur_rate 0001e384 d cur_rate
0001dfe8 d floppy 0001e388 d floppy
0001dfec d current_track 0001e38c d current_track
0001dff0 d callable.1844 0001e390 d callable.1844
0001e000 D tty_table 0001e3a0 D tty_table
00020520 D table_list 000208c0 D table_list
00020540 d quotient 000208e0 d quotient
00020560 D _ctype 00020900 D _ctype
00020680 D bucket_dir 00020a20 D bucket_dir
000206d0 B __bss_start 00020a70 B __bss_start
000206d0 D _edata 00020a70 D _edata
000206e0 b printbuf 00020a80 b printbuf
00020ae0 b memory_end 00020e80 b memory_end
00020ae4 b buffer_memory_end 00020e84 b buffer_memory_end
00020ae8 b main_memory_start 00020e88 b main_memory_start
00020b00 B jiffies 00020ea0 B jiffies
00020b04 B startup_time 00020ea4 B startup_time
00020b08 B last_task_used_math 00020ea8 B last_task_used_math
00020b1c b mon_timer 00020ebc b mon_timer
00020b2c b moff_timer 00020ecc b moff_timer
00020b40 b timer_list 00020ee0 b timer_list
00020e40 b next_timer 000211e0 b next_timer
00020e44 B last_pid 000211e4 B last_pid
00020e60 b buf 00021200 b buf
00021260 b HIGH_MEMORY 00021600 b HIGH_MEMORY
00021280 b mem_map 00021620 b mem_map
00022180 B inode_table 00022520 B inode_table
00022880 B nr_buffers 00022c20 B nr_buffers
00022884 b free_list 00022c24 b free_list
00022888 b buffer_wait 00022c28 b buffer_wait
0002288c B ROOT_DEV 00022c2c B ROOT_DEV
000228c0 B blk_dev 00022c60 B blk_dev
000228f8 B do_floppy 00022c98 B do_floppy
000228fc B selected 00022c9c B selected
00022904 b recalibrate 00022ca4 b recalibrate
00022908 b reset 00022ca8 b reset
0002290c b seek 00022cac b seek
00022910 b reply_buffer 00022cb0 b reply_buffer
00022917 b current_drive 00022cb7 b current_drive
00022918 b sector 00022cb8 b sector
00022919 b head 00022cb9 b head
0002291a b track 00022cba b track
0002291b b seek_track 00022cbb b seek_track
0002291c b command 00022cbc b command
00022920 B do_hd 00022cc0 B do_hd
00022940 B hd_info 00022ce0 B hd_info
00022970 b recalibrate 00022d10 b recalibrate
00022974 b reset 00022d14 b reset
00022978 b NR_HD 00022d18 b NR_HD
00022980 b hd 00022d20 b hd
000229d0 B rd_length 00022d70 B rd_length
000229d4 b cr_flag.1923 00022d74 b cr_flag.1923
000229e0 B beepcount 00022d80 B beepcount
000229e4 b video_type 00022d84 b video_type
000229e8 b video_num_columns 00022d88 b video_num_columns
000229ec b video_size_row 00022d8c b video_size_row
000229f0 b video_num_lines 00022d90 b video_num_lines
000229f4 b video_page 00022d94 b video_page
000229f8 b video_mem_start 00022d98 b video_mem_start
000229fc b video_mem_end 00022d9c b video_mem_end
00022a00 b video_port_reg 00022da0 b video_port_reg
00022a02 b video_port_val 00022da2 b video_port_val
00022a04 b video_erase_char 00022da4 b video_erase_char
00022a08 b origin 00022da8 b origin
00022a0c b scr_end 00022dac b scr_end
00022a10 b pos 00022db0 b pos
00022a14 b x 00022db4 b x
00022a18 b y 00022db8 b y
00022a1c b top 00022dbc b top
00022a20 b bottom 00022dc0 b bottom
00022a24 b state 00022dc4 b state
00022a28 b npar 00022dc8 b npar
00022a40 b par 00022de0 b par
00022a80 b ques 00022e20 b ques
00022a84 b saved_x 00022e24 b saved_x
00022a88 b saved_y 00022e28 b saved_y
00022a8c B free_bucket_desc 00022e2c B free_bucket_desc
00022aa0 B drive_info 00022e40 B drive_info
00022ac0 B user_stack 00022e60 B user_stack
00023ac0 B hash_table 00023e60 B hash_table
00023fa0 B super_block 00024340 B super_block
00024300 B file_table 000246a0 B file_table
00024700 B request 00024aa0 B request
00024b80 B rd_start 00024f20 B rd_start
00024b84 B _ctmp 00024f24 B _ctmp
00024b88 B errno 00024f28 B errno
00024b8c B ___strtok 00024f2c B ___strtok
00024b90 B end 00024f30 B end
00024b90 B _end 00024f30 B _end

File diff suppressed because it is too large Load Diff

@ -312,7 +312,9 @@ void bread_page(unsigned long address,int dev,int b[4])
if (bh[i]) { if (bh[i]) {
wait_on_buffer(bh[i]); wait_on_buffer(bh[i]);
if (bh[i]->b_uptodate) if (bh[i]->b_uptodate)
COPYBLK((unsigned long) bh[i]->b_data,address); {COPYBLK((unsigned long) bh[i]->b_data,address);}
/* int k=0;
while(k++<10)printk("%c",bh[i]->b_data+k);printk("\n");} */
brelse(bh[i]); brelse(bh[i]);
} }
} }

Binary file not shown.

Binary file not shown.

@ -0,0 +1,22 @@
#ifndef _mm_H
#define _mm_H
extern void calc_mem(void);
extern void mem_init(long start_mem, long end_mem);
extern void do_no_page(unsigned long error_code,unsigned long address);
extern int share_page(unsigned long address);
extern int try_to_share(unsigned long address, struct task_struct * p);
extern void get_empty_page(unsigned long address);
extern void write_verify(unsigned long address);
extern void do_wp_page(unsigned long error_code,unsigned long address);
extern void un_wp_page(unsigned long * table_entry);
extern unsigned long put_page(unsigned long page,unsigned long address);
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 free_page(unsigned long addr);
extern unsigned long get_free_page(void);
extern void oom(void);
extern void do_exit(long code);
#endif // MACRO

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -3,6 +3,11 @@
* *
* (C) 1991 Linus Torvalds * (C) 1991 Linus Torvalds
*/ */
#include <stdarg.h>
#include <linux/config.h>
#include <asm/system.h>
#include <asm/io.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <string.h> #include <string.h>
@ -14,8 +19,9 @@
#include <asm/segment.h> #include <asm/segment.h>
#include <sys/times.h> #include <sys/times.h>
#include <sys/utsname.h> #include <sys/utsname.h>
#include<new.h> #include <stdarg.h>
#define MAP_FAILED #include <new.h>
#include <mm.h>
//ADD FOR getcwd //ADD FOR getcwd
long sys_getcwd(char *buf,size_t size) long sys_getcwd(char *buf,size_t size)
@ -172,38 +178,7 @@ unsigned int sys_sleep(unsigned int seconds)
schedule(); schedule();
return 0; return 0;
} }
long sys_mmap(void * start,size_t len, int prot,int flags,int fd,off_t off)
{
if(!len || off<0 || !(off%PAGE_SIZE)) return MAP_FAILED;
void * buf=start;
if(start<=current->brk || start>=current->start_stack-0x8000 || start==NULL)
{
buf=current->brk+0x2000000;
}
if(!(prot& PROT_READ)) return MAP_FAILED;
//permissions of the file
struct m_inode *inode=current->filp[fd]->f_inode;
int mode = inode->i_mode;
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 & prot & 0007) == prot) || suser())
{
printk("error permission.");
return MAP_FAILED;
}
return MAP_FAILED;
}
int sys_munmap()
{
return -1;
}
int sys_clone() int sys_clone()
{ {
@ -487,3 +462,98 @@ int sys_umask(int mask)
current->umask = mask & 0777; current->umask = mask & 0777;
return (old); return (old);
} }
long sys_mmap(void * start,size_t len,...)// int prot,int flags,int fd,off_t off
{
printk("start mmaping\n");
/* va_list args;
va_start(args,len); */
int prot=3,flags=1,fd=3,off=0;
/* prot=va_arg(args,int);flags=va_arg(args,int);fd=va_arg(args,int);
off_t off=va_arg(args,off_t);
int *ll=&len;printk("%d,%d,%d,%d,%d\n",*ll,*(ll+1),*(ll+2),*(ll+3),*(ll+4));
va_end(args);
printk("%d,%d,%d,%ld\n",prot,flags,fd,off); */
int block;
size_t l=len;
struct buffer_head * bh;
char *temp,*p1,*p2;
void * buf=start;
int tempprot=0;
if(prot &PROT_READ) tempprot |=4;
if(prot &PROT_EXEC) tempprot |=1;
if(prot &PROT_WRITE) tempprot |=2;
//特殊量
if(!len || off<0 || (off%PAGE_SIZE)) return MAP_FAILED;
if(!(prot& PROT_READ)) return MAP_FAILED;
//permissions of the file
printk("end of permissions0\n");
printk("fd: %d\n",fd);
struct m_inode *inode=current->filp[fd]->f_inode;
printk("end of permissions\n");
int mode = inode->i_mode;
if (inode->i_dev && !inode->i_nlinks)
{printk("end of permissions1\n");;return MAP_FAILED;}
else if (current->euid==inode->i_uid)
mode >>= 6;
else if (current->egid==inode->i_gid)
mode >>= 3;
if (!(((mode & tempprot & 0007) == tempprot) || suser()))
{
printk("error permission.");
return MAP_FAILED;
}
printk("end of permissions\n");
if(start<=current->brk || start>=current->start_stack-0x8000 || start==NULL)
{
buf=0x2000000;
}
printk("buf: %x\n",(unsigned long )buf);
if (!(block = inode->i_zone[0]))
return NULL;
if (!(bh = bread(inode->i_dev,block)))
return NULL;
temp = (char *) bh->b_data;
/* int nr[4];
unsigned long page;
int i;
unsigned long address=current->start_code+(unsigned long)buf;
printk("start of page\n");
//this part comes from do_no_page as achievement of immediate loading of cs and ds
while(address<=current->start_code+len+(unsigned long)buf)
{
printk("address: %x\n",address);
address &= 0xfffff000;
if (!(page = get_free_page()))
return MAP_FAILED;
for (i=0 ; i<4 ; block++,i++)
nr[i] = bmap(inode,block);
bread_page(page,inode->i_dev,nr);
if (!put_page(page,address))
{
free_page(page);
return MAP_FAILED;
}
int k=0;char c=0;
while(k++<60){c=get_fs_byte(address-current->start_code);printk("%c",c);}
printk("\n");
address+=PAGE_SIZE;
k=0;
while(k++<60)printk("%c",(char*)(page+k));
printk("\n");
} */
printk("end of mmap\n");
p1=temp;p2=buf;
while(l--)
put_fs_byte(*(p1++),p2++);
printk("%s\n",temp);
return buf;
return MAP_FAILED;
}
int sys_munmap()
{
return -1;
}

Binary file not shown.

@ -21,9 +21,7 @@
*/ */
#include <signal.h> #include <signal.h>
#include <asm/system.h> #include <asm/system.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/head.h> #include <linux/head.h>
#include <linux/kernel.h> #include <linux/kernel.h>
@ -371,8 +369,8 @@ void do_no_page(unsigned long error_code,unsigned long address)
unsigned long page; unsigned long page;
int block,i; int block,i;
/* if (current->pid > 5) if (current->pid > 5)
printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid); */ printk(" --do_no_page: address=%x, pid=%d\n", address, current->pid);
address &= 0xfffff000; address &= 0xfffff000;
tmp = address - current->start_code; tmp = address - current->start_code;
@ -466,3 +464,5 @@ void calc_mem(void)
} }
} }
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save