Subversion Repositories Kolibri OS

Rev

Rev 7122 | Rev 7126 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7122 Rev 7124
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 7122 $
8
$Revision: 7124 $
9
 
9
 
10
 
10
 
Line 76... Line 76...
76
CAPS_CID       equ    42 ;
76
CAPS_CID       equ    42 ;
77
;                     43
77
;                     43
78
;                     44
78
;                     44
79
CAPS_CX16      equ    45 ;CMPXCHG16B instruction
79
CAPS_CX16      equ    45 ;CMPXCHG16B instruction
80
CAPS_xTPR      equ    46 ;
80
CAPS_xTPR      equ    46 ;
-
 
81
CAPS_XSAVE     equ    (32 + 26) ; XSAVE and XRSTOR instructions
-
 
82
CAPS_OSXSAVE   equ    (32 + 27)
-
 
83
; A value of 1 indicates that the OS has set CR4.OSXSAVE[bit 18] to enable
-
 
84
; XSETBV/XGETBV instructions to access XCR0 and to support processor extended
-
 
85
; state management using XSAVE/XRSTOR.
-
 
86
CAPS_AVX       equ    (32 + 28) ; not AVX2
81
;
87
;
82
;reserved
88
;reserved
83
;
89
;
84
;ext edx /ecx
90
;ext edx /ecx
85
CAPS_SYSCAL    equ    64 ;
91
CAPS_SYSCAL    equ    64 ;
Line 115... Line 121...
115
CR0_NW         equ    0x20000000   ;not write-through
121
CR0_NW         equ    0x20000000   ;not write-through
116
CR0_CD         equ    0x40000000   ;cache disable
122
CR0_CD         equ    0x40000000   ;cache disable
117
CR0_PG         equ    0x80000000   ;paging
123
CR0_PG         equ    0x80000000   ;paging
Line 118... Line 124...
118
 
124
 
119
 
125
 
120
CR4_VME        equ    0x0001
126
CR4_VME        equ    0x000001
121
CR4_PVI        equ    0x0002
127
CR4_PVI        equ    0x000002
122
CR4_TSD        equ    0x0004
128
CR4_TSD        equ    0x000004
123
CR4_DE         equ    0x0008
129
CR4_DE         equ    0x000008
124
CR4_PSE        equ    0x0010
130
CR4_PSE        equ    0x000010
125
CR4_PAE        equ    0x0020
131
CR4_PAE        equ    0x000020
126
CR4_MCE        equ    0x0040
132
CR4_MCE        equ    0x000040
127
CR4_PGE        equ    0x0080
133
CR4_PGE        equ    0x000080
128
CR4_PCE        equ    0x0100
134
CR4_PCE        equ    0x000100
-
 
135
CR4_OSFXSR     equ    0x000200
-
 
136
CR4_OSXMMEXPT  equ    0x000400
-
 
137
CR4_OSXSAVE    equ    0x040000
-
 
138
 
-
 
139
XCR0_FPU_MMX   equ    0x0001
-
 
140
XCR0_SSE       equ    0x0002
-
 
141
XCR0_AVX       equ    0x0004
129
CR4_OSFXSR     equ    0x0200
142
XCR0_MPX       equ    0x0018
130
CR4_OSXMMEXPT  equ    0x0400
143
XCR0_AVX512    equ    0x00e0
131
 
144
 
132
SSE_IE         equ    0x0001
145
MXCSR_IE       equ    0x0001
133
SSE_DE         equ    0x0002
146
MXCSR_DE       equ    0x0002
134
SSE_ZE         equ    0x0004
147
MXCSR_ZE       equ    0x0004
135
SSE_OE         equ    0x0008
148
MXCSR_OE       equ    0x0008
136
SSE_UE         equ    0x0010
149
MXCSR_UE       equ    0x0010
137
SSE_PE         equ    0x0020
150
MXCSR_PE       equ    0x0020
138
SSE_DAZ        equ    0x0040
151
MXCSR_DAZ      equ    0x0040
139
SSE_IM         equ    0x0080
152
MXCSR_IM       equ    0x0080
140
SSE_DM         equ    0x0100
153
MXCSR_DM       equ    0x0100
141
SSE_ZM         equ    0x0200
154
MXCSR_ZM       equ    0x0200
142
SSE_OM         equ    0x0400
155
MXCSR_OM       equ    0x0400
143
SSE_UM         equ    0x0800
156
MXCSR_UM       equ    0x0800
Line 144... Line 157...
144
SSE_PM         equ    0x1000
157
MXCSR_PM       equ    0x1000
Line 145... Line 158...
145
SSE_FZ         equ    0x8000
158
MXCSR_FZ       equ    0x8000
146
 
159
 
Line 147... Line 160...
147
SSE_INIT equ (SSE_IM+SSE_DM+SSE_ZM+SSE_OM+SSE_UM+SSE_PM)
160
MXCSR_INIT     equ (MXCSR_IM+MXCSR_DM+MXCSR_ZM+MXCSR_OM+MXCSR_UM+MXCSR_PM)
Line 250... Line 263...
250
new_app_base        equ 0;
263
new_app_base        equ 0;
Line 251... Line 264...
251
 
264
 
Line 252... Line 265...
252
twdw                equ 0x2000   ;(CURRENT_TASK-window_data)
265
twdw                equ 0x2000   ;(CURRENT_TASK-window_data)
253
 
266
 
Line 254... Line 267...
254
std_application_base_address   equ new_app_base
267
std_application_base_address   equ new_app_base
255
RING0_STACK_SIZE    equ (0x2000 - 512)    ;512 байт для контекста FPU
268
RING0_STACK_SIZE    equ 0x2000
256
 
269
 
257
REG_SS              equ (RING0_STACK_SIZE-4)
270
REG_SS              equ (RING0_STACK_SIZE-4)