Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
454 trolly 1
; SET UP OS TASK
2
 
3
        mov  esi,boot_setostask
4
        call boot_log
5
 
6
;        mov eax, fpu_data
7
;        mov  dword [SLOT_BASE+APPDATA.fpu_state], eax
8
;        mov  dword [SLOT_BASE+APPDATA.fpu_handler], 0
9
;        mov  dword [SLOT_BASE+APPDATA.sse_handler], 0
10
 
11
        ; name for OS/IDLE process
12
 
13
        mov dword [SLOT_BASE+256+APPDATA.app_name],   dword 'OS/I'
14
        mov dword [SLOT_BASE+256+APPDATA.app_name+4], dword 'DLE '
15
        mov edi, [os_stack]
16
        mov dword [SLOT_BASE+256+APPDATA.pl0_stack], edi
17
        add edi, RING0_STACK_SIZE
18
        mov dword [SLOT_BASE+256+APPDATA.fpu_state], edi
19
 
20
        mov esi, fpu_data
21
        mov ecx, 512/4
22
        cld
23
        rep movsd
24
 
25
        mov dword [SLOT_BASE+256+APPDATA.fpu_handler], 0
26
        mov dword [SLOT_BASE+256+APPDATA.sse_handler], 0
27
 
28
        mov ebx, [def_cursor]
29
        mov dword [SLOT_BASE+256+APPDATA.cursor], ebx
30
 
31
        mov ebx, SLOT_BASE+256+APP_OBJ_OFFSET
32
        mov  dword [SLOT_BASE+256+APPDATA.fd_obj], ebx
33
        mov  dword [SLOT_BASE+256+APPDATA.bk_obj], ebx
34
 
35
        ; task list
36
        mov  [TASK_DATA+TASKDATA.wnd_number], 1 ; on screen number
37
        mov  [TASK_DATA+TASKDATA.pid], 1        ; process id number
38
        mov  [TASK_DATA+TASKDATA.mem_start], 0  ; process base address
39
 
40
        mov  edi,tss_data+tss_step
41
        mov ecx, (tss_step)/4
42
        xor eax, eax
43
        cld
44
        rep stosd
45
 
46
        mov  edi,tss_data+tss_step
47
        mov  [edi+TSS._ss0], os_data
48
        mov  eax,cr3
49
        mov  [edi+TSS._cr3],eax
50
        mov  [edi+TSS._eip],osloop
51
        mov  [edi+TSS._eflags],dword 0x11202 ; sti and resume
52
        mov eax, [os_stack]
53
        add eax, RING0_STACK_SIZE
54
        mov  [edi+TSS._esp], eax
55
        mov  [edi+TSS._cs],os_code
56
        mov  [edi+TSS._ss],os_data
57
        mov  [edi+TSS._ds],os_data
58
        mov  [edi+TSS._es],os_data
59
        mov  [edi+TSS._fs],os_data
60
        mov  [edi+TSS._gs],os_data
61
 
62
        mov  ax,tss0
63
        ltr  ax