Annotation of qemu/softmmu_exec.h, revision 1.1.1.4

1.1       root        1: /* Common softmmu definitions and inline routines.  */
                      2: 
1.1.1.2   root        3: /* XXX: find something cleaner.
                      4:  * Furthermore, this is false for 64 bits targets
                      5:  */
                      6: #define ldul_user       ldl_user
                      7: #define ldul_kernel     ldl_kernel
                      8: #define ldul_hypv       ldl_hypv
                      9: #define ldul_executive  ldl_executive
                     10: #define ldul_supervisor ldl_supervisor
1.1       root       11: 
1.1.1.3   root       12: #include "softmmu_defs.h"
                     13: 
1.1       root       14: #define ACCESS_TYPE 0
1.1.1.2   root       15: #define MEMSUFFIX MMU_MODE0_SUFFIX
1.1       root       16: #define DATA_SIZE 1
                     17: #include "softmmu_header.h"
                     18: 
                     19: #define DATA_SIZE 2
                     20: #include "softmmu_header.h"
                     21: 
                     22: #define DATA_SIZE 4
                     23: #include "softmmu_header.h"
                     24: 
                     25: #define DATA_SIZE 8
                     26: #include "softmmu_header.h"
                     27: #undef ACCESS_TYPE
                     28: #undef MEMSUFFIX
                     29: 
                     30: #define ACCESS_TYPE 1
1.1.1.2   root       31: #define MEMSUFFIX MMU_MODE1_SUFFIX
1.1       root       32: #define DATA_SIZE 1
                     33: #include "softmmu_header.h"
                     34: 
                     35: #define DATA_SIZE 2
                     36: #include "softmmu_header.h"
                     37: 
                     38: #define DATA_SIZE 4
                     39: #include "softmmu_header.h"
                     40: 
                     41: #define DATA_SIZE 8
                     42: #include "softmmu_header.h"
                     43: #undef ACCESS_TYPE
                     44: #undef MEMSUFFIX
                     45: 
1.1.1.2   root       46: #if (NB_MMU_MODES >= 3)
                     47: 
1.1       root       48: #define ACCESS_TYPE 2
1.1.1.2   root       49: #define MEMSUFFIX MMU_MODE2_SUFFIX
                     50: #define DATA_SIZE 1
                     51: #include "softmmu_header.h"
                     52: 
                     53: #define DATA_SIZE 2
                     54: #include "softmmu_header.h"
                     55: 
                     56: #define DATA_SIZE 4
                     57: #include "softmmu_header.h"
                     58: 
                     59: #define DATA_SIZE 8
                     60: #include "softmmu_header.h"
                     61: #undef ACCESS_TYPE
                     62: #undef MEMSUFFIX
1.1.1.4 ! root       63: #endif /* (NB_MMU_MODES >= 3) */
1.1.1.2   root       64: 
                     65: #if (NB_MMU_MODES >= 4)
                     66: 
                     67: #define ACCESS_TYPE 3
                     68: #define MEMSUFFIX MMU_MODE3_SUFFIX
                     69: #define DATA_SIZE 1
                     70: #include "softmmu_header.h"
                     71: 
                     72: #define DATA_SIZE 2
                     73: #include "softmmu_header.h"
                     74: 
                     75: #define DATA_SIZE 4
                     76: #include "softmmu_header.h"
                     77: 
                     78: #define DATA_SIZE 8
                     79: #include "softmmu_header.h"
                     80: #undef ACCESS_TYPE
                     81: #undef MEMSUFFIX
1.1.1.4 ! root       82: #endif /* (NB_MMU_MODES >= 4) */
1.1.1.2   root       83: 
1.1.1.4 ! root       84: #if (NB_MMU_MODES >= 5)
        !            85: 
        !            86: #define ACCESS_TYPE 4
        !            87: #define MEMSUFFIX MMU_MODE4_SUFFIX
        !            88: #define DATA_SIZE 1
        !            89: #include "softmmu_header.h"
        !            90: 
        !            91: #define DATA_SIZE 2
        !            92: #include "softmmu_header.h"
        !            93: 
        !            94: #define DATA_SIZE 4
        !            95: #include "softmmu_header.h"
        !            96: 
        !            97: #define DATA_SIZE 8
        !            98: #include "softmmu_header.h"
        !            99: #undef ACCESS_TYPE
        !           100: #undef MEMSUFFIX
        !           101: #endif /* (NB_MMU_MODES >= 5) */
        !           102: 
        !           103: #if (NB_MMU_MODES > 5)
        !           104: #error "NB_MMU_MODES > 5 is not supported for now"
        !           105: #endif /* (NB_MMU_MODES > 5) */
1.1.1.2   root      106: 
                    107: /* these access are slower, they must be as rare as possible */
                    108: #define ACCESS_TYPE (NB_MMU_MODES)
1.1       root      109: #define MEMSUFFIX _data
                    110: #define DATA_SIZE 1
                    111: #include "softmmu_header.h"
                    112: 
                    113: #define DATA_SIZE 2
                    114: #include "softmmu_header.h"
                    115: 
                    116: #define DATA_SIZE 4
                    117: #include "softmmu_header.h"
                    118: 
                    119: #define DATA_SIZE 8
                    120: #include "softmmu_header.h"
                    121: #undef ACCESS_TYPE
                    122: #undef MEMSUFFIX
                    123: 
                    124: #define ldub(p) ldub_data(p)
                    125: #define ldsb(p) ldsb_data(p)
                    126: #define lduw(p) lduw_data(p)
                    127: #define ldsw(p) ldsw_data(p)
                    128: #define ldl(p) ldl_data(p)
                    129: #define ldq(p) ldq_data(p)
                    130: 
                    131: #define stb(p, v) stb_data(p, v)
                    132: #define stw(p, v) stw_data(p, v)
                    133: #define stl(p, v) stl_data(p, v)
                    134: #define stq(p, v) stq_data(p, v)

unix.superglobalmegacorp.com