Rev 1306 | Rev 1312 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1306 | Rev 1310 | ||
---|---|---|---|
Line 55... | Line 55... | ||
55 | ;; |
55 | ;; |
56 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
56 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 57... | Line 57... | ||
57 | 57 | ||
Line 58... | Line 58... | ||
58 | include 'macros.inc' |
58 | include 'macros.inc' |
Line 59... | Line 59... | ||
59 | 59 | ||
Line 60... | Line 60... | ||
60 | $Revision: 1306 $ |
60 | $Revision: 1310 $ |
Line 463... | Line 463... | ||
463 | mov eax, syscall_entry |
463 | mov eax, syscall_entry |
464 | mov ecx, MSR_AMD_STAR |
464 | mov ecx, MSR_AMD_STAR |
465 | wrmsr |
465 | wrmsr |
466 | .noSYSCALL: |
466 | .noSYSCALL: |
467 | ; ----------------------------------------- |
467 | ; ----------------------------------------- |
- | 468 | stdcall alloc_page |
|
- | 469 | stdcall map_page, tss-0xF80, eax, PG_SW |
|
- | 470 | stdcall alloc_page |
|
- | 471 | inc eax |
|
- | 472 | mov [SLOT_BASE+256+APPDATA.io_map], eax |
|
- | 473 | stdcall map_page, tss+0x80, eax, PG_SW |
|
- | 474 | stdcall alloc_page |
|
- | 475 | inc eax |
|
- | 476 | mov dword [SLOT_BASE+256+APPDATA.io_map+4], eax |
|
- | 477 | stdcall map_page, tss+0x1080, eax, PG_SW |
|
Line 468... | Line 478... | ||
468 | 478 | ||
Line 469... | Line 479... | ||
469 | ; LOAD IDT |
479 | ; LOAD IDT |
470 | 480 | ||
Line 712... | Line 722... | ||
712 | mov edi, [os_stack_seg] |
722 | mov edi, [os_stack_seg] |
713 | mov dword [SLOT_BASE+256+APPDATA.pl0_stack], edi |
723 | mov dword [SLOT_BASE+256+APPDATA.pl0_stack], edi |
714 | add edi, 0x2000-512 |
724 | add edi, 0x2000-512 |
715 | mov dword [SLOT_BASE+256+APPDATA.fpu_state], edi |
725 | mov dword [SLOT_BASE+256+APPDATA.fpu_state], edi |
716 | mov dword [SLOT_BASE+256+APPDATA.saved_esp0], edi ; just for case |
726 | mov dword [SLOT_BASE+256+APPDATA.saved_esp0], edi ; just for case |
717 | mov dword [SLOT_BASE+256+APPDATA.io_map],\ |
727 | ; [SLOT_BASE+256+APPDATA.io_map] was set earlier |
718 | (tss._io_map_0-OS_BASE+PG_MAP) |
- | |
719 | mov dword [SLOT_BASE+256+APPDATA.io_map+4],\ |
- | |
720 | (tss._io_map_1-OS_BASE+PG_MAP) |
- | |
Line 721... | Line 728... | ||
721 | 728 | ||
722 | mov esi, fpu_data |
729 | mov esi, fpu_data |
723 | mov ecx, 512/4 |
730 | mov ecx, 512/4 |
724 | cld |
731 | cld |
Line 827... | Line 834... | ||
827 | call load_default_skin |
834 | call load_default_skin |
Line 828... | Line 835... | ||
828 | 835 | ||
Line 829... | Line 836... | ||
829 | ;protect io permission map |
836 | ;protect io permission map |
830 | 837 | ||
831 | mov esi, [default_io_map] |
838 | mov esi, [default_io_map] |
832 | stdcall map_page,esi,(tss._io_map_0-OS_BASE), PG_MAP |
839 | stdcall map_page,esi,[SLOT_BASE+256+APPDATA.io_map], PG_MAP |
Line 833... | Line 840... | ||
833 | add esi, 0x1000 |
840 | add esi, 0x1000 |
834 | stdcall map_page,esi,(tss._io_map_1-OS_BASE), PG_MAP |
841 | stdcall map_page,esi,[SLOT_BASE+256+APPDATA.io_map+4], PG_MAP |
835 | 842 | ||
836 | stdcall map_page,tss._io_map_0,\ |
843 | stdcall map_page,tss._io_map_0,\ |
Line 837... | Line 844... | ||
837 | (tss._io_map_0-OS_BASE), PG_MAP |
844 | [SLOT_BASE+256+APPDATA.io_map], PG_MAP |
838 | stdcall map_page,tss._io_map_1,\ |
845 | stdcall map_page,tss._io_map_1,\ |
839 | (tss._io_map_1-OS_BASE), PG_MAP |
846 | [SLOT_BASE+256+APPDATA.io_map+4], PG_MAP |
840 | 847 |