Changeset 4072 for branches/GRACE/src


Ignore:
Timestamp:
Aug 23, 2000, 6:23:33 AM (25 years ago)
Author:
bird
Message:

New Imports. Corrections.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GRACE/src/win32k/dev32/d32init.c

    r4046 r4072  
    1 /* $Id: d32init.c,v 1.19.4.6 2000-08-19 14:37:04 bird Exp $
     1/* $Id: d32init.c,v 1.19.4.10 2000-08-23 04:23:33 bird Exp $
    22 *
    33 * d32init.c - 32-bits init routines.
     
    8989/* extern(s) located in mytkExecPgm.asm  */
    9090extern char     mytkExecPgm;
     91extern char     mytkStartProcess;
    9192
    9293
     
    677678     *     <anything>
    678679     *  or
     680     *     xor r32, r/m32
     681     *  or
    679682     *     mov eax, msoff32
    680683     *
     
    696699        (pach[0] == 0xB8 && !fOverload) /* the next prolog */
    697700        ||
     701        (pach[0] == 0x33 && !fOverload) /* the next prolog */
     702        ||
    698703        (pach[0] == 0xa1 && !fOverload) /* last prolog */
    699704        )
    700705    {
    701         BOOL fForce;
     706        BOOL fForce = FALSE;
     707        int  cbWord = 4;
    702708        cb = 0;
    703709        while (cb < 5 || fForce)                  /* 5 is the size of a jump instruction. */
    704710        {
    705711            int cb2;
     712            if (!fForce && cbWord != 4)
     713                cbWord = 4;
    706714            fForce = FALSE;
    707715            switch (*pach)
     
    715723                case 0x65:              /* gs segment override */
    716724                    fForce = TRUE;
     725                    break;
     726
     727                case 0x66:              /* 16 bit */
     728                    fForce = TRUE;
     729                    cbWord = 2;
    717730                    break;
    718731
     
    762775                case 0xa1:              /* mov eax, moffs16 */
    763776                case 0xa3:              /* mov moffs16, eax */
    764                     pach += 4;
    765                     cb += 4;
     777                    pach += cbWord;
     778                    cb += cbWord;
    766779                    break;
    767780
     
    808821                        )
    809822                    {
    810                         cb += cb2 = 4 + ModR_M_32bit(pach[1]); /* 4 is the size of the imm32 */
     823                        cb += cb2 = cbWord + ModR_M_32bit(pach[1]); /* cbWord is the size of the imm32/imm16 */
    811824                        pach += cb2;
    812825                    }
     
    832845                 */
    833846                case 0xff:
    834                     cb += cb2 = 4 + ModR_M_32bit(pach[1]); /* 4 is the size of the imm32 */
     847                    cb += cb2 = cbWord + ModR_M_32bit(pach[1]); /* cbWord is the size of the imm32/imm16 */
    835848                    pach += cb2;
    836849                    break;
     
    11391152        0,                              /* 12 */
    11401153        (unsigned)&mytkExecPgm,         /* 13 */
    1141         0,                              /* 14 */
     1154        (unsigned)&mytkStartProcess,    /* 14 */
    11421155        0,                              /* 15 */
    11431156        0,                              /* 16 */
    11441157        0,                              /* 17 */
    1145         (unsigned)myldrOpenPath,        /* 18 */
     1158        0,                              /* 18 */
    11461159        0,                              /* 19 */
    1147         0,                              /* 20 */
     1160        (unsigned)myldrOpenPath,        /* 20 */
    11481161        0,                              /* 21 */
    11491162        0,                              /* 22 */
     
    11561169        0,                              /* 29 */
    11571170        0,                              /* 30 */
    1158         0                               /* 31 */
     1171        0,                              /* 31 */
     1172        0,                              /* 32 */
     1173        0,                              /* 33 */
     1174        0,                              /* 34 */
     1175        0,                              /* 35 */
     1176        0,                              /* 36 */
     1177        0,                              /* 37 */
     1178        0,                              /* 38 */
     1179        0                               /* 39 */
    11591180    };
    11601181    int i;
     
    14211442        {(unsigned)fakeVMGetOwner,          1},
    14221443        {(unsigned)fakeg_tkExecPgm,         1},
     1444        {(unsigned)fake_tkStartProcess,     1},
    14231445        {(unsigned)fakef_FuStrLenZ,         2},
    14241446        {(unsigned)fakef_FuStrLen,          2},
    14251447        {(unsigned)fakef_FuBuff,            2},
    14261448        {(unsigned)fakeVMObjHandleInfo,     1},
     1449        {(unsigned)fakeldrASMpMTEFromHandle,1},
    14271450        {(unsigned)fakeldrOpenPath,         1},
    14281451        {(unsigned)fakeLDRClearSem,         1},
     1452        {(unsigned)fakeldrFindModule,       1},
    14291453        {(unsigned)fakeKSEMRequestMutex,    1},
    14301454        {(unsigned)fakeKSEMReleaseMutex,    1},
     1455        {(unsigned)fakeKSEMQueryMutex,      1},
     1456        {(unsigned)fakeKSEMInit,            1},
    14311457        {(unsigned)&fakeLDRSem,             3},
     1458        {(unsigned)&fakeLDRLibPath,         3},
    14321459        {(unsigned)fakeTKSuBuff,            1},
    14331460        {(unsigned)fakeTKFuBuff,            1},
     
    14381465        {(unsigned)&fakeptda_start,         4},
    14391466        {(unsigned)&fakeptda_environ,       4},
    1440         {(unsigned)&fakeptda_module,        4}
     1467        {(unsigned)&fakeptda_module,        4},
     1468        {(unsigned)&fakeptda_module,        4},
     1469        {(unsigned)&fakeldrpFileNameBuf,    3}
    14411470    };
    14421471    int i;
Note: See TracChangeset for help on using the changeset viewer.