Hi !
I am currently using the Access Flag with software management, and I recently read about the v8.1 evolution with hardware management. From the reference manual:
When the hardware management of the Access flag is enabled, in situations where, without this feature, an Accessflag fault would be generated, the hardware instead performs an atomic read-modify-write of the appropriatetranslation table descriptor to update the Access flag from 0 to 1.
What I understand here is that if I set the AF to 1, any access is done "normally", and if I set the AF to 0, the hardware will update it to 1 and then perform an "normal" access, without the kernel even knowing of this 0 -> 1 update. I don't understand in which case this would be an interesting behavior, or how to use this in practice. What's the difference between this and always having the AF set to 1 ?
Could anyone enlighten me ?
Best regards,
V.
You will know that the page table element has been used and take further actions (like flush cache for this memory) on context switch.
Ok, but how is this different from the "dirty" bit introduced at the same time in v8-1 ?
Simple meaning of the words: Access => page/section accessed. Dirty => also written. Means if dirty == 0 => no need to flush, just invalidate the cache for this page/section.Helps also "copy on write" I think.
Thank you for your insight !