Ignore:
Timestamp:
Nov 1, 1999, 12:57:09 AM (26 years ago)
Author:
bird
Message:

Updated option/argument handling.
Corrected a few bugs.

Location:
trunk/src/win32k/dev32
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/dev32/d32hlp.asm

    r1467 r1535  
    1 ; $Id: d32hlp.asm,v 1.2 1999-10-27 02:02:54 bird Exp $
     1; $Id: d32hlp.asm,v 1.3 1999-10-31 23:57:02 bird Exp $
    22;
    33; d32hlp - 32-bit Device Driver Helper Function.
     
    3939CODE32 segment dword public 'CODE' use32
    4040    assume cs:CODE32, ds:flat, ss:nothing, es:nothing
    41 
     41    .386p
    4242
    4343;PVOID  D32HLPCALL D32Hlp_VirtToLin(ULONG  ulPtr16); /* eax */
     
    101101D32Hlp_GetDOSVar proc near
    102102    push    bx
    103 
    104     mov     cx, ax
    105     mov     al, dl
    106 
     103    mov     ecx, edx
    107104    mov     dl, DevHlp_GetDOSVar
    108105    jmp     far ptr CODE16:Thunk16_GetDOSVar
     
    116113
    117114Error:
    118     mov     ax, 87
     115    xor     eax, eax
    119116
    120117Finished:
  • trunk/src/win32k/dev32/d32init.c

    r1467 r1535  
    1 /* $Id: d32init.c,v 1.2 1999-10-27 02:02:54 bird Exp $
     1/* $Id: d32init.c,v 1.3 1999-10-31 23:57:02 bird Exp $
    22 *
    33 * d32init.c - 32-bits init routines.
     
    8989        switch (*pszTmp)
    9090        {
     91            case 'c':
    9192            case 'C': /* -C[1|2] - com-port no, def:-C2 */
    9293                switch (pszTmp[1])
     
    102103                break;
    103104
     105            case 'e':
     106            case 'E':/* ELF */
     107                pszTmp2 = strpbrk(pszTmp, ":=/- ");
     108                if (pszTmp2 != NULL && (int)(pszTmp2-pszTmp) < cch-1
     109                    && (pszTmp2[1] == 'N' ||pszTmp2[1] == 'n' || pszTmp2[1] == 'D' || pszTmp2[1] == 'd')
     110                    )
     111                    options.fElf = FALSE;
     112                else
     113                    options.fElf = TRUE;
     114                break;
     115
     116            case 'l':
    104117            case 'L': /* -L[..]<:|=| >[<Y..|E..| > | <N..|D..>] */
    105118                pszTmp2 = strpbrk(pszTmp, ":=/- ");
     
    112125                break;
    113126
    114 
     127            case 'n':
     128            case 'N': /* NoLoader */
     129                options.fNoLoader = TRUE;
     130                break;
     131
     132            case 'p':
     133            case 'P': /* PE */
     134                pszTmp2 = strpbrk(pszTmp, ":=/- ");
     135                if (pszTmp2 != NULL && (*pszTmp == ':' || *pszTmp == '='))
     136                {
     137                    pszTmp++;
     138                    if (strnicmp(pszTmp, "pe2lx", 5) == 0)
     139                        options.fPE = FLAGS_PE_PE2LX;
     140                    else if (strnicmp(pszTmp, "pe", 2) == 0)
     141                        options.fPE = FLAGS_PE_PE;
     142                    else if (strnicmp(pszTmp, "mixed", 2) == 0)
     143                        options.fPE = FLAGS_PE_MIXED;
     144                    else if (strnicmp(pszTmp, "not", 2) == 0)
     145                        options.fPE = FLAGS_PE_NOT;
     146                    else
     147                        kprintf(("R0Init32: invalid parameter -PE:...\n"));
     148                }
     149                else
     150                    kprintf(("R0Init32: invalid parameter -PE...\n"));
     151                break;
     152
     153            case 'q':
    115154            case 'Q': /* quiet initialization */
    116155                options.fQuiet = TRUE;
    117156                break;
    118157
     158            case 's':
    119159            case 'S': /* SMP kernel */
    120160                options.fKernel = KF_SMP;
    121161                break;
    122162
     163            case 'v':
    123164            case 'V': /* verbose initialization */
    124165                options.fQuiet = FALSE;
    125166                break;
    126167
     168            case 'u':
    127169            case 'U': /* UNI kernel */
    128170                options.fKernel = KF_SMP;
     
    161203     */
    162204    /* heap */
    163     if (heapInit(HEAP_SIZE) != NO_ERROR)
     205    if (heapInit(options.cbHeap) != NO_ERROR)
    164206        return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
    165207
    166208    /* loader */
    167     if (ldrInit() != NO_ERROR)
    168         return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
     209    if (!options.fNoLoader)
     210        if (ldrInit() != NO_ERROR)
     211            return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
    169212
    170213    /* functionoverrides */
    171     if (procInit() != NO_ERROR)
    172         return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
     214    if (!options.fNoLoader)
     215        if (procInit() != NO_ERROR)
     216            return STATUS_DONE | STERR | ERROR_I24_QUIET_INIT_FAIL;
    173217
    174218    return STATUS_DONE;
     
    296340     *  or
    297341     *     push ebp
    298      *     mov ecx, dword ptr [123407452]
     342     *     mov ecx, dword ptr [xxxxxxxx]
    299343     */
    300344
Note: See TracChangeset for help on using the changeset viewer.