Changeset 4072 for branches/GRACE/src
- Timestamp:
- Aug 23, 2000, 6:23:33 AM (25 years ago)
- 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:04bird Exp $1 /* $Id: d32init.c,v 1.19.4.10 2000-08-23 04:23:33 bird Exp $ 2 2 * 3 3 * d32init.c - 32-bits init routines. … … 89 89 /* extern(s) located in mytkExecPgm.asm */ 90 90 extern char mytkExecPgm; 91 extern char mytkStartProcess; 91 92 92 93 … … 677 678 * <anything> 678 679 * or 680 * xor r32, r/m32 681 * or 679 682 * mov eax, msoff32 680 683 * … … 696 699 (pach[0] == 0xB8 && !fOverload) /* the next prolog */ 697 700 || 701 (pach[0] == 0x33 && !fOverload) /* the next prolog */ 702 || 698 703 (pach[0] == 0xa1 && !fOverload) /* last prolog */ 699 704 ) 700 705 { 701 BOOL fForce; 706 BOOL fForce = FALSE; 707 int cbWord = 4; 702 708 cb = 0; 703 709 while (cb < 5 || fForce) /* 5 is the size of a jump instruction. */ 704 710 { 705 711 int cb2; 712 if (!fForce && cbWord != 4) 713 cbWord = 4; 706 714 fForce = FALSE; 707 715 switch (*pach) … … 715 723 case 0x65: /* gs segment override */ 716 724 fForce = TRUE; 725 break; 726 727 case 0x66: /* 16 bit */ 728 fForce = TRUE; 729 cbWord = 2; 717 730 break; 718 731 … … 762 775 case 0xa1: /* mov eax, moffs16 */ 763 776 case 0xa3: /* mov moffs16, eax */ 764 pach += 4;765 cb += 4;777 pach += cbWord; 778 cb += cbWord; 766 779 break; 767 780 … … 808 821 ) 809 822 { 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 */ 811 824 pach += cb2; 812 825 } … … 832 845 */ 833 846 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 */ 835 848 pach += cb2; 836 849 break; … … 1139 1152 0, /* 12 */ 1140 1153 (unsigned)&mytkExecPgm, /* 13 */ 1141 0,/* 14 */1154 (unsigned)&mytkStartProcess, /* 14 */ 1142 1155 0, /* 15 */ 1143 1156 0, /* 16 */ 1144 1157 0, /* 17 */ 1145 (unsigned)myldrOpenPath,/* 18 */1158 0, /* 18 */ 1146 1159 0, /* 19 */ 1147 0,/* 20 */1160 (unsigned)myldrOpenPath, /* 20 */ 1148 1161 0, /* 21 */ 1149 1162 0, /* 22 */ … … 1156 1169 0, /* 29 */ 1157 1170 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 */ 1159 1180 }; 1160 1181 int i; … … 1421 1442 {(unsigned)fakeVMGetOwner, 1}, 1422 1443 {(unsigned)fakeg_tkExecPgm, 1}, 1444 {(unsigned)fake_tkStartProcess, 1}, 1423 1445 {(unsigned)fakef_FuStrLenZ, 2}, 1424 1446 {(unsigned)fakef_FuStrLen, 2}, 1425 1447 {(unsigned)fakef_FuBuff, 2}, 1426 1448 {(unsigned)fakeVMObjHandleInfo, 1}, 1449 {(unsigned)fakeldrASMpMTEFromHandle,1}, 1427 1450 {(unsigned)fakeldrOpenPath, 1}, 1428 1451 {(unsigned)fakeLDRClearSem, 1}, 1452 {(unsigned)fakeldrFindModule, 1}, 1429 1453 {(unsigned)fakeKSEMRequestMutex, 1}, 1430 1454 {(unsigned)fakeKSEMReleaseMutex, 1}, 1455 {(unsigned)fakeKSEMQueryMutex, 1}, 1456 {(unsigned)fakeKSEMInit, 1}, 1431 1457 {(unsigned)&fakeLDRSem, 3}, 1458 {(unsigned)&fakeLDRLibPath, 3}, 1432 1459 {(unsigned)fakeTKSuBuff, 1}, 1433 1460 {(unsigned)fakeTKFuBuff, 1}, … … 1438 1465 {(unsigned)&fakeptda_start, 4}, 1439 1466 {(unsigned)&fakeptda_environ, 4}, 1440 {(unsigned)&fakeptda_module, 4} 1467 {(unsigned)&fakeptda_module, 4}, 1468 {(unsigned)&fakeptda_module, 4}, 1469 {(unsigned)&fakeldrpFileNameBuf, 3} 1441 1470 }; 1442 1471 int i;
Note:
See TracChangeset
for help on using the changeset viewer.