Subversion Repositories Kolibri OS

Rev

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

Rev 430 Rev 436
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;
2
;;
3
;; Kolibri OS - based on source code Menuet OS, but not 100% compatible.
3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved.
-
 
4
;; PROGRAMMING:
-
 
5
;; Ivan Poddubny
-
 
6
;; Marat Zakiyanov (Mario79)
-
 
7
;; VaStaNi
-
 
8
;; Trans
-
 
9
;; Mihail Semenyako (mike.dld)
-
 
10
;; Sergey Kuzmin (Wildwest)
-
 
11
;; Andrey Halyavin (halyavin)
-
 
12
;; Mihail Lisovin (Mihasik)
-
 
13
;; Andrey Ignatiev (andrew_programmer)
-
 
14
;; NoName
-
 
15
;; Evgeny Grechnikov (Diamond)
-
 
16
;; Iliya Mihailov (Ghost)
-
 
17
;; Sergey Semyonov (Serge)
-
 
18
;; Johnny_B
4
;;
19
;;
5
;; See file COPYING or GNU.TXT for details with these additional details:
20
;; Data in this file was originally part of MenuetOS project which is
6
;;     - All code written in 32 bit x86 assembly language
21
;; distributed under the terms of GNU GPL. It is modified and redistributed as
7
;;     - No external code (eg. bios) at process execution time
22
;; part of KolibriOS project under the terms of GNU GPL.
8
;;
23
;;
-
 
24
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa
-
 
25
;; PROGRAMMING:
9
;;
26
;;
-
 
27
;; Ville Mikael Turjanmaa, villemt@itu.jyu.fi
10
;;   Compile with last version FASM
28
;; - main os coding/design
-
 
29
;; Jan-Michael Brummer, BUZZ2@gmx.de
-
 
30
;; Felix Kaiser, info@felix-kaiser.de
-
 
31
;; Paolo Minazzi, paolo.minazzi@inwind.it
-
 
32
;; quickcode@mail.ru
-
 
33
;; Alexey, kgaz@crosswinds.net
-
 
34
;; Juan M. Caravaca, bitrider@wanadoo.es
-
 
35
;; kristol@nic.fi
-
 
36
;; Mike Hibbett, mikeh@oceanfree.net
-
 
37
;; Lasse Kuusijarvi, kuusijar@lut.fi
-
 
38
;; Jarek Pelczar, jarekp3@wp.pl
-
 
39
;;
-
 
40
;; KolibriOS is distributed in the hope that it will be useful, but WITHOUT ANY
-
 
41
;; WARRANTY. No author or distributor accepts responsibility to anyone for the
-
 
42
;; consequences of using it or for whether it serves any particular purpose or
-
 
43
;; works at all, unless he says so in writing. Refer to the GNU General Public
-
 
44
;; License (the "GPL") for full details.
-
 
45
;
-
 
46
;; Everyone is granted permission to copy, modify and redistribute KolibriOS,
-
 
47
;; but only under the conditions described in the GPL. A copy of this license
-
 
48
;; is supposed to have been given to you along with KolibriOS so you can know
-
 
49
;; your rights and responsibilities. It should be in a file named COPYING.
-
 
50
;; Among other things, the copyright notice and this notice must be preserved
-
 
51
;; on all copies.
11
;;
52
;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
53
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 13... Line 54...
13
 
54
 
Line 14... Line 55...
14
; $Revision: 430 $
55
; $Revision: 436 $
15
 
56
 
16
include "proc32.inc"
57
include "proc32.inc"
Line 17... Line 58...
17
include "kglobals.inc"
58
include "kglobals.inc"
18
include "lang.inc"
59
include "lang.inc"
19
 
60
 
Line 20... Line 61...
20
include "const.inc"
61
include "const.inc"
21
max_processes    equ   255
62
max_processes    equ   255
22
tss_step         equ   (128+8192) ; tss & i/o - 65535 ports, * 256=557056*4
63
tss_step         equ   (128+8192) ; tss & i/o - 65535 ports, * 256=557056*4
23
 
64
 
24
 
65
 
25
os_stack       equ  os_data_l-gdts    ; GDTs
66
os_stack       equ  (os_data_l-gdts)    ; GDTs
Line 26... Line 67...
26
os_code        equ  os_code_l-gdts
67
os_code        equ  (os_code_l-gdts)
27
graph_data     equ  3+graph_data_l-gdts
68
graph_data     equ  (3+graph_data_l-gdts)
28
tss0           equ  tss0_l-gdts
69
tss0           equ  (tss0_l-gdts)
Line 336... Line 377...
336
           xor edx, edx
377
           xor edx, edx
337
           mov ecx, MSR_SYSENTER_CS
378
           mov ecx, MSR_SYSENTER_CS
338
           mov eax, os_code
379
           mov eax, os_code
339
           wrmsr
380
           wrmsr
340
           mov ecx, MSR_SYSENTER_ESP
381
           mov ecx, MSR_SYSENTER_ESP
341
           mov eax, sysenter_stack ; Check it
382
;           mov eax, sysenter_stack ; Check it
-
 
383
           xor     eax, eax
342
           wrmsr
384
           wrmsr
343
           mov ecx, MSR_SYSENTER_EIP
385
           mov ecx, MSR_SYSENTER_EIP
344
           mov eax, sysenter_entry
386
           mov eax, sysenter_entry
345
           wrmsr
387
           wrmsr
346
.SEnP:
388
.SEnP: