File:  [Qemu by Fabrice Bellard] / qemu / target-i386 / helper.h
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:41:18 2018 UTC (2 years, 3 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1001, qemu1000, qemu0151, qemu0150, qemu0141, qemu0140, qemu0130, qemu0125, qemu0124, qemu0123, qemu0122, qemu0121, qemu0120, HEAD
qemu 0.12.0

    1: #include "def-helper.h"
    2: 
    3: DEF_HELPER_FLAGS_1(cc_compute_all, TCG_CALL_PURE, i32, int)
    4: DEF_HELPER_FLAGS_1(cc_compute_c, TCG_CALL_PURE, i32, int)
    5: 
    6: DEF_HELPER_0(lock, void)
    7: DEF_HELPER_0(unlock, void)
    8: DEF_HELPER_2(write_eflags, void, tl, i32)
    9: DEF_HELPER_0(read_eflags, tl)
   10: DEF_HELPER_1(divb_AL, void, tl)
   11: DEF_HELPER_1(idivb_AL, void, tl)
   12: DEF_HELPER_1(divw_AX, void, tl)
   13: DEF_HELPER_1(idivw_AX, void, tl)
   14: DEF_HELPER_1(divl_EAX, void, tl)
   15: DEF_HELPER_1(idivl_EAX, void, tl)
   16: #ifdef TARGET_X86_64
   17: DEF_HELPER_1(mulq_EAX_T0, void, tl)
   18: DEF_HELPER_1(imulq_EAX_T0, void, tl)
   19: DEF_HELPER_2(imulq_T0_T1, tl, tl, tl)
   20: DEF_HELPER_1(divq_EAX, void, tl)
   21: DEF_HELPER_1(idivq_EAX, void, tl)
   22: #endif
   23: 
   24: DEF_HELPER_1(aam, void, int)
   25: DEF_HELPER_1(aad, void, int)
   26: DEF_HELPER_0(aaa, void)
   27: DEF_HELPER_0(aas, void)
   28: DEF_HELPER_0(daa, void)
   29: DEF_HELPER_0(das, void)
   30: 
   31: DEF_HELPER_1(lsl, tl, tl)
   32: DEF_HELPER_1(lar, tl, tl)
   33: DEF_HELPER_1(verr, void, tl)
   34: DEF_HELPER_1(verw, void, tl)
   35: DEF_HELPER_1(lldt, void, int)
   36: DEF_HELPER_1(ltr, void, int)
   37: DEF_HELPER_2(load_seg, void, int, int)
   38: DEF_HELPER_3(ljmp_protected, void, int, tl, int)
   39: DEF_HELPER_4(lcall_real, void, int, tl, int, int)
   40: DEF_HELPER_4(lcall_protected, void, int, tl, int, int)
   41: DEF_HELPER_1(iret_real, void, int)
   42: DEF_HELPER_2(iret_protected, void, int, int)
   43: DEF_HELPER_2(lret_protected, void, int, int)
   44: DEF_HELPER_1(read_crN, tl, int)
   45: DEF_HELPER_2(write_crN, void, int, tl)
   46: DEF_HELPER_1(lmsw, void, tl)
   47: DEF_HELPER_0(clts, void)
   48: DEF_HELPER_2(movl_drN_T0, void, int, tl)
   49: DEF_HELPER_1(invlpg, void, tl)
   50: 
   51: DEF_HELPER_3(enter_level, void, int, int, tl)
   52: #ifdef TARGET_X86_64
   53: DEF_HELPER_3(enter64_level, void, int, int, tl)
   54: #endif
   55: DEF_HELPER_0(sysenter, void)
   56: DEF_HELPER_1(sysexit, void, int)
   57: #ifdef TARGET_X86_64
   58: DEF_HELPER_1(syscall, void, int)
   59: DEF_HELPER_1(sysret, void, int)
   60: #endif
   61: DEF_HELPER_1(hlt, void, int)
   62: DEF_HELPER_1(monitor, void, tl)
   63: DEF_HELPER_1(mwait, void, int)
   64: DEF_HELPER_0(debug, void)
   65: DEF_HELPER_0(reset_rf, void)
   66: DEF_HELPER_2(raise_interrupt, void, int, int)
   67: DEF_HELPER_1(raise_exception, void, int)
   68: DEF_HELPER_0(cli, void)
   69: DEF_HELPER_0(sti, void)
   70: DEF_HELPER_0(set_inhibit_irq, void)
   71: DEF_HELPER_0(reset_inhibit_irq, void)
   72: DEF_HELPER_2(boundw, void, tl, int)
   73: DEF_HELPER_2(boundl, void, tl, int)
   74: DEF_HELPER_0(rsm, void)
   75: DEF_HELPER_1(into, void, int)
   76: DEF_HELPER_1(cmpxchg8b, void, tl)
   77: #ifdef TARGET_X86_64
   78: DEF_HELPER_1(cmpxchg16b, void, tl)
   79: #endif
   80: DEF_HELPER_0(single_step, void)
   81: DEF_HELPER_0(cpuid, void)
   82: DEF_HELPER_0(rdtsc, void)
   83: DEF_HELPER_0(rdtscp, void)
   84: DEF_HELPER_0(rdpmc, void)
   85: DEF_HELPER_0(rdmsr, void)
   86: DEF_HELPER_0(wrmsr, void)
   87: 
   88: DEF_HELPER_1(check_iob, void, i32)
   89: DEF_HELPER_1(check_iow, void, i32)
   90: DEF_HELPER_1(check_iol, void, i32)
   91: DEF_HELPER_2(outb, void, i32, i32)
   92: DEF_HELPER_1(inb, tl, i32)
   93: DEF_HELPER_2(outw, void, i32, i32)
   94: DEF_HELPER_1(inw, tl, i32)
   95: DEF_HELPER_2(outl, void, i32, i32)
   96: DEF_HELPER_1(inl, tl, i32)
   97: 
   98: DEF_HELPER_2(svm_check_intercept_param, void, i32, i64)
   99: DEF_HELPER_2(vmexit, void, i32, i64)
  100: DEF_HELPER_3(svm_check_io, void, i32, i32, i32)
  101: DEF_HELPER_2(vmrun, void, int, int)
  102: DEF_HELPER_0(vmmcall, void)
  103: DEF_HELPER_1(vmload, void, int)
  104: DEF_HELPER_1(vmsave, void, int)
  105: DEF_HELPER_0(stgi, void)
  106: DEF_HELPER_0(clgi, void)
  107: DEF_HELPER_0(skinit, void)
  108: DEF_HELPER_1(invlpga, void, int)
  109: 
  110: /* x86 FPU */
  111: 
  112: DEF_HELPER_1(flds_FT0, void, i32)
  113: DEF_HELPER_1(fldl_FT0, void, i64)
  114: DEF_HELPER_1(fildl_FT0, void, s32)
  115: DEF_HELPER_1(flds_ST0, void, i32)
  116: DEF_HELPER_1(fldl_ST0, void, i64)
  117: DEF_HELPER_1(fildl_ST0, void, s32)
  118: DEF_HELPER_1(fildll_ST0, void, s64)
  119: DEF_HELPER_0(fsts_ST0, i32)
  120: DEF_HELPER_0(fstl_ST0, i64)
  121: DEF_HELPER_0(fist_ST0, s32)
  122: DEF_HELPER_0(fistl_ST0, s32)
  123: DEF_HELPER_0(fistll_ST0, s64)
  124: DEF_HELPER_0(fistt_ST0, s32)
  125: DEF_HELPER_0(fisttl_ST0, s32)
  126: DEF_HELPER_0(fisttll_ST0, s64)
  127: DEF_HELPER_1(fldt_ST0, void, tl)
  128: DEF_HELPER_1(fstt_ST0, void, tl)
  129: DEF_HELPER_0(fpush, void)
  130: DEF_HELPER_0(fpop, void)
  131: DEF_HELPER_0(fdecstp, void)
  132: DEF_HELPER_0(fincstp, void)
  133: DEF_HELPER_1(ffree_STN, void, int)
  134: DEF_HELPER_0(fmov_ST0_FT0, void)
  135: DEF_HELPER_1(fmov_FT0_STN, void, int)
  136: DEF_HELPER_1(fmov_ST0_STN, void, int)
  137: DEF_HELPER_1(fmov_STN_ST0, void, int)
  138: DEF_HELPER_1(fxchg_ST0_STN, void, int)
  139: DEF_HELPER_0(fcom_ST0_FT0, void)
  140: DEF_HELPER_0(fucom_ST0_FT0, void)
  141: DEF_HELPER_0(fcomi_ST0_FT0, void)
  142: DEF_HELPER_0(fucomi_ST0_FT0, void)
  143: DEF_HELPER_0(fadd_ST0_FT0, void)
  144: DEF_HELPER_0(fmul_ST0_FT0, void)
  145: DEF_HELPER_0(fsub_ST0_FT0, void)
  146: DEF_HELPER_0(fsubr_ST0_FT0, void)
  147: DEF_HELPER_0(fdiv_ST0_FT0, void)
  148: DEF_HELPER_0(fdivr_ST0_FT0, void)
  149: DEF_HELPER_1(fadd_STN_ST0, void, int)
  150: DEF_HELPER_1(fmul_STN_ST0, void, int)
  151: DEF_HELPER_1(fsub_STN_ST0, void, int)
  152: DEF_HELPER_1(fsubr_STN_ST0, void, int)
  153: DEF_HELPER_1(fdiv_STN_ST0, void, int)
  154: DEF_HELPER_1(fdivr_STN_ST0, void, int)
  155: DEF_HELPER_0(fchs_ST0, void)
  156: DEF_HELPER_0(fabs_ST0, void)
  157: DEF_HELPER_0(fxam_ST0, void)
  158: DEF_HELPER_0(fld1_ST0, void)
  159: DEF_HELPER_0(fldl2t_ST0, void)
  160: DEF_HELPER_0(fldl2e_ST0, void)
  161: DEF_HELPER_0(fldpi_ST0, void)
  162: DEF_HELPER_0(fldlg2_ST0, void)
  163: DEF_HELPER_0(fldln2_ST0, void)
  164: DEF_HELPER_0(fldz_ST0, void)
  165: DEF_HELPER_0(fldz_FT0, void)
  166: DEF_HELPER_0(fnstsw, i32)
  167: DEF_HELPER_0(fnstcw, i32)
  168: DEF_HELPER_1(fldcw, void, i32)
  169: DEF_HELPER_0(fclex, void)
  170: DEF_HELPER_0(fwait, void)
  171: DEF_HELPER_0(fninit, void)
  172: DEF_HELPER_1(fbld_ST0, void, tl)
  173: DEF_HELPER_1(fbst_ST0, void, tl)
  174: DEF_HELPER_0(f2xm1, void)
  175: DEF_HELPER_0(fyl2x, void)
  176: DEF_HELPER_0(fptan, void)
  177: DEF_HELPER_0(fpatan, void)
  178: DEF_HELPER_0(fxtract, void)
  179: DEF_HELPER_0(fprem1, void)
  180: DEF_HELPER_0(fprem, void)
  181: DEF_HELPER_0(fyl2xp1, void)
  182: DEF_HELPER_0(fsqrt, void)
  183: DEF_HELPER_0(fsincos, void)
  184: DEF_HELPER_0(frndint, void)
  185: DEF_HELPER_0(fscale, void)
  186: DEF_HELPER_0(fsin, void)
  187: DEF_HELPER_0(fcos, void)
  188: DEF_HELPER_2(fstenv, void, tl, int)
  189: DEF_HELPER_2(fldenv, void, tl, int)
  190: DEF_HELPER_2(fsave, void, tl, int)
  191: DEF_HELPER_2(frstor, void, tl, int)
  192: DEF_HELPER_2(fxsave, void, tl, int)
  193: DEF_HELPER_2(fxrstor, void, tl, int)
  194: DEF_HELPER_1(bsf, tl, tl)
  195: DEF_HELPER_1(bsr, tl, tl)
  196: DEF_HELPER_2(lzcnt, tl, tl, int)
  197: 
  198: /* MMX/SSE */
  199: 
  200: DEF_HELPER_0(enter_mmx, void)
  201: DEF_HELPER_0(emms, void)
  202: DEF_HELPER_2(movq, void, ptr, ptr)
  203: 
  204: #define SHIFT 0
  205: #include "ops_sse_header.h"
  206: #define SHIFT 1
  207: #include "ops_sse_header.h"
  208: 
  209: DEF_HELPER_2(rclb, tl, tl, tl)
  210: DEF_HELPER_2(rclw, tl, tl, tl)
  211: DEF_HELPER_2(rcll, tl, tl, tl)
  212: DEF_HELPER_2(rcrb, tl, tl, tl)
  213: DEF_HELPER_2(rcrw, tl, tl, tl)
  214: DEF_HELPER_2(rcrl, tl, tl, tl)
  215: #ifdef TARGET_X86_64
  216: DEF_HELPER_2(rclq, tl, tl, tl)
  217: DEF_HELPER_2(rcrq, tl, tl, tl)
  218: #endif
  219: 
  220: #include "def-helper.h"

unix.superglobalmegacorp.com