VirtualBox

Changeset 106364 in vbox


Ignore:
Timestamp:
Oct 16, 2024 1:10:18 PM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165177
Message:

include/iprt/dbg.h: Add ARMv8 state for the stack unwinding, bugref:10393

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/dbg.h

    r106061 r106364  
    281281        } x86;
    282282
     283        /** RTLDRARCH_ARM, RTLDRARCH_ARM64. */
     284        struct
     285        {
     286            /** General purpose registers, indexed by ARMV8_A64_REG_XXX. */
     287            uint64_t    auGprs[31];
     288            /** EL0 stack pointer. */
     289            uint64_t    uSpEl0;
     290            /** The EL1 stack pointer. */
     291            uint64_t    uSpEl1;
     292            /** The frame address. */
     293            uint64_t    FrameAddr;
     294
     295            /** Bitmap tracking register we've loaded and which content can possibly be trusted. */
     296            union
     297            {
     298                /** For effective clearing of the bits. */
     299                uint64_t    fAll;
     300                /** Detailed view. */
     301                struct
     302                {
     303                    /** Bitmap indicating whether a GPR was loaded (parallel to auRegs). */
     304                    uint32_t    fRegs;
     305                    /** Set if uPc was loaded. */
     306                    RT_GCC_EXTENSION uint8_t     fPc : 1;
     307                    /** Set if FrameAddr was loaded. */
     308                    RT_GCC_EXTENSION uint8_t     fFrameAddr : 1;
     309                    /** Set if auSpEl0 was loaded. */
     310                    RT_GCC_EXTENSION uint8_t     fSpEl0 : 1;
     311                    /** Set if auSpEl1 was loaded. */
     312                    RT_GCC_EXTENSION uint8_t     fSpEl1 : 1;
     313                } s;
     314            } Loaded;
     315        } armv8;
     316
    283317        /** @todo add ARM and others as needed. */
    284318    } u;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette