| 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. |