Set CR0.AM bit

Allow applications to get Alignment Check exception


git-svn-id: svn://kolibrios.org@6817 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Ivan Baravy 2016-12-26 23:29:27 +00:00
parent 5b61094dc6
commit a7cb2f3691
2 changed files with 5 additions and 3 deletions

View File

@ -58,7 +58,8 @@ iglobal
dw 0 ;просто выравнивание dw 0 ;просто выравнивание
msg_fault_sel dd msg_exc_8,msg_exc_u,msg_exc_a,msg_exc_b msg_fault_sel dd msg_exc_8,msg_exc_u,msg_exc_a,msg_exc_b
dd msg_exc_c,msg_exc_d,msg_exc_e dd msg_exc_c,msg_exc_d,msg_exc_e,msg_exc_u
dd msg_exc_u,msg_exc_11
msg_exc_8 db "Double fault", 0 msg_exc_8 db "Double fault", 0
msg_exc_u db "Undefined Exception", 0 msg_exc_u db "Undefined Exception", 0
@ -67,6 +68,7 @@ iglobal
msg_exc_c db "Stack fault", 0 msg_exc_c db "Stack fault", 0
msg_exc_d db "General protection fault", 0 msg_exc_d db "General protection fault", 0
msg_exc_e db "Page fault", 0 msg_exc_e db "Page fault", 0
msg_exc_11 db "Alignment Check", 0
if lang eq sp if lang eq sp
include 'core/sys32-sp.inc' include 'core/sys32-sp.inc'
@ -221,7 +223,7 @@ show_error_parameters:
end if end if
cmp bl, 0x08 cmp bl, 0x08
jb .l0 jb .l0
cmp bl, 0x0e cmp bl, 0x11
jbe .l1 jbe .l1
.l0: .l0:
mov bl, 0x09 mov bl, 0x09

View File

@ -180,7 +180,7 @@ include "detect/biosdisk.inc"
; CR0 Flags - Protected mode and Paging ; CR0 Flags - Protected mode and Paging
mov ecx, CR0_PE mov ecx, CR0_PE+CR0_AM
; Enabling 32 bit protected mode ; Enabling 32 bit protected mode