- Timestamp:
- Jan 19, 2001, 3:28:53 AM (25 years ago)
- Location:
- trunk/src/win32k
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/win32k/dev16/extract.c
r4787 r4972 1 /* $Id: extract.c,v 1. 3 2000-12-11 06:53:48bird Exp $1 /* $Id: extract.c,v 1.4 2001-01-19 02:27:32 bird Exp $ 2 2 * 3 3 * Description: SymDB entry generator. 4 4 * Builds SymDB entry from one or more symbol files. 5 5 * 6 * Copyright (c) 2000 knut st. osmundsen (knut.stange.osmundsen@mynd.no)6 * Copyright (c) 2000-2001 knut st. osmundsen (knut.stange.osmundsen@mynd.no) 7 7 * 8 8 * Project Odin Software License can be found in LICENSE.TXT … … 82 82 * Dumps writes a KRNLDBENTRY struct to stderr for the given .sym-file. 83 83 * The filesnames are on this format: 84 * nnnn[n]tm .SYM84 * nnnn[n]tm[r].SYM 85 85 * Where: n - are the build number 4 or 5 digits. 86 86 * t - kernel type. R = retail, H = half strict, A = all strict. 87 87 * m - UNI or SMP. U = UNI processor kernel. S = SMP processor kernel. 4 = Warp 4 FP13+ 88 * r - revision letter. Currently only 'A' is supported. 88 89 * @returns NO_ERROR on success. Untracable error code on error. 89 90 * @param pszFilename Pointer to read only filename of the .sym-file. … … 96 97 APIRET rc; 97 98 int cch; 99 int cchNum; 98 100 const char *psz = pszFilename + kstrlen(pszFilename); 99 101 … … 110 112 111 113 /* Filename check */ 112 if (cch < 10 || cch > 11 114 cchNum = psz[0] > '2' ? 4 : 5; /* build number length. */ 115 if (cch < 10 || cch > 12 113 116 || !(psz[0] >= '0' && psz[0] <= '9') 114 117 || !(psz[1] >= '0' && psz[1] <= '9') 115 118 || !(psz[2] >= '0' && psz[2] <= '9') 116 119 || !(psz[3] >= '0' && psz[3] <= '9') 117 || !(psz[cch-7] >= '0' && psz[cch-7] <= '9') 118 || !(psz[cch-6] == 'A' || psz[cch-6] == 'H' || psz[cch-6] == 'R') 119 || !(psz[cch-5] == 'S' || psz[cch-5] == 'U' || psz[cch-5] == '4') 120 || !(cchNum == 4 || (psz[4] >= '0' && psz[4] <= '9')) 121 || !(psz[cchNum] == 'A' || psz[cchNum] == 'H' || psz[cchNum] == 'R') 122 || !(psz[cchNum+1] == 'S' || psz[cchNum+1] == 'U' || psz[cchNum+1] == '4') 123 /* || !(cch != 12 || psz[cchNum+2] == 'A') */ 120 124 ) 121 125 { … … 142 146 * is enclaved within an "#ifdef ALLKERNELS ... #endif". 143 147 */ 144 if (psz[cch -6] != 'R')148 if (psz[cchNum] != 'R') 145 149 printf16("#ifdef ALLKERNELS\n"); 146 150 … … 148 152 " %.*s, ", 149 153 psz, 150 cch - 6, &psz[0] /* build number */154 cchNum, &psz[0] /* build number */ 151 155 ); 152 156 153 switch (psz[cch - 5])157 switch (psz[cchNum + 1]) 154 158 { 155 159 case 'S': printf16("KF_SMP"); break; … … 157 161 case 'U': printf16("KF_UNI"); break; 158 162 } 159 switch (psz[cch - 6])163 switch (psz[cchNum]) 160 164 { 161 165 case 'A': printf16(" | KF_ALLSTRICT"); break; 162 166 case 'H': printf16(" | KF_HALFSTRICT"); break; 163 167 } 168 if (psz[cchNum + 2] == 'A') 169 printf16(" | KF_REV_A"); 170 164 171 printf16(", %d,\n" 165 172 " {\n", … … 183 190 * is enclaved within an "#ifdef ALLKERNELS ... #endif". 184 191 */ 185 if (psz[cch -6] != 'R')192 if (psz[cchNum] != 'R') 186 193 printf16("#endif\n"); 187 194 } … … 245 252 int i; 246 253 247 printf16("/* $Id: extract.c,v 1. 3 2000-12-11 06:53:48bird Exp $\n"254 printf16("/* $Id: extract.c,v 1.4 2001-01-19 02:27:32 bird Exp $\n" 248 255 "*\n" 249 256 "* Autogenerated kernel symbol database.\n" -
trunk/src/win32k/dev32/d32init.c
r4828 r4972 1 /* $Id: d32init.c,v 1.2 8 2000-12-17 22:45:50bird Exp $1 /* $Id: d32init.c,v 1.29 2001-01-19 02:28:07 bird Exp $ 2 2 * 3 3 * d32init.c - 32-bits init routines. … … 335 335 kprintf(("\tCom port no.%03xh\n", options.usCom)); 336 336 337 kprintf(("\tKernel: v%d.%d build %d 337 kprintf(("\tKernel: v%d.%d build %d%c type ", 338 338 options.usVerMajor, 339 339 options.usVerMinor, 340 options.ulBuild)); 340 options.ulBuild, 341 (options.fKernel & KF_REV_MASK) 342 ? ((options.fKernel & KF_REV_MASK) >> KF_REV_SHIFT) + 'a'-1 343 : ' ' 344 )); 341 345 if (options.fKernel & KF_SMP) 342 346 kprintf(("SMP ")); … … 546 550 if ( !(pKrnlInfo->ulBuild >= 8254 && pKrnlInfo->ulBuild < 8383) /* Warp 3 fp 32 -> fp 60 */ 547 551 && !(pKrnlInfo->ulBuild >= 9023 && pKrnlInfo->ulBuild <= 9036) /* Warp 4 GA -> fp 12 */ 548 && !(pKrnlInfo->ulBuild >= 14039 && pKrnlInfo->ulBuild < 14 080) /* Warp 4.5 GA -> fp 40 */552 && !(pKrnlInfo->ulBuild >= 14039 && pKrnlInfo->ulBuild < 14100) /* Warp 4.5 GA -> fp 40 */ 549 553 && !(pKrnlInfo->ulBuild >= 6600 && pKrnlInfo->ulBuild <= 6678) /* Warp 2.1x fix?? (just for fun!) */ 550 554 ) … … 555 559 } 556 560 561 /* Check for any revision flag */ 562 pKrnlInfo->fKernel = 0; 563 if (*psz == 'A' || *psz == 'a') 564 { 565 pKrnlInfo->fKernel = (*psz - (*psz >= 'a' ? 'a'-1 : 'A'-1)) << KF_REV_SHIFT; 566 psz++; 567 } 568 if (*psz == 'F' || *psz == 'f' || *psz == ',') /* These are ignored! */ 569 *psz++; 570 557 571 /* If this is an Aurora/Warp 4.5 or Warp 3 kernel there is more info! */ 558 if ((psz[0] != ',' && psz[1] == '_' && (psz[2] == 'S' || psz[2] == 's')) /* F_SMP */ 559 || (psz[0] == '_' && (psz[1] == 'S' || psz[1] == 's')) /* _SMP */ 560 ) 561 pKrnlInfo->fKernel = KF_SMP; 572 if (psz[0] == '_' && (psz[1] == 'S' || psz[1] == 's')) /* _SMP */ 573 pKrnlInfo->fKernel |= KF_SMP; 562 574 else 563 575 if (*psz != ',' 564 576 && ( (psz[0] == '_' && psz[1] == 'W' && psz[2] == '4') /* _W4 */ 565 || (psz[1] == '_' && psz[2] == 'W' && psz[3] == '4') /* A_W4 */566 577 || (psz[0] == '_' && psz[1] == 'U' && psz[2] == 'N' && psz[3] == 'I' && psz[4] == '4') /* _UNI4 */ 567 || (psz[1] == '_' && psz[2] == 'U' && psz[3] == 'N' && psz[4] == 'I' && psz[5] == '4') /* A_UNI4 */568 578 ) 569 579 ) 570 pKrnlInfo->fKernel = KF_W4 | KF_UNI;580 pKrnlInfo->fKernel |= KF_W4 | KF_UNI; 571 581 else 572 pKrnlInfo->fKernel = KF_UNI;582 pKrnlInfo->fKernel |= KF_UNI; 573 583 574 584 … … 592 602 593 603 /* Display info */ 594 kprintf(("GetKernelInfo32: info summary: Build %d, fKernel= %d\n",604 kprintf(("GetKernelInfo32: info summary: Build %d, fKernel=0x%x\n", 595 605 pKrnlInfo->ulBuild, pKrnlInfo->fKernel)); 596 606 -
trunk/src/win32k/include/options.h
r4880 r4972 1 /* $Id: options.h,v 1.1 5 2001-01-08 18:05:26bird Exp $1 /* $Id: options.h,v 1.16 2001-01-19 02:28:53 bird Exp $ 2 2 * 3 3 * Options. … … 21 21 #define KF_SMP 0x0001 22 22 #define KF_W4 0x0002 23 #define KF_REV_MASK 0x0FF0 24 #define KF_REV_SHIFT 4 25 #define KF_REV_0 0x0000 26 #define KF_REV_A 0x0010 27 #define KF_REV_B 0x0020 28 #define KF_REV_C 0x0030 29 #define KF_REV_ECS 0x0040 23 30 #define KF_DEBUG 0x1000 24 31 #define KF_HAS_DEBUGTYPE 0x2000 -
trunk/src/win32k/test/TestKernels.cmd
r4164 r4972 1 /* $Id: TestKernels.cmd,v 1. 2 2000-09-02 21:08:18bird Exp $1 /* $Id: TestKernels.cmd,v 1.3 2001-01-19 02:28:33 bird Exp $ 2 2 * 3 3 * This script loops thru a set of different kernels running testcase 1. … … 54 54 iterate 55 55 56 iBuild = substr(sName, 1, length(sName) - 2); 57 chBuildType = substr(sName, length(sName) - 1, 1); 58 chKernelType = substr(sName, length(sName), 1); 56 if (substr(sName, 5, 1) <= '9') then cchBuild = 5; 57 else cchBuild = 4; 58 iBuild = substr(sName, 1, cchBuild); 59 chBuildType = substr(sName, cchBuild + 1, 1); 60 chKernelType = substr(sName, cchBuild + 2, 1); 61 chRev = substr(sName, cchBuild + 3, 1); 59 62 60 63 /* … … 108 111 say 'Processing' asFiles.i'....'; 109 112 if (chBuildType = 'R') then 110 'win32ktst.exe 1' asFiles.i iVerMajor iVerMinor iBuild chKernelType chBuildType;113 sCmd = 'win32ktst.exe 1' asFiles.i iVerMajor iVerMinor iBuild chKernelType chBuildType chRev ; 111 114 else 112 'win32ktst.exe 1' asFiles.i iVerMajor iVerMinor iBuild chKernelType chBuildType asFiles.i||'.SYM'; 115 sCmd = 'win32ktst.exe 1' asFiles.i iVerMajor iVerMinor iBuild chKernelType chBuildType chRev asFiles.i||'.SYM'; 116 say sCmd; 117 sCmd; 113 118 if (rc <> 0) then 114 119 do -
trunk/src/win32k/test/win32ktst.c
r4810 r4972 1 /* $Id: win32ktst.c,v 1. 5 2000-12-16 23:03:32bird Exp $1 /* $Id: win32ktst.c,v 1.6 2001-01-19 02:28:33 bird Exp $ 2 2 * 3 3 * Win32k test module. … … 598 598 * Checks that default initiation works fine for a given kernel. 599 599 * 600 * Syntax: win32ktst.exe 1 <os2krnl> <majorver> <minorver> <build> <kerneltype: S|U|4> <buildtype: A|H|R> [ os2krnl.sym]600 * Syntax: win32ktst.exe 1 <os2krnl> <majorver> <minorver> <build> <kerneltype: S|U|4> <buildtype: A|H|R> [rev] [os2krnl.sym] 601 601 * 602 602 * @sketch Create init packet with no arguments. … … 616 616 617 617 /* verify argument count */ 618 if (argc < 8 || argc > 9)618 if (argc < 8 || argc > 10) 619 619 { 620 620 printf("Invalid parameter count for testcase 1.\n"); … … 628 628 /* make init string */ 629 629 strcpy(szInitArgs, "-w3"); 630 if (argc >= 9 )631 strcat(strcat(szInitArgs, " -S:"), argv[ 8]);630 if (argc >= 9 && argv[argc-1][1] != '\0') 631 strcat(strcat(szInitArgs, " -S:"), argv[argc-1]); 632 632 633 633 /* $elf */ … … 647 647 opt.fKernel = (argv[6][0] == 'S' ? KF_SMP : (argv[6][0] == '4' ? KF_W4 | KF_UNI : KF_UNI)) 648 648 | (argv[7][0] == 'A' || argv[7][0] == 'H' ? KF_DEBUG : 0); 649 if (argc >= 9 && argv[8][1] == '\0') 650 switch (argv[8][0]) 651 { 652 case 'a': case 'A': opt.fKernel |= KF_REV_A; break; 653 case 'b': case 'B': opt.fKernel |= KF_REV_B; break; 654 case 'c': case 'C': opt.fKernel |= KF_REV_C; break; 655 default: 656 opt.fKernel = (argv[8][0] - (argv[8][0] >= 'a' ? 'a'-1 : 'A'-1)) << KF_REV_SHIFT; 657 } 649 658 opt.ulBuild = atoi(argv[5]); 650 659 opt.usVerMajor = (USHORT)atoi(argv[3]); … … 912 921 { 913 922 if (options.fKernel != pOpt->fKernel) 914 printf("fKernel = % d - should be %d\n", options.fKernel, pOpt->fKernel, rc++);923 printf("fKernel = %x - should be %x\n", options.fKernel, pOpt->fKernel, rc++); 915 924 if (options.ulBuild != pOpt->ulBuild) 916 925 printf("ulBuild = %d - should be %d\n", options.ulBuild, pOpt->ulBuild, rc++);
Note:
See TracChangeset
for help on using the changeset viewer.