Ignore:
Timestamp:
Feb 23, 2001, 3:57:55 AM (25 years ago)
Author:
bird
Message:

Calltable fixes. Handle event. New 14062e kernels.

File:
1 edited

Legend:

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

    r5224 r5247  
    1 ; $Id: d32CallGate.asm,v 1.2 2001-02-21 07:44:57 bird Exp $
     1; $Id: d32CallGate.asm,v 1.3 2001-02-23 02:57:53 bird Exp $
    22;
    33; 32-bit CallGate used to communitcate fast between Ring-3 and Ring-0.
     
    5050    extrn  k32SetOptions:near
    5151    extrn  k32ProcessReadWrite:near
    52     ;extrn  k32HandleSystemEvent:near
     52    extrn  k32HandleSystemEvent:near
    5353    extrn  k32QuerySystemMemInfo:near
    5454    extrn  k32QueryCallGate:near
     
    9696    dd  FLAT:k32SetOptions              ; K32_SETOPTIONS          0x04
    9797    dd  FLAT:k32ProcessReadWrite        ; K32_PROCESSREADWRITE    0x05
    98     ;dd  FLAT:k32HandleSystemEvent       ; K32_HANDLESYSTEMEVENT   0x06
    99     dd  FLAT:k32APIStub
     98    dd  FLAT:k32HandleSystemEvent       ; K32_HANDLESYSTEMEVENT   0x06
    10099    dd  FLAT:k32QuerySystemMemInfo      ; K32_QUERYSYSTEMMEMINFO  0x07
    101100    dd  FLAT:k32QueryCallGate           ; K32_QUERYCALLGATE       0x08
     
    257256    mov     eax, [esp + 44h]            ; ulFunctionCode (parameter 2)
    258257    sub     esp, 8h                     ; (Even when using _Oplink we have to reserve space for parameters.)
    259     call    Win32kAPIRouter             ; This is my Ring-0 api. (d32Win32kIOCtl.c)
     258    call    Win32kAPIRouter             ; This is my Ring-0 api router.
    260259    add     esp, 8h
    261260
     
    287286    ; Validate function number.
    288287    ;
    289     cmp     eax, 0
    290     jne     APIR_notnull                ; This code should be faster (though it may look stupid to
     288    test    eax,eax
     289    jnz     APIR_notnull                ; This code should be faster (though it may look stupid to
    291290                                        ; jump around like this). IIRC branch prediction allways
    292291                                        ; takes a branch. And btw there are 4 NOPs after this jump!
     
    310309    mov     ecx, acbK32Params[eax*4]    ; ecx <- size of parameter packet.
    311310    sub     esp, ecx                    ; Reserve stack space for the parameter packet.
    312     mov     eax, [pulTKSSBase32]
     311    mov     eax, [pulTKSSBase32]        ; Calculate the FLAT address of esp.
    313312    mov     eax, [eax]
    314     add     eax, esp                    ; Calculate the FLAT address of esp.
     313    add     eax, esp                    ; eax <- flat address of ss:esp
    315314    push    ecx                         ; Save the size.
    316315    ; TKFuBuff(pv, pvParam, acbParams[ulFunction], TK_FUSU_NONFATAL);
Note: See TracChangeset for help on using the changeset viewer.