Changeset 101246 in vbox
- Timestamp:
- Sep 22, 2023 11:47:21 PM (14 months ago)
- Location:
- trunk/include/iprt
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/armv8.h
r101185 r101246 52 52 */ 53 53 54 /** @name The AArch64 register encoding. 54 /** @name The AArch64 register encoding - deprecated. 55 * @deprecated Use ARMV8_A64_REG_XXX instead. 56 * @todo correct code and drop these remaining ones. 55 57 * @{ */ 56 58 #define ARMV8_AARCH64_REG_X0 0 57 #define ARMV8_AARCH64_REG_W0 ARMV8_AARCH64_REG_X058 59 #define ARMV8_AARCH64_REG_X1 1 59 #define ARMV8_AARCH64_REG_W1 ARMV8_AARCH64_REG_X160 60 #define ARMV8_AARCH64_REG_X2 2 61 #define ARMV8_AARCH64_REG_W2 ARMV8_AARCH64_REG_X262 61 #define ARMV8_AARCH64_REG_X3 3 63 #define ARMV8_AARCH64_REG_W3 ARMV8_AARCH64_REG_X364 #define ARMV8_AARCH64_REG_X4 465 #define ARMV8_AARCH64_REG_W4 ARMV8_AARCH64_REG_X466 #define ARMV8_AARCH64_REG_X5 567 #define ARMV8_AARCH64_REG_W5 ARMV8_AARCH64_REG_X568 #define ARMV8_AARCH64_REG_X6 669 #define ARMV8_AARCH64_REG_W6 ARMV8_AARCH64_REG_X670 #define ARMV8_AARCH64_REG_X7 771 #define ARMV8_AARCH64_REG_W7 ARMV8_AARCH64_REG_X772 #define ARMV8_AARCH64_REG_X8 873 #define ARMV8_AARCH64_REG_W8 ARMV8_AARCH64_REG_X874 #define ARMV8_AARCH64_REG_X9 975 #define ARMV8_AARCH64_REG_W9 ARMV8_AARCH64_REG_X976 #define ARMV8_AARCH64_REG_X10 1077 #define ARMV8_AARCH64_REG_W10 ARMV8_AARCH64_REG_X1078 #define ARMV8_AARCH64_REG_X11 1179 #define ARMV8_AARCH64_REG_W11 ARMV8_AARCH64_REG_X1180 #define ARMV8_AARCH64_REG_X12 1281 #define ARMV8_AARCH64_REG_W12 ARMV8_AARCH64_REG_X1282 #define ARMV8_AARCH64_REG_X13 1383 #define ARMV8_AARCH64_REG_W13 ARMV8_AARCH64_REG_X1384 #define ARMV8_AARCH64_REG_X14 1485 #define ARMV8_AARCH64_REG_W14 ARMV8_AARCH64_REG_X1486 #define ARMV8_AARCH64_REG_X15 1587 #define ARMV8_AARCH64_REG_W15 ARMV8_AARCH64_REG_X1588 #define ARMV8_AARCH64_REG_X16 1689 #define ARMV8_AARCH64_REG_W16 ARMV8_AARCH64_REG_X1690 #define ARMV8_AARCH64_REG_X17 1791 #define ARMV8_AARCH64_REG_W17 ARMV8_AARCH64_REG_X1792 #define ARMV8_AARCH64_REG_X18 1893 #define ARMV8_AARCH64_REG_W18 ARMV8_AARCH64_REG_X1894 #define ARMV8_AARCH64_REG_X19 1995 #define ARMV8_AARCH64_REG_W19 ARMV8_AARCH64_REG_X1996 #define ARMV8_AARCH64_REG_X20 2097 #define ARMV8_AARCH64_REG_W20 ARMV8_AARCH64_REG_X2098 #define ARMV8_AARCH64_REG_X21 2199 #define ARMV8_AARCH64_REG_W21 ARMV8_AARCH64_REG_X21100 #define ARMV8_AARCH64_REG_X22 22101 #define ARMV8_AARCH64_REG_W22 ARMV8_AARCH64_REG_X22102 #define ARMV8_AARCH64_REG_X23 23103 #define ARMV8_AARCH64_REG_W23 ARMV8_AARCH64_REG_X23104 #define ARMV8_AARCH64_REG_X24 24105 #define ARMV8_AARCH64_REG_W24 ARMV8_AARCH64_REG_X24106 #define ARMV8_AARCH64_REG_X25 25107 #define ARMV8_AARCH64_REG_W25 ARMV8_AARCH64_REG_X25108 #define ARMV8_AARCH64_REG_X26 26109 #define ARMV8_AARCH64_REG_W26 ARMV8_AARCH64_REG_X26110 #define ARMV8_AARCH64_REG_X27 27111 #define ARMV8_AARCH64_REG_W27 ARMV8_AARCH64_REG_X27112 #define ARMV8_AARCH64_REG_X28 28113 #define ARMV8_AARCH64_REG_W28 ARMV8_AARCH64_REG_X28114 #define ARMV8_AARCH64_REG_X29 29115 #define ARMV8_AARCH64_REG_W29 ARMV8_AARCH64_REG_X29116 #define ARMV8_AARCH64_REG_X30 30117 #define ARMV8_AARCH64_REG_W30 ARMV8_AARCH64_REG_X30118 /** The zero register. */119 62 #define ARMV8_AARCH64_REG_ZR 31 120 63 /** @} */ 64 65 /** @name The AArch64 general purpose register encoding. 66 * @{ */ 67 #define ARMV8_A64_REG_X0 0 68 #define ARMV8_A64_REG_X1 1 69 #define ARMV8_A64_REG_X2 2 70 #define ARMV8_A64_REG_X3 3 71 #define ARMV8_A64_REG_X4 4 72 #define ARMV8_A64_REG_X5 5 73 #define ARMV8_A64_REG_X6 6 74 #define ARMV8_A64_REG_X7 7 75 #define ARMV8_A64_REG_X8 8 76 #define ARMV8_A64_REG_X9 9 77 #define ARMV8_A64_REG_X10 10 78 #define ARMV8_A64_REG_X11 11 79 #define ARMV8_A64_REG_X12 12 80 #define ARMV8_A64_REG_X13 13 81 #define ARMV8_A64_REG_X14 14 82 #define ARMV8_A64_REG_X15 15 83 #define ARMV8_A64_REG_X16 16 84 #define ARMV8_A64_REG_X17 17 85 #define ARMV8_A64_REG_X18 18 86 #define ARMV8_A64_REG_X19 19 87 #define ARMV8_A64_REG_X20 20 88 #define ARMV8_A64_REG_X21 21 89 #define ARMV8_A64_REG_X22 22 90 #define ARMV8_A64_REG_X23 23 91 #define ARMV8_A64_REG_X24 24 92 #define ARMV8_A64_REG_X25 25 93 #define ARMV8_A64_REG_X26 26 94 #define ARMV8_A64_REG_X27 27 95 #define ARMV8_A64_REG_X28 28 96 #define ARMV8_A64_REG_X29 29 97 #define ARMV8_A64_REG_X30 30 98 /** @} */ 99 100 /** @name The AArch64 32-bit general purpose register names. 101 * @{ */ 102 #define ARMV8_A64_REG_W0 ARMV8_A64_REG_X0 103 #define ARMV8_A64_REG_W1 ARMV8_A64_REG_X1 104 #define ARMV8_A64_REG_W2 ARMV8_A64_REG_X2 105 #define ARMV8_A64_REG_W3 ARMV8_A64_REG_X3 106 #define ARMV8_A64_REG_W4 ARMV8_A64_REG_X4 107 #define ARMV8_A64_REG_W5 ARMV8_A64_REG_X5 108 #define ARMV8_A64_REG_W6 ARMV8_A64_REG_X6 109 #define ARMV8_A64_REG_W7 ARMV8_A64_REG_X7 110 #define ARMV8_A64_REG_W8 ARMV8_A64_REG_X8 111 #define ARMV8_A64_REG_W9 ARMV8_A64_REG_X9 112 #define ARMV8_A64_REG_W10 ARMV8_A64_REG_X10 113 #define ARMV8_A64_REG_W11 ARMV8_A64_REG_X11 114 #define ARMV8_A64_REG_W12 ARMV8_A64_REG_X12 115 #define ARMV8_A64_REG_W13 ARMV8_A64_REG_X13 116 #define ARMV8_A64_REG_W14 ARMV8_A64_REG_X14 117 #define ARMV8_A64_REG_W15 ARMV8_A64_REG_X15 118 #define ARMV8_A64_REG_W16 ARMV8_A64_REG_X16 119 #define ARMV8_A64_REG_W17 ARMV8_A64_REG_X17 120 #define ARMV8_A64_REG_W18 ARMV8_A64_REG_X18 121 #define ARMV8_A64_REG_W19 ARMV8_A64_REG_X19 122 #define ARMV8_A64_REG_W20 ARMV8_A64_REG_X20 123 #define ARMV8_A64_REG_W21 ARMV8_A64_REG_X21 124 #define ARMV8_A64_REG_W22 ARMV8_A64_REG_X22 125 #define ARMV8_A64_REG_W23 ARMV8_A64_REG_X23 126 #define ARMV8_A64_REG_W24 ARMV8_A64_REG_X24 127 #define ARMV8_A64_REG_W25 ARMV8_A64_REG_X25 128 #define ARMV8_A64_REG_W26 ARMV8_A64_REG_X26 129 #define ARMV8_A64_REG_W27 ARMV8_A64_REG_X27 130 #define ARMV8_A64_REG_W28 ARMV8_A64_REG_X28 131 #define ARMV8_A64_REG_W29 ARMV8_A64_REG_X29 132 #define ARMV8_A64_REG_W30 ARMV8_A64_REG_X30 133 /** @} */ 134 135 /** @name The AArch64 register 31. 136 * @note Register 31 typically refers to the zero register, but can also in 137 * select case (by instruction and opecode field) refer the to stack 138 * pointer of the current exception level. ARM typically uses \<Xn|SP\> 139 * to indicate that register 31 is taken as SP, if just \<Xn\> is used 140 * 31 will be the zero register. 141 * @{ */ 142 /** The stack pointer. */ 143 #define ARMV8_A64_REG_SP 31 144 /** The zero register. Reads as zero, writes ignored. */ 145 #define ARMV8_A64_REG_XZR 31 146 /** The zero register, the 32-bit register name. */ 147 #define ARMV8_A64_REG_WZR ARMV8_A64_REG_XZR 148 /** @} */ 149 150 /** @name AArch64 register aliases 151 * @{ */ 152 /** The link register is typically mapped to x30 as that's the default pick of 153 * the RET instruction. */ 154 #define ARMV8_A64_REG_LR ARMV8_A64_REG_X30 155 /** Frame base pointer is typically mapped to x29. */ 156 #define ARMV8_A64_REG_BP ARMV8_A64_REG_X29 157 /* @} */ 121 158 122 159 -
trunk/include/iprt/formats/dwarf.h
r98103 r101246 471 471 472 472 /** @name DWREG_AMD64_XXX - AMD64 register number mappings. 473 * @note This for some braindead reason the first 8 GPR are in intel encoding474 * order, unlike the DWREG_X86_XXX variant. Utter stupidity.473 * @note This for some braindead reason the first 8 GPR are NOT in the intel 474 * encoding order, unlike the DWREG_X86_XXX variant. Utter stupidity. 475 475 * @{ */ 476 476 #define DWREG_AMD64_RAX 0 … … 539 539 /** @} */ 540 540 541 542 /** @name DWREG_ARM64_XXX - ARM64 register number mappings. 543 * @{ */ 544 #define DWREG_ARM64_X0 0 545 #define DWREG_ARM64_X1 1 546 #define DWREG_ARM64_X2 2 547 #define DWREG_ARM64_X3 3 548 #define DWREG_ARM64_X4 4 549 #define DWREG_ARM64_X5 5 550 #define DWREG_ARM64_X6 6 551 #define DWREG_ARM64_X7 7 552 #define DWREG_ARM64_X8 8 553 #define DWREG_ARM64_X9 9 554 #define DWREG_ARM64_X10 10 555 #define DWREG_ARM64_X11 11 556 #define DWREG_ARM64_X12 12 557 #define DWREG_ARM64_X13 13 558 #define DWREG_ARM64_X14 14 559 #define DWREG_ARM64_X15 15 560 #define DWREG_ARM64_X16 16 561 #define DWREG_ARM64_X17 17 562 #define DWREG_ARM64_X18 18 563 #define DWREG_ARM64_X19 19 564 #define DWREG_ARM64_X20 20 565 #define DWREG_ARM64_X21 21 566 #define DWREG_ARM64_X22 22 567 #define DWREG_ARM64_X23 23 568 #define DWREG_ARM64_X24 24 569 #define DWREG_ARM64_X25 25 570 #define DWREG_ARM64_X26 26 571 #define DWREG_ARM64_X27 27 572 #define DWREG_ARM64_X28 28 573 #define DWREG_ARM64_X29 29 574 #define DWREG_ARM64_X30 30 575 #define DWREG_ARM64_SP 31 576 #define DWREG_ARM64_BP DWREG_ARM64_X29 577 #define DWREG_ARM64_LR DWREG_ARM64_X30 578 #define DWREG_ARM64_PC 32 579 #define DWREG_ARM64_ELR_MODE 33 580 #define DWREG_ARM64_RA_SIGN_STATE 34 581 #define DWREG_ARM64_TPIDRRO_ELO 35 582 #define DWREG_ARM64_TPIDR_ELO 36 583 #define DWREG_ARM64_TPIDR_EL1 37 584 #define DWREG_ARM64_TPIDR_EL2 38 585 #define DWREG_ARM64_TPIDR_EL3 39 586 /* 40-45 are reserved */ 587 #define DWREG_ARM64_VG 46 588 #define DWREG_ARM64_FFR 47 589 #define DWREG_ARM64_P0 48 590 #define DWREG_ARM64_P1 49 591 #define DWREG_ARM64_P2 50 592 #define DWREG_ARM64_P3 51 593 #define DWREG_ARM64_P4 52 594 #define DWREG_ARM64_P5 53 595 #define DWREG_ARM64_P6 54 596 #define DWREG_ARM64_P7 55 597 #define DWREG_ARM64_P8 56 598 #define DWREG_ARM64_P9 57 599 #define DWREG_ARM64_P10 58 600 #define DWREG_ARM64_P11 59 601 #define DWREG_ARM64_P12 60 602 #define DWREG_ARM64_P13 61 603 #define DWREG_ARM64_P14 62 604 #define DWREG_ARM64_P15 63 605 #define DWREG_ARM64_V0 64 606 #define DWREG_ARM64_V1 65 607 #define DWREG_ARM64_V2 66 608 #define DWREG_ARM64_V3 67 609 #define DWREG_ARM64_V4 68 610 #define DWREG_ARM64_V5 69 611 #define DWREG_ARM64_V6 70 612 #define DWREG_ARM64_V7 71 613 #define DWREG_ARM64_V8 72 614 #define DWREG_ARM64_V9 73 615 #define DWREG_ARM64_V10 74 616 #define DWREG_ARM64_V11 75 617 #define DWREG_ARM64_V12 76 618 #define DWREG_ARM64_V13 77 619 #define DWREG_ARM64_V14 78 620 #define DWREG_ARM64_V15 79 621 #define DWREG_ARM64_V16 80 622 #define DWREG_ARM64_V17 81 623 #define DWREG_ARM64_V18 82 624 #define DWREG_ARM64_V19 83 625 #define DWREG_ARM64_V20 84 626 #define DWREG_ARM64_V21 85 627 #define DWREG_ARM64_V22 86 628 #define DWREG_ARM64_V23 87 629 #define DWREG_ARM64_V24 88 630 #define DWREG_ARM64_V25 89 631 #define DWREG_ARM64_V26 90 632 #define DWREG_ARM64_V27 91 633 #define DWREG_ARM64_V28 92 634 #define DWREG_ARM64_V29 93 635 #define DWREG_ARM64_V30 94 636 #define DWREG_ARM64_V31 95 637 #define DWREG_ARM64_Z0 96 638 #define DWREG_ARM64_Z1 97 639 #define DWREG_ARM64_Z2 98 640 #define DWREG_ARM64_Z3 99 641 #define DWREG_ARM64_Z4 100 642 #define DWREG_ARM64_Z5 101 643 #define DWREG_ARM64_Z6 102 644 #define DWREG_ARM64_Z7 103 645 #define DWREG_ARM64_Z8 104 646 #define DWREG_ARM64_Z9 105 647 #define DWREG_ARM64_Z10 106 648 #define DWREG_ARM64_Z11 107 649 #define DWREG_ARM64_Z12 108 650 #define DWREG_ARM64_Z13 109 651 #define DWREG_ARM64_Z14 110 652 #define DWREG_ARM64_Z15 111 653 #define DWREG_ARM64_Z16 112 654 #define DWREG_ARM64_Z17 113 655 #define DWREG_ARM64_Z18 114 656 #define DWREG_ARM64_Z19 115 657 #define DWREG_ARM64_Z20 116 658 #define DWREG_ARM64_Z21 117 659 #define DWREG_ARM64_Z22 118 660 #define DWREG_ARM64_Z23 119 661 #define DWREG_ARM64_Z24 120 662 #define DWREG_ARM64_Z25 121 663 #define DWREG_ARM64_Z26 122 664 #define DWREG_ARM64_Z27 123 665 #define DWREG_ARM64_Z28 124 666 #define DWREG_ARM64_Z29 125 667 #define DWREG_ARM64_Z30 126 668 #define DWREG_ARM64_Z31 127 669 /** @} */ 670 671 541 672 #endif /* !IPRT_INCLUDED_formats_dwarf_h */ 542 673
Note:
See TracChangeset
for help on using the changeset viewer.