Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/56096 )
Change subject: TESTONLY: Link pagetables into programs instead of using a cbfs file ......................................................................
TESTONLY: Link pagetables into programs instead of using a cbfs file
smm_stub does not like this for sure, but this seems to get to ramstage.
Change-Id: Ice4fd15d131b8c91bc98afad7f459ce3485b786d Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M src/cpu/x86/64bit/entry64.inc A src/cpu/x86/64bit/pt.S M src/cpu/x86/Makefile.inc 3 files changed, 2,079 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/96/56096/1
diff --git a/src/cpu/x86/64bit/entry64.inc b/src/cpu/x86/64bit/entry64.inc index d1e133c..6452ff3 100644 --- a/src/cpu/x86/64bit/entry64.inc +++ b/src/cpu/x86/64bit/entry64.inc @@ -24,7 +24,7 @@
.macro setup_longmode jmp_addr /* Get page table address */ - movl $(CONFIG_ARCH_X86_64_PGTBL_LOC), %eax + movl $PM4LE, %eax
/* load identity mapped page tables */ movl %eax, %cr3 diff --git a/src/cpu/x86/64bit/pt.S b/src/cpu/x86/64bit/pt.S new file mode 100644 index 0000000..925ff72 --- /dev/null +++ b/src/cpu/x86/64bit/pt.S @@ -0,0 +1,2074 @@ +.section .text + +#define _PRES (1ULL << 0) +#define _RW (1ULL << 1) +#define _US (1ULL << 2) +#define _A (1ULL << 5) +#define _D (1ULL << 6) +#define _PS (1ULL << 7) +#define _GEN_DIR(a) (_PRES + _RW + _US + _A + (a)) +#define _GEN_PAGE(a) (_PRES + _RW + _US + _PS + _A + _D + (a)) + + +.global PM4LE +.align 32 +PM4LE: +.quad _GEN_DIR(PDPE_table) + +.align 4096 +PDE_tables: /* identity map 2MiB pages */ +.quad _GEN_PAGE(0x200000 * 0) +.quad _GEN_PAGE(0x200000 * 1) +.quad _GEN_PAGE(0x200000 * 2) +.quad _GEN_PAGE(0x200000 * 3) +.quad _GEN_PAGE(0x200000 * 4) +.quad _GEN_PAGE(0x200000 * 5) +.quad _GEN_PAGE(0x200000 * 6) +.quad _GEN_PAGE(0x200000 * 7) +.quad _GEN_PAGE(0x200000 * 8) +.quad _GEN_PAGE(0x200000 * 9) +.quad _GEN_PAGE(0x200000 * 10) +.quad _GEN_PAGE(0x200000 * 11) +.quad _GEN_PAGE(0x200000 * 12) +.quad _GEN_PAGE(0x200000 * 13) +.quad _GEN_PAGE(0x200000 * 14) +.quad _GEN_PAGE(0x200000 * 15) +.quad _GEN_PAGE(0x200000 * 16) +.quad _GEN_PAGE(0x200000 * 17) +.quad _GEN_PAGE(0x200000 * 18) +.quad _GEN_PAGE(0x200000 * 19) +.quad _GEN_PAGE(0x200000 * 20) +.quad _GEN_PAGE(0x200000 * 21) +.quad _GEN_PAGE(0x200000 * 22) +.quad _GEN_PAGE(0x200000 * 23) +.quad _GEN_PAGE(0x200000 * 24) +.quad _GEN_PAGE(0x200000 * 25) +.quad _GEN_PAGE(0x200000 * 26) +.quad _GEN_PAGE(0x200000 * 27) +.quad _GEN_PAGE(0x200000 * 28) +.quad _GEN_PAGE(0x200000 * 29) +.quad _GEN_PAGE(0x200000 * 30) +.quad _GEN_PAGE(0x200000 * 31) +.quad _GEN_PAGE(0x200000 * 32) +.quad _GEN_PAGE(0x200000 * 33) +.quad _GEN_PAGE(0x200000 * 34) +.quad _GEN_PAGE(0x200000 * 35) +.quad _GEN_PAGE(0x200000 * 36) +.quad _GEN_PAGE(0x200000 * 37) +.quad _GEN_PAGE(0x200000 * 38) +.quad _GEN_PAGE(0x200000 * 39) +.quad _GEN_PAGE(0x200000 * 40) +.quad _GEN_PAGE(0x200000 * 41) +.quad _GEN_PAGE(0x200000 * 42) +.quad _GEN_PAGE(0x200000 * 43) +.quad _GEN_PAGE(0x200000 * 44) +.quad _GEN_PAGE(0x200000 * 45) +.quad _GEN_PAGE(0x200000 * 46) +.quad _GEN_PAGE(0x200000 * 47) +.quad _GEN_PAGE(0x200000 * 48) +.quad _GEN_PAGE(0x200000 * 49) +.quad _GEN_PAGE(0x200000 * 50) +.quad _GEN_PAGE(0x200000 * 51) +.quad _GEN_PAGE(0x200000 * 52) +.quad _GEN_PAGE(0x200000 * 53) +.quad _GEN_PAGE(0x200000 * 54) +.quad _GEN_PAGE(0x200000 * 55) +.quad _GEN_PAGE(0x200000 * 56) +.quad _GEN_PAGE(0x200000 * 57) +.quad _GEN_PAGE(0x200000 * 58) +.quad _GEN_PAGE(0x200000 * 59) +.quad _GEN_PAGE(0x200000 * 60) +.quad _GEN_PAGE(0x200000 * 61) +.quad _GEN_PAGE(0x200000 * 62) +.quad _GEN_PAGE(0x200000 * 63) +.quad _GEN_PAGE(0x200000 * 64) +.quad _GEN_PAGE(0x200000 * 65) +.quad _GEN_PAGE(0x200000 * 66) +.quad _GEN_PAGE(0x200000 * 67) +.quad _GEN_PAGE(0x200000 * 68) +.quad _GEN_PAGE(0x200000 * 69) +.quad _GEN_PAGE(0x200000 * 70) +.quad _GEN_PAGE(0x200000 * 71) +.quad _GEN_PAGE(0x200000 * 72) +.quad _GEN_PAGE(0x200000 * 73) +.quad _GEN_PAGE(0x200000 * 74) +.quad _GEN_PAGE(0x200000 * 75) +.quad _GEN_PAGE(0x200000 * 76) +.quad _GEN_PAGE(0x200000 * 77) +.quad _GEN_PAGE(0x200000 * 78) +.quad _GEN_PAGE(0x200000 * 79) +.quad _GEN_PAGE(0x200000 * 80) +.quad _GEN_PAGE(0x200000 * 81) +.quad _GEN_PAGE(0x200000 * 82) +.quad _GEN_PAGE(0x200000 * 83) +.quad _GEN_PAGE(0x200000 * 84) +.quad _GEN_PAGE(0x200000 * 85) +.quad _GEN_PAGE(0x200000 * 86) +.quad _GEN_PAGE(0x200000 * 87) +.quad _GEN_PAGE(0x200000 * 88) +.quad _GEN_PAGE(0x200000 * 89) +.quad _GEN_PAGE(0x200000 * 90) +.quad _GEN_PAGE(0x200000 * 91) +.quad _GEN_PAGE(0x200000 * 92) +.quad _GEN_PAGE(0x200000 * 93) +.quad _GEN_PAGE(0x200000 * 94) +.quad _GEN_PAGE(0x200000 * 95) +.quad _GEN_PAGE(0x200000 * 96) +.quad _GEN_PAGE(0x200000 * 97) +.quad _GEN_PAGE(0x200000 * 98) +.quad _GEN_PAGE(0x200000 * 99) +.quad _GEN_PAGE(0x200000 * 100) +.quad _GEN_PAGE(0x200000 * 101) +.quad _GEN_PAGE(0x200000 * 102) +.quad _GEN_PAGE(0x200000 * 103) +.quad _GEN_PAGE(0x200000 * 104) +.quad _GEN_PAGE(0x200000 * 105) +.quad _GEN_PAGE(0x200000 * 106) +.quad _GEN_PAGE(0x200000 * 107) +.quad _GEN_PAGE(0x200000 * 108) +.quad _GEN_PAGE(0x200000 * 109) +.quad _GEN_PAGE(0x200000 * 110) +.quad _GEN_PAGE(0x200000 * 111) +.quad _GEN_PAGE(0x200000 * 112) +.quad _GEN_PAGE(0x200000 * 113) +.quad _GEN_PAGE(0x200000 * 114) +.quad _GEN_PAGE(0x200000 * 115) +.quad _GEN_PAGE(0x200000 * 116) +.quad _GEN_PAGE(0x200000 * 117) +.quad _GEN_PAGE(0x200000 * 118) +.quad _GEN_PAGE(0x200000 * 119) +.quad _GEN_PAGE(0x200000 * 120) +.quad _GEN_PAGE(0x200000 * 121) +.quad _GEN_PAGE(0x200000 * 122) +.quad _GEN_PAGE(0x200000 * 123) +.quad _GEN_PAGE(0x200000 * 124) +.quad _GEN_PAGE(0x200000 * 125) +.quad _GEN_PAGE(0x200000 * 126) +.quad _GEN_PAGE(0x200000 * 127) +.quad _GEN_PAGE(0x200000 * 128) +.quad _GEN_PAGE(0x200000 * 129) +.quad _GEN_PAGE(0x200000 * 130) +.quad _GEN_PAGE(0x200000 * 131) +.quad _GEN_PAGE(0x200000 * 132) +.quad _GEN_PAGE(0x200000 * 133) +.quad _GEN_PAGE(0x200000 * 134) +.quad _GEN_PAGE(0x200000 * 135) +.quad _GEN_PAGE(0x200000 * 136) +.quad _GEN_PAGE(0x200000 * 137) +.quad _GEN_PAGE(0x200000 * 138) +.quad _GEN_PAGE(0x200000 * 139) +.quad _GEN_PAGE(0x200000 * 140) +.quad _GEN_PAGE(0x200000 * 141) +.quad _GEN_PAGE(0x200000 * 142) +.quad _GEN_PAGE(0x200000 * 143) +.quad _GEN_PAGE(0x200000 * 144) +.quad _GEN_PAGE(0x200000 * 145) +.quad _GEN_PAGE(0x200000 * 146) +.quad _GEN_PAGE(0x200000 * 147) +.quad _GEN_PAGE(0x200000 * 148) +.quad _GEN_PAGE(0x200000 * 149) +.quad _GEN_PAGE(0x200000 * 150) +.quad _GEN_PAGE(0x200000 * 151) +.quad _GEN_PAGE(0x200000 * 152) +.quad _GEN_PAGE(0x200000 * 153) +.quad _GEN_PAGE(0x200000 * 154) +.quad _GEN_PAGE(0x200000 * 155) +.quad _GEN_PAGE(0x200000 * 156) +.quad _GEN_PAGE(0x200000 * 157) +.quad _GEN_PAGE(0x200000 * 158) +.quad _GEN_PAGE(0x200000 * 159) +.quad _GEN_PAGE(0x200000 * 160) +.quad _GEN_PAGE(0x200000 * 161) +.quad _GEN_PAGE(0x200000 * 162) +.quad _GEN_PAGE(0x200000 * 163) +.quad _GEN_PAGE(0x200000 * 164) +.quad _GEN_PAGE(0x200000 * 165) +.quad _GEN_PAGE(0x200000 * 166) +.quad _GEN_PAGE(0x200000 * 167) +.quad _GEN_PAGE(0x200000 * 168) +.quad _GEN_PAGE(0x200000 * 169) +.quad _GEN_PAGE(0x200000 * 170) +.quad _GEN_PAGE(0x200000 * 171) +.quad _GEN_PAGE(0x200000 * 172) +.quad _GEN_PAGE(0x200000 * 173) +.quad _GEN_PAGE(0x200000 * 174) +.quad _GEN_PAGE(0x200000 * 175) +.quad _GEN_PAGE(0x200000 * 176) +.quad _GEN_PAGE(0x200000 * 177) +.quad _GEN_PAGE(0x200000 * 178) +.quad _GEN_PAGE(0x200000 * 179) +.quad _GEN_PAGE(0x200000 * 180) +.quad _GEN_PAGE(0x200000 * 181) +.quad _GEN_PAGE(0x200000 * 182) +.quad _GEN_PAGE(0x200000 * 183) +.quad _GEN_PAGE(0x200000 * 184) +.quad _GEN_PAGE(0x200000 * 185) +.quad _GEN_PAGE(0x200000 * 186) +.quad _GEN_PAGE(0x200000 * 187) +.quad _GEN_PAGE(0x200000 * 188) +.quad _GEN_PAGE(0x200000 * 189) +.quad _GEN_PAGE(0x200000 * 190) +.quad _GEN_PAGE(0x200000 * 191) +.quad _GEN_PAGE(0x200000 * 192) +.quad _GEN_PAGE(0x200000 * 193) +.quad _GEN_PAGE(0x200000 * 194) +.quad _GEN_PAGE(0x200000 * 195) +.quad _GEN_PAGE(0x200000 * 196) +.quad _GEN_PAGE(0x200000 * 197) +.quad _GEN_PAGE(0x200000 * 198) +.quad _GEN_PAGE(0x200000 * 199) +.quad _GEN_PAGE(0x200000 * 200) +.quad _GEN_PAGE(0x200000 * 201) +.quad _GEN_PAGE(0x200000 * 202) +.quad _GEN_PAGE(0x200000 * 203) +.quad _GEN_PAGE(0x200000 * 204) +.quad _GEN_PAGE(0x200000 * 205) +.quad _GEN_PAGE(0x200000 * 206) +.quad _GEN_PAGE(0x200000 * 207) +.quad _GEN_PAGE(0x200000 * 208) +.quad _GEN_PAGE(0x200000 * 209) +.quad _GEN_PAGE(0x200000 * 210) +.quad _GEN_PAGE(0x200000 * 211) +.quad _GEN_PAGE(0x200000 * 212) +.quad _GEN_PAGE(0x200000 * 213) +.quad _GEN_PAGE(0x200000 * 214) +.quad _GEN_PAGE(0x200000 * 215) +.quad _GEN_PAGE(0x200000 * 216) +.quad _GEN_PAGE(0x200000 * 217) +.quad _GEN_PAGE(0x200000 * 218) +.quad _GEN_PAGE(0x200000 * 219) +.quad _GEN_PAGE(0x200000 * 220) +.quad _GEN_PAGE(0x200000 * 221) +.quad _GEN_PAGE(0x200000 * 222) +.quad _GEN_PAGE(0x200000 * 223) +.quad _GEN_PAGE(0x200000 * 224) +.quad _GEN_PAGE(0x200000 * 225) +.quad _GEN_PAGE(0x200000 * 226) +.quad _GEN_PAGE(0x200000 * 227) +.quad _GEN_PAGE(0x200000 * 228) +.quad _GEN_PAGE(0x200000 * 229) +.quad _GEN_PAGE(0x200000 * 230) +.quad _GEN_PAGE(0x200000 * 231) +.quad _GEN_PAGE(0x200000 * 232) +.quad _GEN_PAGE(0x200000 * 233) +.quad _GEN_PAGE(0x200000 * 234) +.quad _GEN_PAGE(0x200000 * 235) +.quad _GEN_PAGE(0x200000 * 236) +.quad _GEN_PAGE(0x200000 * 237) +.quad _GEN_PAGE(0x200000 * 238) +.quad _GEN_PAGE(0x200000 * 239) +.quad _GEN_PAGE(0x200000 * 240) +.quad _GEN_PAGE(0x200000 * 241) +.quad _GEN_PAGE(0x200000 * 242) +.quad _GEN_PAGE(0x200000 * 243) +.quad _GEN_PAGE(0x200000 * 244) +.quad _GEN_PAGE(0x200000 * 245) +.quad _GEN_PAGE(0x200000 * 246) +.quad _GEN_PAGE(0x200000 * 247) +.quad _GEN_PAGE(0x200000 * 248) +.quad _GEN_PAGE(0x200000 * 249) +.quad _GEN_PAGE(0x200000 * 250) +.quad _GEN_PAGE(0x200000 * 251) +.quad _GEN_PAGE(0x200000 * 252) +.quad _GEN_PAGE(0x200000 * 253) +.quad _GEN_PAGE(0x200000 * 254) +.quad _GEN_PAGE(0x200000 * 255) +.quad _GEN_PAGE(0x200000 * 256) +.quad _GEN_PAGE(0x200000 * 257) +.quad _GEN_PAGE(0x200000 * 258) +.quad _GEN_PAGE(0x200000 * 259) +.quad _GEN_PAGE(0x200000 * 260) +.quad _GEN_PAGE(0x200000 * 261) +.quad _GEN_PAGE(0x200000 * 262) +.quad _GEN_PAGE(0x200000 * 263) +.quad _GEN_PAGE(0x200000 * 264) +.quad _GEN_PAGE(0x200000 * 265) +.quad _GEN_PAGE(0x200000 * 266) +.quad _GEN_PAGE(0x200000 * 267) +.quad _GEN_PAGE(0x200000 * 268) +.quad _GEN_PAGE(0x200000 * 269) +.quad _GEN_PAGE(0x200000 * 270) +.quad _GEN_PAGE(0x200000 * 271) +.quad _GEN_PAGE(0x200000 * 272) +.quad _GEN_PAGE(0x200000 * 273) +.quad _GEN_PAGE(0x200000 * 274) +.quad _GEN_PAGE(0x200000 * 275) +.quad _GEN_PAGE(0x200000 * 276) +.quad _GEN_PAGE(0x200000 * 277) +.quad _GEN_PAGE(0x200000 * 278) +.quad _GEN_PAGE(0x200000 * 279) +.quad _GEN_PAGE(0x200000 * 280) +.quad _GEN_PAGE(0x200000 * 281) +.quad _GEN_PAGE(0x200000 * 282) +.quad _GEN_PAGE(0x200000 * 283) +.quad _GEN_PAGE(0x200000 * 284) +.quad _GEN_PAGE(0x200000 * 285) +.quad _GEN_PAGE(0x200000 * 286) +.quad _GEN_PAGE(0x200000 * 287) +.quad _GEN_PAGE(0x200000 * 288) +.quad _GEN_PAGE(0x200000 * 289) +.quad _GEN_PAGE(0x200000 * 290) +.quad _GEN_PAGE(0x200000 * 291) +.quad _GEN_PAGE(0x200000 * 292) +.quad _GEN_PAGE(0x200000 * 293) +.quad _GEN_PAGE(0x200000 * 294) +.quad _GEN_PAGE(0x200000 * 295) +.quad _GEN_PAGE(0x200000 * 296) +.quad _GEN_PAGE(0x200000 * 297) +.quad _GEN_PAGE(0x200000 * 298) +.quad _GEN_PAGE(0x200000 * 299) +.quad _GEN_PAGE(0x200000 * 300) +.quad _GEN_PAGE(0x200000 * 301) +.quad _GEN_PAGE(0x200000 * 302) +.quad _GEN_PAGE(0x200000 * 303) +.quad _GEN_PAGE(0x200000 * 304) +.quad _GEN_PAGE(0x200000 * 305) +.quad _GEN_PAGE(0x200000 * 306) +.quad _GEN_PAGE(0x200000 * 307) +.quad _GEN_PAGE(0x200000 * 308) +.quad _GEN_PAGE(0x200000 * 309) +.quad _GEN_PAGE(0x200000 * 310) +.quad _GEN_PAGE(0x200000 * 311) +.quad _GEN_PAGE(0x200000 * 312) +.quad _GEN_PAGE(0x200000 * 313) +.quad _GEN_PAGE(0x200000 * 314) +.quad _GEN_PAGE(0x200000 * 315) +.quad _GEN_PAGE(0x200000 * 316) +.quad _GEN_PAGE(0x200000 * 317) +.quad _GEN_PAGE(0x200000 * 318) +.quad _GEN_PAGE(0x200000 * 319) +.quad _GEN_PAGE(0x200000 * 320) +.quad _GEN_PAGE(0x200000 * 321) +.quad _GEN_PAGE(0x200000 * 322) +.quad _GEN_PAGE(0x200000 * 323) +.quad _GEN_PAGE(0x200000 * 324) +.quad _GEN_PAGE(0x200000 * 325) +.quad _GEN_PAGE(0x200000 * 326) +.quad _GEN_PAGE(0x200000 * 327) +.quad _GEN_PAGE(0x200000 * 328) +.quad _GEN_PAGE(0x200000 * 329) +.quad _GEN_PAGE(0x200000 * 330) +.quad _GEN_PAGE(0x200000 * 331) +.quad _GEN_PAGE(0x200000 * 332) +.quad _GEN_PAGE(0x200000 * 333) +.quad _GEN_PAGE(0x200000 * 334) +.quad _GEN_PAGE(0x200000 * 335) +.quad _GEN_PAGE(0x200000 * 336) +.quad _GEN_PAGE(0x200000 * 337) +.quad _GEN_PAGE(0x200000 * 338) +.quad _GEN_PAGE(0x200000 * 339) +.quad _GEN_PAGE(0x200000 * 340) +.quad _GEN_PAGE(0x200000 * 341) +.quad _GEN_PAGE(0x200000 * 342) +.quad _GEN_PAGE(0x200000 * 343) +.quad _GEN_PAGE(0x200000 * 344) +.quad _GEN_PAGE(0x200000 * 345) +.quad _GEN_PAGE(0x200000 * 346) +.quad _GEN_PAGE(0x200000 * 347) +.quad _GEN_PAGE(0x200000 * 348) +.quad _GEN_PAGE(0x200000 * 349) +.quad _GEN_PAGE(0x200000 * 350) +.quad _GEN_PAGE(0x200000 * 351) +.quad _GEN_PAGE(0x200000 * 352) +.quad _GEN_PAGE(0x200000 * 353) +.quad _GEN_PAGE(0x200000 * 354) +.quad _GEN_PAGE(0x200000 * 355) +.quad _GEN_PAGE(0x200000 * 356) +.quad _GEN_PAGE(0x200000 * 357) +.quad _GEN_PAGE(0x200000 * 358) +.quad _GEN_PAGE(0x200000 * 359) +.quad _GEN_PAGE(0x200000 * 360) +.quad _GEN_PAGE(0x200000 * 361) +.quad _GEN_PAGE(0x200000 * 362) +.quad _GEN_PAGE(0x200000 * 363) +.quad _GEN_PAGE(0x200000 * 364) +.quad _GEN_PAGE(0x200000 * 365) +.quad _GEN_PAGE(0x200000 * 366) +.quad _GEN_PAGE(0x200000 * 367) +.quad _GEN_PAGE(0x200000 * 368) +.quad _GEN_PAGE(0x200000 * 369) +.quad _GEN_PAGE(0x200000 * 370) +.quad _GEN_PAGE(0x200000 * 371) +.quad _GEN_PAGE(0x200000 * 372) +.quad _GEN_PAGE(0x200000 * 373) +.quad _GEN_PAGE(0x200000 * 374) +.quad _GEN_PAGE(0x200000 * 375) +.quad _GEN_PAGE(0x200000 * 376) +.quad _GEN_PAGE(0x200000 * 377) +.quad _GEN_PAGE(0x200000 * 378) +.quad _GEN_PAGE(0x200000 * 379) +.quad _GEN_PAGE(0x200000 * 380) +.quad _GEN_PAGE(0x200000 * 381) +.quad _GEN_PAGE(0x200000 * 382) +.quad _GEN_PAGE(0x200000 * 383) +.quad _GEN_PAGE(0x200000 * 384) +.quad _GEN_PAGE(0x200000 * 385) +.quad _GEN_PAGE(0x200000 * 386) +.quad _GEN_PAGE(0x200000 * 387) +.quad _GEN_PAGE(0x200000 * 388) +.quad _GEN_PAGE(0x200000 * 389) +.quad _GEN_PAGE(0x200000 * 390) +.quad _GEN_PAGE(0x200000 * 391) +.quad _GEN_PAGE(0x200000 * 392) +.quad _GEN_PAGE(0x200000 * 393) +.quad _GEN_PAGE(0x200000 * 394) +.quad _GEN_PAGE(0x200000 * 395) +.quad _GEN_PAGE(0x200000 * 396) +.quad _GEN_PAGE(0x200000 * 397) +.quad _GEN_PAGE(0x200000 * 398) +.quad _GEN_PAGE(0x200000 * 399) +.quad _GEN_PAGE(0x200000 * 400) +.quad _GEN_PAGE(0x200000 * 401) +.quad _GEN_PAGE(0x200000 * 402) +.quad _GEN_PAGE(0x200000 * 403) +.quad _GEN_PAGE(0x200000 * 404) +.quad _GEN_PAGE(0x200000 * 405) +.quad _GEN_PAGE(0x200000 * 406) +.quad _GEN_PAGE(0x200000 * 407) +.quad _GEN_PAGE(0x200000 * 408) +.quad _GEN_PAGE(0x200000 * 409) +.quad _GEN_PAGE(0x200000 * 410) +.quad _GEN_PAGE(0x200000 * 411) +.quad _GEN_PAGE(0x200000 * 412) +.quad _GEN_PAGE(0x200000 * 413) +.quad _GEN_PAGE(0x200000 * 414) +.quad _GEN_PAGE(0x200000 * 415) +.quad _GEN_PAGE(0x200000 * 416) +.quad _GEN_PAGE(0x200000 * 417) +.quad _GEN_PAGE(0x200000 * 418) +.quad _GEN_PAGE(0x200000 * 419) +.quad _GEN_PAGE(0x200000 * 420) +.quad _GEN_PAGE(0x200000 * 421) +.quad _GEN_PAGE(0x200000 * 422) +.quad _GEN_PAGE(0x200000 * 423) +.quad _GEN_PAGE(0x200000 * 424) +.quad _GEN_PAGE(0x200000 * 425) +.quad _GEN_PAGE(0x200000 * 426) +.quad _GEN_PAGE(0x200000 * 427) +.quad _GEN_PAGE(0x200000 * 428) +.quad _GEN_PAGE(0x200000 * 429) +.quad _GEN_PAGE(0x200000 * 430) +.quad _GEN_PAGE(0x200000 * 431) +.quad _GEN_PAGE(0x200000 * 432) +.quad _GEN_PAGE(0x200000 * 433) +.quad _GEN_PAGE(0x200000 * 434) +.quad _GEN_PAGE(0x200000 * 435) +.quad _GEN_PAGE(0x200000 * 436) +.quad _GEN_PAGE(0x200000 * 437) +.quad _GEN_PAGE(0x200000 * 438) +.quad _GEN_PAGE(0x200000 * 439) +.quad _GEN_PAGE(0x200000 * 440) +.quad _GEN_PAGE(0x200000 * 441) +.quad _GEN_PAGE(0x200000 * 442) +.quad _GEN_PAGE(0x200000 * 443) +.quad _GEN_PAGE(0x200000 * 444) +.quad _GEN_PAGE(0x200000 * 445) +.quad _GEN_PAGE(0x200000 * 446) +.quad _GEN_PAGE(0x200000 * 447) +.quad _GEN_PAGE(0x200000 * 448) +.quad _GEN_PAGE(0x200000 * 449) +.quad _GEN_PAGE(0x200000 * 450) +.quad _GEN_PAGE(0x200000 * 451) +.quad _GEN_PAGE(0x200000 * 452) +.quad _GEN_PAGE(0x200000 * 453) +.quad _GEN_PAGE(0x200000 * 454) +.quad _GEN_PAGE(0x200000 * 455) +.quad _GEN_PAGE(0x200000 * 456) +.quad _GEN_PAGE(0x200000 * 457) +.quad _GEN_PAGE(0x200000 * 458) +.quad _GEN_PAGE(0x200000 * 459) +.quad _GEN_PAGE(0x200000 * 460) +.quad _GEN_PAGE(0x200000 * 461) +.quad _GEN_PAGE(0x200000 * 462) +.quad _GEN_PAGE(0x200000 * 463) +.quad _GEN_PAGE(0x200000 * 464) +.quad _GEN_PAGE(0x200000 * 465) +.quad _GEN_PAGE(0x200000 * 466) +.quad _GEN_PAGE(0x200000 * 467) +.quad _GEN_PAGE(0x200000 * 468) +.quad _GEN_PAGE(0x200000 * 469) +.quad _GEN_PAGE(0x200000 * 470) +.quad _GEN_PAGE(0x200000 * 471) +.quad _GEN_PAGE(0x200000 * 472) +.quad _GEN_PAGE(0x200000 * 473) +.quad _GEN_PAGE(0x200000 * 474) +.quad _GEN_PAGE(0x200000 * 475) +.quad _GEN_PAGE(0x200000 * 476) +.quad _GEN_PAGE(0x200000 * 477) +.quad _GEN_PAGE(0x200000 * 478) +.quad _GEN_PAGE(0x200000 * 479) +.quad _GEN_PAGE(0x200000 * 480) +.quad _GEN_PAGE(0x200000 * 481) +.quad _GEN_PAGE(0x200000 * 482) +.quad _GEN_PAGE(0x200000 * 483) +.quad _GEN_PAGE(0x200000 * 484) +.quad _GEN_PAGE(0x200000 * 485) +.quad _GEN_PAGE(0x200000 * 486) +.quad _GEN_PAGE(0x200000 * 487) +.quad _GEN_PAGE(0x200000 * 488) +.quad _GEN_PAGE(0x200000 * 489) +.quad _GEN_PAGE(0x200000 * 490) +.quad _GEN_PAGE(0x200000 * 491) +.quad _GEN_PAGE(0x200000 * 492) +.quad _GEN_PAGE(0x200000 * 493) +.quad _GEN_PAGE(0x200000 * 494) +.quad _GEN_PAGE(0x200000 * 495) +.quad _GEN_PAGE(0x200000 * 496) +.quad _GEN_PAGE(0x200000 * 497) +.quad _GEN_PAGE(0x200000 * 498) +.quad _GEN_PAGE(0x200000 * 499) +.quad _GEN_PAGE(0x200000 * 500) +.quad _GEN_PAGE(0x200000 * 501) +.quad _GEN_PAGE(0x200000 * 502) +.quad _GEN_PAGE(0x200000 * 503) +.quad _GEN_PAGE(0x200000 * 504) +.quad _GEN_PAGE(0x200000 * 505) +.quad _GEN_PAGE(0x200000 * 506) +.quad _GEN_PAGE(0x200000 * 507) +.quad _GEN_PAGE(0x200000 * 508) +.quad _GEN_PAGE(0x200000 * 509) +.quad _GEN_PAGE(0x200000 * 510) +.quad _GEN_PAGE(0x200000 * 511) +.quad _GEN_PAGE(0x200000 * 512) +.quad _GEN_PAGE(0x200000 * 513) +.quad _GEN_PAGE(0x200000 * 514) +.quad _GEN_PAGE(0x200000 * 515) +.quad _GEN_PAGE(0x200000 * 516) +.quad _GEN_PAGE(0x200000 * 517) +.quad _GEN_PAGE(0x200000 * 518) +.quad _GEN_PAGE(0x200000 * 519) +.quad _GEN_PAGE(0x200000 * 520) +.quad _GEN_PAGE(0x200000 * 521) +.quad _GEN_PAGE(0x200000 * 522) +.quad _GEN_PAGE(0x200000 * 523) +.quad _GEN_PAGE(0x200000 * 524) +.quad _GEN_PAGE(0x200000 * 525) +.quad _GEN_PAGE(0x200000 * 526) +.quad _GEN_PAGE(0x200000 * 527) +.quad _GEN_PAGE(0x200000 * 528) +.quad _GEN_PAGE(0x200000 * 529) +.quad _GEN_PAGE(0x200000 * 530) +.quad _GEN_PAGE(0x200000 * 531) +.quad _GEN_PAGE(0x200000 * 532) +.quad _GEN_PAGE(0x200000 * 533) +.quad _GEN_PAGE(0x200000 * 534) +.quad _GEN_PAGE(0x200000 * 535) +.quad _GEN_PAGE(0x200000 * 536) +.quad _GEN_PAGE(0x200000 * 537) +.quad _GEN_PAGE(0x200000 * 538) +.quad _GEN_PAGE(0x200000 * 539) +.quad _GEN_PAGE(0x200000 * 540) +.quad _GEN_PAGE(0x200000 * 541) +.quad _GEN_PAGE(0x200000 * 542) +.quad _GEN_PAGE(0x200000 * 543) +.quad _GEN_PAGE(0x200000 * 544) +.quad _GEN_PAGE(0x200000 * 545) +.quad _GEN_PAGE(0x200000 * 546) +.quad _GEN_PAGE(0x200000 * 547) +.quad _GEN_PAGE(0x200000 * 548) +.quad _GEN_PAGE(0x200000 * 549) +.quad _GEN_PAGE(0x200000 * 550) +.quad _GEN_PAGE(0x200000 * 551) +.quad _GEN_PAGE(0x200000 * 552) +.quad _GEN_PAGE(0x200000 * 553) +.quad _GEN_PAGE(0x200000 * 554) +.quad _GEN_PAGE(0x200000 * 555) +.quad _GEN_PAGE(0x200000 * 556) +.quad _GEN_PAGE(0x200000 * 557) +.quad _GEN_PAGE(0x200000 * 558) +.quad _GEN_PAGE(0x200000 * 559) +.quad _GEN_PAGE(0x200000 * 560) +.quad _GEN_PAGE(0x200000 * 561) +.quad _GEN_PAGE(0x200000 * 562) +.quad _GEN_PAGE(0x200000 * 563) +.quad _GEN_PAGE(0x200000 * 564) +.quad _GEN_PAGE(0x200000 * 565) +.quad _GEN_PAGE(0x200000 * 566) +.quad _GEN_PAGE(0x200000 * 567) +.quad _GEN_PAGE(0x200000 * 568) +.quad _GEN_PAGE(0x200000 * 569) +.quad _GEN_PAGE(0x200000 * 570) +.quad _GEN_PAGE(0x200000 * 571) +.quad _GEN_PAGE(0x200000 * 572) +.quad _GEN_PAGE(0x200000 * 573) +.quad _GEN_PAGE(0x200000 * 574) +.quad _GEN_PAGE(0x200000 * 575) +.quad _GEN_PAGE(0x200000 * 576) +.quad _GEN_PAGE(0x200000 * 577) +.quad _GEN_PAGE(0x200000 * 578) +.quad _GEN_PAGE(0x200000 * 579) +.quad _GEN_PAGE(0x200000 * 580) +.quad _GEN_PAGE(0x200000 * 581) +.quad _GEN_PAGE(0x200000 * 582) +.quad _GEN_PAGE(0x200000 * 583) +.quad _GEN_PAGE(0x200000 * 584) +.quad _GEN_PAGE(0x200000 * 585) +.quad _GEN_PAGE(0x200000 * 586) +.quad _GEN_PAGE(0x200000 * 587) +.quad _GEN_PAGE(0x200000 * 588) +.quad _GEN_PAGE(0x200000 * 589) +.quad _GEN_PAGE(0x200000 * 590) +.quad _GEN_PAGE(0x200000 * 591) +.quad _GEN_PAGE(0x200000 * 592) +.quad _GEN_PAGE(0x200000 * 593) +.quad _GEN_PAGE(0x200000 * 594) +.quad _GEN_PAGE(0x200000 * 595) +.quad _GEN_PAGE(0x200000 * 596) +.quad _GEN_PAGE(0x200000 * 597) +.quad _GEN_PAGE(0x200000 * 598) +.quad _GEN_PAGE(0x200000 * 599) +.quad _GEN_PAGE(0x200000 * 600) +.quad _GEN_PAGE(0x200000 * 601) +.quad _GEN_PAGE(0x200000 * 602) +.quad _GEN_PAGE(0x200000 * 603) +.quad _GEN_PAGE(0x200000 * 604) +.quad _GEN_PAGE(0x200000 * 605) +.quad _GEN_PAGE(0x200000 * 606) +.quad _GEN_PAGE(0x200000 * 607) +.quad _GEN_PAGE(0x200000 * 608) +.quad _GEN_PAGE(0x200000 * 609) +.quad _GEN_PAGE(0x200000 * 610) +.quad _GEN_PAGE(0x200000 * 611) +.quad _GEN_PAGE(0x200000 * 612) +.quad _GEN_PAGE(0x200000 * 613) +.quad _GEN_PAGE(0x200000 * 614) +.quad _GEN_PAGE(0x200000 * 615) +.quad _GEN_PAGE(0x200000 * 616) +.quad _GEN_PAGE(0x200000 * 617) +.quad _GEN_PAGE(0x200000 * 618) +.quad _GEN_PAGE(0x200000 * 619) +.quad _GEN_PAGE(0x200000 * 620) +.quad _GEN_PAGE(0x200000 * 621) +.quad _GEN_PAGE(0x200000 * 622) +.quad _GEN_PAGE(0x200000 * 623) +.quad _GEN_PAGE(0x200000 * 624) +.quad _GEN_PAGE(0x200000 * 625) +.quad _GEN_PAGE(0x200000 * 626) +.quad _GEN_PAGE(0x200000 * 627) +.quad _GEN_PAGE(0x200000 * 628) +.quad _GEN_PAGE(0x200000 * 629) +.quad _GEN_PAGE(0x200000 * 630) +.quad _GEN_PAGE(0x200000 * 631) +.quad _GEN_PAGE(0x200000 * 632) +.quad _GEN_PAGE(0x200000 * 633) +.quad _GEN_PAGE(0x200000 * 634) +.quad _GEN_PAGE(0x200000 * 635) +.quad _GEN_PAGE(0x200000 * 636) +.quad _GEN_PAGE(0x200000 * 637) +.quad _GEN_PAGE(0x200000 * 638) +.quad _GEN_PAGE(0x200000 * 639) +.quad _GEN_PAGE(0x200000 * 640) +.quad _GEN_PAGE(0x200000 * 641) +.quad _GEN_PAGE(0x200000 * 642) +.quad _GEN_PAGE(0x200000 * 643) +.quad _GEN_PAGE(0x200000 * 644) +.quad _GEN_PAGE(0x200000 * 645) +.quad _GEN_PAGE(0x200000 * 646) +.quad _GEN_PAGE(0x200000 * 647) +.quad _GEN_PAGE(0x200000 * 648) +.quad _GEN_PAGE(0x200000 * 649) +.quad _GEN_PAGE(0x200000 * 650) +.quad _GEN_PAGE(0x200000 * 651) +.quad _GEN_PAGE(0x200000 * 652) +.quad _GEN_PAGE(0x200000 * 653) +.quad _GEN_PAGE(0x200000 * 654) +.quad _GEN_PAGE(0x200000 * 655) +.quad _GEN_PAGE(0x200000 * 656) +.quad _GEN_PAGE(0x200000 * 657) +.quad _GEN_PAGE(0x200000 * 658) +.quad _GEN_PAGE(0x200000 * 659) +.quad _GEN_PAGE(0x200000 * 660) +.quad _GEN_PAGE(0x200000 * 661) +.quad _GEN_PAGE(0x200000 * 662) +.quad _GEN_PAGE(0x200000 * 663) +.quad _GEN_PAGE(0x200000 * 664) +.quad _GEN_PAGE(0x200000 * 665) +.quad _GEN_PAGE(0x200000 * 666) +.quad _GEN_PAGE(0x200000 * 667) +.quad _GEN_PAGE(0x200000 * 668) +.quad _GEN_PAGE(0x200000 * 669) +.quad _GEN_PAGE(0x200000 * 670) +.quad _GEN_PAGE(0x200000 * 671) +.quad _GEN_PAGE(0x200000 * 672) +.quad _GEN_PAGE(0x200000 * 673) +.quad _GEN_PAGE(0x200000 * 674) +.quad _GEN_PAGE(0x200000 * 675) +.quad _GEN_PAGE(0x200000 * 676) +.quad _GEN_PAGE(0x200000 * 677) +.quad _GEN_PAGE(0x200000 * 678) +.quad _GEN_PAGE(0x200000 * 679) +.quad _GEN_PAGE(0x200000 * 680) +.quad _GEN_PAGE(0x200000 * 681) +.quad _GEN_PAGE(0x200000 * 682) +.quad _GEN_PAGE(0x200000 * 683) +.quad _GEN_PAGE(0x200000 * 684) +.quad _GEN_PAGE(0x200000 * 685) +.quad _GEN_PAGE(0x200000 * 686) +.quad _GEN_PAGE(0x200000 * 687) +.quad _GEN_PAGE(0x200000 * 688) +.quad _GEN_PAGE(0x200000 * 689) +.quad _GEN_PAGE(0x200000 * 690) +.quad _GEN_PAGE(0x200000 * 691) +.quad _GEN_PAGE(0x200000 * 692) +.quad _GEN_PAGE(0x200000 * 693) +.quad _GEN_PAGE(0x200000 * 694) +.quad _GEN_PAGE(0x200000 * 695) +.quad _GEN_PAGE(0x200000 * 696) +.quad _GEN_PAGE(0x200000 * 697) +.quad _GEN_PAGE(0x200000 * 698) +.quad _GEN_PAGE(0x200000 * 699) +.quad _GEN_PAGE(0x200000 * 700) +.quad _GEN_PAGE(0x200000 * 701) +.quad _GEN_PAGE(0x200000 * 702) +.quad _GEN_PAGE(0x200000 * 703) +.quad _GEN_PAGE(0x200000 * 704) +.quad _GEN_PAGE(0x200000 * 705) +.quad _GEN_PAGE(0x200000 * 706) +.quad _GEN_PAGE(0x200000 * 707) +.quad _GEN_PAGE(0x200000 * 708) +.quad _GEN_PAGE(0x200000 * 709) +.quad _GEN_PAGE(0x200000 * 710) +.quad _GEN_PAGE(0x200000 * 711) +.quad _GEN_PAGE(0x200000 * 712) +.quad _GEN_PAGE(0x200000 * 713) +.quad _GEN_PAGE(0x200000 * 714) +.quad _GEN_PAGE(0x200000 * 715) +.quad _GEN_PAGE(0x200000 * 716) +.quad _GEN_PAGE(0x200000 * 717) +.quad _GEN_PAGE(0x200000 * 718) +.quad _GEN_PAGE(0x200000 * 719) +.quad _GEN_PAGE(0x200000 * 720) +.quad _GEN_PAGE(0x200000 * 721) +.quad _GEN_PAGE(0x200000 * 722) +.quad _GEN_PAGE(0x200000 * 723) +.quad _GEN_PAGE(0x200000 * 724) +.quad _GEN_PAGE(0x200000 * 725) +.quad _GEN_PAGE(0x200000 * 726) +.quad _GEN_PAGE(0x200000 * 727) +.quad _GEN_PAGE(0x200000 * 728) +.quad _GEN_PAGE(0x200000 * 729) +.quad _GEN_PAGE(0x200000 * 730) +.quad _GEN_PAGE(0x200000 * 731) +.quad _GEN_PAGE(0x200000 * 732) +.quad _GEN_PAGE(0x200000 * 733) +.quad _GEN_PAGE(0x200000 * 734) +.quad _GEN_PAGE(0x200000 * 735) +.quad _GEN_PAGE(0x200000 * 736) +.quad _GEN_PAGE(0x200000 * 737) +.quad _GEN_PAGE(0x200000 * 738) +.quad _GEN_PAGE(0x200000 * 739) +.quad _GEN_PAGE(0x200000 * 740) +.quad _GEN_PAGE(0x200000 * 741) +.quad _GEN_PAGE(0x200000 * 742) +.quad _GEN_PAGE(0x200000 * 743) +.quad _GEN_PAGE(0x200000 * 744) +.quad _GEN_PAGE(0x200000 * 745) +.quad _GEN_PAGE(0x200000 * 746) +.quad _GEN_PAGE(0x200000 * 747) +.quad _GEN_PAGE(0x200000 * 748) +.quad _GEN_PAGE(0x200000 * 749) +.quad _GEN_PAGE(0x200000 * 750) +.quad _GEN_PAGE(0x200000 * 751) +.quad _GEN_PAGE(0x200000 * 752) +.quad _GEN_PAGE(0x200000 * 753) +.quad _GEN_PAGE(0x200000 * 754) +.quad _GEN_PAGE(0x200000 * 755) +.quad _GEN_PAGE(0x200000 * 756) +.quad _GEN_PAGE(0x200000 * 757) +.quad _GEN_PAGE(0x200000 * 758) +.quad _GEN_PAGE(0x200000 * 759) +.quad _GEN_PAGE(0x200000 * 760) +.quad _GEN_PAGE(0x200000 * 761) +.quad _GEN_PAGE(0x200000 * 762) +.quad _GEN_PAGE(0x200000 * 763) +.quad _GEN_PAGE(0x200000 * 764) +.quad _GEN_PAGE(0x200000 * 765) +.quad _GEN_PAGE(0x200000 * 766) +.quad _GEN_PAGE(0x200000 * 767) +.quad _GEN_PAGE(0x200000 * 768) +.quad _GEN_PAGE(0x200000 * 769) +.quad _GEN_PAGE(0x200000 * 770) +.quad _GEN_PAGE(0x200000 * 771) +.quad _GEN_PAGE(0x200000 * 772) +.quad _GEN_PAGE(0x200000 * 773) +.quad _GEN_PAGE(0x200000 * 774) +.quad _GEN_PAGE(0x200000 * 775) +.quad _GEN_PAGE(0x200000 * 776) +.quad _GEN_PAGE(0x200000 * 777) +.quad _GEN_PAGE(0x200000 * 778) +.quad _GEN_PAGE(0x200000 * 779) +.quad _GEN_PAGE(0x200000 * 780) +.quad _GEN_PAGE(0x200000 * 781) +.quad _GEN_PAGE(0x200000 * 782) +.quad _GEN_PAGE(0x200000 * 783) +.quad _GEN_PAGE(0x200000 * 784) +.quad _GEN_PAGE(0x200000 * 785) +.quad _GEN_PAGE(0x200000 * 786) +.quad _GEN_PAGE(0x200000 * 787) +.quad _GEN_PAGE(0x200000 * 788) +.quad _GEN_PAGE(0x200000 * 789) +.quad _GEN_PAGE(0x200000 * 790) +.quad _GEN_PAGE(0x200000 * 791) +.quad _GEN_PAGE(0x200000 * 792) +.quad _GEN_PAGE(0x200000 * 793) +.quad _GEN_PAGE(0x200000 * 794) +.quad _GEN_PAGE(0x200000 * 795) +.quad _GEN_PAGE(0x200000 * 796) +.quad _GEN_PAGE(0x200000 * 797) +.quad _GEN_PAGE(0x200000 * 798) +.quad _GEN_PAGE(0x200000 * 799) +.quad _GEN_PAGE(0x200000 * 800) +.quad _GEN_PAGE(0x200000 * 801) +.quad _GEN_PAGE(0x200000 * 802) +.quad _GEN_PAGE(0x200000 * 803) +.quad _GEN_PAGE(0x200000 * 804) +.quad _GEN_PAGE(0x200000 * 805) +.quad _GEN_PAGE(0x200000 * 806) +.quad _GEN_PAGE(0x200000 * 807) +.quad _GEN_PAGE(0x200000 * 808) +.quad _GEN_PAGE(0x200000 * 809) +.quad _GEN_PAGE(0x200000 * 810) +.quad _GEN_PAGE(0x200000 * 811) +.quad _GEN_PAGE(0x200000 * 812) +.quad _GEN_PAGE(0x200000 * 813) +.quad _GEN_PAGE(0x200000 * 814) +.quad _GEN_PAGE(0x200000 * 815) +.quad _GEN_PAGE(0x200000 * 816) +.quad _GEN_PAGE(0x200000 * 817) +.quad _GEN_PAGE(0x200000 * 818) +.quad _GEN_PAGE(0x200000 * 819) +.quad _GEN_PAGE(0x200000 * 820) +.quad _GEN_PAGE(0x200000 * 821) +.quad _GEN_PAGE(0x200000 * 822) +.quad _GEN_PAGE(0x200000 * 823) +.quad _GEN_PAGE(0x200000 * 824) +.quad _GEN_PAGE(0x200000 * 825) +.quad _GEN_PAGE(0x200000 * 826) +.quad _GEN_PAGE(0x200000 * 827) +.quad _GEN_PAGE(0x200000 * 828) +.quad _GEN_PAGE(0x200000 * 829) +.quad _GEN_PAGE(0x200000 * 830) +.quad _GEN_PAGE(0x200000 * 831) +.quad _GEN_PAGE(0x200000 * 832) +.quad _GEN_PAGE(0x200000 * 833) +.quad _GEN_PAGE(0x200000 * 834) +.quad _GEN_PAGE(0x200000 * 835) +.quad _GEN_PAGE(0x200000 * 836) +.quad _GEN_PAGE(0x200000 * 837) +.quad _GEN_PAGE(0x200000 * 838) +.quad _GEN_PAGE(0x200000 * 839) +.quad _GEN_PAGE(0x200000 * 840) +.quad _GEN_PAGE(0x200000 * 841) +.quad _GEN_PAGE(0x200000 * 842) +.quad _GEN_PAGE(0x200000 * 843) +.quad _GEN_PAGE(0x200000 * 844) +.quad _GEN_PAGE(0x200000 * 845) +.quad _GEN_PAGE(0x200000 * 846) +.quad _GEN_PAGE(0x200000 * 847) +.quad _GEN_PAGE(0x200000 * 848) +.quad _GEN_PAGE(0x200000 * 849) +.quad _GEN_PAGE(0x200000 * 850) +.quad _GEN_PAGE(0x200000 * 851) +.quad _GEN_PAGE(0x200000 * 852) +.quad _GEN_PAGE(0x200000 * 853) +.quad _GEN_PAGE(0x200000 * 854) +.quad _GEN_PAGE(0x200000 * 855) +.quad _GEN_PAGE(0x200000 * 856) +.quad _GEN_PAGE(0x200000 * 857) +.quad _GEN_PAGE(0x200000 * 858) +.quad _GEN_PAGE(0x200000 * 859) +.quad _GEN_PAGE(0x200000 * 860) +.quad _GEN_PAGE(0x200000 * 861) +.quad _GEN_PAGE(0x200000 * 862) +.quad _GEN_PAGE(0x200000 * 863) +.quad _GEN_PAGE(0x200000 * 864) +.quad _GEN_PAGE(0x200000 * 865) +.quad _GEN_PAGE(0x200000 * 866) +.quad _GEN_PAGE(0x200000 * 867) +.quad _GEN_PAGE(0x200000 * 868) +.quad _GEN_PAGE(0x200000 * 869) +.quad _GEN_PAGE(0x200000 * 870) +.quad _GEN_PAGE(0x200000 * 871) +.quad _GEN_PAGE(0x200000 * 872) +.quad _GEN_PAGE(0x200000 * 873) +.quad _GEN_PAGE(0x200000 * 874) +.quad _GEN_PAGE(0x200000 * 875) +.quad _GEN_PAGE(0x200000 * 876) +.quad _GEN_PAGE(0x200000 * 877) +.quad _GEN_PAGE(0x200000 * 878) +.quad _GEN_PAGE(0x200000 * 879) +.quad _GEN_PAGE(0x200000 * 880) +.quad _GEN_PAGE(0x200000 * 881) +.quad _GEN_PAGE(0x200000 * 882) +.quad _GEN_PAGE(0x200000 * 883) +.quad _GEN_PAGE(0x200000 * 884) +.quad _GEN_PAGE(0x200000 * 885) +.quad _GEN_PAGE(0x200000 * 886) +.quad _GEN_PAGE(0x200000 * 887) +.quad _GEN_PAGE(0x200000 * 888) +.quad _GEN_PAGE(0x200000 * 889) +.quad _GEN_PAGE(0x200000 * 890) +.quad _GEN_PAGE(0x200000 * 891) +.quad _GEN_PAGE(0x200000 * 892) +.quad _GEN_PAGE(0x200000 * 893) +.quad _GEN_PAGE(0x200000 * 894) +.quad _GEN_PAGE(0x200000 * 895) +.quad _GEN_PAGE(0x200000 * 896) +.quad _GEN_PAGE(0x200000 * 897) +.quad _GEN_PAGE(0x200000 * 898) +.quad _GEN_PAGE(0x200000 * 899) +.quad _GEN_PAGE(0x200000 * 900) +.quad _GEN_PAGE(0x200000 * 901) +.quad _GEN_PAGE(0x200000 * 902) +.quad _GEN_PAGE(0x200000 * 903) +.quad _GEN_PAGE(0x200000 * 904) +.quad _GEN_PAGE(0x200000 * 905) +.quad _GEN_PAGE(0x200000 * 906) +.quad _GEN_PAGE(0x200000 * 907) +.quad _GEN_PAGE(0x200000 * 908) +.quad _GEN_PAGE(0x200000 * 909) +.quad _GEN_PAGE(0x200000 * 910) +.quad _GEN_PAGE(0x200000 * 911) +.quad _GEN_PAGE(0x200000 * 912) +.quad _GEN_PAGE(0x200000 * 913) +.quad _GEN_PAGE(0x200000 * 914) +.quad _GEN_PAGE(0x200000 * 915) +.quad _GEN_PAGE(0x200000 * 916) +.quad _GEN_PAGE(0x200000 * 917) +.quad _GEN_PAGE(0x200000 * 918) +.quad _GEN_PAGE(0x200000 * 919) +.quad _GEN_PAGE(0x200000 * 920) +.quad _GEN_PAGE(0x200000 * 921) +.quad _GEN_PAGE(0x200000 * 922) +.quad _GEN_PAGE(0x200000 * 923) +.quad _GEN_PAGE(0x200000 * 924) +.quad _GEN_PAGE(0x200000 * 925) +.quad _GEN_PAGE(0x200000 * 926) +.quad _GEN_PAGE(0x200000 * 927) +.quad _GEN_PAGE(0x200000 * 928) +.quad _GEN_PAGE(0x200000 * 929) +.quad _GEN_PAGE(0x200000 * 930) +.quad _GEN_PAGE(0x200000 * 931) +.quad _GEN_PAGE(0x200000 * 932) +.quad _GEN_PAGE(0x200000 * 933) +.quad _GEN_PAGE(0x200000 * 934) +.quad _GEN_PAGE(0x200000 * 935) +.quad _GEN_PAGE(0x200000 * 936) +.quad _GEN_PAGE(0x200000 * 937) +.quad _GEN_PAGE(0x200000 * 938) +.quad _GEN_PAGE(0x200000 * 939) +.quad _GEN_PAGE(0x200000 * 940) +.quad _GEN_PAGE(0x200000 * 941) +.quad _GEN_PAGE(0x200000 * 942) +.quad _GEN_PAGE(0x200000 * 943) +.quad _GEN_PAGE(0x200000 * 944) +.quad _GEN_PAGE(0x200000 * 945) +.quad _GEN_PAGE(0x200000 * 946) +.quad _GEN_PAGE(0x200000 * 947) +.quad _GEN_PAGE(0x200000 * 948) +.quad _GEN_PAGE(0x200000 * 949) +.quad _GEN_PAGE(0x200000 * 950) +.quad _GEN_PAGE(0x200000 * 951) +.quad _GEN_PAGE(0x200000 * 952) +.quad _GEN_PAGE(0x200000 * 953) +.quad _GEN_PAGE(0x200000 * 954) +.quad _GEN_PAGE(0x200000 * 955) +.quad _GEN_PAGE(0x200000 * 956) +.quad _GEN_PAGE(0x200000 * 957) +.quad _GEN_PAGE(0x200000 * 958) +.quad _GEN_PAGE(0x200000 * 959) +.quad _GEN_PAGE(0x200000 * 960) +.quad _GEN_PAGE(0x200000 * 961) +.quad _GEN_PAGE(0x200000 * 962) +.quad _GEN_PAGE(0x200000 * 963) +.quad _GEN_PAGE(0x200000 * 964) +.quad _GEN_PAGE(0x200000 * 965) +.quad _GEN_PAGE(0x200000 * 966) +.quad _GEN_PAGE(0x200000 * 967) +.quad _GEN_PAGE(0x200000 * 968) +.quad _GEN_PAGE(0x200000 * 969) +.quad _GEN_PAGE(0x200000 * 970) +.quad _GEN_PAGE(0x200000 * 971) +.quad _GEN_PAGE(0x200000 * 972) +.quad _GEN_PAGE(0x200000 * 973) +.quad _GEN_PAGE(0x200000 * 974) +.quad _GEN_PAGE(0x200000 * 975) +.quad _GEN_PAGE(0x200000 * 976) +.quad _GEN_PAGE(0x200000 * 977) +.quad _GEN_PAGE(0x200000 * 978) +.quad _GEN_PAGE(0x200000 * 979) +.quad _GEN_PAGE(0x200000 * 980) +.quad _GEN_PAGE(0x200000 * 981) +.quad _GEN_PAGE(0x200000 * 982) +.quad _GEN_PAGE(0x200000 * 983) +.quad _GEN_PAGE(0x200000 * 984) +.quad _GEN_PAGE(0x200000 * 985) +.quad _GEN_PAGE(0x200000 * 986) +.quad _GEN_PAGE(0x200000 * 987) +.quad _GEN_PAGE(0x200000 * 988) +.quad _GEN_PAGE(0x200000 * 989) +.quad _GEN_PAGE(0x200000 * 990) +.quad _GEN_PAGE(0x200000 * 991) +.quad _GEN_PAGE(0x200000 * 992) +.quad _GEN_PAGE(0x200000 * 993) +.quad _GEN_PAGE(0x200000 * 994) +.quad _GEN_PAGE(0x200000 * 995) +.quad _GEN_PAGE(0x200000 * 996) +.quad _GEN_PAGE(0x200000 * 997) +.quad _GEN_PAGE(0x200000 * 998) +.quad _GEN_PAGE(0x200000 * 999) +.quad _GEN_PAGE(0x200000 * 1000) +.quad _GEN_PAGE(0x200000 * 1001) +.quad _GEN_PAGE(0x200000 * 1002) +.quad _GEN_PAGE(0x200000 * 1003) +.quad _GEN_PAGE(0x200000 * 1004) +.quad _GEN_PAGE(0x200000 * 1005) +.quad _GEN_PAGE(0x200000 * 1006) +.quad _GEN_PAGE(0x200000 * 1007) +.quad _GEN_PAGE(0x200000 * 1008) +.quad _GEN_PAGE(0x200000 * 1009) +.quad _GEN_PAGE(0x200000 * 1010) +.quad _GEN_PAGE(0x200000 * 1011) +.quad _GEN_PAGE(0x200000 * 1012) +.quad _GEN_PAGE(0x200000 * 1013) +.quad _GEN_PAGE(0x200000 * 1014) +.quad _GEN_PAGE(0x200000 * 1015) +.quad _GEN_PAGE(0x200000 * 1016) +.quad _GEN_PAGE(0x200000 * 1017) +.quad _GEN_PAGE(0x200000 * 1018) +.quad _GEN_PAGE(0x200000 * 1019) +.quad _GEN_PAGE(0x200000 * 1020) +.quad _GEN_PAGE(0x200000 * 1021) +.quad _GEN_PAGE(0x200000 * 1022) +.quad _GEN_PAGE(0x200000 * 1023) +.quad _GEN_PAGE(0x200000 * 1024) +.quad _GEN_PAGE(0x200000 * 1025) +.quad _GEN_PAGE(0x200000 * 1026) +.quad _GEN_PAGE(0x200000 * 1027) +.quad _GEN_PAGE(0x200000 * 1028) +.quad _GEN_PAGE(0x200000 * 1029) +.quad _GEN_PAGE(0x200000 * 1030) +.quad _GEN_PAGE(0x200000 * 1031) +.quad _GEN_PAGE(0x200000 * 1032) +.quad _GEN_PAGE(0x200000 * 1033) +.quad _GEN_PAGE(0x200000 * 1034) +.quad _GEN_PAGE(0x200000 * 1035) +.quad _GEN_PAGE(0x200000 * 1036) +.quad _GEN_PAGE(0x200000 * 1037) +.quad _GEN_PAGE(0x200000 * 1038) +.quad _GEN_PAGE(0x200000 * 1039) +.quad _GEN_PAGE(0x200000 * 1040) +.quad _GEN_PAGE(0x200000 * 1041) +.quad _GEN_PAGE(0x200000 * 1042) +.quad _GEN_PAGE(0x200000 * 1043) +.quad _GEN_PAGE(0x200000 * 1044) +.quad _GEN_PAGE(0x200000 * 1045) +.quad _GEN_PAGE(0x200000 * 1046) +.quad _GEN_PAGE(0x200000 * 1047) +.quad _GEN_PAGE(0x200000 * 1048) +.quad _GEN_PAGE(0x200000 * 1049) +.quad _GEN_PAGE(0x200000 * 1050) +.quad _GEN_PAGE(0x200000 * 1051) +.quad _GEN_PAGE(0x200000 * 1052) +.quad _GEN_PAGE(0x200000 * 1053) +.quad _GEN_PAGE(0x200000 * 1054) +.quad _GEN_PAGE(0x200000 * 1055) +.quad _GEN_PAGE(0x200000 * 1056) +.quad _GEN_PAGE(0x200000 * 1057) +.quad _GEN_PAGE(0x200000 * 1058) +.quad _GEN_PAGE(0x200000 * 1059) +.quad _GEN_PAGE(0x200000 * 1060) +.quad _GEN_PAGE(0x200000 * 1061) +.quad _GEN_PAGE(0x200000 * 1062) +.quad _GEN_PAGE(0x200000 * 1063) +.quad _GEN_PAGE(0x200000 * 1064) +.quad _GEN_PAGE(0x200000 * 1065) +.quad _GEN_PAGE(0x200000 * 1066) +.quad _GEN_PAGE(0x200000 * 1067) +.quad _GEN_PAGE(0x200000 * 1068) +.quad _GEN_PAGE(0x200000 * 1069) +.quad _GEN_PAGE(0x200000 * 1070) +.quad _GEN_PAGE(0x200000 * 1071) +.quad _GEN_PAGE(0x200000 * 1072) +.quad _GEN_PAGE(0x200000 * 1073) +.quad _GEN_PAGE(0x200000 * 1074) +.quad _GEN_PAGE(0x200000 * 1075) +.quad _GEN_PAGE(0x200000 * 1076) +.quad _GEN_PAGE(0x200000 * 1077) +.quad _GEN_PAGE(0x200000 * 1078) +.quad _GEN_PAGE(0x200000 * 1079) +.quad _GEN_PAGE(0x200000 * 1080) +.quad _GEN_PAGE(0x200000 * 1081) +.quad _GEN_PAGE(0x200000 * 1082) +.quad _GEN_PAGE(0x200000 * 1083) +.quad _GEN_PAGE(0x200000 * 1084) +.quad _GEN_PAGE(0x200000 * 1085) +.quad _GEN_PAGE(0x200000 * 1086) +.quad _GEN_PAGE(0x200000 * 1087) +.quad _GEN_PAGE(0x200000 * 1088) +.quad _GEN_PAGE(0x200000 * 1089) +.quad _GEN_PAGE(0x200000 * 1090) +.quad _GEN_PAGE(0x200000 * 1091) +.quad _GEN_PAGE(0x200000 * 1092) +.quad _GEN_PAGE(0x200000 * 1093) +.quad _GEN_PAGE(0x200000 * 1094) +.quad _GEN_PAGE(0x200000 * 1095) +.quad _GEN_PAGE(0x200000 * 1096) +.quad _GEN_PAGE(0x200000 * 1097) +.quad _GEN_PAGE(0x200000 * 1098) +.quad _GEN_PAGE(0x200000 * 1099) +.quad _GEN_PAGE(0x200000 * 1100) +.quad _GEN_PAGE(0x200000 * 1101) +.quad _GEN_PAGE(0x200000 * 1102) +.quad _GEN_PAGE(0x200000 * 1103) +.quad _GEN_PAGE(0x200000 * 1104) +.quad _GEN_PAGE(0x200000 * 1105) +.quad _GEN_PAGE(0x200000 * 1106) +.quad _GEN_PAGE(0x200000 * 1107) +.quad _GEN_PAGE(0x200000 * 1108) +.quad _GEN_PAGE(0x200000 * 1109) +.quad _GEN_PAGE(0x200000 * 1110) +.quad _GEN_PAGE(0x200000 * 1111) +.quad _GEN_PAGE(0x200000 * 1112) +.quad _GEN_PAGE(0x200000 * 1113) +.quad _GEN_PAGE(0x200000 * 1114) +.quad _GEN_PAGE(0x200000 * 1115) +.quad _GEN_PAGE(0x200000 * 1116) +.quad _GEN_PAGE(0x200000 * 1117) +.quad _GEN_PAGE(0x200000 * 1118) +.quad _GEN_PAGE(0x200000 * 1119) +.quad _GEN_PAGE(0x200000 * 1120) +.quad _GEN_PAGE(0x200000 * 1121) +.quad _GEN_PAGE(0x200000 * 1122) +.quad _GEN_PAGE(0x200000 * 1123) +.quad _GEN_PAGE(0x200000 * 1124) +.quad _GEN_PAGE(0x200000 * 1125) +.quad _GEN_PAGE(0x200000 * 1126) +.quad _GEN_PAGE(0x200000 * 1127) +.quad _GEN_PAGE(0x200000 * 1128) +.quad _GEN_PAGE(0x200000 * 1129) +.quad _GEN_PAGE(0x200000 * 1130) +.quad _GEN_PAGE(0x200000 * 1131) +.quad _GEN_PAGE(0x200000 * 1132) +.quad _GEN_PAGE(0x200000 * 1133) +.quad _GEN_PAGE(0x200000 * 1134) +.quad _GEN_PAGE(0x200000 * 1135) +.quad _GEN_PAGE(0x200000 * 1136) +.quad _GEN_PAGE(0x200000 * 1137) +.quad _GEN_PAGE(0x200000 * 1138) +.quad _GEN_PAGE(0x200000 * 1139) +.quad _GEN_PAGE(0x200000 * 1140) +.quad _GEN_PAGE(0x200000 * 1141) +.quad _GEN_PAGE(0x200000 * 1142) +.quad _GEN_PAGE(0x200000 * 1143) +.quad _GEN_PAGE(0x200000 * 1144) +.quad _GEN_PAGE(0x200000 * 1145) +.quad _GEN_PAGE(0x200000 * 1146) +.quad _GEN_PAGE(0x200000 * 1147) +.quad _GEN_PAGE(0x200000 * 1148) +.quad _GEN_PAGE(0x200000 * 1149) +.quad _GEN_PAGE(0x200000 * 1150) +.quad _GEN_PAGE(0x200000 * 1151) +.quad _GEN_PAGE(0x200000 * 1152) +.quad _GEN_PAGE(0x200000 * 1153) +.quad _GEN_PAGE(0x200000 * 1154) +.quad _GEN_PAGE(0x200000 * 1155) +.quad _GEN_PAGE(0x200000 * 1156) +.quad _GEN_PAGE(0x200000 * 1157) +.quad _GEN_PAGE(0x200000 * 1158) +.quad _GEN_PAGE(0x200000 * 1159) +.quad _GEN_PAGE(0x200000 * 1160) +.quad _GEN_PAGE(0x200000 * 1161) +.quad _GEN_PAGE(0x200000 * 1162) +.quad _GEN_PAGE(0x200000 * 1163) +.quad _GEN_PAGE(0x200000 * 1164) +.quad _GEN_PAGE(0x200000 * 1165) +.quad _GEN_PAGE(0x200000 * 1166) +.quad _GEN_PAGE(0x200000 * 1167) +.quad _GEN_PAGE(0x200000 * 1168) +.quad _GEN_PAGE(0x200000 * 1169) +.quad _GEN_PAGE(0x200000 * 1170) +.quad _GEN_PAGE(0x200000 * 1171) +.quad _GEN_PAGE(0x200000 * 1172) +.quad _GEN_PAGE(0x200000 * 1173) +.quad _GEN_PAGE(0x200000 * 1174) +.quad _GEN_PAGE(0x200000 * 1175) +.quad _GEN_PAGE(0x200000 * 1176) +.quad _GEN_PAGE(0x200000 * 1177) +.quad _GEN_PAGE(0x200000 * 1178) +.quad _GEN_PAGE(0x200000 * 1179) +.quad _GEN_PAGE(0x200000 * 1180) +.quad _GEN_PAGE(0x200000 * 1181) +.quad _GEN_PAGE(0x200000 * 1182) +.quad _GEN_PAGE(0x200000 * 1183) +.quad _GEN_PAGE(0x200000 * 1184) +.quad _GEN_PAGE(0x200000 * 1185) +.quad _GEN_PAGE(0x200000 * 1186) +.quad _GEN_PAGE(0x200000 * 1187) +.quad _GEN_PAGE(0x200000 * 1188) +.quad _GEN_PAGE(0x200000 * 1189) +.quad _GEN_PAGE(0x200000 * 1190) +.quad _GEN_PAGE(0x200000 * 1191) +.quad _GEN_PAGE(0x200000 * 1192) +.quad _GEN_PAGE(0x200000 * 1193) +.quad _GEN_PAGE(0x200000 * 1194) +.quad _GEN_PAGE(0x200000 * 1195) +.quad _GEN_PAGE(0x200000 * 1196) +.quad _GEN_PAGE(0x200000 * 1197) +.quad _GEN_PAGE(0x200000 * 1198) +.quad _GEN_PAGE(0x200000 * 1199) +.quad _GEN_PAGE(0x200000 * 1200) +.quad _GEN_PAGE(0x200000 * 1201) +.quad _GEN_PAGE(0x200000 * 1202) +.quad _GEN_PAGE(0x200000 * 1203) +.quad _GEN_PAGE(0x200000 * 1204) +.quad _GEN_PAGE(0x200000 * 1205) +.quad _GEN_PAGE(0x200000 * 1206) +.quad _GEN_PAGE(0x200000 * 1207) +.quad _GEN_PAGE(0x200000 * 1208) +.quad _GEN_PAGE(0x200000 * 1209) +.quad _GEN_PAGE(0x200000 * 1210) +.quad _GEN_PAGE(0x200000 * 1211) +.quad _GEN_PAGE(0x200000 * 1212) +.quad _GEN_PAGE(0x200000 * 1213) +.quad _GEN_PAGE(0x200000 * 1214) +.quad _GEN_PAGE(0x200000 * 1215) +.quad _GEN_PAGE(0x200000 * 1216) +.quad _GEN_PAGE(0x200000 * 1217) +.quad _GEN_PAGE(0x200000 * 1218) +.quad _GEN_PAGE(0x200000 * 1219) +.quad _GEN_PAGE(0x200000 * 1220) +.quad _GEN_PAGE(0x200000 * 1221) +.quad _GEN_PAGE(0x200000 * 1222) +.quad _GEN_PAGE(0x200000 * 1223) +.quad _GEN_PAGE(0x200000 * 1224) +.quad _GEN_PAGE(0x200000 * 1225) +.quad _GEN_PAGE(0x200000 * 1226) +.quad _GEN_PAGE(0x200000 * 1227) +.quad _GEN_PAGE(0x200000 * 1228) +.quad _GEN_PAGE(0x200000 * 1229) +.quad _GEN_PAGE(0x200000 * 1230) +.quad _GEN_PAGE(0x200000 * 1231) +.quad _GEN_PAGE(0x200000 * 1232) +.quad _GEN_PAGE(0x200000 * 1233) +.quad _GEN_PAGE(0x200000 * 1234) +.quad _GEN_PAGE(0x200000 * 1235) +.quad _GEN_PAGE(0x200000 * 1236) +.quad _GEN_PAGE(0x200000 * 1237) +.quad _GEN_PAGE(0x200000 * 1238) +.quad _GEN_PAGE(0x200000 * 1239) +.quad _GEN_PAGE(0x200000 * 1240) +.quad _GEN_PAGE(0x200000 * 1241) +.quad _GEN_PAGE(0x200000 * 1242) +.quad _GEN_PAGE(0x200000 * 1243) +.quad _GEN_PAGE(0x200000 * 1244) +.quad _GEN_PAGE(0x200000 * 1245) +.quad _GEN_PAGE(0x200000 * 1246) +.quad _GEN_PAGE(0x200000 * 1247) +.quad _GEN_PAGE(0x200000 * 1248) +.quad _GEN_PAGE(0x200000 * 1249) +.quad _GEN_PAGE(0x200000 * 1250) +.quad _GEN_PAGE(0x200000 * 1251) +.quad _GEN_PAGE(0x200000 * 1252) +.quad _GEN_PAGE(0x200000 * 1253) +.quad _GEN_PAGE(0x200000 * 1254) +.quad _GEN_PAGE(0x200000 * 1255) +.quad _GEN_PAGE(0x200000 * 1256) +.quad _GEN_PAGE(0x200000 * 1257) +.quad _GEN_PAGE(0x200000 * 1258) +.quad _GEN_PAGE(0x200000 * 1259) +.quad _GEN_PAGE(0x200000 * 1260) +.quad _GEN_PAGE(0x200000 * 1261) +.quad _GEN_PAGE(0x200000 * 1262) +.quad _GEN_PAGE(0x200000 * 1263) +.quad _GEN_PAGE(0x200000 * 1264) +.quad _GEN_PAGE(0x200000 * 1265) +.quad _GEN_PAGE(0x200000 * 1266) +.quad _GEN_PAGE(0x200000 * 1267) +.quad _GEN_PAGE(0x200000 * 1268) +.quad _GEN_PAGE(0x200000 * 1269) +.quad _GEN_PAGE(0x200000 * 1270) +.quad _GEN_PAGE(0x200000 * 1271) +.quad _GEN_PAGE(0x200000 * 1272) +.quad _GEN_PAGE(0x200000 * 1273) +.quad _GEN_PAGE(0x200000 * 1274) +.quad _GEN_PAGE(0x200000 * 1275) +.quad _GEN_PAGE(0x200000 * 1276) +.quad _GEN_PAGE(0x200000 * 1277) +.quad _GEN_PAGE(0x200000 * 1278) +.quad _GEN_PAGE(0x200000 * 1279) +.quad _GEN_PAGE(0x200000 * 1280) +.quad _GEN_PAGE(0x200000 * 1281) +.quad _GEN_PAGE(0x200000 * 1282) +.quad _GEN_PAGE(0x200000 * 1283) +.quad _GEN_PAGE(0x200000 * 1284) +.quad _GEN_PAGE(0x200000 * 1285) +.quad _GEN_PAGE(0x200000 * 1286) +.quad _GEN_PAGE(0x200000 * 1287) +.quad _GEN_PAGE(0x200000 * 1288) +.quad _GEN_PAGE(0x200000 * 1289) +.quad _GEN_PAGE(0x200000 * 1290) +.quad _GEN_PAGE(0x200000 * 1291) +.quad _GEN_PAGE(0x200000 * 1292) +.quad _GEN_PAGE(0x200000 * 1293) +.quad _GEN_PAGE(0x200000 * 1294) +.quad _GEN_PAGE(0x200000 * 1295) +.quad _GEN_PAGE(0x200000 * 1296) +.quad _GEN_PAGE(0x200000 * 1297) +.quad _GEN_PAGE(0x200000 * 1298) +.quad _GEN_PAGE(0x200000 * 1299) +.quad _GEN_PAGE(0x200000 * 1300) +.quad _GEN_PAGE(0x200000 * 1301) +.quad _GEN_PAGE(0x200000 * 1302) +.quad _GEN_PAGE(0x200000 * 1303) +.quad _GEN_PAGE(0x200000 * 1304) +.quad _GEN_PAGE(0x200000 * 1305) +.quad _GEN_PAGE(0x200000 * 1306) +.quad _GEN_PAGE(0x200000 * 1307) +.quad _GEN_PAGE(0x200000 * 1308) +.quad _GEN_PAGE(0x200000 * 1309) +.quad _GEN_PAGE(0x200000 * 1310) +.quad _GEN_PAGE(0x200000 * 1311) +.quad _GEN_PAGE(0x200000 * 1312) +.quad _GEN_PAGE(0x200000 * 1313) +.quad _GEN_PAGE(0x200000 * 1314) +.quad _GEN_PAGE(0x200000 * 1315) +.quad _GEN_PAGE(0x200000 * 1316) +.quad _GEN_PAGE(0x200000 * 1317) +.quad _GEN_PAGE(0x200000 * 1318) +.quad _GEN_PAGE(0x200000 * 1319) +.quad _GEN_PAGE(0x200000 * 1320) +.quad _GEN_PAGE(0x200000 * 1321) +.quad _GEN_PAGE(0x200000 * 1322) +.quad _GEN_PAGE(0x200000 * 1323) +.quad _GEN_PAGE(0x200000 * 1324) +.quad _GEN_PAGE(0x200000 * 1325) +.quad _GEN_PAGE(0x200000 * 1326) +.quad _GEN_PAGE(0x200000 * 1327) +.quad _GEN_PAGE(0x200000 * 1328) +.quad _GEN_PAGE(0x200000 * 1329) +.quad _GEN_PAGE(0x200000 * 1330) +.quad _GEN_PAGE(0x200000 * 1331) +.quad _GEN_PAGE(0x200000 * 1332) +.quad _GEN_PAGE(0x200000 * 1333) +.quad _GEN_PAGE(0x200000 * 1334) +.quad _GEN_PAGE(0x200000 * 1335) +.quad _GEN_PAGE(0x200000 * 1336) +.quad _GEN_PAGE(0x200000 * 1337) +.quad _GEN_PAGE(0x200000 * 1338) +.quad _GEN_PAGE(0x200000 * 1339) +.quad _GEN_PAGE(0x200000 * 1340) +.quad _GEN_PAGE(0x200000 * 1341) +.quad _GEN_PAGE(0x200000 * 1342) +.quad _GEN_PAGE(0x200000 * 1343) +.quad _GEN_PAGE(0x200000 * 1344) +.quad _GEN_PAGE(0x200000 * 1345) +.quad _GEN_PAGE(0x200000 * 1346) +.quad _GEN_PAGE(0x200000 * 1347) +.quad _GEN_PAGE(0x200000 * 1348) +.quad _GEN_PAGE(0x200000 * 1349) +.quad _GEN_PAGE(0x200000 * 1350) +.quad _GEN_PAGE(0x200000 * 1351) +.quad _GEN_PAGE(0x200000 * 1352) +.quad _GEN_PAGE(0x200000 * 1353) +.quad _GEN_PAGE(0x200000 * 1354) +.quad _GEN_PAGE(0x200000 * 1355) +.quad _GEN_PAGE(0x200000 * 1356) +.quad _GEN_PAGE(0x200000 * 1357) +.quad _GEN_PAGE(0x200000 * 1358) +.quad _GEN_PAGE(0x200000 * 1359) +.quad _GEN_PAGE(0x200000 * 1360) +.quad _GEN_PAGE(0x200000 * 1361) +.quad _GEN_PAGE(0x200000 * 1362) +.quad _GEN_PAGE(0x200000 * 1363) +.quad _GEN_PAGE(0x200000 * 1364) +.quad _GEN_PAGE(0x200000 * 1365) +.quad _GEN_PAGE(0x200000 * 1366) +.quad _GEN_PAGE(0x200000 * 1367) +.quad _GEN_PAGE(0x200000 * 1368) +.quad _GEN_PAGE(0x200000 * 1369) +.quad _GEN_PAGE(0x200000 * 1370) +.quad _GEN_PAGE(0x200000 * 1371) +.quad _GEN_PAGE(0x200000 * 1372) +.quad _GEN_PAGE(0x200000 * 1373) +.quad _GEN_PAGE(0x200000 * 1374) +.quad _GEN_PAGE(0x200000 * 1375) +.quad _GEN_PAGE(0x200000 * 1376) +.quad _GEN_PAGE(0x200000 * 1377) +.quad _GEN_PAGE(0x200000 * 1378) +.quad _GEN_PAGE(0x200000 * 1379) +.quad _GEN_PAGE(0x200000 * 1380) +.quad _GEN_PAGE(0x200000 * 1381) +.quad _GEN_PAGE(0x200000 * 1382) +.quad _GEN_PAGE(0x200000 * 1383) +.quad _GEN_PAGE(0x200000 * 1384) +.quad _GEN_PAGE(0x200000 * 1385) +.quad _GEN_PAGE(0x200000 * 1386) +.quad _GEN_PAGE(0x200000 * 1387) +.quad _GEN_PAGE(0x200000 * 1388) +.quad _GEN_PAGE(0x200000 * 1389) +.quad _GEN_PAGE(0x200000 * 1390) +.quad _GEN_PAGE(0x200000 * 1391) +.quad _GEN_PAGE(0x200000 * 1392) +.quad _GEN_PAGE(0x200000 * 1393) +.quad _GEN_PAGE(0x200000 * 1394) +.quad _GEN_PAGE(0x200000 * 1395) +.quad _GEN_PAGE(0x200000 * 1396) +.quad _GEN_PAGE(0x200000 * 1397) +.quad _GEN_PAGE(0x200000 * 1398) +.quad _GEN_PAGE(0x200000 * 1399) +.quad _GEN_PAGE(0x200000 * 1400) +.quad _GEN_PAGE(0x200000 * 1401) +.quad _GEN_PAGE(0x200000 * 1402) +.quad _GEN_PAGE(0x200000 * 1403) +.quad _GEN_PAGE(0x200000 * 1404) +.quad _GEN_PAGE(0x200000 * 1405) +.quad _GEN_PAGE(0x200000 * 1406) +.quad _GEN_PAGE(0x200000 * 1407) +.quad _GEN_PAGE(0x200000 * 1408) +.quad _GEN_PAGE(0x200000 * 1409) +.quad _GEN_PAGE(0x200000 * 1410) +.quad _GEN_PAGE(0x200000 * 1411) +.quad _GEN_PAGE(0x200000 * 1412) +.quad _GEN_PAGE(0x200000 * 1413) +.quad _GEN_PAGE(0x200000 * 1414) +.quad _GEN_PAGE(0x200000 * 1415) +.quad _GEN_PAGE(0x200000 * 1416) +.quad _GEN_PAGE(0x200000 * 1417) +.quad _GEN_PAGE(0x200000 * 1418) +.quad _GEN_PAGE(0x200000 * 1419) +.quad _GEN_PAGE(0x200000 * 1420) +.quad _GEN_PAGE(0x200000 * 1421) +.quad _GEN_PAGE(0x200000 * 1422) +.quad _GEN_PAGE(0x200000 * 1423) +.quad _GEN_PAGE(0x200000 * 1424) +.quad _GEN_PAGE(0x200000 * 1425) +.quad _GEN_PAGE(0x200000 * 1426) +.quad _GEN_PAGE(0x200000 * 1427) +.quad _GEN_PAGE(0x200000 * 1428) +.quad _GEN_PAGE(0x200000 * 1429) +.quad _GEN_PAGE(0x200000 * 1430) +.quad _GEN_PAGE(0x200000 * 1431) +.quad _GEN_PAGE(0x200000 * 1432) +.quad _GEN_PAGE(0x200000 * 1433) +.quad _GEN_PAGE(0x200000 * 1434) +.quad _GEN_PAGE(0x200000 * 1435) +.quad _GEN_PAGE(0x200000 * 1436) +.quad _GEN_PAGE(0x200000 * 1437) +.quad _GEN_PAGE(0x200000 * 1438) +.quad _GEN_PAGE(0x200000 * 1439) +.quad _GEN_PAGE(0x200000 * 1440) +.quad _GEN_PAGE(0x200000 * 1441) +.quad _GEN_PAGE(0x200000 * 1442) +.quad _GEN_PAGE(0x200000 * 1443) +.quad _GEN_PAGE(0x200000 * 1444) +.quad _GEN_PAGE(0x200000 * 1445) +.quad _GEN_PAGE(0x200000 * 1446) +.quad _GEN_PAGE(0x200000 * 1447) +.quad _GEN_PAGE(0x200000 * 1448) +.quad _GEN_PAGE(0x200000 * 1449) +.quad _GEN_PAGE(0x200000 * 1450) +.quad _GEN_PAGE(0x200000 * 1451) +.quad _GEN_PAGE(0x200000 * 1452) +.quad _GEN_PAGE(0x200000 * 1453) +.quad _GEN_PAGE(0x200000 * 1454) +.quad _GEN_PAGE(0x200000 * 1455) +.quad _GEN_PAGE(0x200000 * 1456) +.quad _GEN_PAGE(0x200000 * 1457) +.quad _GEN_PAGE(0x200000 * 1458) +.quad _GEN_PAGE(0x200000 * 1459) +.quad _GEN_PAGE(0x200000 * 1460) +.quad _GEN_PAGE(0x200000 * 1461) +.quad _GEN_PAGE(0x200000 * 1462) +.quad _GEN_PAGE(0x200000 * 1463) +.quad _GEN_PAGE(0x200000 * 1464) +.quad _GEN_PAGE(0x200000 * 1465) +.quad _GEN_PAGE(0x200000 * 1466) +.quad _GEN_PAGE(0x200000 * 1467) +.quad _GEN_PAGE(0x200000 * 1468) +.quad _GEN_PAGE(0x200000 * 1469) +.quad _GEN_PAGE(0x200000 * 1470) +.quad _GEN_PAGE(0x200000 * 1471) +.quad _GEN_PAGE(0x200000 * 1472) +.quad _GEN_PAGE(0x200000 * 1473) +.quad _GEN_PAGE(0x200000 * 1474) +.quad _GEN_PAGE(0x200000 * 1475) +.quad _GEN_PAGE(0x200000 * 1476) +.quad _GEN_PAGE(0x200000 * 1477) +.quad _GEN_PAGE(0x200000 * 1478) +.quad _GEN_PAGE(0x200000 * 1479) +.quad _GEN_PAGE(0x200000 * 1480) +.quad _GEN_PAGE(0x200000 * 1481) +.quad _GEN_PAGE(0x200000 * 1482) +.quad _GEN_PAGE(0x200000 * 1483) +.quad _GEN_PAGE(0x200000 * 1484) +.quad _GEN_PAGE(0x200000 * 1485) +.quad _GEN_PAGE(0x200000 * 1486) +.quad _GEN_PAGE(0x200000 * 1487) +.quad _GEN_PAGE(0x200000 * 1488) +.quad _GEN_PAGE(0x200000 * 1489) +.quad _GEN_PAGE(0x200000 * 1490) +.quad _GEN_PAGE(0x200000 * 1491) +.quad _GEN_PAGE(0x200000 * 1492) +.quad _GEN_PAGE(0x200000 * 1493) +.quad _GEN_PAGE(0x200000 * 1494) +.quad _GEN_PAGE(0x200000 * 1495) +.quad _GEN_PAGE(0x200000 * 1496) +.quad _GEN_PAGE(0x200000 * 1497) +.quad _GEN_PAGE(0x200000 * 1498) +.quad _GEN_PAGE(0x200000 * 1499) +.quad _GEN_PAGE(0x200000 * 1500) +.quad _GEN_PAGE(0x200000 * 1501) +.quad _GEN_PAGE(0x200000 * 1502) +.quad _GEN_PAGE(0x200000 * 1503) +.quad _GEN_PAGE(0x200000 * 1504) +.quad _GEN_PAGE(0x200000 * 1505) +.quad _GEN_PAGE(0x200000 * 1506) +.quad _GEN_PAGE(0x200000 * 1507) +.quad _GEN_PAGE(0x200000 * 1508) +.quad _GEN_PAGE(0x200000 * 1509) +.quad _GEN_PAGE(0x200000 * 1510) +.quad _GEN_PAGE(0x200000 * 1511) +.quad _GEN_PAGE(0x200000 * 1512) +.quad _GEN_PAGE(0x200000 * 1513) +.quad _GEN_PAGE(0x200000 * 1514) +.quad _GEN_PAGE(0x200000 * 1515) +.quad _GEN_PAGE(0x200000 * 1516) +.quad _GEN_PAGE(0x200000 * 1517) +.quad _GEN_PAGE(0x200000 * 1518) +.quad _GEN_PAGE(0x200000 * 1519) +.quad _GEN_PAGE(0x200000 * 1520) +.quad _GEN_PAGE(0x200000 * 1521) +.quad _GEN_PAGE(0x200000 * 1522) +.quad _GEN_PAGE(0x200000 * 1523) +.quad _GEN_PAGE(0x200000 * 1524) +.quad _GEN_PAGE(0x200000 * 1525) +.quad _GEN_PAGE(0x200000 * 1526) +.quad _GEN_PAGE(0x200000 * 1527) +.quad _GEN_PAGE(0x200000 * 1528) +.quad _GEN_PAGE(0x200000 * 1529) +.quad _GEN_PAGE(0x200000 * 1530) +.quad _GEN_PAGE(0x200000 * 1531) +.quad _GEN_PAGE(0x200000 * 1532) +.quad _GEN_PAGE(0x200000 * 1533) +.quad _GEN_PAGE(0x200000 * 1534) +.quad _GEN_PAGE(0x200000 * 1535) +.quad _GEN_PAGE(0x200000 * 1536) +.quad _GEN_PAGE(0x200000 * 1537) +.quad _GEN_PAGE(0x200000 * 1538) +.quad _GEN_PAGE(0x200000 * 1539) +.quad _GEN_PAGE(0x200000 * 1540) +.quad _GEN_PAGE(0x200000 * 1541) +.quad _GEN_PAGE(0x200000 * 1542) +.quad _GEN_PAGE(0x200000 * 1543) +.quad _GEN_PAGE(0x200000 * 1544) +.quad _GEN_PAGE(0x200000 * 1545) +.quad _GEN_PAGE(0x200000 * 1546) +.quad _GEN_PAGE(0x200000 * 1547) +.quad _GEN_PAGE(0x200000 * 1548) +.quad _GEN_PAGE(0x200000 * 1549) +.quad _GEN_PAGE(0x200000 * 1550) +.quad _GEN_PAGE(0x200000 * 1551) +.quad _GEN_PAGE(0x200000 * 1552) +.quad _GEN_PAGE(0x200000 * 1553) +.quad _GEN_PAGE(0x200000 * 1554) +.quad _GEN_PAGE(0x200000 * 1555) +.quad _GEN_PAGE(0x200000 * 1556) +.quad _GEN_PAGE(0x200000 * 1557) +.quad _GEN_PAGE(0x200000 * 1558) +.quad _GEN_PAGE(0x200000 * 1559) +.quad _GEN_PAGE(0x200000 * 1560) +.quad _GEN_PAGE(0x200000 * 1561) +.quad _GEN_PAGE(0x200000 * 1562) +.quad _GEN_PAGE(0x200000 * 1563) +.quad _GEN_PAGE(0x200000 * 1564) +.quad _GEN_PAGE(0x200000 * 1565) +.quad _GEN_PAGE(0x200000 * 1566) +.quad _GEN_PAGE(0x200000 * 1567) +.quad _GEN_PAGE(0x200000 * 1568) +.quad _GEN_PAGE(0x200000 * 1569) +.quad _GEN_PAGE(0x200000 * 1570) +.quad _GEN_PAGE(0x200000 * 1571) +.quad _GEN_PAGE(0x200000 * 1572) +.quad _GEN_PAGE(0x200000 * 1573) +.quad _GEN_PAGE(0x200000 * 1574) +.quad _GEN_PAGE(0x200000 * 1575) +.quad _GEN_PAGE(0x200000 * 1576) +.quad _GEN_PAGE(0x200000 * 1577) +.quad _GEN_PAGE(0x200000 * 1578) +.quad _GEN_PAGE(0x200000 * 1579) +.quad _GEN_PAGE(0x200000 * 1580) +.quad _GEN_PAGE(0x200000 * 1581) +.quad _GEN_PAGE(0x200000 * 1582) +.quad _GEN_PAGE(0x200000 * 1583) +.quad _GEN_PAGE(0x200000 * 1584) +.quad _GEN_PAGE(0x200000 * 1585) +.quad _GEN_PAGE(0x200000 * 1586) +.quad _GEN_PAGE(0x200000 * 1587) +.quad _GEN_PAGE(0x200000 * 1588) +.quad _GEN_PAGE(0x200000 * 1589) +.quad _GEN_PAGE(0x200000 * 1590) +.quad _GEN_PAGE(0x200000 * 1591) +.quad _GEN_PAGE(0x200000 * 1592) +.quad _GEN_PAGE(0x200000 * 1593) +.quad _GEN_PAGE(0x200000 * 1594) +.quad _GEN_PAGE(0x200000 * 1595) +.quad _GEN_PAGE(0x200000 * 1596) +.quad _GEN_PAGE(0x200000 * 1597) +.quad _GEN_PAGE(0x200000 * 1598) +.quad _GEN_PAGE(0x200000 * 1599) +.quad _GEN_PAGE(0x200000 * 1600) +.quad _GEN_PAGE(0x200000 * 1601) +.quad _GEN_PAGE(0x200000 * 1602) +.quad _GEN_PAGE(0x200000 * 1603) +.quad _GEN_PAGE(0x200000 * 1604) +.quad _GEN_PAGE(0x200000 * 1605) +.quad _GEN_PAGE(0x200000 * 1606) +.quad _GEN_PAGE(0x200000 * 1607) +.quad _GEN_PAGE(0x200000 * 1608) +.quad _GEN_PAGE(0x200000 * 1609) +.quad _GEN_PAGE(0x200000 * 1610) +.quad _GEN_PAGE(0x200000 * 1611) +.quad _GEN_PAGE(0x200000 * 1612) +.quad _GEN_PAGE(0x200000 * 1613) +.quad _GEN_PAGE(0x200000 * 1614) +.quad _GEN_PAGE(0x200000 * 1615) +.quad _GEN_PAGE(0x200000 * 1616) +.quad _GEN_PAGE(0x200000 * 1617) +.quad _GEN_PAGE(0x200000 * 1618) +.quad _GEN_PAGE(0x200000 * 1619) +.quad _GEN_PAGE(0x200000 * 1620) +.quad _GEN_PAGE(0x200000 * 1621) +.quad _GEN_PAGE(0x200000 * 1622) +.quad _GEN_PAGE(0x200000 * 1623) +.quad _GEN_PAGE(0x200000 * 1624) +.quad _GEN_PAGE(0x200000 * 1625) +.quad _GEN_PAGE(0x200000 * 1626) +.quad _GEN_PAGE(0x200000 * 1627) +.quad _GEN_PAGE(0x200000 * 1628) +.quad _GEN_PAGE(0x200000 * 1629) +.quad _GEN_PAGE(0x200000 * 1630) +.quad _GEN_PAGE(0x200000 * 1631) +.quad _GEN_PAGE(0x200000 * 1632) +.quad _GEN_PAGE(0x200000 * 1633) +.quad _GEN_PAGE(0x200000 * 1634) +.quad _GEN_PAGE(0x200000 * 1635) +.quad _GEN_PAGE(0x200000 * 1636) +.quad _GEN_PAGE(0x200000 * 1637) +.quad _GEN_PAGE(0x200000 * 1638) +.quad _GEN_PAGE(0x200000 * 1639) +.quad _GEN_PAGE(0x200000 * 1640) +.quad _GEN_PAGE(0x200000 * 1641) +.quad _GEN_PAGE(0x200000 * 1642) +.quad _GEN_PAGE(0x200000 * 1643) +.quad _GEN_PAGE(0x200000 * 1644) +.quad _GEN_PAGE(0x200000 * 1645) +.quad _GEN_PAGE(0x200000 * 1646) +.quad _GEN_PAGE(0x200000 * 1647) +.quad _GEN_PAGE(0x200000 * 1648) +.quad _GEN_PAGE(0x200000 * 1649) +.quad _GEN_PAGE(0x200000 * 1650) +.quad _GEN_PAGE(0x200000 * 1651) +.quad _GEN_PAGE(0x200000 * 1652) +.quad _GEN_PAGE(0x200000 * 1653) +.quad _GEN_PAGE(0x200000 * 1654) +.quad _GEN_PAGE(0x200000 * 1655) +.quad _GEN_PAGE(0x200000 * 1656) +.quad _GEN_PAGE(0x200000 * 1657) +.quad _GEN_PAGE(0x200000 * 1658) +.quad _GEN_PAGE(0x200000 * 1659) +.quad _GEN_PAGE(0x200000 * 1660) +.quad _GEN_PAGE(0x200000 * 1661) +.quad _GEN_PAGE(0x200000 * 1662) +.quad _GEN_PAGE(0x200000 * 1663) +.quad _GEN_PAGE(0x200000 * 1664) +.quad _GEN_PAGE(0x200000 * 1665) +.quad _GEN_PAGE(0x200000 * 1666) +.quad _GEN_PAGE(0x200000 * 1667) +.quad _GEN_PAGE(0x200000 * 1668) +.quad _GEN_PAGE(0x200000 * 1669) +.quad _GEN_PAGE(0x200000 * 1670) +.quad _GEN_PAGE(0x200000 * 1671) +.quad _GEN_PAGE(0x200000 * 1672) +.quad _GEN_PAGE(0x200000 * 1673) +.quad _GEN_PAGE(0x200000 * 1674) +.quad _GEN_PAGE(0x200000 * 1675) +.quad _GEN_PAGE(0x200000 * 1676) +.quad _GEN_PAGE(0x200000 * 1677) +.quad _GEN_PAGE(0x200000 * 1678) +.quad _GEN_PAGE(0x200000 * 1679) +.quad _GEN_PAGE(0x200000 * 1680) +.quad _GEN_PAGE(0x200000 * 1681) +.quad _GEN_PAGE(0x200000 * 1682) +.quad _GEN_PAGE(0x200000 * 1683) +.quad _GEN_PAGE(0x200000 * 1684) +.quad _GEN_PAGE(0x200000 * 1685) +.quad _GEN_PAGE(0x200000 * 1686) +.quad _GEN_PAGE(0x200000 * 1687) +.quad _GEN_PAGE(0x200000 * 1688) +.quad _GEN_PAGE(0x200000 * 1689) +.quad _GEN_PAGE(0x200000 * 1690) +.quad _GEN_PAGE(0x200000 * 1691) +.quad _GEN_PAGE(0x200000 * 1692) +.quad _GEN_PAGE(0x200000 * 1693) +.quad _GEN_PAGE(0x200000 * 1694) +.quad _GEN_PAGE(0x200000 * 1695) +.quad _GEN_PAGE(0x200000 * 1696) +.quad _GEN_PAGE(0x200000 * 1697) +.quad _GEN_PAGE(0x200000 * 1698) +.quad _GEN_PAGE(0x200000 * 1699) +.quad _GEN_PAGE(0x200000 * 1700) +.quad _GEN_PAGE(0x200000 * 1701) +.quad _GEN_PAGE(0x200000 * 1702) +.quad _GEN_PAGE(0x200000 * 1703) +.quad _GEN_PAGE(0x200000 * 1704) +.quad _GEN_PAGE(0x200000 * 1705) +.quad _GEN_PAGE(0x200000 * 1706) +.quad _GEN_PAGE(0x200000 * 1707) +.quad _GEN_PAGE(0x200000 * 1708) +.quad _GEN_PAGE(0x200000 * 1709) +.quad _GEN_PAGE(0x200000 * 1710) +.quad _GEN_PAGE(0x200000 * 1711) +.quad _GEN_PAGE(0x200000 * 1712) +.quad _GEN_PAGE(0x200000 * 1713) +.quad _GEN_PAGE(0x200000 * 1714) +.quad _GEN_PAGE(0x200000 * 1715) +.quad _GEN_PAGE(0x200000 * 1716) +.quad _GEN_PAGE(0x200000 * 1717) +.quad _GEN_PAGE(0x200000 * 1718) +.quad _GEN_PAGE(0x200000 * 1719) +.quad _GEN_PAGE(0x200000 * 1720) +.quad _GEN_PAGE(0x200000 * 1721) +.quad _GEN_PAGE(0x200000 * 1722) +.quad _GEN_PAGE(0x200000 * 1723) +.quad _GEN_PAGE(0x200000 * 1724) +.quad _GEN_PAGE(0x200000 * 1725) +.quad _GEN_PAGE(0x200000 * 1726) +.quad _GEN_PAGE(0x200000 * 1727) +.quad _GEN_PAGE(0x200000 * 1728) +.quad _GEN_PAGE(0x200000 * 1729) +.quad _GEN_PAGE(0x200000 * 1730) +.quad _GEN_PAGE(0x200000 * 1731) +.quad _GEN_PAGE(0x200000 * 1732) +.quad _GEN_PAGE(0x200000 * 1733) +.quad _GEN_PAGE(0x200000 * 1734) +.quad _GEN_PAGE(0x200000 * 1735) +.quad _GEN_PAGE(0x200000 * 1736) +.quad _GEN_PAGE(0x200000 * 1737) +.quad _GEN_PAGE(0x200000 * 1738) +.quad _GEN_PAGE(0x200000 * 1739) +.quad _GEN_PAGE(0x200000 * 1740) +.quad _GEN_PAGE(0x200000 * 1741) +.quad _GEN_PAGE(0x200000 * 1742) +.quad _GEN_PAGE(0x200000 * 1743) +.quad _GEN_PAGE(0x200000 * 1744) +.quad _GEN_PAGE(0x200000 * 1745) +.quad _GEN_PAGE(0x200000 * 1746) +.quad _GEN_PAGE(0x200000 * 1747) +.quad _GEN_PAGE(0x200000 * 1748) +.quad _GEN_PAGE(0x200000 * 1749) +.quad _GEN_PAGE(0x200000 * 1750) +.quad _GEN_PAGE(0x200000 * 1751) +.quad _GEN_PAGE(0x200000 * 1752) +.quad _GEN_PAGE(0x200000 * 1753) +.quad _GEN_PAGE(0x200000 * 1754) +.quad _GEN_PAGE(0x200000 * 1755) +.quad _GEN_PAGE(0x200000 * 1756) +.quad _GEN_PAGE(0x200000 * 1757) +.quad _GEN_PAGE(0x200000 * 1758) +.quad _GEN_PAGE(0x200000 * 1759) +.quad _GEN_PAGE(0x200000 * 1760) +.quad _GEN_PAGE(0x200000 * 1761) +.quad _GEN_PAGE(0x200000 * 1762) +.quad _GEN_PAGE(0x200000 * 1763) +.quad _GEN_PAGE(0x200000 * 1764) +.quad _GEN_PAGE(0x200000 * 1765) +.quad _GEN_PAGE(0x200000 * 1766) +.quad _GEN_PAGE(0x200000 * 1767) +.quad _GEN_PAGE(0x200000 * 1768) +.quad _GEN_PAGE(0x200000 * 1769) +.quad _GEN_PAGE(0x200000 * 1770) +.quad _GEN_PAGE(0x200000 * 1771) +.quad _GEN_PAGE(0x200000 * 1772) +.quad _GEN_PAGE(0x200000 * 1773) +.quad _GEN_PAGE(0x200000 * 1774) +.quad _GEN_PAGE(0x200000 * 1775) +.quad _GEN_PAGE(0x200000 * 1776) +.quad _GEN_PAGE(0x200000 * 1777) +.quad _GEN_PAGE(0x200000 * 1778) +.quad _GEN_PAGE(0x200000 * 1779) +.quad _GEN_PAGE(0x200000 * 1780) +.quad _GEN_PAGE(0x200000 * 1781) +.quad _GEN_PAGE(0x200000 * 1782) +.quad _GEN_PAGE(0x200000 * 1783) +.quad _GEN_PAGE(0x200000 * 1784) +.quad _GEN_PAGE(0x200000 * 1785) +.quad _GEN_PAGE(0x200000 * 1786) +.quad _GEN_PAGE(0x200000 * 1787) +.quad _GEN_PAGE(0x200000 * 1788) +.quad _GEN_PAGE(0x200000 * 1789) +.quad _GEN_PAGE(0x200000 * 1790) +.quad _GEN_PAGE(0x200000 * 1791) +.quad _GEN_PAGE(0x200000 * 1792) +.quad _GEN_PAGE(0x200000 * 1793) +.quad _GEN_PAGE(0x200000 * 1794) +.quad _GEN_PAGE(0x200000 * 1795) +.quad _GEN_PAGE(0x200000 * 1796) +.quad _GEN_PAGE(0x200000 * 1797) +.quad _GEN_PAGE(0x200000 * 1798) +.quad _GEN_PAGE(0x200000 * 1799) +.quad _GEN_PAGE(0x200000 * 1800) +.quad _GEN_PAGE(0x200000 * 1801) +.quad _GEN_PAGE(0x200000 * 1802) +.quad _GEN_PAGE(0x200000 * 1803) +.quad _GEN_PAGE(0x200000 * 1804) +.quad _GEN_PAGE(0x200000 * 1805) +.quad _GEN_PAGE(0x200000 * 1806) +.quad _GEN_PAGE(0x200000 * 1807) +.quad _GEN_PAGE(0x200000 * 1808) +.quad _GEN_PAGE(0x200000 * 1809) +.quad _GEN_PAGE(0x200000 * 1810) +.quad _GEN_PAGE(0x200000 * 1811) +.quad _GEN_PAGE(0x200000 * 1812) +.quad _GEN_PAGE(0x200000 * 1813) +.quad _GEN_PAGE(0x200000 * 1814) +.quad _GEN_PAGE(0x200000 * 1815) +.quad _GEN_PAGE(0x200000 * 1816) +.quad _GEN_PAGE(0x200000 * 1817) +.quad _GEN_PAGE(0x200000 * 1818) +.quad _GEN_PAGE(0x200000 * 1819) +.quad _GEN_PAGE(0x200000 * 1820) +.quad _GEN_PAGE(0x200000 * 1821) +.quad _GEN_PAGE(0x200000 * 1822) +.quad _GEN_PAGE(0x200000 * 1823) +.quad _GEN_PAGE(0x200000 * 1824) +.quad _GEN_PAGE(0x200000 * 1825) +.quad _GEN_PAGE(0x200000 * 1826) +.quad _GEN_PAGE(0x200000 * 1827) +.quad _GEN_PAGE(0x200000 * 1828) +.quad _GEN_PAGE(0x200000 * 1829) +.quad _GEN_PAGE(0x200000 * 1830) +.quad _GEN_PAGE(0x200000 * 1831) +.quad _GEN_PAGE(0x200000 * 1832) +.quad _GEN_PAGE(0x200000 * 1833) +.quad _GEN_PAGE(0x200000 * 1834) +.quad _GEN_PAGE(0x200000 * 1835) +.quad _GEN_PAGE(0x200000 * 1836) +.quad _GEN_PAGE(0x200000 * 1837) +.quad _GEN_PAGE(0x200000 * 1838) +.quad _GEN_PAGE(0x200000 * 1839) +.quad _GEN_PAGE(0x200000 * 1840) +.quad _GEN_PAGE(0x200000 * 1841) +.quad _GEN_PAGE(0x200000 * 1842) +.quad _GEN_PAGE(0x200000 * 1843) +.quad _GEN_PAGE(0x200000 * 1844) +.quad _GEN_PAGE(0x200000 * 1845) +.quad _GEN_PAGE(0x200000 * 1846) +.quad _GEN_PAGE(0x200000 * 1847) +.quad _GEN_PAGE(0x200000 * 1848) +.quad _GEN_PAGE(0x200000 * 1849) +.quad _GEN_PAGE(0x200000 * 1850) +.quad _GEN_PAGE(0x200000 * 1851) +.quad _GEN_PAGE(0x200000 * 1852) +.quad _GEN_PAGE(0x200000 * 1853) +.quad _GEN_PAGE(0x200000 * 1854) +.quad _GEN_PAGE(0x200000 * 1855) +.quad _GEN_PAGE(0x200000 * 1856) +.quad _GEN_PAGE(0x200000 * 1857) +.quad _GEN_PAGE(0x200000 * 1858) +.quad _GEN_PAGE(0x200000 * 1859) +.quad _GEN_PAGE(0x200000 * 1860) +.quad _GEN_PAGE(0x200000 * 1861) +.quad _GEN_PAGE(0x200000 * 1862) +.quad _GEN_PAGE(0x200000 * 1863) +.quad _GEN_PAGE(0x200000 * 1864) +.quad _GEN_PAGE(0x200000 * 1865) +.quad _GEN_PAGE(0x200000 * 1866) +.quad _GEN_PAGE(0x200000 * 1867) +.quad _GEN_PAGE(0x200000 * 1868) +.quad _GEN_PAGE(0x200000 * 1869) +.quad _GEN_PAGE(0x200000 * 1870) +.quad _GEN_PAGE(0x200000 * 1871) +.quad _GEN_PAGE(0x200000 * 1872) +.quad _GEN_PAGE(0x200000 * 1873) +.quad _GEN_PAGE(0x200000 * 1874) +.quad _GEN_PAGE(0x200000 * 1875) +.quad _GEN_PAGE(0x200000 * 1876) +.quad _GEN_PAGE(0x200000 * 1877) +.quad _GEN_PAGE(0x200000 * 1878) +.quad _GEN_PAGE(0x200000 * 1879) +.quad _GEN_PAGE(0x200000 * 1880) +.quad _GEN_PAGE(0x200000 * 1881) +.quad _GEN_PAGE(0x200000 * 1882) +.quad _GEN_PAGE(0x200000 * 1883) +.quad _GEN_PAGE(0x200000 * 1884) +.quad _GEN_PAGE(0x200000 * 1885) +.quad _GEN_PAGE(0x200000 * 1886) +.quad _GEN_PAGE(0x200000 * 1887) +.quad _GEN_PAGE(0x200000 * 1888) +.quad _GEN_PAGE(0x200000 * 1889) +.quad _GEN_PAGE(0x200000 * 1890) +.quad _GEN_PAGE(0x200000 * 1891) +.quad _GEN_PAGE(0x200000 * 1892) +.quad _GEN_PAGE(0x200000 * 1893) +.quad _GEN_PAGE(0x200000 * 1894) +.quad _GEN_PAGE(0x200000 * 1895) +.quad _GEN_PAGE(0x200000 * 1896) +.quad _GEN_PAGE(0x200000 * 1897) +.quad _GEN_PAGE(0x200000 * 1898) +.quad _GEN_PAGE(0x200000 * 1899) +.quad _GEN_PAGE(0x200000 * 1900) +.quad _GEN_PAGE(0x200000 * 1901) +.quad _GEN_PAGE(0x200000 * 1902) +.quad _GEN_PAGE(0x200000 * 1903) +.quad _GEN_PAGE(0x200000 * 1904) +.quad _GEN_PAGE(0x200000 * 1905) +.quad _GEN_PAGE(0x200000 * 1906) +.quad _GEN_PAGE(0x200000 * 1907) +.quad _GEN_PAGE(0x200000 * 1908) +.quad _GEN_PAGE(0x200000 * 1909) +.quad _GEN_PAGE(0x200000 * 1910) +.quad _GEN_PAGE(0x200000 * 1911) +.quad _GEN_PAGE(0x200000 * 1912) +.quad _GEN_PAGE(0x200000 * 1913) +.quad _GEN_PAGE(0x200000 * 1914) +.quad _GEN_PAGE(0x200000 * 1915) +.quad _GEN_PAGE(0x200000 * 1916) +.quad _GEN_PAGE(0x200000 * 1917) +.quad _GEN_PAGE(0x200000 * 1918) +.quad _GEN_PAGE(0x200000 * 1919) +.quad _GEN_PAGE(0x200000 * 1920) +.quad _GEN_PAGE(0x200000 * 1921) +.quad _GEN_PAGE(0x200000 * 1922) +.quad _GEN_PAGE(0x200000 * 1923) +.quad _GEN_PAGE(0x200000 * 1924) +.quad _GEN_PAGE(0x200000 * 1925) +.quad _GEN_PAGE(0x200000 * 1926) +.quad _GEN_PAGE(0x200000 * 1927) +.quad _GEN_PAGE(0x200000 * 1928) +.quad _GEN_PAGE(0x200000 * 1929) +.quad _GEN_PAGE(0x200000 * 1930) +.quad _GEN_PAGE(0x200000 * 1931) +.quad _GEN_PAGE(0x200000 * 1932) +.quad _GEN_PAGE(0x200000 * 1933) +.quad _GEN_PAGE(0x200000 * 1934) +.quad _GEN_PAGE(0x200000 * 1935) +.quad _GEN_PAGE(0x200000 * 1936) +.quad _GEN_PAGE(0x200000 * 1937) +.quad _GEN_PAGE(0x200000 * 1938) +.quad _GEN_PAGE(0x200000 * 1939) +.quad _GEN_PAGE(0x200000 * 1940) +.quad _GEN_PAGE(0x200000 * 1941) +.quad _GEN_PAGE(0x200000 * 1942) +.quad _GEN_PAGE(0x200000 * 1943) +.quad _GEN_PAGE(0x200000 * 1944) +.quad _GEN_PAGE(0x200000 * 1945) +.quad _GEN_PAGE(0x200000 * 1946) +.quad _GEN_PAGE(0x200000 * 1947) +.quad _GEN_PAGE(0x200000 * 1948) +.quad _GEN_PAGE(0x200000 * 1949) +.quad _GEN_PAGE(0x200000 * 1950) +.quad _GEN_PAGE(0x200000 * 1951) +.quad _GEN_PAGE(0x200000 * 1952) +.quad _GEN_PAGE(0x200000 * 1953) +.quad _GEN_PAGE(0x200000 * 1954) +.quad _GEN_PAGE(0x200000 * 1955) +.quad _GEN_PAGE(0x200000 * 1956) +.quad _GEN_PAGE(0x200000 * 1957) +.quad _GEN_PAGE(0x200000 * 1958) +.quad _GEN_PAGE(0x200000 * 1959) +.quad _GEN_PAGE(0x200000 * 1960) +.quad _GEN_PAGE(0x200000 * 1961) +.quad _GEN_PAGE(0x200000 * 1962) +.quad _GEN_PAGE(0x200000 * 1963) +.quad _GEN_PAGE(0x200000 * 1964) +.quad _GEN_PAGE(0x200000 * 1965) +.quad _GEN_PAGE(0x200000 * 1966) +.quad _GEN_PAGE(0x200000 * 1967) +.quad _GEN_PAGE(0x200000 * 1968) +.quad _GEN_PAGE(0x200000 * 1969) +.quad _GEN_PAGE(0x200000 * 1970) +.quad _GEN_PAGE(0x200000 * 1971) +.quad _GEN_PAGE(0x200000 * 1972) +.quad _GEN_PAGE(0x200000 * 1973) +.quad _GEN_PAGE(0x200000 * 1974) +.quad _GEN_PAGE(0x200000 * 1975) +.quad _GEN_PAGE(0x200000 * 1976) +.quad _GEN_PAGE(0x200000 * 1977) +.quad _GEN_PAGE(0x200000 * 1978) +.quad _GEN_PAGE(0x200000 * 1979) +.quad _GEN_PAGE(0x200000 * 1980) +.quad _GEN_PAGE(0x200000 * 1981) +.quad _GEN_PAGE(0x200000 * 1982) +.quad _GEN_PAGE(0x200000 * 1983) +.quad _GEN_PAGE(0x200000 * 1984) +.quad _GEN_PAGE(0x200000 * 1985) +.quad _GEN_PAGE(0x200000 * 1986) +.quad _GEN_PAGE(0x200000 * 1987) +.quad _GEN_PAGE(0x200000 * 1988) +.quad _GEN_PAGE(0x200000 * 1989) +.quad _GEN_PAGE(0x200000 * 1990) +.quad _GEN_PAGE(0x200000 * 1991) +.quad _GEN_PAGE(0x200000 * 1992) +.quad _GEN_PAGE(0x200000 * 1993) +.quad _GEN_PAGE(0x200000 * 1994) +.quad _GEN_PAGE(0x200000 * 1995) +.quad _GEN_PAGE(0x200000 * 1996) +.quad _GEN_PAGE(0x200000 * 1997) +.quad _GEN_PAGE(0x200000 * 1998) +.quad _GEN_PAGE(0x200000 * 1999) +.quad _GEN_PAGE(0x200000 * 2000) +.quad _GEN_PAGE(0x200000 * 2001) +.quad _GEN_PAGE(0x200000 * 2002) +.quad _GEN_PAGE(0x200000 * 2003) +.quad _GEN_PAGE(0x200000 * 2004) +.quad _GEN_PAGE(0x200000 * 2005) +.quad _GEN_PAGE(0x200000 * 2006) +.quad _GEN_PAGE(0x200000 * 2007) +.quad _GEN_PAGE(0x200000 * 2008) +.quad _GEN_PAGE(0x200000 * 2009) +.quad _GEN_PAGE(0x200000 * 2010) +.quad _GEN_PAGE(0x200000 * 2011) +.quad _GEN_PAGE(0x200000 * 2012) +.quad _GEN_PAGE(0x200000 * 2013) +.quad _GEN_PAGE(0x200000 * 2014) +.quad _GEN_PAGE(0x200000 * 2015) +.quad _GEN_PAGE(0x200000 * 2016) +.quad _GEN_PAGE(0x200000 * 2017) +.quad _GEN_PAGE(0x200000 * 2018) +.quad _GEN_PAGE(0x200000 * 2019) +.quad _GEN_PAGE(0x200000 * 2020) +.quad _GEN_PAGE(0x200000 * 2021) +.quad _GEN_PAGE(0x200000 * 2022) +.quad _GEN_PAGE(0x200000 * 2023) +.quad _GEN_PAGE(0x200000 * 2024) +.quad _GEN_PAGE(0x200000 * 2025) +.quad _GEN_PAGE(0x200000 * 2026) +.quad _GEN_PAGE(0x200000 * 2027) +.quad _GEN_PAGE(0x200000 * 2028) +.quad _GEN_PAGE(0x200000 * 2029) +.quad _GEN_PAGE(0x200000 * 2030) +.quad _GEN_PAGE(0x200000 * 2031) +.quad _GEN_PAGE(0x200000 * 2032) +.quad _GEN_PAGE(0x200000 * 2033) +.quad _GEN_PAGE(0x200000 * 2034) +.quad _GEN_PAGE(0x200000 * 2035) +.quad _GEN_PAGE(0x200000 * 2036) +.quad _GEN_PAGE(0x200000 * 2037) +.quad _GEN_PAGE(0x200000 * 2038) +.quad _GEN_PAGE(0x200000 * 2039) +.quad _GEN_PAGE(0x200000 * 2040) +.quad _GEN_PAGE(0x200000 * 2041) +.quad _GEN_PAGE(0x200000 * 2042) +.quad _GEN_PAGE(0x200000 * 2043) +.quad _GEN_PAGE(0x200000 * 2044) +.quad _GEN_PAGE(0x200000 * 2045) +.quad _GEN_PAGE(0x200000 * 2046) +.quad _GEN_PAGE(0x200000 * 2047) + +.align 4096 +PDPE_table: /* Point to PDE */ +.quad _GEN_DIR(PDE_tables) +.quad _GEN_DIR(PDE_tables + 4096 * 1) +.quad _GEN_DIR(PDE_tables + 4096 * 2) +.quad _GEN_DIR(PDE_tables + 4096 * 3) diff --git a/src/cpu/x86/Makefile.inc b/src/cpu/x86/Makefile.inc index 1c62119..6458b3f 100644 --- a/src/cpu/x86/Makefile.inc +++ b/src/cpu/x86/Makefile.inc @@ -12,6 +12,8 @@ bootblock-y += entry32.S bootblock-y += entry16.S bootblock-y += reset16.S +all-y += 64bit/pt.S +smmstub-y += 64bit/pt.S
additional-dirs += $(obj)/cpu/x86
@@ -31,9 +33,9 @@ ifeq ($(CONFIG_PARALLEL_MP),y) $(TARGET_STAGE)-srcs += $(SIPI_BIN).manual endif -rmodules_$(ARCH-$(TARGET_STAGE)-y)-$(CONFIG_PARALLEL_MP) += sipi_vector.S +rmodules_$(ARCH-$(TARGET_STAGE)-y)-$(CONFIG_PARALLEL_MP) += 64bit/pt.S sipi_vector.S
-$(SIPI_DOTO): $(call src-to-obj,rmodules_$(ARCH-$(TARGET_STAGE)-y),src/cpu/x86/sipi_vector.S) +$(SIPI_DOTO): $(call src-to-obj,rmodules_$(ARCH-$(TARGET_STAGE)-y),src/cpu/x86/sipi_vector.S src/cpu/x86/64bit/pt.S) $(LD_rmodules_$(ARCH-$(TARGET_STAGE)-y)) -nostdlib -r -o $@ $^
$(eval $(call rmodule_link,$(SIPI_ELF), $(SIPI_DOTO), 0,$(ARCH-$(TARGET_STAGE)-y)))