Rev 8092 | Rev 8111 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8092 | Rev 8093 | ||
---|---|---|---|
Line 69... | Line 69... | ||
69 | format binary as "mnt" |
69 | format binary as "mnt" |
Line 70... | Line 70... | ||
70 | 70 | ||
71 | include 'macros.inc' |
71 | include 'macros.inc' |
Line 72... | Line 72... | ||
72 | include 'struct.inc' |
72 | include 'struct.inc' |
Line 73... | Line 73... | ||
73 | 73 | ||
74 | $Revision: 8092 $ |
74 | $Revision: 8093 $ |
Line 597... | Line 597... | ||
597 | stosd |
597 | stosd |
598 | stosd |
598 | stosd |
Line 599... | Line 599... | ||
599 | 599 | ||
Line 600... | Line 600... | ||
600 | mov [current_process], sys_proc |
600 | mov [current_process], sys_proc |
601 | 601 | ||
602 | mov edx, SLOT_BASE+256*1 |
602 | mov edx, SLOT_BASE+sizeof.APPDATA*1 |
603 | mov ebx, [os_stack_seg] |
603 | mov ebx, [os_stack_seg] |
604 | add ebx, RING0_STACK_SIZE |
604 | add ebx, RING0_STACK_SIZE |
605 | add ebx, [xsave_area_size] |
605 | add ebx, [xsave_area_size] |
Line 609... | Line 609... | ||
609 | mov eax, [edx+APPDATA.saved_esp] |
609 | mov eax, [edx+APPDATA.saved_esp] |
610 | mov dword [eax], idle_thread |
610 | mov dword [eax], idle_thread |
611 | mov ecx, IDLE_PRIORITY |
611 | mov ecx, IDLE_PRIORITY |
612 | call scheduler_add_thread |
612 | call scheduler_add_thread |
Line 613... | Line 613... | ||
613 | 613 | ||
614 | mov edx, SLOT_BASE+256*2 |
614 | mov edx, SLOT_BASE+sizeof.APPDATA*2 |
615 | mov ebx, [os_stack_seg] |
615 | mov ebx, [os_stack_seg] |
616 | call setup_os_slot |
616 | call setup_os_slot |
617 | mov dword [edx], 'OS' |
617 | mov dword [edx], 'OS' |
618 | xor ecx, ecx |
618 | xor ecx, ecx |
Line 619... | Line 619... | ||
619 | call scheduler_add_thread |
619 | call scheduler_add_thread |
620 | 620 | ||
621 | mov dword [CURRENT_TASK], 2 |
621 | mov dword [CURRENT_TASK], 2 |
622 | mov dword [TASK_COUNT], 2 |
622 | mov dword [TASK_COUNT], 2 |
Line 623... | Line 623... | ||
623 | mov dword [current_slot], SLOT_BASE + 256*2 |
623 | mov dword [current_slot], SLOT_BASE + sizeof.APPDATA*2 |
624 | mov dword [TASK_BASE], CURRENT_TASK + 32*2 |
624 | mov dword [TASK_BASE], CURRENT_TASK + sizeof.TASKDATA*2 |
625 | 625 | ||
626 | ; Move other CPUs to deep sleep, if it is useful |
626 | ; Move other CPUs to deep sleep, if it is useful |
Line 878... | Line 878... | ||
878 | call boot_log |
878 | call boot_log |
879 | call reserve_irqs_ports |
879 | call reserve_irqs_ports |
Line 880... | Line 880... | ||
880 | 880 | ||
881 | call init_display |
881 | call init_display |
882 | mov eax, [def_cursor] |
882 | mov eax, [def_cursor] |
883 | mov [SLOT_BASE+APPDATA.cursor+256], eax |
883 | mov [SLOT_BASE+APPDATA.cursor+sizeof.APPDATA], eax |
Line 884... | Line 884... | ||
884 | mov [SLOT_BASE+APPDATA.cursor+256*2], eax |
884 | mov [SLOT_BASE+APPDATA.cursor+sizeof.APPDATA*2], eax |
Line 885... | Line 885... | ||
885 | 885 | ||
886 | ; PRINT CPU FREQUENCY |
886 | ; PRINT CPU FREQUENCY |
Line 975... | Line 975... | ||
975 | call load_default_skin |
975 | call load_default_skin |
Line 976... | Line 976... | ||
976 | 976 | ||
Line 977... | Line 977... | ||
977 | ; Protect I/O permission map |
977 | ; Protect I/O permission map |
978 | 978 | ||
979 | mov esi, [default_io_map] |
979 | mov esi, [default_io_map] |
980 | stdcall map_page, esi, [SLOT_BASE+256+APPDATA.io_map], PG_READ |
980 | stdcall map_page, esi, [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map], PG_READ |
Line 981... | Line 981... | ||
981 | add esi, 0x1000 |
981 | add esi, 0x1000 |
982 | stdcall map_page, esi, [SLOT_BASE+256+APPDATA.io_map+4], PG_READ |
982 | stdcall map_page, esi, [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map+4], PG_READ |
983 | 983 | ||
984 | stdcall map_page, tss._io_map_0, \ |
984 | stdcall map_page, tss._io_map_0, \ |
Line 985... | Line 985... | ||
985 | [SLOT_BASE+256+APPDATA.io_map], PG_READ |
985 | [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map], PG_READ |
986 | stdcall map_page, tss._io_map_1, \ |
986 | stdcall map_page, tss._io_map_1, \ |
987 | [SLOT_BASE+256+APPDATA.io_map+4], PG_READ |
987 | [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map+4], PG_READ |
988 | 988 | ||
Line 1120... | Line 1120... | ||
1120 | 1120 | ||
1121 | ; in: edx -> APPDATA for OS/IDLE slot |
1121 | ; in: edx -> APPDATA for OS/IDLE slot |
1122 | ; in: ebx = stack base |
1122 | ; in: ebx = stack base |
1123 | proc setup_os_slot |
1123 | proc setup_os_slot |
1124 | xor eax, eax |
1124 | xor eax, eax |
1125 | mov ecx, 256/4 |
1125 | mov ecx, sizeof.APPDATA/4 |
1126 | mov edi, edx |
1126 | mov edi, edx |
Line 1127... | Line 1127... | ||
1127 | rep stosd |
1127 | rep stosd |
1128 | 1128 | ||
Line 3504... | Line 3504... | ||
3504 | movzx eax, word [MOUSE_X] |
3504 | movzx eax, word [MOUSE_X] |
3505 | movzx edx, word [MOUSE_Y] |
3505 | movzx edx, word [MOUSE_Y] |
3506 | ;-------------------------------------- |
3506 | ;-------------------------------------- |
3507 | align 4 |
3507 | align 4 |
3508 | .set_mouse_event: |
3508 | .set_mouse_event: |
3509 | add edi, 256 |
3509 | add edi, sizeof.APPDATA |
3510 | add ebx, 32 |
3510 | add ebx, sizeof.TASKDATA |
3511 | test [ebx+TASKDATA.event_mask], 0x80000000 |
3511 | test [ebx+TASKDATA.event_mask], 0x80000000 |
3512 | jz .pos_filter |
3512 | jz .pos_filter |
Line 3513... | Line 3513... | ||
3513 | 3513 | ||
3514 | cmp edi, [esp] ; skip if filtration active |
3514 | cmp edi, [esp] ; skip if filtration active |
Line 3572... | Line 3572... | ||
3572 | xor edi, edi |
3572 | xor edi, edi |
3573 | mov ecx, [TASK_COUNT] |
3573 | mov ecx, [TASK_COUNT] |
3574 | ;-------------------------------------- |
3574 | ;-------------------------------------- |
3575 | align 4 |
3575 | align 4 |
3576 | set_bgr_event: |
3576 | set_bgr_event: |
3577 | add edi, 256 |
3577 | add edi, sizeof.APPDATA |
3578 | mov eax, [BG_Rect_X_left_right] |
3578 | mov eax, [BG_Rect_X_left_right] |
3579 | mov edx, [BG_Rect_Y_top_bottom] |
3579 | mov edx, [BG_Rect_Y_top_bottom] |
3580 | cmp [edi+SLOT_BASE+APPDATA.draw_bgr_x], 0 |
3580 | cmp [edi+SLOT_BASE+APPDATA.draw_bgr_x], 0 |
3581 | jz .set |
3581 | jz .set |
3582 | .join: |
3582 | .join: |