- Timestamp:
- Feb 18, 2000, 8:27:31 PM (26 years ago)
- Location:
- trunk/src/win32k
- Files:
-
- 3 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/win32k/Makefile
r2799 r2823 1 1 ################################################################################ 2 # $Id: Makefile,v 1.2 3 2000-02-15 23:39:18 bird Exp $2 # $Id: Makefile,v 1.24 2000-02-18 19:27:28 bird Exp $ 3 3 # 4 4 # Copyright 1998-1999 knut st. osmundsen … … 131 131 {misc}.asm{object}.obj: 132 132 @$(ECHO) assembling: $< 133 @$(AS) $(ASFLAGS) $(ADEFINES) $(AINCLUDES) $< -Fo:$@ -Fl:$(WIN32KLIST)\$(*B).lst133 $(AS) $(ASFLAGS) $(ADEFINES) $(AINCLUDES) $< -Fo:$@ -Fl:$(WIN32KLIST)\$(*B).lst 134 134 {misc}.c{object}.obj: 135 135 @$(ECHO) compiling 32bit: $< … … 184 184 object\d32ElfIOCtl.obj \ 185 185 object\d32Win32kIOCtl.obj \ 186 object\k32AllocMemEx.obj 186 object\k32AllocMemEx.obj \ 187 object\buffer.obj \ 188 object\mytkExecPgm.obj 187 189 188 190 -
trunk/src/win32k/dev16/probkrnl.c
r2682 r2823 1 /* $Id: probkrnl.c,v 1. 8 2000-02-08 12:38:38bird Exp $1 /* $Id: probkrnl.c,v 1.9 2000-02-18 19:27:29 bird Exp $ 2 2 * 3 3 * Description: Autoprobes the os2krnl file and os2krnl[*].sym files. … … 95 95 {FALSE, -1, 9, "_ldrClose", -1, -1, EPT_PROC}, /* 2 */ 96 96 {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 */ 100 98 {FALSE, -1, 10, "_IOSftOpen", -1, -1, EPT_PROCIMPORT}, /* 5 */ 101 99 {FALSE, -1, 11, "_IOSftClose", -1, -1, EPT_PROCIMPORT}, /* 6 */ 102 100 {FALSE, -1, 15, "_IOSftTransPath", -1, -1, EPT_PROCIMPORT}, /* 7 */ 103 101 {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 */ 106 106 }; 107 107 -
trunk/src/win32k/dev32/d32init.c
r2684 r2823 1 /* $Id: d32init.c,v 1. 8 2000-02-08 12:54:25bird Exp $1 /* $Id: d32init.c,v 1.9 2000-02-18 19:27:29 bird Exp $ 2 2 * 3 3 * d32init.c - 32-bits init routines. … … 48 48 49 49 50 /* externs located in 16-bit data segement */50 /* externs located in 16-bit data segement in ProbKrnl.c */ 51 51 extern ULONG _TKSSBase16; 52 52 extern USHORT _R0FlatCS16; 53 53 extern USHORT _R0FlatDS16; 54 54 55 56 55 /* extern(s) located in calltab.asm */ 57 56 extern char callTab[NUMBER_OF_PROCS][MAXSIZE_PROLOG]; 57 58 /* extern(s) located in mytkExecPgm.asm */ 59 extern char mytkExecPgm; 60 58 61 59 62 … … 564 567 (unsigned)myldrClose, 565 568 (unsigned)myLDRQAppType, 566 (unsigned)myldrEnum32bitRelRecs 567 #if 0 /* Currently problems with with WS4eB */ 568 , 569 (unsigned)myldrEnum32bitRelRecs, 569 570 0, 570 571 0, 571 572 0, 572 573 0, 573 0 574 #endif 574 0, 575 0, 576 0, 577 (unsigned)&mytkExecPgm 575 578 }; 576 579 -
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 $ 2 2 * 3 3 * OS/2 kernel VM functions. … … 19 19 * VMAlloc flFlag1 guessings 20 20 */ 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 39 65 40 66 … … 56 82 57 83 84 typedef USHORT HMTE, *PHMTE; 85 typedef USHORT HPTDA, *PHPTDA; 58 86 59 87 /******************************************************************************* 60 88 * Exported Functions * 61 89 *******************************************************************************/ 90 HMTE KRNLCALL VMGetOwner( 91 ULONG ulCS, 92 ULONG ulEIP); 93 62 94 APIRET KRNLCALL VMAllocMem( 63 95 ULONG cbSize, 64 ULONG SomeArg1,96 ULONG cbCommit, 65 97 ULONG flFlags1, 66 USHORThPTDA,98 HPTDA hPTDA, 67 99 USHORT usVMOwnerId, 68 USHORThMTE,100 HMTE hMTE, 69 101 ULONG flFlags2, 70 102 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 $ 2 2 * 3 3 * Include file for ProbKrnl. … … 16 16 * Defined Constants And Macros * 17 17 *******************************************************************************/ 18 #define NUMBER_OF_PROCS 518 #define NUMBER_OF_PROCS 13 19 19 #define MAX_LENGTH_NAME 32 20 20 -
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 $ 2 2 * 3 3 * Top level make file for the Win32k library. … … 58 58 * External Functions * 59 59 *******************************************************************************/ 60 APIRET APIENTRY libWin32kInit(void); 61 APIRET APIENTRY libWin32kTerm(void); 60 62 APIRET APIENTRY DosAllocMemEx(PPVOID ppv, ULONG cb, ULONG flag); 63 61 64 62 65 #endif -
trunk/src/win32k/k32/k32AllocMemEx.cpp
r2800 r2823 1 /* $Id: k32AllocMemEx.cpp,v 1. 1 2000-02-15 23:39:58bird Exp $1 /* $Id: k32AllocMemEx.cpp,v 1.2 2000-02-18 19:27:30 bird Exp $ 2 2 * 3 3 * k32AllocMemEx - Equivalent to DosAllocMem, but this one … … 18 18 #define INCL_OS2KRNL_VM 19 19 20 #ifndef OBJ_SELMAPALL 21 #define OBJ_SELMAPALL 0x00000800UL 22 #endif 23 20 24 21 25 /******************************************************************************* … … 30 34 31 35 36 /* nasty! These should be imported from the kernel later! */ 37 38 ULONG 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 59 ULONG 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 }; 32 78 33 79 … … 49 95 APIRET k32AllocMemEx(PPVOID ppv, ULONG cb, ULONG flag, ULONG ulCS, ULONG ulEIP) 50 96 { 97 APIRET rc; 98 ULONG flFlags2; 99 VMAC vmac = {0}; 100 ULONG cbCommit; 101 HMTE hMTE; 51 102 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; 57 113 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; 59 135 } 60 136 -
trunk/src/win32k/ldr/calltab.asm
r2682 r2823 1 ; $Id: calltab.asm,v 1. 4 2000-02-08 12:38:39bird Exp $1 ; $Id: calltab.asm,v 1.5 2000-02-18 19:27:30 bird Exp $ 2 2 ; 3 3 ; callTab - Call back again table - table with entry for each function which is overrided. … … 24 24 public _LDRQAppType@8 25 25 public _ldrEnum32bitRelRecs@24 26 if 0 ; /* Currently problems with with WS4eB */ 26 27 27 public _IOSftOpen@20 28 28 public _IOSftClose@4 … … 30 30 public _IOSftReadAt@20 31 31 public _IOSftWriteAt@20 32 endif 32 33 public _VMAllocMem@36 34 public _VMGetOwner@8 35 public g_tkExecPgm 36 33 37 34 38 ; … … 91 95 92 96 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 105 g_tkExecPgm PROC NEAR 106 db MAXSIZE_PROLOG dup(0cch) 107 g_tkExecPgm ENDP 108 93 109 CALLTAB ENDS 94 110 -
trunk/src/win32k/misc/buffer.asm
r2819 r2823 1 ; $Id: buffer.asm,v 1. 1 2000-02-18 14:55:08bird Exp $1 ; $Id: buffer.asm,v 1.2 2000-02-18 19:27:31 bird Exp $ 2 2 ; 3 3 ; Simple resident buffer for use when overloading tkExecPgm. … … 19 19 public AcquireBuffer 20 20 public ReleaseBuffer 21 public cbBuffer 21 public QueryBufferSegmentOffset 22 ; public cbBuffer 22 23 23 24 … … 25 26 ; Global Variables 26 27 ; 27 DATA32 segment 28 DATA16 SEGMENT 29 ;DATA32 SEGMENT 30 achBuffer db 4096 dup(?) 31 DATA16 ENDS 32 ;DATA32 ENDS 33 34 ;DATA16 SEGMENT 35 DATA32 SEGMENT 28 36 fBuffer db 0 ;Access "semaphore" 29 cbBuffer db 4096 30 achBuffer db 4096 dup(?) 31 DATA32 ends 37 DATA32 ENDS 32 38 33 39 … … 53 59 AcquireBuffer PROC NEAR 54 60 push ds 55 mov ax, FLAT 56 mov ds, ax 61 ;mov ax, 62 ; push FLAT 63 pop ds 64 ;mov ds, ax 57 65 ASSUME DS:FLAT 58 66 mov al, 0 … … 89 97 ASSUME DS:NOTHING 90 98 push ds 91 mov ax, FLAT 92 mov ds, ax 99 ; mov ax, DATA16 100 ; mov ds, ax 101 ; push FLAT 102 pop ds 93 103 ASSUME DS:FLAT 94 104 cmp eax, offset achBuffer … … 122 132 ASSUME DS:NOTHING 123 133 push ds 124 mov ax, FLAT 125 mov ds, ax 134 ; mov ax, DATA16 135 ; mov ds, ax 136 ; push FLAT 137 pop ds 126 138 ASSUME DS:FLAT 127 139 cmp eax, offset achBuffer … … 152 164 ; Jumps back to GetBufferOffset32 153 165 GetBufferSegmentOffset16: 154 ASSUME CS:CODE16, DS: FLAT166 ASSUME CS:CODE16, DS:NOTHING 155 167 mov ax, seg achBuffer 156 168 mov es, ax
Note:
See TracChangeset
for help on using the changeset viewer.