Subversion Repositories Kolibri OS

Rev

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

Rev 855 Rev 864
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2007-2008. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2007-2008. 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: 855 $
8
$Revision: 864 $
9
 
9
 
Line 10... Line 10...
10
; Virtual-8086 mode manager
10
; Virtual-8086 mode manager
Line 47... Line 47...
47
; First is main page directory for V86 mode.
47
; First is main page directory for V86 mode.
48
; Second page:
48
; Second page:
49
; first half (0x800 bytes) is page table for addresses 0 - 0x100000,
49
; first half (0x800 bytes) is page table for addresses 0 - 0x100000,
50
; second half is for V86-to-linear translation.
50
; second half is for V86-to-linear translation.
51
; Third and fourth are for I/O permission map.
51
; Third and fourth are for I/O permission map.
52
        push    8000h           ; blocks less than 8 pages are discontinuous
52
        mov     ecx, 2
53
        call    kernel_alloc
53
        call    @core_alloc@4
54
        test    eax, eax
54
        test    eax, eax
55
        jz      .fail2
55
        jz      .fail2
-
 
56
        add     eax, OS_BASE
56
        mov     [ebx+V86_machine.pagedir], eax
57
        mov     [ebx+V86_machine.pagedir], eax
57
        push    edi eax
58
        push    edi eax
58
        mov     edi, eax
59
        mov     edi, eax
59
        add     eax, 1800h
60
        add     eax, 1800h
60
        mov     [ebx+V86_machine.pages], eax
61
        mov     [ebx+V86_machine.pages], eax