ofs | hex dump | ascii |
---|
0000 | 62 30 56 49 4d 20 38 2e 30 00 00 00 00 10 00 00 91 5b e5 67 10 03 52 00 81 27 00 00 77 72 63 00 | b0VIM.8.0........[.g..R..'..wrc. |
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0040 | 00 00 00 00 61 64 61 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ....adair....................... |
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 7e 77 72 63 2f 70 75 62 2f 63 73 63 69 34 35 32 2f 63 6f 64 | ............~wrc/pub/csci452/cod |
0080 | 65 2f 69 6e 63 6c 75 64 65 2f 76 6d 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | e/include/vm.h.................. |
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03e0 | 00 00 00 00 00 00 00 00 00 75 74 66 2d 38 0d 00 33 32 31 30 00 00 00 00 23 22 21 20 13 12 55 00 | .........utf-8..3210....#"!...U. |
0400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1000 | 74 70 04 00 7f 00 00 00 02 00 00 00 00 00 00 00 74 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | tp..............t............... |
1020 | 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 65 00 00 00 00 00 00 00 75 00 00 00 00 00 00 00 | ................e.......u....... |
1040 | 01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 82 00 00 00 00 00 00 00 da 00 00 00 00 00 00 00 | ................................ |
1060 | 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 60 00 00 00 00 00 00 00 5c 01 00 00 00 00 00 00 | ................`.......\....... |
1080 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
10a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
10c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
10e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
11a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
11c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
11e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
2000 | 61 64 00 00 17 00 00 00 03 02 00 00 00 10 00 00 74 00 00 00 00 00 00 00 fc 0f 00 00 ee 0f 00 00 | ad..............t............... |
2020 | eb 0f 00 00 c8 0f 00 00 c5 0f 00 00 96 0f 00 00 93 0f 00 00 92 0f 00 00 84 0f 00 00 76 0f 00 00 | ............................v... |
2040 | 75 0f 00 00 63 0f 00 00 50 0f 00 00 4f 0f 00 00 3c 0f 00 00 3b 0f 00 00 38 0f 00 00 1d 0f 00 00 | u...c...P...O...<...;...8....... |
2060 | 1a 0f 00 00 d1 0e 00 00 b4 0e 00 00 b1 0e 00 00 6b 0e 00 00 28 0e 00 00 df 0d 00 00 c8 0d 00 00 | ................k...(........... |
2080 | c5 0d 00 00 c4 0d 00 00 c1 0d 00 00 9a 0d 00 00 97 0d 00 00 50 0d 00 00 4d 0d 00 00 27 0d 00 00 | ....................P...M...'... |
20a0 | e9 0c 00 00 b5 0c 00 00 7e 0c 00 00 43 0c 00 00 05 0c 00 00 df 0b 00 00 a4 0b 00 00 a1 0b 00 00 | ........~...C................... |
20c0 | 6c 0b 00 00 69 0b 00 00 56 0b 00 00 3d 0b 00 00 0e 0b 00 00 df 0a 00 00 c7 0a 00 00 c4 0a 00 00 | l...i...V...=................... |
20e0 | b1 0a 00 00 93 0a 00 00 5f 0a 00 00 42 0a 00 00 21 0a 00 00 00 0a 00 00 e0 09 00 00 c3 09 00 00 | ........_...B...!............... |
2100 | a1 09 00 00 9e 09 00 00 9d 09 00 00 9a 09 00 00 6f 09 00 00 6c 09 00 00 6b 09 00 00 51 09 00 00 | ................o...l...k...Q... |
2120 | 2f 09 00 00 0d 09 00 00 eb 08 00 00 ea 08 00 00 a6 08 00 00 6d 08 00 00 54 08 00 00 16 08 00 00 | /...................m...T....... |
2140 | fa 07 00 00 de 07 00 00 dd 07 00 00 ba 07 00 00 79 07 00 00 30 07 00 00 f8 06 00 00 a9 06 00 00 | ................y...0........... |
2160 | a8 06 00 00 85 06 00 00 63 06 00 00 33 06 00 00 32 06 00 00 fb 05 00 00 df 05 00 00 c3 05 00 00 | ........c...3...2............... |
2180 | c2 05 00 00 9c 05 00 00 82 05 00 00 68 05 00 00 4b 05 00 00 4a 05 00 00 14 05 00 00 fa 04 00 00 | ............h...K...J........... |
21a0 | d1 04 00 00 a8 04 00 00 a7 04 00 00 82 04 00 00 60 04 00 00 3e 04 00 00 09 04 00 00 df 03 00 00 | ................`...>........... |
21c0 | de 03 00 00 bb 03 00 00 8a 03 00 00 58 03 00 00 18 03 00 00 da 02 00 00 a1 02 00 00 73 02 00 00 | ............X...............s... |
21e0 | 3c 02 00 00 03 02 00 00 09 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | <............................... |
2200 | 00 00 00 23 64 65 66 69 6e 65 20 50 44 45 5f 41 56 4c 31 20 20 20 20 20 20 20 30 78 30 30 30 30 | ...#define.PDE_AVL1.......0x0000 |
2220 | 30 30 34 30 09 2f 2f 20 69 67 6e 6f 72 65 64 20 28 34 4b 42 20 70 61 67 65 73 29 00 23 64 65 66 | 0040.//.ignored.(4KB.pages).#def |
2240 | 69 6e 65 20 50 44 45 5f 44 20 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 34 30 09 2f 2f | ine.PDE_D..........0x00000040.// |
2260 | 20 64 69 72 74 79 20 28 34 4d 42 20 70 61 67 65 73 29 00 23 64 65 66 69 6e 65 20 50 44 45 5f 41 | .dirty.(4MB.pages).#define.PDE_A |
2280 | 20 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 32 30 09 2f 2f 20 61 63 63 65 73 73 65 64 | ..........0x00000020.//.accessed |
22a0 | 00 23 64 65 66 69 6e 65 20 50 44 45 5f 50 43 44 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 | .#define.PDE_PCD........0x000000 |
22c0 | 31 30 09 2f 2f 20 63 61 63 68 65 3a 20 31 20 3d 20 64 69 73 61 62 6c 65 64 00 23 64 65 66 69 6e | 10.//.cache:.1.=.disabled.#defin |
22e0 | 65 20 50 44 45 5f 50 57 54 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 30 38 09 2f 2f 20 63 | e.PDE_PWT........0x00000008.//.c |
2300 | 61 63 68 65 3a 20 31 20 3d 20 77 72 69 74 65 2d 74 68 72 6f 75 67 68 00 23 64 65 66 69 6e 65 20 | ache:.1.=.write-through.#define. |
2320 | 50 44 45 5f 55 53 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 30 34 09 2f 2f 20 31 20 3d | PDE_US.........0x00000004.//.1.= |
2340 | 20 75 73 65 72 20 61 6e 64 20 73 79 73 74 65 6d 20 75 73 61 62 6c 65 00 23 64 65 66 69 6e 65 20 | .user.and.system.usable.#define. |
2360 | 50 44 45 5f 52 57 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 30 32 09 2f 2f 20 31 20 3d | PDE_RW.........0x00000002.//.1.= |
2380 | 20 77 72 69 74 61 62 6c 65 00 23 64 65 66 69 6e 65 20 50 44 45 5f 50 20 20 20 20 20 20 20 20 20 | .writable.#define.PDE_P......... |
23a0 | 20 30 78 30 30 30 30 30 30 30 31 09 2f 2f 20 31 20 3d 20 70 72 65 73 65 6e 74 00 2f 2f 20 70 61 | .0x00000001.//.1.=.present.//.pa |
23c0 | 67 65 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 79 20 62 69 74 20 66 69 65 6c 64 73 00 00 23 | ge.directory.entry.bit.fields..# |
23e0 | 64 65 66 69 6e 65 20 50 47 44 4f 57 4e 28 61 29 20 20 20 20 20 20 28 28 61 29 20 26 20 53 5a 5f | define.PGDOWN(a)......((a).&.SZ_ |
2400 | 50 47 5f 4d 41 53 4b 29 00 23 64 65 66 69 6e 65 20 50 47 55 50 28 61 29 20 20 20 20 20 20 20 20 | PG_MASK).#define.PGUP(a)........ |
2420 | 28 28 28 61 29 2b 53 5a 5f 50 47 5f 4d 31 29 20 26 20 53 5a 5f 50 47 5f 4d 41 53 4b 29 00 23 64 | (((a)+SZ_PG_M1).&.SZ_PG_MASK).#d |
2440 | 65 66 69 6e 65 20 53 5a 5f 50 47 5f 4d 41 53 4b 20 20 20 20 20 4d 4f 44 34 4b 5f 4d 41 53 4b 00 | efine.SZ_PG_MASK.....MOD4K_MASK. |
2460 | 23 64 65 66 69 6e 65 20 53 5a 5f 50 47 5f 4d 31 20 20 20 20 20 20 20 4d 4f 44 34 4b 5f 42 49 54 | #define.SZ_PG_M1.......MOD4K_BIT |
2480 | 53 00 2f 2f 20 70 61 67 65 2d 73 69 7a 65 20 61 64 64 72 65 73 73 20 72 6f 75 6e 64 69 6e 67 20 | S.//.page-size.address.rounding. |
24a0 | 6d 61 63 72 6f 73 00 00 23 64 65 66 69 6e 65 20 50 32 56 4e 43 28 61 29 20 20 20 20 20 20 20 28 | macros..#define.P2VNC(a).......( |
24c0 | 28 61 29 20 2b 20 4b 45 52 4e 5f 42 41 53 45 29 00 23 64 65 66 69 6e 65 20 56 32 50 4e 43 28 61 | (a).+.KERN_BASE).#define.V2PNC(a |
24e0 | 29 20 20 20 20 20 20 20 28 28 61 29 20 2d 20 4b 45 52 4e 5f 42 41 53 45 29 00 2f 2f 20 28 75 73 | ).......((a).-.KERN_BASE).//.(us |
2500 | 61 62 6c 65 20 66 72 6f 6d 20 61 6e 79 77 68 65 72 65 29 00 2f 2f 20 70 68 79 73 69 63 61 6c 2f | able.from.anywhere).//.physical/ |
2520 | 76 69 72 74 75 61 6c 20 63 6f 6e 76 65 72 74 65 72 73 20 74 68 61 74 20 64 6f 6e 27 74 20 75 73 | virtual.converters.that.don't.us |
2540 | 65 20 63 61 73 74 69 6e 67 00 00 23 64 65 66 69 6e 65 20 50 49 58 32 49 5f 4d 41 53 4b 20 20 20 | e.casting..#define.PIX2I_MASK... |
2560 | 20 20 30 78 33 66 66 00 23 64 65 66 69 6e 65 20 50 54 49 58 5f 53 48 49 46 54 20 20 20 20 20 31 | ..0x3ff.#define.PTIX_SHIFT.....1 |
2580 | 32 00 23 64 65 66 69 6e 65 20 50 44 49 58 5f 53 48 49 46 54 20 20 20 20 20 32 32 00 2f 2f 20 69 | 2.#define.PDIX_SHIFT.....22.//.i |
25a0 | 6e 64 65 78 20 66 69 65 6c 64 20 73 68 69 66 74 20 63 6f 75 6e 74 73 20 61 6e 64 20 6d 61 73 6b | ndex.field.shift.counts.and.mask |
25c0 | 73 00 00 23 64 65 66 69 6e 65 20 4e 5f 50 54 45 20 20 20 20 20 20 20 20 20 20 31 30 32 34 00 23 | s..#define.N_PTE..........1024.# |
25e0 | 64 65 66 69 6e 65 20 4e 5f 50 44 45 20 20 20 20 20 20 20 20 20 20 31 30 32 34 00 2f 2f 20 6e 75 | define.N_PDE..........1024.//.nu |
2600 | 6d 62 65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 69 6e 20 61 20 70 61 67 65 20 64 69 72 65 63 74 | mber.of.entries.in.a.page.direct |
2620 | 6f 72 79 20 6f 72 20 70 61 67 65 20 74 61 62 6c 65 00 00 23 64 65 66 69 6e 65 20 4b 45 52 4e 5f | ory.or.page.table..#define.KERN_ |
2640 | 56 4c 49 4e 4b 20 20 20 20 20 28 4b 45 52 4e 5f 42 41 53 45 20 2b 20 4b 45 52 4e 5f 50 4c 49 4e | VLINK.....(KERN_BASE.+.KERN_PLIN |
2660 | 4b 29 00 23 64 65 66 69 6e 65 20 4b 45 52 4e 5f 50 4c 49 4e 4b 20 20 20 20 20 30 78 30 30 30 31 | K).#define.KERN_PLINK.....0x0001 |
2680 | 30 30 30 30 00 2f 2f 20 77 68 65 72 65 20 74 68 65 20 6b 65 72 6e 65 6c 20 61 63 74 75 61 6c 6c | 0000.//.where.the.kernel.actuall |
26a0 | 79 20 6c 69 76 65 73 00 00 23 64 65 66 69 6e 65 20 50 48 59 53 5f 54 4f 50 20 20 20 20 20 20 20 | y.lives..#define.PHYS_TOP....... |
26c0 | 30 78 33 66 66 66 66 66 66 66 20 20 20 20 2f 2f 20 6c 61 73 74 20 75 73 61 62 6c 65 20 70 68 79 | 0x3fffffff....//.last.usable.phy |
26e0 | 73 69 63 61 6c 20 61 64 64 72 65 73 73 20 28 31 47 42 20 2d 20 31 29 00 23 64 65 66 69 6e 65 20 | sical.address.(1GB.-.1).#define. |
2700 | 44 45 56 5f 42 41 53 45 20 20 20 20 20 20 20 30 78 66 65 30 30 30 30 30 30 20 20 20 20 2f 2f 20 | DEV_BASE.......0xfe000000....//. |
2720 | 22 64 65 76 69 63 65 22 20 6d 65 6d 6f 72 79 00 23 64 65 66 69 6e 65 20 45 58 54 5f 42 41 53 45 | "device".memory.#define.EXT_BASE |
2740 | 20 20 20 20 20 20 20 30 78 30 30 31 30 30 30 30 30 20 20 20 20 2f 2f 20 73 74 61 72 74 20 6f 66 | .......0x00100000....//.start.of |
2760 | 20 22 65 78 74 65 6e 64 65 64 22 20 6d 65 6d 6f 72 79 20 28 31 4d 42 29 00 23 64 65 66 69 6e 65 | ."extended".memory.(1MB).#define |
2780 | 20 4b 45 52 4e 5f 42 41 53 45 20 20 20 20 20 20 30 78 38 30 30 30 30 30 30 30 20 20 20 20 2f 2f | .KERN_BASE......0x80000000....// |
27a0 | 20 73 74 61 72 74 20 6f 66 20 22 6b 65 72 6e 65 6c 22 20 6d 65 6d 6f 72 79 00 2f 2f 20 73 6f 6d | .start.of."kernel".memory.//.som |
27c0 | 65 20 69 6d 70 6f 72 74 61 6e 74 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 65 73 00 00 23 64 | e.important.memory.addresses..#d |
27e0 | 65 66 69 6e 65 20 55 53 45 52 5f 53 54 4b 5f 50 54 45 32 20 20 31 30 32 33 00 23 64 65 66 69 6e | efine.USER_STK_PTE2..1023.#defin |
2800 | 65 20 55 53 45 52 5f 53 54 4b 5f 50 54 45 31 20 20 31 30 32 32 00 2f 2f 20 74 68 65 20 73 74 61 | e.USER_STK_PTE1..1022.//.the.sta |
2820 | 63 6b 20 6f 63 63 75 70 69 65 73 20 74 68 65 20 6c 61 73 74 20 74 77 6f 20 70 61 67 65 73 20 6f | ck.occupies.the.last.two.pages.o |
2840 | 66 20 74 68 65 20 61 64 64 72 65 73 73 20 73 70 61 63 65 00 23 64 65 66 69 6e 65 20 55 53 45 52 | f.the.address.space.#define.USER |
2860 | 5f 50 44 45 20 20 20 20 20 20 20 30 00 2f 2f 20 75 73 65 72 20 61 64 64 72 65 73 73 20 73 70 61 | _PDE.......0.//.user.address.spa |
2880 | 63 65 20 69 73 20 74 68 65 20 66 69 72 73 74 20 34 4d 42 20 6f 66 20 76 69 72 74 75 61 6c 20 6d | ce.is.the.first.4MB.of.virtual.m |
28a0 | 65 6d 6f 72 79 00 2f 2f 20 68 6f 77 20 74 6f 20 66 69 6e 64 20 74 68 65 20 61 64 64 72 65 73 73 | emory.//.how.to.find.the.address |
28c0 | 65 73 20 6f 66 20 74 68 65 20 73 74 61 63 6b 20 70 61 67 65 73 20 69 6e 20 74 68 65 20 56 4d 20 | es.of.the.stack.pages.in.the.VM. |
28e0 | 68 69 65 72 61 72 63 68 79 00 00 23 64 65 66 69 6e 65 20 55 53 45 52 5f 53 54 4b 5f 45 4e 44 20 | hierarchy..#define.USER_STK_END. |
2900 | 20 20 30 78 30 30 34 30 30 30 30 30 00 23 64 65 66 69 6e 65 20 55 53 45 52 5f 53 54 41 43 4b 20 | ..0x00400000.#define.USER_STACK. |
2920 | 20 20 20 20 30 78 30 30 33 66 65 30 30 30 00 23 64 65 66 69 6e 65 20 55 53 45 52 5f 54 45 58 54 | ....0x003fe000.#define.USER_TEXT |
2940 | 20 20 20 20 20 20 30 78 30 30 30 30 31 30 30 30 00 2f 2f 20 75 73 65 72 20 76 69 72 74 75 61 6c | ......0x00001000.//.user.virtual |
2960 | 20 61 64 64 72 65 73 73 65 73 00 00 2a 2f 00 2a 2a 20 47 65 6e 65 72 61 6c 20 28 43 20 61 6e 64 | .addresses..*/.**.General.(C.and |
2980 | 2f 6f 72 20 61 73 73 65 6d 62 6c 79 29 20 64 65 66 69 6e 69 74 69 6f 6e 73 00 2f 2a 00 00 2a 2f | /or.assembly).definitions./*..*/ |
29a0 | 00 2a 2a 20 20 20 31 30 32 32 20 2d 20 31 30 32 33 20 20 20 20 20 73 74 61 63 6b 20 66 72 61 6d | .**...1022.-.1023.....stack.fram |
29c0 | 65 73 00 2a 2a 20 20 20 4e 2b 64 2b 62 2b 31 20 2d 20 31 30 32 31 20 20 69 6e 76 61 6c 69 64 00 | es.**...N+d+b+1.-.1021..invalid. |
29e0 | 2a 2a 20 20 20 4e 2b 64 2b 31 20 2d 20 4e 2b 64 2b 62 20 20 20 62 73 73 20 66 72 61 6d 65 73 00 | **...N+d+1.-.N+d+b...bss.frames. |
2a00 | 2a 2a 20 20 20 4e 2b 31 20 2d 20 4e 2b 64 20 20 20 20 20 20 20 64 61 74 61 20 66 72 61 6d 65 73 | **...N+1.-.N+d.......data.frames |
2a20 | 00 2a 2a 20 20 20 31 20 2d 20 4e 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 66 72 61 6d 65 | .**...1.-.N...........text.frame |
2a40 | 73 00 2a 2a 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 76 61 6c 69 64 00 2a | s.**...0...............invalid.* |
2a60 | 2a 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d 20 20 20 20 20 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | *...========........============ |
2a80 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 00 2a 2a 20 20 20 45 6e 74 72 69 65 73 20 | ==================.**...Entries. |
2aa0 | 20 20 20 20 20 20 20 20 43 6f 6e 74 65 6e 74 73 00 2a 2a 20 50 61 67 65 20 6d 61 70 20 74 61 62 | ........Contents.**.Page.map.tab |
2ac0 | 6c 65 3a 00 2a 2a 00 2a 2a 20 20 20 31 20 2d 20 31 30 32 33 20 20 20 69 6e 76 61 6c 69 64 00 2a | le:.**.**...1.-.1023...invalid.* |
2ae0 | 2a 20 20 20 30 20 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 20 74 6f 20 50 4d 54 20 66 6f 72 20 | *...0..........point.to.PMT.for. |
2b00 | 61 64 64 72 65 73 73 20 73 70 61 63 65 00 2a 2a 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d 20 20 20 3d 3d | address.space.**...========...== |
2b20 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 00 2a 2a 20 | ============================.**. |
2b40 | 20 20 45 6e 74 72 69 65 73 20 20 20 20 43 6f 6e 74 65 6e 74 73 00 2a 2a 20 50 61 67 65 20 64 69 | ..Entries....Contents.**.Page.di |
2b60 | 72 65 63 74 6f 72 79 3a 00 2a 2a 00 2a 2a 20 54 68 69 73 20 67 69 76 65 73 20 75 73 20 74 68 65 | rectory:.**.**.This.gives.us.the |
2b80 | 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 67 65 20 74 61 62 6c 65 20 73 74 72 75 63 74 75 72 65 3a | .following.page.table.structure: |
2ba0 | 00 2a 2a 00 2a 2a 20 20 30 78 30 30 33 66 65 30 30 30 20 2d 20 30 78 30 30 33 66 66 66 66 66 20 | .**.**..0x003fe000.-.0x003fffff. |
2bc0 | 20 73 74 61 63 6b 20 6f 63 63 75 70 69 65 73 20 6c 61 73 74 20 74 77 6f 20 70 61 67 65 73 00 2a | .stack.occupies.last.two.pages.* |
2be0 | 2a 20 20 30 78 30 30 30 2e 2e 30 30 30 20 2d 20 30 78 30 30 33 66 64 66 66 66 20 20 75 6e 75 73 | *..0x000..000.-.0x003fdfff..unus |
2c00 | 61 62 6c 65 00 2a 2a 20 20 30 78 30 30 30 2e 2e 30 30 30 20 2d 20 30 78 30 30 30 2e 2e 66 66 66 | able.**..0x000..000.-.0x000..fff |
2c20 | 20 20 62 73 73 20 6f 63 63 75 70 69 65 73 20 70 61 67 65 73 20 4e 2b 64 2b 31 20 2d 20 4e 2b 64 | ..bss.occupies.pages.N+d+1.-.N+d |
2c40 | 2b 62 00 2a 2a 20 20 30 78 30 30 30 2e 2e 30 30 30 20 2d 20 30 78 30 30 30 2e 2e 66 66 66 20 20 | +b.**..0x000..000.-.0x000..fff.. |
2c60 | 64 61 74 61 20 6f 63 63 75 70 69 65 73 20 70 61 67 65 73 20 4e 2b 31 20 2d 20 4e 2b 64 00 2a 2a | data.occupies.pages.N+1.-.N+d.** |
2c80 | 20 20 30 78 30 30 30 30 31 30 30 30 20 2d 20 30 78 30 30 30 2e 2e 66 66 66 20 20 74 65 78 74 20 | ..0x00001000.-.0x000..fff..text. |
2ca0 | 6f 63 63 75 70 69 65 73 20 70 61 67 65 73 20 31 20 2d 20 4e 00 2a 2a 20 20 30 78 30 30 30 30 30 | occupies.pages.1.-.N.**..0x00000 |
2cc0 | 30 30 30 20 2d 20 30 78 30 30 30 30 30 66 66 66 20 20 70 61 67 65 20 30 20 69 73 20 69 6e 61 63 | 000.-.0x00000fff..page.0.is.inac |
2ce0 | 63 65 73 73 69 62 6c 65 00 2a 2a 20 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | cessible.**..=================== |
2d00 | 3d 3d 3d 3d 20 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ====..========================== |
2d20 | 3d 3d 3d 3d 3d 3d 00 2a 2a 20 20 41 64 64 72 65 73 73 20 52 61 6e 67 65 20 20 20 20 20 20 20 20 | ======.**..Address.Range........ |
2d40 | 20 20 20 20 43 6f 6e 74 65 6e 74 73 00 2a 2a 00 2a 2a 20 50 72 6f 63 65 73 73 65 73 20 61 72 65 | ....Contents.**.**.Processes.are |
2d60 | 20 6c 69 6d 69 74 65 64 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 34 4d 42 20 6f 66 20 74 68 65 | .limited.to.the.first.4MB.of.the |
2d80 | 20 33 32 2d 62 69 74 20 61 64 64 72 65 73 73 20 73 70 61 63 65 3a 00 2a 2a 00 2a 2a 20 56 4d 20 | .32-bit.address.space:.**.**.VM. |
2da0 | 6c 61 79 6f 75 74 20 6f 66 20 70 72 6f 63 65 73 73 27 20 61 64 64 72 65 73 73 20 73 70 61 63 65 | layout.of.process'.address.space |
2dc0 | 00 2f 2a 00 00 2a 2f 00 2a 2a 20 74 68 65 20 74 77 6f 20 69 73 20 74 72 69 76 69 61 6c 2e 00 2a | ./*..*/.**.the.two.is.trivial..* |
2de0 | 2a 20 30 78 38 6e 6e 6e 6e 6e 6e 6e 20 6d 61 70 73 20 74 6f 20 70 68 79 73 69 63 61 6c 20 61 64 | *.0x8nnnnnnn.maps.to.physical.ad |
2e00 | 64 72 65 73 73 20 30 78 30 6e 6e 6e 6e 6e 6e 6e 2c 20 73 6f 20 63 6f 6e 76 65 72 74 69 6e 67 20 | dress.0x0nnnnnnn,.so.converting. |
2e20 | 62 65 74 77 65 65 6e 00 2a 2a 20 61 74 20 30 78 38 30 30 30 30 30 30 30 2e 20 20 57 65 20 64 65 | between.**.at.0x80000000...We.de |
2e40 | 66 69 6e 65 20 6f 75 72 20 6d 61 70 70 69 6e 67 20 73 75 63 68 20 74 68 61 74 20 76 69 72 74 75 | fine.our.mapping.such.that.virtu |
2e60 | 61 6c 20 61 64 64 72 65 73 73 00 2a 2a 20 4b 65 72 6e 65 6c 20 76 69 72 74 75 61 6c 20 61 64 64 | al.address.**.Kernel.virtual.add |
2e80 | 72 65 73 73 65 73 20 61 72 65 20 69 6e 20 74 68 65 20 22 68 69 67 68 65 72 20 68 61 6c 66 22 20 | resses.are.in.the."higher.half". |
2ea0 | 72 61 6e 67 65 2c 20 62 65 67 69 6e 6e 69 6e 67 00 2a 2a 00 2a 2a 20 6e 65 78 74 20 63 6f 6d 6d | range,.beginning.**.**.next.comm |
2ec0 | 65 6e 74 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 00 2a 2a 20 55 73 65 72 20 70 72 6f 63 65 73 73 | ent.for.details..**.User.process |
2ee0 | 65 73 20 75 73 65 20 74 68 65 20 66 69 72 73 74 20 34 4d 42 20 6f 66 20 74 68 65 20 33 32 2d 62 | es.use.the.first.4MB.of.the.32-b |
2f00 | 69 74 20 61 64 64 72 65 73 73 20 73 70 61 63 65 3b 20 73 65 65 20 74 68 65 00 2a 2a 00 2a 2a 20 | it.address.space;.see.the.**.**. |
2f20 | 56 4d 20 6c 61 79 6f 75 74 20 6f 66 20 74 68 65 20 73 79 73 74 65 6d 00 2f 2a 00 00 23 69 6e 63 | VM.layout.of.the.system./*..#inc |
2f40 | 6c 75 64 65 20 3c 70 72 6f 63 73 2e 68 3e 00 00 23 69 6e 63 6c 75 64 65 20 3c 74 79 70 65 73 2e | lude.<procs.h>..#include.<types. |
2f60 | 68 3e 00 23 69 6e 63 6c 75 64 65 20 3c 64 65 66 73 2e 68 3e 00 00 23 64 65 66 69 6e 65 20 56 4d | h>.#include.<defs.h>..#define.VM |
2f80 | 5f 48 5f 00 23 69 66 6e 64 65 66 20 56 4d 5f 48 5f 00 00 2a 2f 00 2a 2a 20 40 62 72 69 65 66 09 | _H_.#ifndef.VM_H_..*/.**.@brief. |
2fa0 | 56 69 72 74 75 61 6c 20 6d 65 6d 6f 72 79 2d 72 65 6c 61 74 65 64 20 64 65 63 6c 61 72 61 74 69 | Virtual.memory-related.declarati |
2fc0 | 6f 6e 73 2e 00 2a 2a 00 2a 2a 20 40 61 75 74 68 6f 72 09 43 53 43 49 2d 34 35 32 20 63 6c 61 73 | ons..**.**.@author.CSCI-452.clas |
2fe0 | 73 20 6f 66 20 32 30 32 34 35 00 2a 2a 00 2a 2a 20 40 66 69 6c 65 09 76 6d 2e 68 00 2f 2a 2a 00 | s.of.20245.**.**.@file.vm.h./**. |
3000 | 61 64 00 00 21 05 00 00 bd 06 00 00 00 10 00 00 60 00 00 00 00 00 00 00 fd 0f 00 00 bb 0f 00 00 | ad..!...........`............... |
3020 | b8 0f 00 00 79 0f 00 00 78 0f 00 00 74 0f 00 00 62 0f 00 00 5f 0f 00 00 33 0f 00 00 30 0f 00 00 | ....y...x...t...b..._...3...0... |
3040 | 17 0f 00 00 16 0f 00 00 12 0f 00 00 00 0f 00 00 fd 0e 00 00 c7 0e 00 00 c4 0e 00 00 ab 0e 00 00 | ................................ |
3060 | aa 0e 00 00 a6 0e 00 00 92 0e 00 00 8f 0e 00 00 4e 0e 00 00 4b 0e 00 00 32 0e 00 00 31 0e 00 00 | ................N...K...2...1... |
3080 | 2d 0e 00 00 19 0e 00 00 16 0e 00 00 ca 0d 00 00 c7 0d 00 00 9d 0d 00 00 9a 0d 00 00 7d 0d 00 00 | -...........................}... |
30a0 | 7c 0d 00 00 78 0d 00 00 65 0d 00 00 62 0d 00 00 1e 0d 00 00 08 0d 00 00 05 0d 00 00 cc 0c 00 00 | |...x...e...b................... |
30c0 | 9f 0c 00 00 74 0c 00 00 4a 0c 00 00 13 0c 00 00 e1 0b 00 00 b8 0b 00 00 b5 0b 00 00 89 0b 00 00 | ....t...J....................... |
30e0 | 86 0b 00 00 56 0b 00 00 1d 0b 00 00 1c 0b 00 00 18 0b 00 00 07 0b 00 00 04 0b 00 00 c0 0a 00 00 | ....V........................... |
3100 | a8 0a 00 00 a5 0a 00 00 77 0a 00 00 74 0a 00 00 57 0a 00 00 56 0a 00 00 53 0a 00 00 43 0a 00 00 | ........w...t...W...V...S...C... |
3120 | 40 0a 00 00 fc 09 00 00 b3 09 00 00 97 09 00 00 94 09 00 00 5e 09 00 00 31 09 00 00 00 09 00 00 | @...................^...1....... |
3140 | d2 08 00 00 a5 08 00 00 a2 08 00 00 5b 08 00 00 5a 08 00 00 56 08 00 00 40 08 00 00 3d 08 00 00 | ............[...Z...V...@...=... |
3160 | fa 07 00 00 b9 07 00 00 85 07 00 00 82 07 00 00 5b 07 00 00 39 07 00 00 36 07 00 00 09 07 00 00 | ................[...9...6....... |
3180 | 06 07 00 00 dd 06 00 00 dc 06 00 00 c5 06 00 00 c4 06 00 00 bd 06 00 00 bc 06 00 00 00 00 00 00 | ................................ |
31a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
31c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
31e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
34a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
34c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
34e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
35a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
35c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
35e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
36a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 65 6e | .............................#en |
36c0 | 64 69 66 00 00 23 65 6e 64 69 66 20 20 2f 2a 20 21 41 53 4d 5f 53 52 43 20 2a 2f 00 00 69 6e 74 | dif..#endif../*.!ASM_SRC.*/..int |
36e0 | 20 76 6d 5f 75 76 6d 64 75 70 28 20 70 64 65 5f 74 20 2a 6f 6c 64 2c 20 70 64 65 5f 74 20 2a 6e | .vm_uvmdup(.pde_t.*old,.pde_t.*n |
3700 | 65 77 20 29 3b 00 2a 2f 00 2a 2a 20 40 72 65 74 75 72 6e 20 73 74 61 74 75 73 20 6f 66 20 74 68 | ew.);.*/.**.@return.status.of.th |
3720 | 65 20 64 75 70 6c 69 63 61 74 69 6f 6e 20 61 74 74 65 6d 70 74 00 2a 2a 00 2a 2a 20 40 70 61 72 | e.duplication.attempt.**.**.@par |
3740 | 61 6d 20 6e 65 77 20 20 4e 65 77 20 70 61 67 65 20 64 69 72 65 63 74 6f 72 79 00 2a 2a 20 40 70 | am.new..New.page.directory.**.@p |
3760 | 61 72 61 6d 20 6f 6c 64 20 20 45 78 69 73 74 69 6e 67 20 70 61 67 65 20 64 69 72 65 63 74 6f 72 | aram.old..Existing.page.director |
3780 | 79 00 2a 2a 00 2a 2a 20 74 68 65 20 73 79 73 74 65 6d 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 69 | y.**.**.the.system.portions.of.i |
37a0 | 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 74 6f 75 63 68 65 64 2e 00 2a 2a 20 68 69 65 72 | t.should.not.be.touched..**.hier |
37c0 | 61 72 63 68 79 2e 20 57 65 20 61 73 73 75 6d 65 20 74 68 61 74 20 74 68 65 20 22 6e 65 77 22 20 | archy..We.assume.that.the."new". |
37e0 | 70 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 65 78 69 73 74 73 20 61 6e 64 00 2a 2a 20 43 72 65 | page.directory.exists.and.**.Cre |
3800 | 61 74 65 20 61 20 64 75 70 6c 69 63 61 74 65 20 6f 66 20 74 68 65 20 75 73 65 72 20 70 6f 72 74 | ate.a.duplicate.of.the.user.port |
3820 | 69 6f 20 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67 20 70 61 67 65 20 74 61 62 6c 65 00 2a 2a 00 | io.of.an.existing.page.table.**. |
3840 | 2a 2a 20 4e 61 6d 65 3a 20 20 20 20 76 6d 5f 75 76 6d 64 75 70 00 2f 2a 2a 00 00 69 6e 74 20 76 | **.Name:....vm_uvmdup./**..int.v |
3860 | 6d 5f 6d 61 70 28 20 70 64 65 5f 74 20 2a 70 64 69 72 2c 20 76 6f 69 64 20 2a 76 61 2c 20 75 69 | m_map(.pde_t.*pdir,.void.*va,.ui |
3880 | 6e 74 5f 74 20 73 69 7a 65 2c 20 75 69 6e 74 5f 74 20 70 61 2c 20 69 6e 74 20 70 65 72 6d 20 29 | nt_t.size,.uint_t.pa,.int.perm.) |
38a0 | 3b 00 2a 2f 00 2a 2a 20 40 70 61 72 61 6d 20 70 65 72 6d 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 | ;.*/.**.@param.perm..Permission. |
38c0 | 62 69 74 73 20 66 6f 72 20 74 68 65 20 50 54 45 73 00 2a 2a 20 40 70 61 72 61 6d 20 70 61 20 20 | bits.for.the.PTEs.**.@param.pa.. |
38e0 | 20 20 54 68 65 20 73 74 61 72 74 69 6e 67 20 70 68 79 73 69 63 61 6c 20 61 64 64 72 65 73 73 00 | ..The.starting.physical.address. |
3900 | 2a 2a 20 40 70 61 72 61 6d 20 73 69 7a 65 20 20 4c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 72 61 | **.@param.size..Length.of.the.ra |
3920 | 6e 67 65 20 74 6f 20 62 65 20 6d 61 70 70 65 64 00 2a 2a 20 40 70 61 72 61 6d 20 76 61 20 20 20 | nge.to.be.mapped.**.@param.va... |
3940 | 20 54 68 65 20 73 74 61 72 74 69 6e 67 20 76 69 72 74 75 61 6c 20 61 64 64 72 65 73 73 00 2a 2a | .The.starting.virtual.address.** |
3960 | 20 40 70 61 72 61 6d 20 70 64 69 72 20 20 50 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 | .@param.pdir..Page.directory.for |
3980 | 20 74 68 69 73 20 61 64 64 72 65 73 73 20 73 70 61 63 65 00 2a 2a 00 2a 2a 20 74 68 61 74 20 76 | .this.address.space.**.**.that.v |
39a0 | 61 20 69 73 20 70 61 67 65 2d 61 6c 69 67 6e 65 64 2e 00 2a 2a 20 70 68 79 73 69 63 61 6c 20 61 | a.is.page-aligned..**.physical.a |
39c0 | 64 64 72 65 73 73 65 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 5b 70 61 2c 20 70 61 2b 73 69 | ddresses.in.the.range.[pa,.pa+si |
39e0 | 7a 65 2d 31 5d 2e 20 57 65 20 61 72 65 6e 27 74 20 67 75 61 72 61 6e 74 65 65 64 00 2a 2a 20 43 | ze-1]..We.aren't.guaranteed.**.C |
3a00 | 72 65 61 74 65 20 50 54 45 73 20 66 6f 72 20 76 69 72 74 75 61 6c 20 61 64 64 72 65 73 73 65 73 | reate.PTEs.for.virtual.addresses |
3a20 | 20 73 74 61 72 74 69 6e 67 20 61 74 20 27 76 61 27 20 74 68 61 74 20 72 65 66 65 72 20 74 6f 00 | .starting.at.'va'.that.refer.to. |
3a40 | 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 6d 61 70 00 2f 2a 00 00 76 6f 69 64 20 76 6d 5f 66 | **.**.Name:.vm_map./*..void.vm_f |
3a60 | 72 65 65 28 20 70 64 65 5f 74 20 2a 70 64 69 72 20 29 3b 00 2a 2f 00 2a 2a 20 40 70 61 72 61 6d | ree(.pde_t.*pdir.);.*/.**.@param |
3a80 | 20 70 64 69 72 20 20 50 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 70 61 67 65 20 64 69 72 65 63 | .pdir..Pointer.to.the.page.direc |
3aa0 | 74 6f 72 79 00 2a 2a 00 2a 2a 20 69 6e 20 74 68 65 20 75 73 65 72 20 70 6f 72 74 69 6f 6e 2e 00 | tory.**.**.in.the.user.portion.. |
3ac0 | 2a 2a 20 44 65 61 6c 6c 6f 63 61 74 65 20 61 20 70 61 67 65 20 74 61 62 6c 65 20 68 69 65 72 61 | **.Deallocate.a.page.table.hiera |
3ae0 | 72 63 68 79 20 61 6e 64 20 61 6c 6c 20 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 79 20 66 72 61 | rchy.and.all.physical.memory.fra |
3b00 | 6d 65 73 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 66 72 65 65 00 2f 2a 2a 00 00 09 09 76 | mes.**.**.Name:.vm_free./**....v |
3b20 | 6f 69 64 20 2a 76 61 2c 20 75 69 6e 74 33 32 5f 74 20 73 69 7a 65 2c 20 63 68 61 72 20 2a 64 61 | oid.*va,.uint32_t.size,.char.*da |
3b40 | 74 61 2c 20 75 69 6e 74 33 32 5f 74 20 62 79 74 65 73 20 29 3b 00 69 6e 74 20 76 6d 5f 61 64 64 | ta,.uint32_t.bytes.);.int.vm_add |
3b60 | 28 20 70 64 65 5f 74 20 2a 70 64 69 72 2c 20 62 6f 6f 6c 5f 74 20 77 72 2c 20 62 6f 6f 6c 5f 74 | (.pde_t.*pdir,.bool_t.wr,.bool_t |
3b80 | 20 73 79 73 2c 00 2a 2f 00 2a 2a 20 40 72 65 74 75 72 6e 20 73 74 61 74 75 73 20 6f 66 20 74 68 | .sys,.*/.**.@return.status.of.th |
3ba0 | 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 61 74 74 65 6d 70 74 00 2a 2a 00 2a 2a 20 40 70 61 72 61 | e.allocation.attempt.**.**.@para |
3bc0 | 6d 20 62 79 74 65 73 20 20 4e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 6f 20 63 6f 70 79 | m.bytes..Number.of.bytes.to.copy |
3be0 | 00 2a 2a 20 40 70 61 72 61 6d 20 64 61 74 61 20 20 20 50 6f 69 6e 74 65 72 20 74 6f 20 64 61 74 | .**.@param.data...Pointer.to.dat |
3c00 | 61 20 74 6f 20 63 6f 70 79 2c 20 6f 72 20 4e 55 4c 4c 00 2a 2a 20 40 70 61 72 61 6d 20 73 69 7a | a.to.copy,.or.NULL.**.@param.siz |
3c20 | 65 20 20 20 41 6d 6f 75 6e 74 20 6f 66 20 70 68 79 73 69 63 61 6c 20 6d 65 6d 6f 72 79 20 74 6f | e...Amount.of.physical.memory.to |
3c40 | 20 61 6c 6c 6f 63 61 74 65 00 2a 2a 20 40 70 61 72 61 6d 20 76 61 20 20 20 20 20 53 74 61 72 74 | .allocate.**.@param.va.....Start |
3c60 | 69 6e 67 20 56 41 20 6f 66 20 74 68 65 20 72 61 6e 67 65 00 2a 2a 20 40 70 61 72 61 6d 20 73 79 | ing.VA.of.the.range.**.@param.sy |
3c80 | 73 20 20 20 20 22 53 79 73 74 65 6d 22 20 66 6c 61 67 20 66 6f 72 20 74 68 65 20 50 54 45 00 2a | s...."System".flag.for.the.PTE.* |
3ca0 | 2a 20 40 70 61 72 61 6d 20 77 72 20 20 20 20 20 22 57 72 69 74 61 62 6c 65 22 20 66 6c 61 67 20 | *.@param.wr....."Writable".flag. |
3cc0 | 66 6f 72 20 74 68 65 20 50 54 45 00 2a 2a 20 40 70 61 72 61 6d 20 70 64 69 72 20 20 20 50 6f 69 | for.the.PTE.**.@param.pdir...Poi |
3ce0 | 6e 74 65 72 20 74 6f 20 74 68 65 20 70 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 6d 6f | nter.to.the.page.directory.to.mo |
3d00 | 64 69 66 79 00 2a 2a 00 2a 2a 20 74 68 65 6d 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e 00 2a 2a | dify.**.**.them.if.necessary..** |
3d20 | 20 41 64 64 20 70 61 67 65 73 20 74 6f 20 74 68 65 20 70 61 67 65 20 68 69 65 72 61 72 63 68 79 | .Add.pages.to.the.page.hierarchy |
3d40 | 20 66 6f 72 20 61 20 70 72 6f 63 65 73 73 2c 20 63 6f 70 79 69 6e 67 20 64 61 74 61 20 69 6e 74 | .for.a.process,.copying.data.int |
3d60 | 6f 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 20 20 20 20 76 6d 5f 61 64 64 00 2f 2a 2a 00 00 76 6f 69 | o.**.**.Name:....vm_add./**..voi |
3d80 | 64 20 76 6d 5f 73 65 74 5f 75 76 6d 28 20 70 63 62 5f 74 20 2a 70 20 29 3b 00 2a 2f 00 2a 2a 20 | d.vm_set_uvm(.pcb_t.*p.);.*/.**. |
3da0 | 40 70 61 72 61 6d 20 70 20 20 20 54 68 65 20 50 43 42 20 6f 66 20 74 68 65 20 75 73 65 72 20 70 | @param.p...The.PCB.of.the.user.p |
3dc0 | 72 6f 63 65 73 73 00 2a 2a 00 2a 2a 20 53 77 69 74 63 68 20 74 68 65 20 70 61 67 65 20 74 61 62 | rocess.**.**.Switch.the.page.tab |
3de0 | 6c 65 20 72 65 67 69 73 74 65 72 20 74 6f 20 74 68 65 20 70 61 67 65 20 64 69 72 65 63 74 6f 72 | le.register.to.the.page.director |
3e00 | 79 20 66 6f 72 20 61 20 75 73 65 72 20 70 72 6f 63 65 73 73 2e 00 2a 2a 00 2a 2a 20 4e 61 6d 65 | y.for.a.user.process..**.**.Name |
3e20 | 3a 09 76 6d 5f 73 65 74 5f 75 76 6d 00 2f 2a 2a 00 00 76 6f 69 64 20 76 6d 5f 73 65 74 5f 6b 76 | :.vm_set_uvm./**..void.vm_set_kv |
3e40 | 6d 28 20 76 6f 69 64 20 29 3b 00 2a 2f 00 2a 2a 20 53 77 69 74 63 68 20 74 68 65 20 70 61 67 65 | m(.void.);.*/.**.Switch.the.page |
3e60 | 20 74 61 62 6c 65 20 72 65 67 69 73 74 65 72 20 74 6f 20 74 68 65 20 6b 65 72 6e 65 6c 27 73 20 | .table.register.to.the.kernel's. |
3e80 | 70 61 67 65 20 64 69 72 65 63 74 6f 72 79 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 73 65 | page.directory.**.**.Name:.vm_se |
3ea0 | 74 5f 6b 76 6d 00 2f 2a 2a 00 00 70 64 65 5f 74 20 2a 76 6d 5f 6d 6b 75 76 6d 28 20 76 6f 69 64 | t_kvm./**..pde_t.*vm_mkuvm(.void |
3ec0 | 20 29 3b 00 2a 2f 00 2a 2a 20 43 72 65 61 74 65 20 74 68 65 20 70 61 67 65 20 74 61 62 6c 65 20 | .);.*/.**.Create.the.page.table. |
3ee0 | 68 69 65 72 61 72 63 68 79 20 66 6f 72 20 61 20 75 73 65 72 20 70 72 6f 63 65 73 73 00 2a 2a 00 | hierarchy.for.a.user.process.**. |
3f00 | 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 6d 6b 75 76 6d 00 2f 2a 2a 00 00 70 64 65 5f 74 20 2a 76 6d | **.Name:.vm_mkuvm./**..pde_t.*vm |
3f20 | 5f 6d 6b 6b 76 6d 28 20 76 6f 69 64 20 29 3b 00 2a 2f 00 2a 2a 20 43 72 65 61 74 65 20 74 68 65 | _mkkvm(.void.);.*/.**.Create.the |
3f40 | 20 6b 65 72 6e 65 6c 27 73 20 70 61 67 65 20 74 61 62 6c 65 20 68 69 65 72 61 72 63 68 79 00 2a | .kernel's.page.table.hierarchy.* |
3f60 | 2a 00 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 6d 6b 6b 76 6d 00 2f 2a 2a 00 00 70 74 65 5f 74 20 2a | *.**.Name:.vm_mkkvm./**..pte_t.* |
3f80 | 76 6d 5f 67 65 74 70 74 65 28 20 70 64 65 5f 74 20 2a 70 64 69 72 2c 20 63 6f 6e 73 74 20 76 6f | vm_getpte(.pde_t.*pdir,.const.vo |
3fa0 | 69 64 20 2a 76 61 2c 20 62 6f 6f 6c 5f 74 20 61 6c 6c 6f 63 20 29 3b 00 2a 2f 00 2a 2a 20 40 72 | id.*va,.bool_t.alloc.);.*/.**.@r |
3fc0 | 65 74 75 72 6e 20 41 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 70 61 67 65 20 74 61 62 6c | eturn.A.pointer.to.the.page.tabl |
3fe0 | 65 20 65 6e 74 72 79 20 66 6f 72 20 74 68 69 73 20 56 41 2c 20 6f 72 20 4e 55 4c 4c 00 2a 2a 00 | e.entry.for.this.VA,.or.NULL.**. |
4000 | 61 64 00 00 01 00 00 00 25 02 00 00 00 10 00 00 82 00 00 00 00 00 00 00 e1 0f 00 00 bb 0f 00 00 | ad......%....................... |
4020 | 91 0f 00 00 6d 0f 00 00 4e 0f 00 00 24 0f 00 00 f8 0e 00 00 ce 0e 00 00 aa 0e 00 00 9e 0e 00 00 | ....m...N...$................... |
4040 | 9d 0e 00 00 88 0e 00 00 70 0e 00 00 52 0e 00 00 33 0e 00 00 0d 0e 00 00 e3 0d 00 00 bf 0d 00 00 | ........p...R...3............... |
4060 | a0 0d 00 00 84 0d 00 00 58 0d 00 00 3b 0d 00 00 11 0d 00 00 ed 0c 00 00 e1 0c 00 00 e0 0c 00 00 | ........X...;................... |
4080 | ca 0c 00 00 c9 0c 00 00 a9 0c 00 00 8e 0c 00 00 8d 0c 00 00 73 0c 00 00 5c 0c 00 00 3e 0c 00 00 | ....................s...\...>... |
40a0 | 1f 0c 00 00 f9 0b 00 00 cf 0b 00 00 ab 0b 00 00 8c 0b 00 00 70 0b 00 00 3e 0b 00 00 21 0b 00 00 | ....................p...>...!... |
40c0 | f7 0a 00 00 d3 0a 00 00 c9 0a 00 00 c8 0a 00 00 aa 0a 00 00 7e 0a 00 00 6e 0a 00 00 2e 0a 00 00 | ....................~...n....... |
40e0 | 0c 0a 00 00 cd 09 00 00 9b 09 00 00 67 09 00 00 33 09 00 00 04 09 00 00 c0 08 00 00 a4 08 00 00 | ............g...3............... |
4100 | 62 08 00 00 41 08 00 00 3e 08 00 00 3d 08 00 00 26 08 00 00 19 08 00 00 07 08 00 00 fd 07 00 00 | b...A...>...=...&............... |
4120 | fc 07 00 00 d2 07 00 00 b7 07 00 00 77 07 00 00 3b 07 00 00 00 07 00 00 d9 06 00 00 cc 06 00 00 | ............w...;............... |
4140 | cb 06 00 00 c8 06 00 00 bd 06 00 00 ba 06 00 00 b9 06 00 00 90 06 00 00 7b 06 00 00 7a 06 00 00 | ........................{...z... |
4160 | 77 06 00 00 69 06 00 00 66 06 00 00 65 06 00 00 61 06 00 00 50 06 00 00 4d 06 00 00 31 06 00 00 | w...i...f...e...a...P...M...1... |
4180 | 2e 06 00 00 eb 05 00 00 db 05 00 00 d8 05 00 00 c2 05 00 00 c1 05 00 00 bd 05 00 00 a6 05 00 00 | ................................ |
41a0 | a3 05 00 00 85 05 00 00 82 05 00 00 4f 05 00 00 4c 05 00 00 13 05 00 00 10 05 00 00 f1 04 00 00 | ............O...L............... |
41c0 | f0 04 00 00 ec 04 00 00 d7 04 00 00 d4 04 00 00 b0 04 00 00 ad 04 00 00 74 04 00 00 3e 04 00 00 | ........................t...>... |
41e0 | 3b 04 00 00 14 04 00 00 11 04 00 00 e5 03 00 00 e4 03 00 00 e0 03 00 00 cd 03 00 00 ca 03 00 00 | ;............................... |
4200 | 84 03 00 00 3d 03 00 00 f9 02 00 00 e2 02 00 00 df 02 00 00 a1 02 00 00 6a 02 00 00 25 02 00 00 | ....=...................j...%... |
4220 | 00 00 00 00 00 2a 2a 20 40 70 61 72 61 6d 20 61 6c 6c 6f 63 20 20 53 68 6f 75 6c 64 20 77 65 20 | .....**.@param.alloc..Should.we. |
4240 | 61 6c 6c 6f 63 61 74 65 20 61 20 70 61 67 65 20 74 61 62 6c 65 20 69 66 20 74 68 65 72 65 20 69 | allocate.a.page.table.if.there.i |
4260 | 73 6e 27 74 20 6f 6e 65 3f 00 2a 2a 20 40 70 61 72 61 6d 20 76 61 20 20 20 20 20 54 68 65 20 76 | sn't.one?.**.@param.va.....The.v |
4280 | 69 72 74 75 61 6c 20 61 64 64 72 65 73 73 20 77 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 | irtual.address.we're.looking.for |
42a0 | 00 2a 2a 20 40 70 61 72 61 6d 20 70 64 69 72 20 20 20 50 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 | .**.@param.pdir...Pointer.to.the |
42c0 | 20 70 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 62 65 20 73 65 61 72 63 68 65 64 00 2a | .page.directory.to.be.searched.* |
42e0 | 2a 00 2a 2a 20 70 61 67 65 20 74 61 62 6c 65 20 65 6e 74 72 69 65 73 2e 00 2a 2a 20 70 61 67 65 | *.**.page.table.entries..**.page |
4300 | 20 74 61 62 6c 65 20 66 6f 72 20 74 68 61 74 20 56 41 20 61 6e 64 20 27 61 6c 6c 6f 63 27 20 69 | .table.for.that.VA.and.'alloc'.i |
4320 | 73 20 74 72 75 65 2c 20 63 72 65 61 74 65 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 00 2a 2a 20 | s.true,.create.the.necessary.**. |
4340 | 27 76 61 27 20 77 69 74 68 69 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 73 70 61 63 65 20 63 6f | 'va'.within.the.address.space.co |
4360 | 6e 74 72 6f 6c 6c 65 64 20 62 79 20 27 70 67 64 69 72 27 2e 20 49 66 20 74 68 65 72 65 20 69 73 | ntrolled.by.'pgdir'..If.there.is |
4380 | 20 6e 6f 00 2a 2a 20 52 65 74 75 72 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 | .no.**.Return.the.address.of.the |
43a0 | 20 50 54 45 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 76 69 72 74 75 61 | .PTE.corresponding.to.the.virtua |
43c0 | 6c 20 61 64 64 72 65 73 73 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 67 65 74 70 74 65 00 | l.address.**.**.Name:.vm_getpte. |
43e0 | 2f 2a 2a 00 00 62 6f 6f 6c 5f 74 20 76 6d 5f 70 74 64 75 70 28 20 70 64 65 5f 74 20 2a 64 73 74 | /**..bool_t.vm_ptdup(.pde_t.*dst |
4400 | 2c 20 70 64 65 5f 74 20 2a 63 75 72 72 20 29 3b 00 2a 2f 00 2a 2a 20 40 72 65 74 75 72 6e 20 74 | ,.pde_t.*curr.);.*/.**.@return.t |
4420 | 72 75 65 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 65 6c 73 65 20 66 61 6c 73 65 00 2a 2a 00 2a 2a | rue.on.success,.else.false.**.** |
4440 | 20 40 70 61 72 61 6d 20 63 75 72 72 20 20 50 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 65 6e 74 | .@param.curr..Pointer.to.the.ent |
4460 | 72 79 20 74 6f 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 00 2a 2a 20 40 70 61 72 61 6d 20 64 73 | ry.to.be.duplicated.**.@param.ds |
4480 | 74 20 20 20 50 6f 69 6e 74 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 64 75 70 6c 69 63 61 | t...Pointer.to.where.the.duplica |
44a0 | 74 65 20 73 68 6f 75 6c 64 20 67 6f 00 2a 2a 00 2a 2a 20 44 75 70 6c 69 63 61 74 65 20 61 20 70 | te.should.go.**.**.Duplicate.a.p |
44c0 | 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 79 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 20 | age.directory.entry.**.**.Name:. |
44e0 | 20 20 20 76 6d 5f 70 74 64 75 70 00 2f 2a 2a 00 00 76 6f 69 64 20 2a 76 6d 5f 70 61 67 65 64 75 | ...vm_ptdup./**..void.*vm_pagedu |
4500 | 70 28 20 76 6f 69 64 20 2a 6f 6c 64 20 29 3b 00 2a 2f 00 2a 2a 20 40 72 65 74 75 72 6e 20 61 20 | p(.void.*old.);.*/.**.@return.a. |
4520 | 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 6e 65 77 2c 20 64 75 70 6c 69 63 61 74 65 20 70 61 | pointer.to.the.new,.duplicate.pa |
4540 | 67 65 2c 20 6f 72 20 4e 55 4c 4c 00 2a 2a 00 2a 2a 20 40 70 61 72 61 6d 20 6f 6c 64 20 20 50 6f | ge,.or.NULL.**.**.@param.old..Po |
4560 | 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 62 79 74 65 20 6f 66 20 61 20 70 61 67 | inter.to.the.first.byte.of.a.pag |
4580 | 65 00 2a 2a 00 2a 2a 20 44 75 70 6c 69 63 61 74 65 20 61 20 70 61 67 65 20 6f 66 20 6d 65 6d 6f | e.**.**.Duplicate.a.page.of.memo |
45a0 | 72 79 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 20 20 20 20 76 6d 5f 70 61 67 65 64 75 70 00 2f 2a 2a | ry.**.**.Name:....vm_pagedup./** |
45c0 | 00 00 76 6f 69 64 20 76 6d 5f 69 6e 69 74 28 20 76 6f 69 64 20 29 3b 00 2a 2f 00 2a 2a 20 62 65 | ..void.vm_init(.void.);.*/.**.be |
45e0 | 65 6e 20 73 65 74 20 75 70 2e 00 2a 2a 20 4e 6f 74 65 3a 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 | en.set.up..**.Note:.should.not.b |
4600 | 65 20 63 61 6c 6c 65 64 20 75 6e 74 69 6c 20 61 66 74 65 72 20 74 68 65 20 6d 65 6d 6f 72 79 20 | e.called.until.after.the.memory. |
4620 | 66 72 65 65 20 6c 69 73 74 20 68 61 73 00 2a 2a 00 2a 2a 20 49 6e 69 74 69 61 6c 69 7a 65 20 74 | free.list.has.**.**.Initialize.t |
4640 | 68 65 20 56 4d 20 6d 6f 64 75 6c 65 00 2a 2a 00 2a 2a 20 4e 61 6d 65 3a 09 76 6d 5f 69 6e 69 74 | he.VM.module.**.**.Name:.vm_init |
4660 | 00 2f 2a 2a 00 00 2a 2f 00 2a 2a 20 50 72 6f 74 6f 74 79 70 65 73 00 2f 2a 00 00 65 78 74 65 72 | ./**..*/.**.Prototypes./*..exter |
4680 | 6e 20 70 64 65 5f 74 20 2a 6b 70 64 69 72 3b 00 2f 2f 20 63 72 65 61 74 65 64 20 70 61 67 65 20 | n.pde_t.*kpdir;.//.created.page. |
46a0 | 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 68 65 20 6b 65 72 6e 65 6c 00 00 2a 2f 00 2a 2a 20 | directory.for.the.kernel..*/.**. |
46c0 | 47 6c 6f 62 61 6c 73 00 2f 2a 00 00 7d 20 6d 61 70 70 69 6e 67 5f 74 3b 00 09 75 69 6e 74 33 32 | Globals./*..}.mapping_t;..uint32 |
46e0 | 5f 74 20 70 65 72 6d 3b 20 20 20 20 20 20 2f 2f 20 61 63 63 65 73 73 20 63 6f 6e 74 72 6f 6c 00 | _t.perm;......//.access.control. |
4700 | 09 75 69 6e 74 33 32 5f 74 20 70 61 5f 65 6e 64 3b 20 20 20 20 2f 2f 20 6c 61 73 74 20 70 68 79 | .uint32_t.pa_end;....//.last.phy |
4720 | 73 69 63 61 6c 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 00 09 75 69 6e 74 | sical.address.in.the.range..uint |
4740 | 33 32 5f 74 20 70 61 5f 73 74 61 72 74 3b 20 20 2f 2f 20 66 69 72 73 74 20 70 68 79 73 69 63 61 | 32_t.pa_start;..//.first.physica |
4760 | 6c 20 61 64 64 72 65 73 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 00 09 75 69 6e 74 33 32 5f 74 | l.address.in.the.range..uint32_t |
4780 | 20 76 61 5f 73 74 61 72 74 3b 20 20 2f 2f 20 73 74 61 72 74 69 6e 67 20 76 69 72 74 75 61 6c 20 | .va_start;..//.starting.virtual. |
47a0 | 61 64 64 72 65 73 73 20 66 6f 72 20 74 68 69 73 20 72 61 6e 67 65 00 74 79 70 65 64 65 66 20 73 | address.for.this.range.typedef.s |
47c0 | 74 72 75 63 74 20 6d 61 70 70 69 6e 67 5f 74 20 7b 00 2f 2f 20 4d 61 70 70 69 6e 67 20 64 65 73 | truct.mapping_t.{.//.Mapping.des |
47e0 | 63 72 69 70 74 6f 72 20 66 6f 72 20 56 41 3a 3a 50 41 20 6d 61 70 70 69 6e 67 73 00 00 7d 20 70 | criptor.for.VA::PA.mappings..}.p |
4800 | 66 65 63 5f 74 3b 00 09 73 74 72 75 63 74 20 70 66 65 63 5f 73 20 73 3b 00 09 75 69 6e 74 33 32 | fec_t;..struct.pfec_s.s;..uint32 |
4820 | 5f 74 20 75 3b 00 74 79 70 65 64 65 66 20 75 6e 69 6f 6e 20 70 66 65 63 5f 75 20 7b 00 00 7d 3b | _t.u;.typedef.union.pfec_u.{..}; |
4840 | 00 09 75 69 6e 74 5f 74 20 78 74 72 32 20 3a 31 36 3b 09 2f 2f 20 6d 6f 72 65 20 75 6e 75 73 65 | ..uint_t.xtr2.:16;.//.more.unuse |
4860 | 64 00 09 75 69 6e 74 5f 74 20 73 67 7a 20 20 3a 31 3b 09 09 2f 2f 20 53 47 58 2d 73 70 65 63 69 | d..uint_t.sgz..:1;..//.SGX-speci |
4880 | 66 69 63 20 61 63 63 65 73 73 20 63 6f 6e 74 72 6f 6c 20 76 69 6f 6c 61 74 69 6f 6e 20 2f 20 21 | fic.access.control.violation./.! |
48a0 | 53 47 58 00 09 75 69 6e 74 5f 74 20 78 74 72 31 20 3a 37 3b 09 09 2f 2f 20 75 6e 75 73 65 64 00 | SGX..uint_t.xtr1.:7;..//.unused. |
48c0 | 09 75 69 6e 74 5f 74 20 68 6c 61 74 20 3a 31 3b 09 09 2f 2f 20 48 4c 41 54 20 70 61 67 69 6e 67 | .uint_t.hlat.:1;..//.HLAT.paging |
48e0 | 20 2f 20 6f 72 64 69 6e 61 72 79 20 70 61 67 69 6e 67 20 6f 72 20 61 63 63 65 73 73 20 72 69 67 | ./.ordinary.paging.or.access.rig |
4900 | 68 74 73 00 09 75 69 6e 74 5f 74 20 73 73 20 20 20 3a 31 3b 09 09 2f 2f 20 73 68 61 64 6f 77 20 | hts..uint_t.ss...:1;..//.shadow. |
4920 | 73 74 61 63 6b 20 61 63 63 65 73 73 20 2f 20 21 73 73 00 09 75 69 6e 74 5f 74 20 70 6b 20 20 20 | stack.access./.!ss..uint_t.pk... |
4940 | 3a 31 3b 09 09 2f 2f 20 70 72 6f 74 65 63 74 69 6f 6e 2d 6b 65 79 20 76 69 6f 6c 61 74 69 6f 6e | :1;..//.protection-key.violation |
4960 | 20 2f 20 21 70 6b 00 09 75 69 6e 74 5f 74 20 69 64 20 20 20 3a 31 3b 09 09 2f 2f 20 69 6e 73 74 | ./.!pk..uint_t.id...:1;..//.inst |
4980 | 72 75 63 74 69 6f 6e 20 66 65 74 63 68 20 2f 20 64 61 74 61 20 66 65 74 63 68 00 09 75 69 6e 74 | ruction.fetch./.data.fetch..uint |
49a0 | 5f 74 20 72 73 76 64 20 3a 31 3b 09 09 2f 2f 20 72 65 73 65 72 76 65 64 20 62 69 74 20 76 69 6f | _t.rsvd.:1;..//.reserved.bit.vio |
49c0 | 6c 61 74 69 6f 6e 20 2f 20 6e 6f 74 00 09 75 69 6e 74 5f 74 20 75 73 20 20 20 3a 31 3b 09 09 2f | lation./.not..uint_t.us...:1;../ |
49e0 | 2f 20 75 73 65 72 2d 6d 6f 64 65 20 61 63 63 65 73 73 20 2f 20 73 75 70 65 72 76 69 73 6f 72 2d | /.user-mode.access./.supervisor- |
4a00 | 6d 6f 64 65 20 61 63 63 65 73 73 00 09 75 69 6e 74 5f 74 20 77 20 20 20 20 3a 31 3b 09 09 2f 2f | mode.access..uint_t.w....:1;..// |
4a20 | 20 77 72 69 74 65 20 2f 20 72 65 61 64 00 09 75 69 6e 74 5f 74 20 70 20 20 20 20 3a 31 3b 09 09 | .write./.read..uint_t.p....:1;.. |
4a40 | 2f 2f 20 70 61 67 65 2d 6c 65 76 65 6c 20 70 72 6f 74 65 63 74 69 6f 6e 20 76 69 6f 6c 61 74 69 | //.page-level.protection.violati |
4a60 | 6f 6e 20 2f 20 21 70 72 65 73 65 6e 74 00 73 74 72 75 63 74 20 70 66 65 63 5f 73 20 7b 00 2f 2f | on./.!present.struct.pfec_s.{.// |
4a80 | 20 63 6f 6d 6d 65 6e 74 3a 20 6d 65 61 6e 69 6e 67 20 77 68 65 6e 20 31 20 2f 20 6d 65 61 6e 69 | .comment:.meaning.when.1./.meani |
4aa0 | 6e 67 20 77 68 65 6e 20 30 00 2f 2f 20 70 61 67 65 20 66 61 75 6c 74 20 65 72 72 6f 72 20 63 6f | ng.when.0.//.page.fault.error.co |
4ac0 | 64 65 20 62 69 74 73 00 00 7d 20 70 74 65 66 5f 74 3b 00 09 75 69 6e 74 5f 74 20 66 61 20 20 3a | de.bits..}.ptef_t;..uint_t.fa..: |
4ae0 | 32 30 3b 20 20 20 2f 2f 20 66 72 61 6d 65 20 61 64 64 72 65 73 73 00 09 75 69 6e 74 5f 74 20 61 | 20;...//.frame.address..uint_t.a |
4b00 | 76 6c 20 3a 33 3b 20 20 20 20 2f 2f 20 69 67 6e 6f 72 65 64 20 28 61 76 61 69 6c 61 62 6c 65 29 | vl.:3;....//.ignored.(available) |
4b20 | 00 09 75 69 6e 74 5f 74 20 67 20 20 20 3a 31 3b 20 20 20 20 2f 2f 20 67 6c 6f 62 61 6c 00 09 75 | ..uint_t.g...:1;....//.global..u |
4b40 | 69 6e 74 5f 74 20 70 61 74 20 3a 31 3b 20 20 20 20 2f 2f 20 70 61 67 65 20 61 74 74 72 69 62 75 | int_t.pat.:1;....//.page.attribu |
4b60 | 74 65 20 74 61 62 6c 65 20 69 6e 20 75 73 65 00 09 75 69 6e 74 5f 74 20 64 20 20 20 3a 31 3b 20 | te.table.in.use..uint_t.d...:1;. |
4b80 | 20 20 20 2f 2f 20 64 69 72 74 79 00 09 75 69 6e 74 5f 74 20 61 20 20 20 3a 31 3b 20 20 20 20 2f | ...//.dirty..uint_t.a...:1;..../ |
4ba0 | 2f 20 61 63 63 65 73 73 65 64 00 09 75 69 6e 74 5f 74 20 70 63 64 20 3a 31 3b 20 20 20 20 2f 2f | /.accessed..uint_t.pcd.:1;....// |
4bc0 | 20 63 61 63 68 65 20 64 69 73 61 62 6c 65 00 09 75 69 6e 74 5f 74 20 70 77 74 20 3a 31 3b 20 20 | .cache.disable..uint_t.pwt.:1;.. |
4be0 | 20 20 2f 2f 20 63 61 63 68 65 20 77 72 69 74 65 2d 74 68 72 6f 75 67 68 00 09 75 69 6e 74 5f 74 | ..//.cache.write-through..uint_t |
4c00 | 20 75 73 20 20 3a 31 3b 20 20 20 20 2f 2f 20 75 73 65 72 2f 73 75 70 65 72 76 69 73 6f 72 00 09 | .us..:1;....//.user/supervisor.. |
4c20 | 75 69 6e 74 5f 74 20 72 77 20 20 3a 31 3b 20 20 20 20 2f 2f 20 77 72 69 74 61 62 6c 65 00 09 75 | uint_t.rw..:1;....//.writable..u |
4c40 | 69 6e 74 5f 74 20 70 20 20 20 3a 31 3b 20 20 20 20 2f 2f 20 70 72 65 73 65 6e 74 00 74 79 70 65 | int_t.p...:1;....//.present.type |
4c60 | 64 65 66 20 73 74 72 75 63 74 20 70 74 65 5f 73 20 7b 00 2f 2f 20 62 72 6f 6b 65 6e 20 6f 75 74 | def.struct.pte_s.{.//.broken.out |
4c80 | 20 69 6e 74 6f 20 66 69 65 6c 64 73 00 00 2f 2f 20 74 79 70 65 64 65 66 20 75 69 6e 74 33 32 5f | .into.fields..//.typedef.uint32_ |
4ca0 | 74 20 70 74 65 5f 74 3b 00 2f 2f 20 61 73 20 61 20 33 32 2d 62 69 74 20 77 6f 72 64 2c 20 69 6e | t.pte_t;.//.as.a.32-bit.word,.in |
4cc0 | 20 74 79 70 65 73 2e 68 00 00 2f 2f 20 70 61 67 65 20 74 61 62 6c 65 20 65 6e 74 72 69 65 73 00 | .types.h..//.page.table.entries. |
4ce0 | 00 7d 20 70 64 65 6d 5f 66 5f 74 3b 00 09 75 69 6e 74 5f 74 20 66 61 20 20 20 3a 32 30 3b 20 20 | .}.pdem_f_t;..uint_t.fa...:20;.. |
4d00 | 2f 2f 20 66 72 61 6d 65 20 61 64 64 72 65 73 73 00 09 75 69 6e 74 5f 74 20 61 76 6c 20 20 3a 33 | //.frame.address..uint_t.avl..:3 |
4d20 | 3b 20 20 20 2f 2f 20 69 67 6e 6f 72 65 64 20 28 61 76 61 69 6c 61 62 6c 65 29 00 09 75 69 6e 74 | ;...//.ignored.(available)..uint |
4d40 | 5f 74 20 67 20 20 20 20 3a 31 3b 20 20 20 2f 2f 20 67 6c 6f 62 61 6c 00 09 75 69 6e 74 5f 74 20 | _t.g....:1;...//.global..uint_t. |
4d60 | 70 73 20 20 20 3a 31 3b 20 20 20 2f 2f 20 70 61 67 65 20 73 69 7a 65 20 28 6d 75 73 74 20 62 65 | ps...:1;...//.page.size.(must.be |
4d80 | 20 31 29 00 09 75 69 6e 74 5f 74 20 64 20 20 20 20 3a 31 3b 20 20 20 2f 2f 20 64 69 72 74 79 00 | .1)..uint_t.d....:1;...//.dirty. |
4da0 | 09 75 69 6e 74 5f 74 20 61 20 20 20 20 3a 31 3b 20 20 20 2f 2f 20 61 63 63 65 73 73 65 64 00 09 | .uint_t.a....:1;...//.accessed.. |
4dc0 | 75 69 6e 74 5f 74 20 70 63 64 20 20 3a 31 3b 20 20 20 2f 2f 20 63 61 63 68 65 20 64 69 73 61 62 | uint_t.pcd..:1;...//.cache.disab |
4de0 | 6c 65 00 09 75 69 6e 74 5f 74 20 70 77 74 20 20 3a 31 3b 20 20 20 2f 2f 20 63 61 63 68 65 20 77 | le..uint_t.pwt..:1;...//.cache.w |
4e00 | 72 69 74 65 2d 74 68 72 6f 75 67 68 00 09 75 69 6e 74 5f 74 20 75 73 20 20 20 3a 31 3b 20 20 20 | rite-through..uint_t.us...:1;... |
4e20 | 2f 2f 20 75 73 65 72 2f 73 75 70 65 72 76 69 73 6f 72 00 09 75 69 6e 74 5f 74 20 72 77 20 20 20 | //.user/supervisor..uint_t.rw... |
4e40 | 3a 31 3b 20 20 20 2f 2f 20 77 72 69 74 61 62 6c 65 00 09 75 69 6e 74 5f 74 20 70 20 20 20 20 3a | :1;...//.writable..uint_t.p....: |
4e60 | 31 3b 20 20 20 2f 2f 20 70 72 65 73 65 6e 74 00 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 70 | 1;...//.present.typedef.struct.p |
4e80 | 64 65 6d 5f 73 20 7b 00 2f 2f 20 50 44 45 20 66 6f 72 20 34 4d 42 20 70 61 67 65 73 00 00 7d 20 | dem_s.{.//.PDE.for.4MB.pages..}. |
4ea0 | 70 64 65 6b 5f 66 5f 74 3b 00 09 75 69 6e 74 5f 74 20 66 61 20 20 20 3a 32 30 3b 20 20 2f 2f 20 | pdek_f_t;..uint_t.fa...:20;..//. |
4ec0 | 66 72 61 6d 65 20 61 64 64 72 65 73 73 00 09 75 69 6e 74 5f 74 20 61 76 6c 32 20 3a 34 3b 20 20 | frame.address..uint_t.avl2.:4;.. |
4ee0 | 20 2f 2f 20 69 67 6e 6f 72 65 64 20 28 61 76 61 69 6c 61 62 6c 65 29 00 09 75 69 6e 74 5f 74 20 | .//.ignored.(available)..uint_t. |
4f00 | 70 73 20 20 20 3a 31 3b 20 20 20 2f 2f 20 70 61 67 65 20 73 69 7a 65 20 28 6d 75 73 74 20 62 65 | ps...:1;...//.page.size.(must.be |
4f20 | 20 30 29 00 09 75 69 6e 74 5f 74 20 61 76 6c 31 20 3a 31 3b 20 20 20 2f 2f 20 69 67 6e 6f 72 65 | .0)..uint_t.avl1.:1;...//.ignore |
4f40 | 64 20 28 61 76 61 69 6c 61 62 6c 65 29 00 09 75 69 6e 74 5f 74 20 61 20 20 20 20 3a 31 3b 20 20 | d.(available)..uint_t.a....:1;.. |
4f60 | 20 2f 2f 20 61 63 63 65 73 73 65 64 00 09 75 69 6e 74 5f 74 20 70 63 64 20 20 3a 31 3b 20 20 20 | .//.accessed..uint_t.pcd..:1;... |
4f80 | 2f 2f 20 63 61 63 68 65 20 64 69 73 61 62 6c 65 00 09 75 69 6e 74 5f 74 20 70 77 74 20 20 3a 31 | //.cache.disable..uint_t.pwt..:1 |
4fa0 | 3b 20 20 20 2f 2f 20 63 61 63 68 65 20 77 72 69 74 65 2d 74 68 72 6f 75 67 68 00 09 75 69 6e 74 | ;...//.cache.write-through..uint |
4fc0 | 5f 74 20 75 73 20 20 20 3a 31 3b 20 20 20 2f 2f 20 75 73 65 72 2f 73 75 70 65 72 76 69 73 6f 72 | _t.us...:1;...//.user/supervisor |
4fe0 | 00 09 75 69 6e 74 5f 74 20 72 77 20 20 20 3a 31 3b 20 20 20 2f 2f 20 77 72 69 74 61 62 6c 65 00 | ..uint_t.rw...:1;...//.writable. |
5000 | 61 64 00 00 0d 00 00 00 bd 01 00 00 00 10 00 00 65 00 00 00 00 00 00 00 c9 0f 00 00 9d 0f 00 00 | ad..............e............... |
5020 | 70 0f 00 00 26 0f 00 00 dc 0e 00 00 97 0e 00 00 96 0e 00 00 77 0e 00 00 4a 0e 00 00 18 0e 00 00 | p...&...............w...J....... |
5040 | d8 0d 00 00 9a 0d 00 00 61 0d 00 00 33 0d 00 00 08 0d 00 00 ca 0c 00 00 9e 0c 00 00 71 0c 00 00 | ........a...3...............q... |
5060 | 38 0c 00 00 37 0c 00 00 09 0c 00 00 e7 0b 00 00 c5 0b 00 00 a3 0b 00 00 81 0b 00 00 5f 0b 00 00 | 8...7......................._... |
5080 | 3d 0b 00 00 1b 0b 00 00 f9 0a 00 00 d7 0a 00 00 b5 0a 00 00 b4 0a 00 00 a4 0a 00 00 a3 0a 00 00 | =............................... |
50a0 | a0 0a 00 00 81 0a 00 00 7e 0a 00 00 7d 0a 00 00 4a 0a 00 00 2c 0a 00 00 f7 09 00 00 c2 09 00 00 | ........~...}...J...,........... |
50c0 | c1 09 00 00 7c 09 00 00 47 09 00 00 12 09 00 00 11 09 00 00 f8 08 00 00 d0 08 00 00 9b 08 00 00 | ....|...G....................... |
50e0 | 9a 08 00 00 7c 08 00 00 48 08 00 00 47 08 00 00 12 08 00 00 dc 07 00 00 a6 07 00 00 a5 07 00 00 | ....|...H...G................... |
5100 | 61 07 00 00 3a 07 00 00 39 07 00 00 13 07 00 00 f9 06 00 00 d3 06 00 00 8e 06 00 00 4d 06 00 00 | a...:...9...................M... |
5120 | 1f 06 00 00 f1 05 00 00 f0 05 00 00 ca 05 00 00 b0 05 00 00 8a 05 00 00 45 05 00 00 04 05 00 00 | ........................E....... |
5140 | d6 04 00 00 a8 04 00 00 a7 04 00 00 68 04 00 00 3a 04 00 00 e6 03 00 00 c4 03 00 00 94 03 00 00 | ............h...:............... |
5160 | 64 03 00 00 30 03 00 00 2f 03 00 00 fc 02 00 00 b6 02 00 00 70 02 00 00 6f 02 00 00 6c 02 00 00 | d...0.../...........p...o...l... |
5180 | 63 02 00 00 60 02 00 00 5f 02 00 00 45 02 00 00 44 02 00 00 24 02 00 00 09 02 00 00 08 02 00 00 | c...`..._...E...D...$........... |
51a0 | f3 01 00 00 db 01 00 00 bd 01 00 00 bc 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 75 69 | ..............................ui |
51c0 | 6e 74 5f 74 20 70 20 20 20 20 3a 31 3b 20 20 20 2f 2f 20 70 72 65 73 65 6e 74 00 74 79 70 65 64 | nt_t.p....:1;...//.present.typed |
51e0 | 65 66 20 73 74 72 75 63 74 20 70 64 65 6b 5f 73 20 7b 00 2f 2f 20 50 44 45 20 66 6f 72 20 34 4b | ef.struct.pdek_s.{.//.PDE.for.4K |
5200 | 42 20 70 61 67 65 73 00 00 2f 2f 20 74 79 70 65 64 65 66 20 75 69 6e 74 33 32 5f 74 20 70 64 65 | B.pages..//.typedef.uint32_t.pde |
5220 | 5f 74 3b 00 2f 2f 20 61 73 20 61 20 33 32 2d 62 69 74 20 77 6f 72 64 2c 20 69 6e 20 74 79 70 65 | _t;.//.as.a.32-bit.word,.in.type |
5240 | 73 2e 68 00 00 2f 2f 20 70 61 67 65 20 64 69 72 65 63 74 6f 72 79 20 65 6e 74 72 69 65 73 00 00 | s.h..//.page.directory.entries.. |
5260 | 2a 2f 00 2a 2a 20 54 79 70 65 73 00 2f 2a 00 00 23 64 65 66 69 6e 65 20 50 54 49 58 28 76 29 20 | */.**.Types./*..#define.PTIX(v). |
5280 | 20 20 20 20 20 20 20 28 28 28 28 75 69 6e 74 33 32 5f 74 29 28 76 29 29 20 3e 3e 20 50 54 49 58 | .......((((uint32_t)(v)).>>.PTIX |
52a0 | 5f 53 48 49 46 54 29 20 26 20 50 49 58 32 49 5f 4d 41 53 4b 29 00 23 64 65 66 69 6e 65 20 50 44 | _SHIFT).&.PIX2I_MASK).#define.PD |
52c0 | 49 58 28 76 29 20 20 20 20 20 20 20 20 28 28 28 28 75 69 6e 74 33 32 5f 74 29 28 76 29 29 20 3e | IX(v)........((((uint32_t)(v)).> |
52e0 | 3e 20 50 44 49 58 5f 53 48 49 46 54 29 20 26 20 50 49 58 32 49 5f 4d 41 53 4b 29 00 2f 2f 20 65 | >.PDIX_SHIFT).&.PIX2I_MASK).//.e |
5300 | 78 74 72 61 63 74 20 74 68 65 20 74 61 62 6c 65 20 69 6e 64 69 63 65 73 20 66 72 6f 6d 20 61 20 | xtract.the.table.indices.from.a. |
5320 | 33 32 2d 62 69 74 20 61 64 64 72 65 73 73 00 00 23 64 65 66 69 6e 65 20 50 45 52 4d 53 28 70 29 | 32-bit.address..#define.PERMS(p) |
5340 | 20 20 20 20 20 20 20 28 28 28 75 69 6e 74 33 32 5f 74 29 28 70 29 29 26 50 45 52 4d 53 5f 4d 41 | .......(((uint32_t)(p))&PERMS_MA |
5360 | 53 4b 29 00 2f 2f 20 65 76 65 72 79 74 68 69 6e 67 20 68 61 73 20 6e 69 6e 65 20 62 69 74 73 20 | SK).//.everything.has.nine.bits. |
5380 | 6f 66 20 70 65 72 6d 69 73 73 69 6f 6e 20 66 6c 61 67 73 00 23 64 65 66 69 6e 65 20 50 54 45 5f | of.permission.flags.#define.PTE_ |
53a0 | 41 44 44 52 28 70 29 20 20 20 20 28 28 28 75 69 6e 74 33 32 5f 74 29 28 70 29 29 26 50 54 45 5f | ADDR(p)....(((uint32_t)(p))&PTE_ |
53c0 | 46 41 29 00 2f 2f 20 50 54 45 73 20 61 6c 77 61 79 73 20 70 6f 69 6e 74 20 74 6f 20 34 4b 42 20 | FA).//.PTEs.always.point.to.4KB. |
53e0 | 70 61 67 65 73 00 23 64 65 66 69 6e 65 20 50 44 45 5f 41 44 44 52 28 70 29 20 20 20 20 28 49 53 | pages.#define.PDE_ADDR(p)....(IS |
5400 | 5f 4c 41 52 47 45 28 70 29 3f 28 28 28 75 69 6e 74 33 32 5f 74 29 70 29 26 50 44 45 5f 46 41 29 | _LARGE(p)?(((uint32_t)p)&PDE_FA) |
5420 | 3a 28 28 28 75 69 6e 74 33 32 5f 74 29 70 29 26 50 44 45 5f 50 54 41 29 29 00 2f 2f 20 50 44 45 | :(((uint32_t)p)&PDE_PTA)).//.PDE |
5440 | 73 20 63 6f 75 6c 64 20 70 6f 69 6e 74 20 74 6f 20 34 4d 42 20 70 61 67 65 73 2c 20 6f 72 20 34 | s.could.point.to.4MB.pages,.or.4 |
5460 | 4b 42 20 50 4d 54 73 00 2f 2f 20 65 78 74 72 61 63 74 20 74 68 65 20 50 4d 54 20 61 64 64 72 65 | KB.PMTs.//.extract.the.PMT.addre |
5480 | 73 73 20 6f 72 20 66 72 61 6d 65 20 61 64 64 72 65 73 73 20 66 72 6f 6d 20 61 20 74 61 62 6c 65 | ss.or.frame.address.from.a.table |
54a0 | 20 65 6e 74 72 79 00 00 23 64 65 66 69 6e 65 20 50 54 45 5f 34 4d 5f 41 44 44 52 28 6e 29 20 20 | .entry..#define.PTE_4M_ADDR(n).. |
54c0 | 20 20 20 28 28 6e 29 20 26 20 4d 4f 44 34 4d 5f 4d 41 53 4b 29 00 23 64 65 66 69 6e 65 20 50 44 | ...((n).&.MOD4M_MASK).#define.PD |
54e0 | 45 5f 34 4d 5f 41 44 44 52 28 6e 29 20 20 20 20 20 28 28 6e 29 20 26 20 4d 4f 44 34 4d 5f 4d 41 | E_4M_ADDR(n).....((n).&.MOD4M_MA |
5500 | 53 4b 29 00 23 64 65 66 69 6e 65 20 47 45 54 5f 34 4d 46 52 41 4d 45 28 6e 29 20 20 20 20 20 28 | SK).#define.GET_4MFRAME(n).....( |
5520 | 28 28 6e 29 20 3e 3e 20 46 52 41 4d 45 5f 34 4d 5f 53 48 49 46 54 29 26 46 32 49 5f 34 4d 5f 4d | ((n).>>.FRAME_4M_SHIFT)&F2I_4M_M |
5540 | 41 53 4b 29 00 23 64 65 66 69 6e 65 20 54 4f 5f 34 4d 46 52 41 4d 45 28 6e 29 20 20 20 20 20 20 | ASK).#define.TO_4MFRAME(n)...... |
5560 | 28 28 28 6e 29 26 46 52 41 4d 45 32 49 5f 34 4d 5f 4d 41 53 4b 29 20 3c 3c 20 46 52 41 4d 45 5f | (((n)&FRAME2I_4M_MASK).<<.FRAME_ |
5580 | 34 4d 5f 53 48 49 46 54 29 00 23 64 65 66 69 6e 65 20 46 52 41 4d 45 32 49 5f 34 4d 5f 4d 41 53 | 4M_SHIFT).#define.FRAME2I_4M_MAS |
55a0 | 4b 20 20 20 20 30 78 30 30 30 30 30 33 66 66 00 23 64 65 66 69 6e 65 09 46 52 41 4d 45 5f 34 4d | K....0x000003ff.#define.FRAME_4M |
55c0 | 5f 53 48 49 46 54 20 32 32 00 2f 2f 20 34 4d 42 20 66 72 61 6d 65 20 6e 75 6d 62 65 72 73 20 61 | _SHIFT.22.//.4MB.frame.numbers.a |
55e0 | 72 65 20 31 30 20 62 69 74 73 20 77 69 64 65 00 00 23 64 65 66 69 6e 65 20 50 54 45 5f 34 4b 5f | re.10.bits.wide..#define.PTE_4K_ |
5600 | 41 44 44 52 28 6e 29 20 20 20 20 20 28 28 6e 29 20 26 20 4d 4f 44 34 4b 5f 4d 41 53 4b 29 00 23 | ADDR(n).....((n).&.MOD4K_MASK).# |
5620 | 64 65 66 69 6e 65 20 50 44 45 5f 34 4b 5f 41 44 44 52 28 6e 29 20 20 20 20 20 28 28 6e 29 20 26 | define.PDE_4K_ADDR(n).....((n).& |
5640 | 20 4d 4f 44 34 4b 5f 4d 41 53 4b 29 00 23 64 65 66 69 6e 65 20 47 45 54 5f 34 4b 46 52 41 4d 45 | .MOD4K_MASK).#define.GET_4KFRAME |
5660 | 28 6e 29 20 20 20 20 20 28 28 28 6e 29 20 3e 3e 20 46 52 41 4d 45 5f 34 4b 5f 53 48 49 46 54 29 | (n).....(((n).>>.FRAME_4K_SHIFT) |
5680 | 26 46 32 49 5f 34 4b 5f 4d 41 53 4b 29 00 23 64 65 66 69 6e 65 20 54 4f 5f 34 4b 46 52 41 4d 45 | &F2I_4K_MASK).#define.TO_4KFRAME |
56a0 | 28 6e 29 20 20 20 20 20 20 28 28 28 6e 29 26 46 52 41 4d 45 32 49 5f 34 4b 5f 4d 41 53 4b 29 20 | (n)......(((n)&FRAME2I_4K_MASK). |
56c0 | 3c 3c 20 46 52 41 4d 45 5f 34 4b 5f 53 48 49 46 54 29 00 23 64 65 66 69 6e 65 20 46 52 41 4d 45 | <<.FRAME_4K_SHIFT).#define.FRAME |
56e0 | 32 49 5f 34 4b 5f 4d 41 53 4b 20 20 20 20 30 78 30 30 30 66 66 66 66 66 00 23 64 65 66 69 6e 65 | 2I_4K_MASK....0x000fffff.#define |
5700 | 09 46 52 41 4d 45 5f 34 4b 5f 53 48 49 46 54 20 31 32 00 2f 2f 20 34 4b 42 20 66 72 61 6d 65 20 | .FRAME_4K_SHIFT.12.//.4KB.frame. |
5720 | 6e 75 6d 62 65 72 73 20 61 72 65 20 32 30 20 62 69 74 73 20 77 69 64 65 00 00 23 64 65 66 69 6e | numbers.are.20.bits.wide..#defin |
5740 | 65 20 50 45 52 4d 53 5f 4d 41 53 4b 20 20 20 20 20 20 20 20 20 20 4d 4f 44 34 4b 5f 4d 41 53 4b | e.PERMS_MASK..........MOD4K_MASK |
5760 | 00 2f 2f 20 6c 6f 77 2d 6f 72 64 65 72 20 6e 69 6e 65 20 62 69 74 73 20 6f 66 20 50 44 45 73 20 | .//.low-order.nine.bits.of.PDEs. |
5780 | 61 6e 64 20 50 54 45 73 20 68 6f 6c 64 20 22 70 65 72 6d 69 73 73 69 6f 6e 22 20 66 6c 61 67 20 | and.PTEs.hold."permission".flag. |
57a0 | 62 69 74 73 00 00 23 64 65 66 69 6e 65 20 49 53 5f 55 53 45 52 28 65 6e 74 72 79 29 20 20 20 20 | bits..#define.IS_USER(entry).... |
57c0 | 20 28 28 28 65 6e 74 72 79 29 20 26 20 50 44 45 5f 55 53 29 20 21 3d 20 30 20 29 00 23 64 65 66 | .(((entry).&.PDE_US).!=.0.).#def |
57e0 | 69 6e 65 20 49 53 5f 53 59 53 54 45 4d 28 65 6e 74 72 79 29 20 20 20 28 28 28 65 6e 74 72 79 29 | ine.IS_SYSTEM(entry)...(((entry) |
5800 | 20 26 20 50 44 45 5f 55 53 29 20 3d 3d 20 30 20 29 00 2f 2f 20 69 73 20 74 68 69 73 20 65 6e 74 | .&.PDE_US).==.0.).//.is.this.ent |
5820 | 72 79 20 22 73 79 73 74 65 6d 20 6f 6e 6c 79 22 20 6f 72 20 22 73 79 73 74 65 6d 20 61 6e 64 20 | ry."system.only".or."system.and. |
5840 | 75 73 65 72 22 3f 00 00 23 64 65 66 69 6e 65 20 49 53 5f 4c 41 52 47 45 28 70 64 65 29 20 20 20 | user"?..#define.IS_LARGE(pde)... |
5860 | 20 20 20 28 28 28 70 64 65 29 20 26 20 50 44 45 5f 50 53 29 20 21 3d 20 30 20 29 00 2f 2f 20 69 | ...(((pde).&.PDE_PS).!=.0.).//.i |
5880 | 73 20 61 20 50 44 45 20 61 20 34 4d 42 20 70 61 67 65 20 65 6e 74 72 79 3f 00 00 23 64 65 66 69 | s.a.PDE.a.4MB.page.entry?..#defi |
58a0 | 6e 65 20 49 53 5f 50 52 45 53 45 4e 54 28 65 6e 74 72 79 29 20 20 28 28 28 65 6e 74 72 79 29 20 | ne.IS_PRESENT(entry)..(((entry). |
58c0 | 26 20 50 44 45 5f 50 29 20 21 3d 20 30 20 29 00 2f 2f 20 28 50 20 62 69 74 20 69 73 20 69 6e 20 | &.PDE_P).!=.0.).//.(P.bit.is.in. |
58e0 | 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 69 6e 20 62 6f 74 68 29 00 2f 2f 20 69 73 20 61 20 | the.same.place.in.both).//.is.a. |
5900 | 50 44 45 2f 50 54 45 20 70 72 65 73 65 6e 74 3f 00 00 23 64 65 66 69 6e 65 20 4d 4b 50 54 45 28 | PDE/PTE.present?..#define.MKPTE( |
5920 | 66 2c 70 29 20 20 28 28 70 74 65 5f 74 29 28 20 54 4f 5f 46 52 41 4d 45 28 28 66 29 29 20 7c 20 | f,p)..((pte_t)(.TO_FRAME((f)).|. |
5940 | 28 70 29 20 29 29 00 23 64 65 66 69 6e 65 20 4d 4b 50 44 45 28 66 2c 70 29 20 20 28 28 70 64 65 | (p).)).#define.MKPDE(f,p)..((pde |
5960 | 5f 74 29 28 20 54 4f 5f 46 52 41 4d 45 28 28 66 29 29 20 7c 20 28 70 29 20 29 29 00 2f 2f 20 63 | _t)(.TO_FRAME((f)).|.(p).)).//.c |
5980 | 72 65 61 74 65 20 61 20 70 64 65 2f 70 74 65 20 66 72 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 20 | reate.a.pde/pte.from.an.integer. |
59a0 | 66 72 61 6d 65 20 6e 75 6d 62 65 72 20 61 6e 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 | frame.number.and.permission.bits |
59c0 | 00 00 23 64 65 66 69 6e 65 20 50 32 56 28 61 29 20 20 20 20 20 20 20 20 20 28 28 28 75 69 6e 74 | ..#define.P2V(a).........(((uint |
59e0 | 33 32 5f 74 29 28 61 29 29 20 2b 20 4b 45 52 4e 5f 42 41 53 45 29 00 23 64 65 66 69 6e 65 20 56 | 32_t)(a)).+.KERN_BASE).#define.V |
5a00 | 32 50 28 61 29 20 20 20 20 20 20 20 20 20 28 28 28 75 69 6e 74 33 32 5f 74 29 28 61 29 29 20 2d | 2P(a).........(((uint32_t)(a)).- |
5a20 | 20 4b 45 52 4e 5f 42 41 53 45 29 00 2f 2f 20 28 6e 6f 74 20 75 73 61 62 6c 65 20 66 72 6f 6d 20 | .KERN_BASE).//.(not.usable.from. |
5a40 | 61 73 73 65 6d 62 6c 79 29 00 2f 2f 20 70 68 79 73 69 63 61 6c 2f 76 69 72 74 75 61 6c 20 63 6f | assembly).//.physical/virtual.co |
5a60 | 6e 76 65 72 74 65 72 73 20 74 68 61 74 20 64 6f 20 75 73 65 20 63 61 73 74 69 6e 67 00 00 2a 2f | nverters.that.do.use.casting..*/ |
5a80 | 00 2a 2a 20 53 74 61 72 74 20 6f 66 20 43 2d 6f 6e 6c 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 00 | .**.Start.of.C-only.definitions. |
5aa0 | 2f 2a 00 00 23 69 66 6e 64 65 66 20 41 53 4d 5f 53 52 43 00 00 23 64 65 66 69 6e 65 20 50 46 4c | /*..#ifndef.ASM_SRC..#define.PFL |
5ac0 | 54 5f 55 4e 55 53 45 44 20 20 20 20 30 78 66 66 66 66 37 66 30 30 00 23 64 65 66 69 6e 65 20 50 | T_UNUSED....0xffff7f00.#define.P |
5ae0 | 46 4c 54 5f 53 47 58 20 20 20 20 20 20 20 30 78 30 30 30 30 38 30 30 30 00 23 64 65 66 69 6e 65 | FLT_SGX.......0x00008000.#define |
5b00 | 20 50 46 4c 54 5f 48 4c 41 54 20 20 20 20 20 20 30 78 30 30 30 30 30 30 38 30 00 23 64 65 66 69 | .PFLT_HLAT......0x00000080.#defi |
5b20 | 6e 65 20 50 46 4c 54 5f 53 53 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 34 30 00 23 64 65 | ne.PFLT_SS........0x00000040.#de |
5b40 | 66 69 6e 65 20 50 46 4c 54 5f 50 4b 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 32 30 00 23 | fine.PFLT_PK........0x00000020.# |
5b60 | 64 65 66 69 6e 65 20 50 46 4c 54 5f 49 44 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 31 30 | define.PFLT_ID........0x00000010 |
5b80 | 00 23 64 65 66 69 6e 65 20 50 46 4c 54 5f 52 53 56 44 20 20 20 20 20 20 30 78 30 30 30 30 30 30 | .#define.PFLT_RSVD......0x000000 |
5ba0 | 30 38 00 23 64 65 66 69 6e 65 20 50 46 4c 54 5f 55 53 20 20 20 20 20 20 20 20 30 78 30 30 30 30 | 08.#define.PFLT_US........0x0000 |
5bc0 | 30 30 30 34 00 23 64 65 66 69 6e 65 20 50 46 4c 54 5f 57 20 20 20 20 20 20 20 20 20 30 78 30 30 | 0004.#define.PFLT_W.........0x00 |
5be0 | 30 30 30 30 30 32 00 23 64 65 66 69 6e 65 20 50 46 4c 54 5f 50 20 20 20 20 20 20 20 20 20 30 78 | 000002.#define.PFLT_P.........0x |
5c00 | 30 30 30 30 30 30 30 31 00 2f 2f 20 65 72 72 6f 72 20 63 6f 64 65 20 62 69 74 20 61 73 73 69 67 | 00000001.//.error.code.bit.assig |
5c20 | 6e 6d 65 6e 74 73 20 66 6f 72 20 70 61 67 65 20 66 61 75 6c 74 73 00 00 23 64 65 66 69 6e 65 20 | nments.for.page.faults..#define. |
5c40 | 50 54 45 5f 46 41 20 20 20 20 20 20 20 20 20 30 78 66 66 66 66 66 30 30 30 09 2f 2f 20 66 72 61 | PTE_FA.........0xfffff000.//.fra |
5c60 | 6d 65 20 61 64 64 72 65 73 73 20 66 69 65 6c 64 00 23 64 65 66 69 6e 65 20 50 54 45 5f 41 56 4c | me.address.field.#define.PTE_AVL |
5c80 | 32 20 20 20 20 20 20 20 30 78 30 30 30 30 30 65 30 30 09 2f 2f 20 69 67 6e 6f 72 65 64 00 23 64 | 2.......0x00000e00.//.ignored.#d |
5ca0 | 65 66 69 6e 65 20 50 54 45 5f 47 20 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 31 30 30 09 | efine.PTE_G..........0x00000100. |
5cc0 | 2f 2f 20 67 6c 6f 62 61 6c 00 23 64 65 66 69 6e 65 20 50 54 45 5f 50 41 54 20 20 20 20 20 20 20 | //.global.#define.PTE_PAT....... |
5ce0 | 20 30 78 30 30 30 30 30 30 38 30 09 2f 2f 20 75 73 65 20 70 61 67 65 20 61 74 74 72 69 62 75 74 | .0x00000080.//.use.page.attribut |
5d00 | 65 20 74 61 62 6c 65 00 23 64 65 66 69 6e 65 20 50 54 45 5f 44 20 20 20 20 20 20 20 20 20 20 30 | e.table.#define.PTE_D..........0 |
5d20 | 78 30 30 30 30 30 30 34 30 09 2f 2f 20 64 69 72 74 79 00 23 64 65 66 69 6e 65 20 50 54 45 5f 41 | x00000040.//.dirty.#define.PTE_A |
5d40 | 20 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 32 30 09 2f 2f 20 61 63 63 65 73 73 65 64 | ..........0x00000020.//.accessed |
5d60 | 00 23 64 65 66 69 6e 65 20 50 54 45 5f 50 43 44 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 | .#define.PTE_PCD........0x000000 |
5d80 | 31 30 09 2f 2f 20 63 61 63 68 65 3a 20 31 20 3d 20 64 69 73 61 62 6c 65 64 00 23 64 65 66 69 6e | 10.//.cache:.1.=.disabled.#defin |
5da0 | 65 20 50 54 45 5f 50 57 54 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 30 38 09 2f 2f 20 63 | e.PTE_PWT........0x00000008.//.c |
5dc0 | 61 63 68 65 3a 20 31 20 3d 20 77 72 69 74 65 2d 74 68 72 6f 75 67 68 00 23 64 65 66 69 6e 65 20 | ache:.1.=.write-through.#define. |
5de0 | 50 54 45 5f 55 53 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 30 34 09 2f 2f 20 31 20 3d | PTE_US.........0x00000004.//.1.= |
5e00 | 20 75 73 65 72 20 61 6e 64 20 73 79 73 74 65 6d 20 75 73 61 62 6c 65 00 23 64 65 66 69 6e 65 20 | .user.and.system.usable.#define. |
5e20 | 50 54 45 5f 52 57 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 30 30 32 09 2f 2f 20 31 20 3d | PTE_RW.........0x00000002.//.1.= |
5e40 | 20 77 72 69 74 61 62 6c 65 00 23 64 65 66 69 6e 65 20 50 54 45 5f 50 20 20 20 20 20 20 20 20 20 | .writable.#define.PTE_P......... |
5e60 | 20 30 78 30 30 30 30 30 30 30 31 09 2f 2f 20 70 72 65 73 65 6e 74 00 2f 2f 20 70 61 67 65 20 74 | .0x00000001.//.present.//.page.t |
5e80 | 61 62 6c 65 20 65 6e 74 72 79 20 62 69 74 20 66 69 65 6c 64 73 00 00 23 64 65 66 69 6e 65 20 50 | able.entry.bit.fields..#define.P |
5ea0 | 44 45 5f 46 41 20 20 20 20 20 20 20 20 20 30 78 66 66 63 30 30 30 30 30 09 2f 2f 20 66 72 61 6d | DE_FA.........0xffc00000.//.fram |
5ec0 | 65 20 61 64 64 72 65 73 73 20 66 69 65 6c 64 20 28 34 4d 42 20 70 61 67 65 73 29 00 23 64 65 66 | e.address.field.(4MB.pages).#def |
5ee0 | 69 6e 65 20 50 44 45 5f 50 54 41 20 20 20 20 20 20 20 20 30 78 66 66 66 66 66 30 30 30 09 2f 2f | ine.PDE_PTA........0xfffff000.// |
5f00 | 20 70 61 67 65 20 74 61 62 6c 65 20 61 64 64 72 65 73 73 20 66 69 65 6c 64 20 28 34 4b 42 20 70 | .page.table.address.field.(4KB.p |
5f20 | 61 67 65 73 29 00 23 64 65 66 69 6e 65 20 50 44 45 5f 50 41 54 20 20 20 20 20 20 20 20 30 78 30 | ages).#define.PDE_PAT........0x0 |
5f40 | 30 30 30 31 30 30 30 09 2f 2f 20 28 34 4d 42 20 70 61 67 65 73 29 20 75 73 65 20 70 61 67 65 20 | 0001000.//.(4MB.pages).use.page. |
5f60 | 61 74 74 72 69 62 75 74 65 20 74 61 62 6c 65 00 23 64 65 66 69 6e 65 20 50 44 45 5f 41 56 4c 32 | attribute.table.#define.PDE_AVL2 |
5f80 | 20 20 20 20 20 20 20 30 78 30 30 30 30 30 65 30 30 09 2f 2f 20 69 67 6e 6f 72 65 64 00 23 64 65 | .......0x00000e00.//.ignored.#de |
5fa0 | 66 69 6e 65 20 50 44 45 5f 47 20 20 20 20 20 20 20 20 20 20 30 78 30 30 30 30 30 31 30 30 09 2f | fine.PDE_G..........0x00000100./ |
5fc0 | 2f 20 67 6c 6f 62 61 6c 00 23 64 65 66 69 6e 65 20 50 44 45 5f 50 53 20 20 20 20 20 20 20 20 20 | /.global.#define.PDE_PS......... |
5fe0 | 30 78 30 30 30 30 30 30 38 30 09 2f 2f 20 31 20 3d 20 34 4d 42 20 70 61 67 65 20 73 69 7a 65 00 | 0x00000080.//.1.=.4MB.page.size. |