<html><head><style>p{margin-top:0px;margin-bottom:0px;}</style></head><body><div style="font-size:10pt; font-family:Gulim, sans-serif;"><p>I'm sorry I said the wrong thing.</p><p> </p><p>First of all, page fault isn't blocked by cli instuction.</p><p>Page fault is a type of fulat(not a interrupt)</p><p> </p><p>This log is printed from the page fault handler. </p><p><span style="font-family: 돋움, Dotum, Helvetica, "Apple SD Gothic Neo", sans-serif; font-size: 12px;"></span></p><p><span style="font-family: 돋움, Dotum, Helvetica, "Apple SD Gothic Neo", sans-serif; font-size: 12px;"> </span></p><p><span style="font-family: 돋움, Dotum, Helvetica, "Apple SD Gothic Neo", sans-serif; font-size: 12px;">> [ 4024.792614] #PF: supervisor write access in kernel mode</span></p><span style="font-family: 돋움, Dotum, Helvetica, "Apple SD Gothic Neo", sans-serif; font-size: 12px;">> [ 4024.793944] #PF: error_code(0x0002) - not-present page</span><br style="font-family: 돋움, Dotum, Helvetica, "Apple SD Gothic Neo", sans-serif; font-size: 12px;"><p><span style="font-family: 돋움, Dotum, Helvetica, "Apple SD Gothic Neo", sans-serif; font-size: 12px;">> [ 4024.794920] PGD 0 P4D 0</span> </p><p> </p><p>But, the strange thing is that the address where the page fault occurred is a strange address(0x000000008004020b).</p><p>This address looks similar to the value of cr0. Adding 8*59 to this cr0 value immediately </p><p>results in the address where the page fault occurred.</p><p> </p><p>cr0 = 0x0000000080040033</p><p>cr2 = 0x000000008004020B</p><p> </p><p>cr2 == cr0[59]</p><p> </p><p><span style="font-size: 13.3333px;">This is because the rax register was missing from the clobber field of the inline assembly.</span></p></div></body></html><table style='display:none'><tr><td><img src="https://mail.naver.com/readReceipt/notify/?img=7mbqFz%2Bc14n9MrKYaquZaAv%2FaACSpzumK4kCK4E9ax00KrJoKquZpxbwMEIo%2BrkSKAgr74lR74l4b4u516YQarR0b4l0Wzl0%2BriGpBFg1rkZW4knW4kXM400bZlTb4b%3D.gif" border="0"/></td></tr></table>