Subversion Repositories Kolibri OS

Rev

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

Rev 427 Rev 430
Line -... Line 1...
-
 
1
; $Revision$
Line 1... Line 2...
1
align 4
2
 
2
proc alloc_page
3
align 4
Line 3... Line 4...
3
 
4
proc alloc_page
Line 542... Line 543...
542
           jnz .fail       ;óñòàíîâëåí çàðåçåðâèðîâàííûé áèò
543
           test eax, 8
543
                           ;â òàáëèöàõ ñòðàíèö. äîáàâëåíî â P4/Xeon
544
           jnz .fail       ;óñòàíîâëåí çàðåçåðâèðîâàííûé áèò
544
 
545
                           ;â òàáëèöàõ ñòðàíèö. äîáàâëåíî â P4/Xeon
Line 545... Line 546...
545
;ïîïûòêà çàïèñè â çàùèù¸ííóþ ñòðàíèöó ÿäðà
546
 
-
 
547
;ïîïûòêà çàïèñè â çàùèù¸ííóþ ñòðàíèöó ÿäðà
-
 
548
 
-
 
549
           cmp ebx, tss._io_map_0
-
 
550
           jb .fail
-
 
551
 
-
 
552
           cmp ebx, tss._io_map_0+8192
-
 
553
           jae .fail
-
 
554
 
-
 
555
; io permission map
-
 
556
; copy-on-write protection
-
 
557
 
-
 
558
           call alloc_page
-
 
559
           and eax, eax
-
 
560
           jz .fail
-
 
561
 
-
 
562
           push eax
-
 
563
           stdcall map_page,[ebp-4],eax,dword PG_SW
-
 
564
           pop eax
-
 
565
           mov edi, [.err_addr]
-
 
566
           and edi, -4096
-
 
567
           lea esi, [edi+(not tss._io_map_0)+1]; -tss._io_map_0
-
 
568
 
-
 
569
           mov ebx, esi
-
 
570
           shr ebx, 12
-
 
571
           mov edx, [current_slot]
-
 
572
           or eax, PG_SW
-
 
573
           mov [edx+APPDATA.io_map+ebx*4], eax
-
 
574
 
-
 
575
           add esi, [default_io_map]
-
 
576
           mov ecx, 4096/4
-
 
577
           cld
-
 
578
           rep movsd
-
 
579
           jmp .exit
-
 
580
 
546
;íå îáðàáàòûâàåì. Îøèáêà
581
 
Line 547... Line 582...
547
 
582
;íå îáðàáàòûâàåì. Îøèáêà
548
.core_tabs:
583
 
549
.fail:
584
.core_tabs: