Page 1 of 1

Very important paging question !!!!!!!!!

Posted: Tue Aug 17, 2004 11:00 pm
by Morpheus
When you make changes to the page tables you've to update the tlb with the 'invlpg' command

My question is,
what parameter should I use for this command (assembler)

invlpg ??

RE:Very important paging question !!!!!!!!!

Posted: Tue Aug 17, 2004 11:00 pm
by Shmooze
The parameter is the *virtual* address you want to invalidate... so say you invalidated 0x1000, you'd go:

mov eax,0x1000
invlpg eax

RE:Very important paging question !!!!!!!!!

Posted: Tue Aug 17, 2004 11:00 pm
by hartyl
my assembler didn't allow "invlpg eax", but it works with "invlpg [eax]" as well.

greets, hartyl

RE:Very important paging question !!!!!!!!!

Posted: Wed Aug 18, 2004 11:00 pm
by morpheus
thanks mate

this really works :p

RE:Very important paging question !!!!!!!!!

Posted: Mon Aug 23, 2004 11:00 pm
by prabuinet
i think this would help you,

just reload the cr3 register. (if 386)

movl %cr3, %eax
movl %eax, %cr3

RE:Very important paging question !!!!!!!!!

Posted: Mon Aug 23, 2004 11:00 pm
by Legend
Using INVPLG to invalidate some addresses should be far more efficient then trashing the whole TLB. Works only on the 486 and above ofc ...