Changeset 667
- Timestamp:
- Jan 27, 2021, 9:35:47 AM (5 years ago)
- Location:
- GPL/branches/uniaud32-next
- Files:
-
- 2 deleted
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/branches/uniaud32-next/Makefile
r591 r667 7 7 !include $(ROOT)\tools\header.mif 8 8 9 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=19 WMAKEOPTS=-h $(__MAKEOPTS__) 10 10 11 11 !if "$(IBM_BUILD)" == "1" -
GPL/branches/uniaud32-next/alsa-kernel/Makefile
r615 r667 1 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)1 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 2 2 3 3 #=================================================================== -
GPL/branches/uniaud32-next/alsa-kernel/core/Makefile
r615 r667 6 6 !include $(ROOT)\tools\header.mif 7 7 8 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)8 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 9 9 10 10 #=================================================================== -
GPL/branches/uniaud32-next/alsa-kernel/core/oss/Makefile
r587 r667 10 10 !if "$(DEBUG)" == "1" 11 11 WMAKEOPTS += DEBUG=1 12 !endif13 14 !if "$(KEE)" == "0"15 WMAKEOPTS += KEE=016 KEE=017 !else18 WMAKEOPTS += KEE=119 KEE=120 12 !endif 21 13 -
GPL/branches/uniaud32-next/alsa-kernel/core/seq/Makefile
r587 r667 6 6 !include $(ROOT)\tools\header.mif 7 7 8 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)8 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 9 9 10 10 #=================================================================== -
GPL/branches/uniaud32-next/alsa-kernel/core/seq/oss/Makefile
r587 r667 10 10 !if "$(DEBUG)" == "1" 11 11 WMAKEOPTS += DEBUG=1 12 !endif13 14 !if "$(KEE)" == "0"15 WMAKEOPTS += KEE=016 KEE=017 !else18 WMAKEOPTS += KEE=119 KEE=120 12 !endif 21 13 -
GPL/branches/uniaud32-next/alsa-kernel/drivers/Makefile
r587 r667 7 7 !include $(ROOT)\tools\header.mif 8 8 9 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)9 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 10 10 11 11 all: subdirs -
GPL/branches/uniaud32-next/alsa-kernel/hda/Makefile
r615 r667 6 6 !include $(ROOT)\tools\header.mif 7 7 8 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)8 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 9 9 10 10 #=================================================================== -
GPL/branches/uniaud32-next/alsa-kernel/isa/Makefile
r587 r667 7 7 !include $(ROOT)\tools\header.mif 8 8 9 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)9 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 10 10 11 11 -
GPL/branches/uniaud32-next/alsa-kernel/pci/Makefile
r598 r667 6 6 !include $(ROOT)\tools\header.mif 7 7 8 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)8 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 9 9 10 10 #=================================================================== -
GPL/branches/uniaud32-next/alsa-kernel/synth/Makefile
r587 r667 6 6 !include $(ROOT)\tools\header.mif 7 7 8 WMAKEOPTS=-h $(__MAKEOPTS__) KEE=$(KEE)DEBUG=$(DEBUG)8 WMAKEOPTS=-h $(__MAKEOPTS__) DEBUG=$(DEBUG) 9 9 10 10 #=================================================================== -
GPL/branches/uniaud32-next/drv32/Makefile
r615 r667 54 54 #=================================================================== 55 55 56 FILES = begin.obj startup.obj & 57 strategy.obj read.obj & 58 init.obj parse.obj & 59 devhlp.obj & 60 idc.obj dispatch.obj & 61 rmhelp.obj irq.obj util.obj & 62 impdos.lib 63 !if "$(KEE)" == "1" 64 FILES += impkee.lib 65 !endif 66 FILES += end.obj 56 FILES = begin.obj startup.obj strategy.obj read.obj init.obj parse.obj idc.obj & 57 dispatch.obj rmhelp.obj irq.obj util.obj impdos.lib impkee.lib end.obj 67 58 68 59 LIBS = $(ALSA_LIB)\linuxlib.lib $(ALSA_LIB)\core.lib $(ALSA_LIB)\ac97.lib $(ALSA_LIB)\pci.lib & -
GPL/branches/uniaud32-next/drv32/init.c
r655 r667 39 39 #include <irqos2.h> 40 40 #include <osspci.h> 41 //#include <bsedos16.h>42 #ifdef KEE43 41 #include <kee.h> 44 #endif45 42 #include "parse.h" 46 43 #include "malloc.h" … … 103 100 int LockSegments(void) 104 101 { 105 #ifdef KEE106 102 KEEVMLock lock; 107 #else108 char lock[12];109 ULONG PgCount;110 #endif111 103 ULONG segsize; 112 104 … … 122 114 } 123 115 segsize &= ~0xFFF; 124 #ifdef KEE 116 125 117 if(KernVMLock(VMDHL_LONG, 126 118 (PVOID)((OffsetBeginDS32) & ~0xFFF), … … 129 121 (KEEVMPageList*)-1, 130 122 0)) { 131 #else132 if(DevVMLock(VMDHL_LONG,133 ((OffsetBeginDS32) & ~0xFFF),134 segsize,135 (LINEAR)-1,136 (LINEAR)lock,137 (LINEAR)&PgCount)) {138 #endif139 123 return(1); 140 124 } … … 147 131 } 148 132 segsize &= ~0xFFF; 149 #ifdef KEE 133 150 134 if(KernVMLock(VMDHL_LONG, 151 135 (PVOID)((OffsetBeginCS32) & ~0xFFF), … … 154 138 (KEEVMPageList*)-1, 155 139 0)) { 156 #else157 if(DevVMLock(VMDHL_LONG,158 ((OffsetBeginCS32) & ~0xFFF),159 segsize,160 (LINEAR)-1,161 (LINEAR)lock,162 (LINEAR)&PgCount)) {163 #endif164 140 return(1); 165 141 } … … 202 178 char debugmsg[64]; 203 179 char FAR48 *args; 204 205 #ifndef KEE206 GetTKSSBase();207 #endif208 180 209 181 DebugLevel = 1; -
GPL/branches/uniaud32-next/drv32/segments.inc
r32 r667 68 68 CONST2 ENDS 69 69 70 IFDEF KEE71 70 LASTDATA32 SEGMENT DWORD PUBLIC USE32 'DATA' 72 71 LASTDATA32 ENDS 73 ELSE74 LASTDATA32 SEGMENT DWORD PUBLIC USE32 'BSS'75 LASTDATA32 ENDS76 ENDIF77 72 78 73 ;order is important! 79 IFDEF KEE80 74 DGROUP group BSS32, DATA32, _DATA, CONST32, C_COMMON, c_common, CONST2, CONST, _BSS, LASTDATA32 81 ELSE82 DGROUP group DATA32, CONST32, C_COMMON, c_common, CONST2, CONST, _BSS, BSS32, _DATA, LASTDATA3283 ENDIF84 75 85 76 CGROUP group FIRSTCODE32, CODE32, _TEXT, LASTCODE32 -
GPL/branches/uniaud32-next/drv32/startup.asm
r655 r667 1040 1040 extrn ALSA_Interrupt : near 1041 1041 extrn _rdOffset: dword 1042 1043 IFDEF KEE1044 1042 extrn KernThunkStackTo16 : near 1045 1043 extrn KernThunkStackTo32 : near 1046 ELSE1047 extrn GetTKSSBase : near1048 extrn StackAlloc : near1049 extrn StackFree : near1050 ENDIF1051 1044 1052 1045 ;Called by Watcom to set the DS … … 1087 1080 ret 1088 1081 DevHlp_ModifiedDS endp 1089 1090 1091 IFNDEF KEE1092 ;;******************************************************************************1093 ;FixSelDPL:1094 ;1095 ; Set DPL of DOS32FLATDS selector to 0 or else we'll get a trap D when loading1096 ; it into the SS register (DPL must equal CPL when loading a selector into SS)1097 ;;******************************************************************************1098 PUBLIC FixSelDPL1099 ALIGN 41100 FixSelDPL proc near1101 cmp fWrongDPL, 11102 jne short @@fixdpl_end1103 cmp SelRef, 01104 jne short @@fixdpl_endfix1105 push eax1106 push ebx1107 push edx1108 sgdt fword ptr [gdtsave] ; access the GDT ptr1109 mov ebx, dword ptr [gdtsave+2] ; get lin addr of GDT1110 mov eax, ds ; build offset into table1111 and eax, 0fffffff8h ; mask away DPL1112 add ebx, eax ; build address1113 1114 mov eax, dword ptr [ebx+4]1115 mov edx, eax1116 shr edx, 131117 and edx, 31118 1119 ;has the OS/2 kernel finally changed the DPL to 0?1120 cmp edx, 01121 jne @@changedpl1122 mov fWrongDPL, 0 ;don't bother anymore1123 mov SelRef, 01124 jmp short @@endchange1125 1126 @@changedpl:1127 mov oldDPL, eax1128 and eax, NOT 6000h ;clear bits 5 & 6 in the high word (DPL)1129 mov dword ptr [ebx+4], eax1130 @@endchange:1131 pop edx1132 pop ebx1133 pop eax1134 @@fixdpl_endfix:1135 inc SelRef1136 @@fixdpl_end:1137 ret1138 FixSelDPL endp1139 ;;******************************************************************************1140 ; RestoreSelDPL:1141 ;1142 ; Restore DPL of DOS32FLATDS selector or else OS/2 kernel code running in ring 31143 ; will trap (during booting only; this sel has a DPL of 0 when PM starts up)1144 ;;******************************************************************************1145 PUBLIC RestoreSelDPL1146 ALIGN 41147 RestoreSelDPL proc near1148 cmp fWrongDPL, 11149 jne short @@restdpl_end1150 1151 cmp SelRef, 11152 jne short @@restdpl_endrest1153 push eax1154 push ebx1155 sgdt fword ptr [gdtsave] ; access the GDT ptr1156 mov ebx, dword ptr [gdtsave+2] ; get lin addr of GDT1157 mov eax, ds ; build offset into table1158 and eax, 0fffffff8h ; mask away DPL1159 add ebx, eax ; build address1160 1161 mov eax, oldDPL1162 mov dword ptr [ebx+4], eax1163 pop ebx1164 pop eax1165 @@restdpl_endrest:1166 dec SelRef1167 @@restdpl_end:1168 ret1169 RestoreSelDPL endp1170 ENDIF1171 1082 1172 1083 ;******************************************************************************* … … 1184 1095 mov ebp, esp 1185 1096 push ebx 1186 1187 1097 lea ebx, [ebp+8] 1188 1098 DevThunkStackTo16_Int 1189 1190 1099 push dword ptr [ebx+16] ;param2 1191 1100 push dword ptr [ebx+12] ;param1 … … 1193 1102 call fword ptr [ebx] 1194 1103 add sp, 12 1195 1196 1104 DevThunkStackTo32_Int 1197 1198 1105 pop ebx 1199 1106 pop ebp … … 1215 1122 mov ds, eax 1216 1123 mov es, eax 1217 IFNDEF KEE1218 ;done in init.cpp for the KEE version1219 cmp dword ptr [intSwitchStack], 01220 jne stratcontinue1221 ;get TKSSBase & intSwitchStack pointers1222 call GetTKSSBase1223 stratcontinue:1224 ENDIF1225 1124 DevThunkStackTo32 1226 cmp eax, 01227 jne @@stackswitchfail_strat1228 1125 call ALSA_STRATEGY 1229 1126 DevThunkStackTo16 1230 @@stackswitchfail_strat:1231 1127 pop gs 1232 1128 pop fs … … 1253 1149 mov es, eax 1254 1150 DevThunkStackTo32 1255 cmp eax, 01256 jne @@stackswitchfail_idc1257 1151 call ALSA_IDC 1258 1152 DevThunkStackTo16 1259 @@stackswitchfail_idc:1260 1153 pop gs 1261 1154 pop fs … … 1281 1174 ENDIF 1282 1175 DevThunkStackTo32 1283 cmp eax, 01284 jne @@stackswitchfail_timer1285 1176 call ALSA_TIMER_ 1286 1177 DevThunkStackTo16 1287 @@stackswitchfail_timer:1288 1178 IFDEF DEBUG 1289 1179 add DbgU32TimerCnt, -1 … … 1322 1212 ;cli 1323 1213 DevThunkStackTo32 1324 cmp eax, 01325 jne @@stackswitchfail_irq1326 1214 ;returns irq status in eax (1=handled; 0=unhandled) 1327 1215 call ALSA_Interrupt 1328 1216 DevThunkStackTo16 1329 @@stackswitchfail_irq:1330 1217 IFDEF DEBUG 1331 1218 add DbgU32IntCnt, -1 … … 1502 1389 _RMHandleToResourceHandleList endp 1503 1390 1391 ; shifted from devhlp.asm 1392 extrn DOSIODELAYCNT : ABS 1393 ALIGN 4 1394 public iodelay32_ 1395 iodelay32_ proc near 1396 mov eax, DOSIODELAYCNT 1397 align 4 1398 @@: dec eax 1399 jnz @b 1400 loop iodelay32_ 1401 ret 1402 iodelay32_ endp 1504 1403 1505 1404 CODE32 ends … … 1530 1429 public _ISR07 1531 1430 1532 IFDEF KEE1533 1431 public stackbase 1534 1432 public stacksel … … 1536 1434 stackbase dd 0 1537 1435 stacksel dd 0 1538 ELSE1539 extrn intSwitchStack : dword1540 1541 public gdtsave1542 public fWrongDPL1543 public oldDPL1544 public SelRef1545 1546 tempeax dd 01547 tempedx dd 01548 tempesi dd 01549 cpuflags dd 01550 1551 gdtsave dq 01552 fWrongDPL dd 1 ;DOS32FLATDS has the wrong DPL for SS1553 SelRef dd 01554 oldDPL dd 01555 1556 fInitStack dd 01557 ENDIF1558 1436 1559 1437 __OffsetFinalCS16 dw OFFSET CODE16:__OffFinalCS16 -
GPL/branches/uniaud32-next/drv32/startup.inc
r655 r667 53 53 ENDM 54 54 55 56 IFDEF KEE57 55 ;pushfd/popfd trashed by fucking BUGY KernThunkStackTo32 58 56 ;fix idea by zuko … … 64 62 push stacksel 65 63 push stackbase 66 67 64 push edx 68 65 mov edx, ss 69 66 mov stacksel, edx 70 67 pushfd 71 72 68 call KernThunkStackTo32 73 69 popfd 74 70 mov stackbase, edx 75 pop edx ;trashed by KernThunkStackTo32 76 xor eax, eax ; mark success 71 pop edx ;trashed by KernThunkStackTo32 77 72 ENDM 73 78 74 ;;****************************************************************************** 79 75 ;;****************************************************************************** … … 87 83 pop eax ;trashed by KernThunkStackTo32 88 84 ENDM 85 89 86 ;;****************************************************************************** 90 87 ;;****************************************************************************** … … 97 94 pop eax ;trashed by KernThunkStackTo16 98 95 pop edx ;trashed by KernThunkStackTo16 when called in interrupt context 99 100 96 pop stackbase 101 97 pop stacksel … … 113 109 pop edx ;trashed by KernThunkStackTo16 when called in interrupt context 114 110 ENDM 115 ;;******************************************************************************116 ;;******************************************************************************117 118 ELSE119 120 ;;******************************************************************************121 ;;Need to preserve fs:ebx!! (all other registers must be saved by the caller)122 ;;******************************************************************************123 DevThunkStackTo32 MACRO124 LOCAL @@stackok, @@stackchangeend125 126 ;;;; int 3127 128 pushfd129 cli130 pop dword ptr [cpuflags]131 132 ;check if kernel DS selector DPL == 3; if so, change to 0133 call FixSelDPL134 135 ;allocate private stack136 push fs137 call StackAlloc138 pop fs ;trashed by StackAlloc139 mov dword ptr [fInitStack], 1140 141 cmp eax, 0142 jne @@stackok143 144 IFDEF DEBUG145 int 3 ;this is very fatal146 ENDIF147 call RestoreSelDPL148 mov eax, -1 ;mark failure149 150 push dword ptr [cpuflags]151 popfd152 jmp short @@stackchangeend153 154 @@stackok:155 ;stack ptr in eax156 call dword ptr [intSwitchStack]157 158 push dword ptr [cpuflags]159 popfd160 161 mov eax, 0 ;mark success162 @@stackchangeend:163 ENDM164 165 ;;******************************************************************************166 ;;******************************************************************************167 DevThunkStackTo32_Int MACRO168 LOCAL @@cont32169 170 cmp dword ptr [fInitStack], 0171 je @@cont32172 173 ;;;; int 3174 pushfd175 cli176 pop dword ptr [cpuflags]177 178 mov dword ptr [tempeax], eax ;save eax179 180 pop eax ;pop saved flat stack pointer181 182 ;and switch back to our flat stack again183 call dword ptr [intSwitchStack]184 185 mov eax, dword ptr [tempeax] ;restore eax186 push dword ptr [cpuflags]187 popfd188 189 @@cont32:190 ENDM191 192 ;;******************************************************************************193 ;;******************************************************************************194 DevThunkStackTo16 MACRO195 ;;;; int 3196 197 pushfd198 cli199 pop dword ptr [cpuflags]200 201 mov dword ptr [tempeax], eax ;save eax202 mov dword ptr [tempesi], esi ;save esi203 204 mov esi, esp205 xor eax, eax ;switch to 16 bits stack206 call dword ptr [intSwitchStack]207 208 mov eax, esi209 call StackFree210 211 call RestoreSelDPL212 213 mov eax, dword ptr [tempeax]214 mov esi, dword ptr [tempesi]215 216 push dword ptr [cpuflags]217 popfd218 219 ENDM220 221 ;;******************************************************************************222 ;;******************************************************************************223 DevThunkStackTo16_Int MACRO224 LOCAL @@cont16225 226 cmp dword ptr [fInitStack], 0227 je @@cont16228 229 ;;;; int 3230 pushfd231 cli232 pop dword ptr [cpuflags]233 234 mov dword ptr [tempeax], eax ;save eax235 mov dword ptr [tempesi], esi ;save esi236 mov esi, esp237 xor eax, eax ;switch to 16 bits stack238 call dword ptr [intSwitchStack]239 push esi ;flat stack ptr (popped before switching back to flat)240 241 mov eax, dword ptr [tempeax]242 mov esi, dword ptr [tempesi]243 push dword ptr [cpuflags]244 popfd245 246 @@cont16:247 ENDM248 249 ENDIF ;KEE250 111 251 112 ;******************************************************************************* … … 262 123 push esi 263 124 push edi 264 265 125 ;to access the parameters on the 32 bits stack, once we've switched 266 126 mov edi, ebp 267 268 127 DevThunkStackTo16_Int 269 128 ENDM 129 270 130 ;******************************************************************************* 271 131 ;switch stack from 16 bits to 32 bits and return … … 289 149 290 150 ;Constants and structure definitions 291 292 DevHlp_VirtToLin EQU 5Bh293 DevHlp_VMLock EQU 55h294 151 295 152 ; Status word masks -
GPL/branches/uniaud32-next/drv32/util.c
r587 r667 111 111 112 112 //***************************************************************************** 113 #if !defined(KEE)114 static GINFO FAR48 *pGIS = 0;115 #endif116 117 //*****************************************************************************118 113 //PS++ Begin 119 114 #pragma pack(1) … … 124 119 ULONG os2gettimesec() 125 120 { 126 #if !defined(KEE)127 APIRET rc;128 FARPTR16 p;129 130 if(pGIS == NULL) {131 // Build a pointer to the Global Information Segment.132 rc = DevGetDOSVar( DHGETDOSV_SYSINFOSEG, 0, (VOID NEAR *)&p );133 if (rc) {134 return 0;135 }136 SEL FAR48 *pSel = (SEL FAR48 *)MAKE_FARPTR32(p);137 pGIS = (GINFO FAR48 *)MAKE_FARPTR32((ULONG)(*pSel << 16));138 }139 return pGIS->Time;140 #else141 121 return KernSISData->SIS_BigTime; 142 #endif143 122 } 144 123 … … 146 125 ULONG os2gettimemsec() 147 126 { 148 #if !defined(KEE)149 APIRET rc;150 FARPTR16 p;151 152 if(pGIS == NULL) {153 // Build a pointer to the Global Information Segment.154 rc = DevGetDOSVar( DHGETDOSV_SYSINFOSEG, 0, (VOID NEAR *)&p );155 if (rc) {156 return 0;157 }158 SEL FAR48 *pSel = (SEL FAR48 *)MAKE_FARPTR32(p);159 pGIS = (GINFO FAR48 *)MAKE_FARPTR32((ULONG)(*pSel << 16));160 }161 return pGIS->MilliSeconds;162 #else163 127 return KernSISData->SIS_MsCount; 164 #endif165 128 } 166 129 //PS++ End -
GPL/branches/uniaud32-next/include/stacktoflat.h
r655 r667 26 26 #define __STACKTOFLAT_H__ 27 27 28 #ifdef KEE29 28 extern ULONG stacksel; //16 bits stack selector 30 29 #pragma aux stacksel "stacksel" … … 33 32 #pragma aux stackbase "stackbase" 34 33 35 #else36 37 extern ULONG TKSSBase;38 #pragma aux TKSSBase "_TKSSBase"39 40 extern ULONG GetTKSSBase();41 #pragma aux GetTKSSBase "GetTKSSBase" \42 value [eax];43 44 #endif45 46 #ifdef KEE47 34 //Convert 16:16 stack based address to 0:32 flat addresss 48 35 #define __Stack16ToFlat(addr) (LINEAR)((ULONG)(addr&0xffff) + stackbase) 49 #else50 //Convert 16:16 stack based address to 0:32 flat addresss51 #define __Stack16ToFlat(addr) (LINEAR)((((ULONG)addr)&0xffff) + *(ULONG *)TKSSBase)52 #endif53 36 54 37 // Convert 16:16 pointer to 16:32 … … 105 88 #define FLATPTR(a) GETFLATPTR((char FAR48 *)a) 106 89 107 #ifdef KEE108 90 #define FlatToSel(addr32) ((stacksel << 16) | (((ULONG)addr32 - stackbase) & 0xffff)) 109 #else110 //Only valid for stack based pointer!!111 ULONG FlatToSel(ULONG addr32);112 #endif113 91 114 92 #endif -
GPL/branches/uniaud32-next/lib32/Makefile
r615 r667 29 29 regmap.obj regcache.obj regcache-flat.obj regcache-rbtree.obj 30 30 31 32 !if $(KEE) == 033 FILES += stack.obj34 !endif35 36 31 TARGET = linuxlib 37 32 -
GPL/branches/uniaud32-next/lib32/malloc.c
r587 r667 29 29 30 30 #include <devhelp.h> 31 #ifdef KEE32 31 #include <kee.h> 33 #endif34 32 #include "malloc.h" 35 33 -
GPL/branches/uniaud32-next/lib32/memory.c
r662 r667 32 32 #include <stacktoflat.h> 33 33 #include <limits.h> 34 #ifdef KEE35 34 #include <kee.h> 36 #endif37 35 #include "malloc.h" 38 36 #define _I386_PAGE_H … … 178 176 unsigned long virt_to_phys(void * address) 179 177 { 180 #ifdef KEE181 178 KEEVMPageList pagelist; 182 179 ULONG nrpages; … … 187 184 } 188 185 return pagelist.addr; 189 #else190 LINEAR addr = (LINEAR)address;191 PAGELIST pagelist;192 193 if(DevLinToPageList(addr, PAGE_SIZE, (PAGELIST NEAR *)&pagelist)) {194 DebugInt3();195 return 0;196 }197 return pagelist.physaddr;198 #endif199 186 } 200 187 //****************************************************************************** … … 205 192 ULONG addr = 0; 206 193 207 #ifdef KEE208 194 SHORT sel; 209 195 rc = KernVMAlloc(PAGE_SIZE, VMDHA_PHYS, (PVOID*)&addr, (PVOID*)&address, &sel); 210 #else211 rc = DevVMAlloc(VMDHA_PHYS, PAGE_SIZE, (LINEAR)&address, (ULONG)&addr);212 #endif213 196 if (rc != 0) { 214 197 DebugInt3(); … … 232 215 __again: 233 216 234 #ifdef KEE235 236 217 rc = KernVMAlloc(size, flags, (PVOID*)&addr, (PVOID*)-1, &sel); 237 #else238 rc = DevVMAlloc(flags, size, (LINEAR)-1, (ULONG)&addr);239 #endif240 218 if (rc == 0) { 241 219 *pAddr = (LINEAR)addr; … … 257 235 { 258 236 APIRET rc; 259 260 #ifdef KEE 261 rc = KernVMFree((PVOID)addr); 262 #else 263 rc = DevVMFree((LINEAR)addr); 264 #endif 237 rc = KernVMFree((PVOID)addr); 265 238 if(rc) { 266 239 DebugInt3(); … … 531 504 //size &= 0xFFFFF000; 532 505 533 #ifdef KEE534 506 SHORT sel; 535 536 //rc = KernVMAlloc(size, VMDHA_PHYS, (PVOID*)&addr, (PVOID*)&physaddr, &sel); 507 //rc = KernVMAlloc(size, VMDHA_PHYS, (PVOID*)&addr, (PVOID*)&physaddr, &sel); 537 508 rc = KernVMAlloc(Length, VMDHA_PHYS, (PVOID*)&addr, (PVOID*)&PhysicalAddress, &sel); 538 #else539 //rc = DevVMAlloc(VMDHA_PHYS, size, (LINEAR)&physaddr, (ULONG)&addr);540 rc = DevVMAlloc(VMDHA_PHYS, Length, (LINEAR)&PhysicalAddress, (ULONG)&addr);541 #endif542 509 if (rc != 0) { 543 510 dprintf(("ioremap error: %x", rc)); -
GPL/branches/uniaud32-next/lib32/ossidc.c
r657 r667 32 32 #include <unicard.h> 33 33 #include <version.h> 34 #ifdef KEE35 #include <kee.h>36 #endif37 34 #include "initcall.h" 38 35 -
GPL/branches/uniaud32-next/tools/header.mif
r655 r667 17 17 !endif 18 18 WATCOM=$(%WATCOM) 19 20 #Always build KEE version21 KEE = 122 19 23 20 !if "$(DEBUG)" == "1" … … 59 56 !else 60 57 CFLAGS += -zp4 61 !endif62 63 !if $(KEE) == 164 CFLAGS += -DKEE65 ASFLAGS += -D:KEE66 58 !endif 67 59 -
GPL/branches/uniaud32-next/tools/mkversion.cmd
r656 r667 10 10 projVendor = EnvVar_Get_If('VENDOR', 'Netlabs <www.netlabs.org>'); 11 11 projProduct = "OS/2 Universal Audio 32 Driver"; 12 projAdapter = "OS/2 Universal Audio";13 12 14 13 /* uniaud.inc is located in the base gpl directory and
Note:
See TracChangeset
for help on using the changeset viewer.