| 541 | } |
| 542 | |
| 543 | function load_fw_specific(version) { |
| 544 | if (version & 0x10000) { |
| 545 | throw RangeError('ps5 not supported yet'); |
| 546 | } |
| 547 | |
| 548 | const value = version & 0xffff; |
| 549 | // we don't want to bother with very old firmwares that don't support |
| 550 | // ECMAScript 2015. 6.xx WebKit poisons the pointer fields of some types |
| 551 | // which can be annoying to deal with |
| 552 | if (value < 0x900) { |
| 553 | throw RangeError("PS4 firmwares < 9.00 isn't supported"); |
| 554 | } |
| 555 | |
| 556 | // 9.00, 9.03, 9.04 |
| 557 | if (0x900 <= value && value < 0x950) { |
| 558 | return import("../rop/900.js"); |
| 559 | } |
| 560 | |
| 561 | // 9.50, 9.51, 9.60 |
| 562 | if (0x950 <= value && value < 0x1000) { |
| 563 | return import("../rop/950.js"); |
| 564 | } |
| 565 | |
| 566 | throw RangeError('firmware not supported'); |
| 567 | } |
| 568 | |
| 569 | export let gadgets = null; |
| 570 | export let libwebkit_base = null; |