Changeset 2823 for trunk/src


Ignore:
Timestamp:
Feb 18, 2000, 8:27:31 PM (26 years ago)
Author:
bird
Message:

Unfinised stuff! Don't work. Don't even compile!

Location:
trunk/src/win32k
Files:
3 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/Makefile

    r2799 r2823  
    11################################################################################
    2 # $Id: Makefile,v 1.23 2000-02-15 23:39:18 bird Exp $
     2# $Id: Makefile,v 1.24 2000-02-18 19:27:28 bird Exp $
    33#
    44# Copyright 1998-1999 knut st. osmundsen
     
    131131{misc}.asm{object}.obj:
    132132    @$(ECHO) assembling:      $<
    133     @$(AS) $(ASFLAGS) $(ADEFINES) $(AINCLUDES) $< -Fo:$@ -Fl:$(WIN32KLIST)\$(*B).lst
     133    $(AS) $(ASFLAGS) $(ADEFINES) $(AINCLUDES) $< -Fo:$@ -Fl:$(WIN32KLIST)\$(*B).lst
    134134{misc}.c{object}.obj:
    135135    @$(ECHO) compiling 32bit: $<
     
    184184        object\d32ElfIOCtl.obj \
    185185        object\d32Win32kIOCtl.obj \
    186         object\k32AllocMemEx.obj
     186        object\k32AllocMemEx.obj \
     187        object\buffer.obj \
     188        object\mytkExecPgm.obj
    187189
    188190
  • trunk/src/win32k/dev16/probkrnl.c

    r2682 r2823  
    1 /* $Id: probkrnl.c,v 1.8 2000-02-08 12:38:38 bird Exp $
     1/* $Id: probkrnl.c,v 1.9 2000-02-18 19:27:29 bird Exp $
    22 *
    33 * Description:   Autoprobes the os2krnl file and os2krnl[*].sym files.
     
    9595    {FALSE, -1,  9, "_ldrClose",            -1,  -1, EPT_PROC},        /* 2 */
    9696    {FALSE, -1, 12, "_LDRQAppType",         -1,  -1, EPT_PROC},        /* 3 */
    97     {FALSE, -1, 20, "_ldrEnum32bitRelRecs", -1,  -1, EPT_PROC}         /* 4 */
    98 #if 0 /* Currently problems with with WS4eB */
    99     ,
     97    {FALSE, -1, 20, "_ldrEnum32bitRelRecs", -1,  -1, EPT_PROC},        /* 4 */
    10098    {FALSE, -1, 10, "_IOSftOpen",           -1,  -1, EPT_PROCIMPORT},  /* 5 */
    10199    {FALSE, -1, 11, "_IOSftClose",          -1,  -1, EPT_PROCIMPORT},  /* 6 */
    102100    {FALSE, -1, 15, "_IOSftTransPath",      -1,  -1, EPT_PROCIMPORT},  /* 7 */
    103101    {FALSE, -1, 12, "_IOSftReadAt",         -1,  -1, EPT_PROCIMPORT},  /* 8 */
    104     {FALSE, -1, 13, "_IOSftWriteAt",        -1,  -1, EPT_PROCIMPORT}   /* 9 */
    105 #endif
     102    {FALSE, -1, 13, "_IOSftWriteAt",        -1,  -1, EPT_PROCIMPORT},  /* 9 */
     103    {FALSE, -1, 11, "_VMAllocMem",          -1,  -1, EPT_PROCIMPORT},  /* 10 */
     104    {FALSE, -1, 11, "_VMGetOwner",          -1,  -1, EPT_PROCIMPORT},  /* 11 */
     105    {FALSE, -1, 11, "g_tkExecPgm",          -1,  -1, EPT_PROC}         /* 12 */
    106106};
    107107
  • trunk/src/win32k/dev32/d32init.c

    r2684 r2823  
    1 /* $Id: d32init.c,v 1.8 2000-02-08 12:54:25 bird Exp $
     1/* $Id: d32init.c,v 1.9 2000-02-18 19:27:29 bird Exp $
    22 *
    33 * d32init.c - 32-bits init routines.
     
    4848
    4949
    50 /* externs located in 16-bit data segement */
     50/* externs located in 16-bit data segement in ProbKrnl.c */
    5151extern ULONG    _TKSSBase16;
    5252extern USHORT   _R0FlatCS16;
    5353extern USHORT   _R0FlatDS16;
    5454
    55 
    5655/* extern(s) located in calltab.asm */
    5756extern char     callTab[NUMBER_OF_PROCS][MAXSIZE_PROLOG];
     57
     58/* extern(s) located in mytkExecPgm.asm  */
     59extern char     mytkExecPgm;
     60
    5861
    5962
     
    564567                        (unsigned)myldrClose,
    565568                        (unsigned)myLDRQAppType,
    566                         (unsigned)myldrEnum32bitRelRecs
    567                         #if 0 /* Currently problems with with WS4eB */
    568                         ,
     569                        (unsigned)myldrEnum32bitRelRecs,
    569570                        0,
    570571                        0,
    571572                        0,
    572573                        0,
    573                         0
    574                         #endif
     574                        0,
     575                        0,
     576                        0,
     577                        (unsigned)&mytkExecPgm
    575578                    };
    576579
  • trunk/src/win32k/include/OS2KVM.h

    r2799 r2823  
    1 /* $Id: OS2KVM.h,v 1.2 2000-02-15 23:39:19 bird Exp $
     1/* $Id: OS2KVM.h,v 1.3 2000-02-18 19:27:29 bird Exp $
    22 *
    33 * OS/2 kernel VM functions.
     
    1919 * VMAlloc flFlag1 guessings
    2020 */
    21 #define VMA_CONTIG          0x00000001 /* VMDHA_CONTIG */
    22 #define VMA_WRITE           0x00000002 /* PAG_WRITE and OB_WRITE */
    23 #define VMA_USER            0x00000004 /* OB_USER */
    24 #define VMA_EXECUTE         0x00000008 /* PAG_EXECUTE and OB_READ !! */
    25 #define VMA_READ            0x00000010 /* PAG_READ and OB_EXEC !! */
    26 #define VMA_LOWMEM          0x00000020 /* OB_LOWMEM */
    27 #define VMA_GUARD           0x00000040 /* PAG_GUARD and VMDHA_16M and OB_GUARD */
    28 #define VMA_RESIDENT        0x00000080 /* OB_RESIDENT */
    29 #define VMA_ZEROINIT        0x00000100 /* OB_ZEROINIT */
    30 #define VMA_PHYS            0x00000200 /* VMDHA_PHYS */
    31 #define VMA_FIXED           0x00000400 /* VMDHA_FIXED and OB_SHARED */
    32 #define VMA_SHARE           0x00001000 /* OBJSHARE and OBJEXEC (which implies shared) */
    33 #define VMA_PROTECTED       0x00004000 /* PAG_PROTECTED */
    34 #define VMA_LOWMEM2         0x00010000 /* OB_LOWMEM */
    35 #define VMA_DECOMMIT        0x00080000 /* PAG_DECOMMIT */
    36 #define VMA_TILE            0x00400000 /* OBJ_TILE */
    37 #define VMA_SHRINKABLE      0x00800000 /* OB_SHRINKABLE */
    38 #define VMA_HUGH            0x01000000 /* OB_HUGH */
     21#define VMA_CONTIG          0x00000001  /* VMDHA_CONTIG */
     22#define VMA_WRITE           0x00000002  /* PAG_WRITE and OB_WRITE */
     23#define VMA_USER            0x00000004  /* OB_USER */
     24#define VMA_EXECUTE         0x00000008  /* PAG_EXECUTE and OB_READ !! */
     25#define VMA_READ            0x00000010  /* PAG_READ and OB_EXEC !! */
     26#define VMA_LOWMEM          0x00000020  /* OB_LOWMEM < 1MB physical */
     27#define VMA_GUARD           0x00000040  /* PAG_GUARD and VMDHA_16M and OB_GUARD */
     28#if 0
     29#define VMA_RESIDENT        0x00000080  /* OB_RESIDENT */
     30#define VMA_ZEROINIT        0x00000100  /* OB_ZEROINIT */
     31#define VMA_PHYS            0x00000200  /* VMDHA_PHYS */
     32#define VMA_FIXED           0x00000400  /* VMDHA_FIXED and OB_SHARED */
     33#else
     34#define VMA_ZEROFILL        0x00000080
     35#define VMA_SWAPONWRITE     0x00000100
     36#define VMA_UVIRT           0x00000200  /* VMDHA_PHYS */
     37#define VMA_RESIDENT        0x00000400  /* VMDHA_FIXED and OB_SHARED */
     38#endif
     39#define VMA_DISCARDABLE     0x00000800  /* discarable object */
     40#define VMA_SHARE           0x00001000  /* OBJSHARE and OBJEXEC (which implies shared) */
     41#define VMA_PROTECTED       0x00004000  /* PAG_PROTECTED */
     42#define VMA_LOWMEM2         0x00010000  /* OB_LOWMEM */
     43#define VMA_VDM             0x00040000  /* VDM */
     44#define VMA_DECOMMIT        0x00080000  /* PAG_DECOMMIT */
     45#define VMA_TILE            0x00400000  /* OBJ_TILE */
     46#define VMA_SELALLOC        0x00400000  /* Allocates selector */
     47#define VMA_SHRINKABLE      0x00800000  /* OB_SHRINKABLE */
     48#define VMA_HUGH            0x01000000  /* OB_HUGH */
     49
     50#define VMA_ARENASHARED     0x04000000  /* Shared Arena */
     51#define VMA_ARENASYSTEM     0x00000000  /* System Arena */
     52#define VMA_ARENAPRIVATE    0x02000000  /* Private Arena */
     53#define VMA_ARENAHEAP       0x06000000  /* Heap Arena */
     54#define VMA_ARENAHIGHA      0x00008000  /* High shared arena (Warp >= fp13) */
     55#define VMA_ARENAHIGH   (options.ulBuild >= MERLINFP13 ? VMA_ARENAHIGHA : 0UL)
     56#define VMA_ARENAMASKW      0x06000000  /* Warp < fp13 Arena Mask */
     57#define VMA_ARENAMASKA      0x06008000  /* Aurora Arena Mask */
     58#define VMA_ARENAMASK   (options.ulBuild >= MERLINFP13 ? VMA_ARENAMASKA : VMA_ARENAMASKW)
     59
     60#define VMA_LOCMASK         0xC0000000  /* Location mask */
     61#define VMA_LOCSPECIFIC     0x80000000  /* Specific location */
     62#define VMA_LOCABOVE        0x40000000  /* Above or equal to specified location */
     63#define VMA_LOCANY          0x00000000  /* Anywhere */
     64
    3965
    4066
     
    5682
    5783
     84typedef USHORT HMTE, *PHMTE;
     85typedef USHORT HPTDA, *PHPTDA;
    5886
    5987/*******************************************************************************
    6088*   Exported Functions                                                         *
    6189*******************************************************************************/
     90HMTE KRNLCALL VMGetOwner(
     91    ULONG ulCS,
     92    ULONG ulEIP);
     93
    6294APIRET KRNLCALL VMAllocMem(
    6395    ULONG   cbSize,
    64     ULONG   SomeArg1,
     96    ULONG   cbCommit,
    6597    ULONG   flFlags1,
    66     USHORT  hPTDA,
     98    HPTDA   hPTDA,
    6799    USHORT  usVMOwnerId,
    68     USHORT  hMTE,
     100    HMTE    hMTE,
    69101    ULONG   flFlags2,
    70102    ULONG   SomeArg2,
  • trunk/src/win32k/include/probkrnl.h

    r2682 r2823  
    1 /* $Id: probkrnl.h,v 1.5 2000-02-08 12:38:39 bird Exp $
     1/* $Id: probkrnl.h,v 1.6 2000-02-18 19:27:29 bird Exp $
    22 *
    33 * Include file for ProbKrnl.
     
    1616*   Defined Constants And Macros                                               *
    1717*******************************************************************************/
    18 #define NUMBER_OF_PROCS       5
     18#define NUMBER_OF_PROCS      13
    1919#define MAX_LENGTH_NAME      32
    2020
  • trunk/src/win32k/include/win32k.h

    r2799 r2823  
    1 /* $Id: win32k.h,v 1.2 2000-02-15 23:39:19 bird Exp $
     1/* $Id: win32k.h,v 1.3 2000-02-18 19:27:29 bird Exp $
    22 *
    33 * Top level make file for the Win32k library.
     
    5858*   External Functions                                                         *
    5959*******************************************************************************/
     60APIRET APIENTRY  libWin32kInit(void);
     61APIRET APIENTRY  libWin32kTerm(void);
    6062APIRET APIENTRY  DosAllocMemEx(PPVOID ppv, ULONG cb, ULONG flag);
     63
    6164
    6265#endif
  • trunk/src/win32k/k32/k32AllocMemEx.cpp

    r2800 r2823  
    1 /* $Id: k32AllocMemEx.cpp,v 1.1 2000-02-15 23:39:58 bird Exp $
     1/* $Id: k32AllocMemEx.cpp,v 1.2 2000-02-18 19:27:30 bird Exp $
    22 *
    33 * k32AllocMemEx - Equivalent to DosAllocMem, but this one
     
    1818#define INCL_OS2KRNL_VM
    1919
     20#ifndef OBJ_SELMAPALL
     21#define OBJ_SELMAPALL   0x00000800UL
     22#endif
     23
    2024
    2125/*******************************************************************************
     
    3034
    3135
     36/* nasty! These should be imported from the kernel later! */
     37
     38ULONG vmApiF0[] =
     39{
     40    0,
     41    VMA_READ,
     42    VMA_WRITE | VMA_READ,
     43    VMA_WRITE | VMA_READ,
     44    VMA_EXECUTE,
     45    VMA_EXECUTE | VMA_READ,
     46    VMA_WRITE | VMA_EXECUTE | VMA_READ,
     47    VMA_WRITE | VMA_EXECUTE | VMA_READ,
     48    VMA_GUARD,
     49    VMA_READ | VMA_GUARD,
     50    VMA_WRITE | VMA_READ | VMA_GUARD,
     51    VMA_WRITE | VMA_READ | VMA_GUARD,
     52    VMA_EXECUTE | VMA_GUARD,
     53    VMA_EXECUTE | VMA_READ | VMA_GUARD,
     54    VMA_WRITE | VMA_EXECUTE | VMA_READ | VMA_GUARD,
     55    VMA_WRITE | VMA_EXECUTE | VMA_READ | VMA_GUARD
     56};
     57
     58
     59ULONG vmApiF1[] =
     60{
     61    0,
     62    0,
     63    VMA_DECOMMIT,
     64    VMA_DECOMMIT,
     65    VMA_TILE,
     66    VMA_TILE,
     67    VMA_DECOMMIT | VMA_TILE,
     68    VMA_DECOMMIT | VMA_TILE,
     69    VMA_PROTECTED,
     70    VMA_PROTECTED,
     71    VMA_PROTECTED | VMA_DECOMMIT,
     72    VMA_PROTECTED | VMA_DECOMMIT,
     73    VMA_PROTECTED | VMA_TILE,
     74    VMA_PROTECTED | VMA_TILE,
     75    VMA_PROTECTED | VMA_DECOMMIT | VMA_TILE,
     76    VMA_PROTECTED | VMA_DECOMMIT | VMA_TILE
     77};
    3278
    3379
     
    4995APIRET k32AllocMemEx(PPVOID ppv, ULONG cb, ULONG flag, ULONG ulCS, ULONG ulEIP)
    5096{
     97    APIRET  rc;
     98    ULONG   flFlags2;
     99    VMAC    vmac = {0};
     100    ULONG   cbCommit;
     101    HMTE    hMTE;
    51102
    52     ppv = ppv;
    53     cb = cb;
    54     flag = flag;
    55     ulCS = ulCS;
    56     ulEIP = ulEIP;
     103    if ((flag & ~(PAG_READ | PAG_WRITE | PAG_EXECUTE | PAG_GUARD | PAG_COMMIT
     104                 | OBJ_TILE | OBJ_SELMAPALL))
     105        || (flag & (PAG_READ | PAG_WRITE | PAG_EXECUTE)) == 0UL
     106        || cb == 0
     107        || ulCS == 0
     108        || ulEIP == 0
     109        )
     110        return ERROR_INVALID_PARAMETER;
     111    if (cb > 0xC0000000UL)
     112        return ERROR_NOT_ENOUGH_MEMORY;
    57113
    58     return ERROR_NOT_SUPPORTED;
     114    vmac.ac_va = (ULONG)*ppv;
     115    cb = (cb + 0xFFFUL) & ~0xFFFUL;
     116    if (flag & PAG_COMMIT)
     117        cbCommit = cb;
     118    flag = vmApiF0[flag & (PAG_READ | PAG_WRITE | PAG_EXECUTE | PAG_GUARD)]
     119           | vmApiF1[(flag & (PAG_COMMIT | PAG_DECOMMIT | OBJ_TILE | OBJ_PROTECTED)) >> 2]
     120           | VMA_USER | VMA_RESIDENT | VMA_LOWMEM2 | VMA_TILE | 0x12000000;
     121    flFlags2 = (flag & VMA_WRITE ? VMAF2_WRITE : 0) | 0x460;
     122
     123    hMTE = VMGetOwner(ulCS, ulEIP);
     124    rc = VMAllocMem(cb,
     125                    cbCommit,
     126                    flag,
     127                    0,
     128                    0,
     129                    hMTE,
     130                    flFlags2,
     131                    0,
     132                    (PVMAC)SSToDS(&vmac));
     133
     134    return rc;
    59135}
    60136
  • trunk/src/win32k/ldr/calltab.asm

    r2682 r2823  
    1 ; $Id: calltab.asm,v 1.4 2000-02-08 12:38:39 bird Exp $
     1; $Id: calltab.asm,v 1.5 2000-02-18 19:27:30 bird Exp $
    22;
    33; callTab - Call back again table - table with entry for each function which is overrided.
     
    2424    public _LDRQAppType@8
    2525    public _ldrEnum32bitRelRecs@24
    26 if 0    ; /* Currently problems with with WS4eB */
     26
    2727    public _IOSftOpen@20
    2828    public _IOSftClose@4
     
    3030    public _IOSftReadAt@20
    3131    public _IOSftWriteAt@20
    32 endif
     32
     33    public _VMAllocMem@36
     34    public _VMGetOwner@8
     35    public g_tkExecPgm
     36
    3337
    3438;
     
    9195
    9296
     97_VMAllocMem@36 PROC NEAR
     98    db MAXSIZE_PROLOG dup(0cch)
     99_VMAllocMem@36 ENDP
     100
     101_VMGetOwner@8 PROC NEAR
     102    db MAXSIZE_PROLOG dup(0cch)
     103_VMGetOwner@8 ENDP
     104
     105g_tkExecPgm PROC NEAR
     106    db MAXSIZE_PROLOG dup(0cch)
     107g_tkExecPgm ENDP
     108
    93109CALLTAB ENDS
    94110
  • trunk/src/win32k/misc/buffer.asm

    r2819 r2823  
    1 ; $Id: buffer.asm,v 1.1 2000-02-18 14:55:08 bird Exp $
     1; $Id: buffer.asm,v 1.2 2000-02-18 19:27:31 bird Exp $
    22;
    33; Simple resident buffer for use when overloading tkExecPgm.
     
    1919    public AcquireBuffer
    2020    public ReleaseBuffer
    21     public cbBuffer
     21    public QueryBufferSegmentOffset
     22;    public cbBuffer
    2223
    2324
     
    2526;   Global Variables
    2627;
    27 DATA32 segment
     28DATA16 SEGMENT
     29;DATA32 SEGMENT
     30achBuffer   db 4096 dup(?)
     31DATA16 ENDS
     32;DATA32 ENDS
     33
     34;DATA16 SEGMENT
     35DATA32 SEGMENT
    2836fBuffer     db 0            ;Access "semaphore"
    29 cbBuffer    db 4096
    30 achBuffer   db 4096 dup(?)
    31 DATA32 ends
     37DATA32 ENDS
    3238
    3339
     
    5359AcquireBuffer PROC NEAR
    5460    push    ds
    55     mov     ax, FLAT
    56     mov     ds, ax
     61    ;mov     ax,
     62;    push    FLAT
     63    pop     ds
     64    ;mov     ds, ax
    5765    ASSUME  DS:FLAT
    5866    mov     al, 0
     
    8997    ASSUME  DS:NOTHING
    9098    push    ds
    91     mov     ax, FLAT
    92     mov     ds, ax
     99;    mov     ax, DATA16
     100;    mov     ds, ax
     101;    push    FLAT
     102    pop     ds
    93103    ASSUME  DS:FLAT
    94104    cmp     eax, offset achBuffer
     
    122132    ASSUME  DS:NOTHING
    123133    push    ds
    124     mov     ax, FLAT
    125     mov     ds, ax
     134;    mov     ax, DATA16
     135;    mov     ds, ax
     136;    push    FLAT
     137    pop     ds
    126138    ASSUME  DS:FLAT
    127139    cmp     eax, offset achBuffer
     
    152164; Jumps back to GetBufferOffset32
    153165GetBufferSegmentOffset16:
    154     ASSUME CS:CODE16, DS:FLAT
     166    ASSUME CS:CODE16, DS:NOTHING
    155167    mov     ax, seg achBuffer
    156168    mov     es, ax
Note: See TracChangeset for help on using the changeset viewer.