]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/i386/fasttrap_isa.h
xnu-4570.1.46.tar.gz
[apple/xnu.git] / bsd / i386 / fasttrap_isa.h
index d51c7ddfbc3d8f5742711753ed64941eeb123e4c..c2392eb0cb9cffcfe0defa03fa6863c84b9ba53d 100644 (file)
@@ -48,10 +48,8 @@ typedef      uint8_t         fasttrap_instr_t;
 typedef struct fasttrap_machtp {
        uint8_t         ftmt_instr[FASTTRAP_MAX_INSTR_SIZE]; /* orig. instr. */
        uint8_t         ftmt_size;      /* instruction size */
-#if __sol64 || defined(__APPLE__)
        uint8_t         ftmt_ripmode;   /* %rip-relative handling mode */
        uint8_t         ftmt_modrm;     /* saved modrm byte */
-#endif
        uint8_t         ftmt_type;      /* emulation type */
        uint8_t         ftmt_code;      /* branch condition */
        uint8_t         ftmt_base;      /* branch base */
@@ -59,13 +57,13 @@ typedef struct fasttrap_machtp {
        uint8_t         ftmt_scale;     /* branch scale */
        uint8_t         ftmt_segment;   /* segment for memory accesses */
        user_addr_t     ftmt_dest;      /* destination of control flow */
+       uint8_t         ftmt_installed:1;
+       uint8_t         ftmt_retired:1;
 } fasttrap_machtp_t;
 
 #define        ftt_instr       ftt_mtp.ftmt_instr
-#if __sol64 || defined(__APPLE__)
 #define        ftt_ripmode     ftt_mtp.ftmt_ripmode
 #define        ftt_modrm       ftt_mtp.ftmt_modrm
-#endif
 #define        ftt_size        ftt_mtp.ftmt_size
 #define        ftt_type        ftt_mtp.ftmt_type
 #define        ftt_code        ftt_mtp.ftmt_code
@@ -74,6 +72,9 @@ typedef struct fasttrap_machtp {
 #define        ftt_scale       ftt_mtp.ftmt_scale
 #define        ftt_segment     ftt_mtp.ftmt_segment
 #define        ftt_dest        ftt_mtp.ftmt_dest
+#define ftt_installed  ftt_mtp.ftmt_installed
+#define ftt_retired    ftt_mtp.ftmt_retired
+
 
 #define        FASTTRAP_T_COMMON       0x00    /* common case -- no emulation */
 #define        FASTTRAP_T_JCC          0x01    /* near and far conditional jumps */