gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Page fault handling on X86 full system

YK
Youngin Kim
Mon, Aug 22, 2022 6:45 AM

Hi all,

I'm trying to figure out how the OS and disk communicate with each other to
handle page faults on x86 full system.

I found that PageFault objects are created on page faults, but they are
never invoked.
In the case of LSQRequest, this seems because PageFault objects have just
disappeared due to squashTranslation() (ex, lsq.cc:880).

I already figured out how it works in ARM architecture by setting
Faults,IdeAll debug flags (interaction is very clear on ARM), but for x86,
it seems like PageTableWalker does not send interrupts to CPUs on page
faults.

Am I missing something?

Thank you for your answer in advance.

Best regards
Youngin Kim

Hi all, I'm trying to figure out how the OS and disk communicate with each other to handle page faults on x86 full system. I found that PageFault objects are created on page faults, but they are never invoked. In the case of LSQRequest, this seems because PageFault objects have just disappeared due to squashTranslation() (ex, lsq.cc:880). I already figured out how it works in ARM architecture by setting Faults,IdeAll debug flags (interaction is very clear on ARM), but for x86, it seems like PageTableWalker does not send interrupts to CPUs on page faults. Am I missing something? Thank you for your answer in advance. Best regards Youngin Kim