Page 2 of 2

Posted: Sat Sep 22, 2007 11:55 am
by vhg119
urxae wrote:I think he's mapping in the page dir at a certain address, inserts the page table, then remaps that same virtual address address to the page table he just added so he can modify it. His problem was that he forgot to invlpg in-between, so he was writing to the page dir when he thought he was writing to the page table.

He's also doing it in the reversed order I would do it by the way; if I mapped the page dir and page tables in on-demand, I'd make sure to correctly initialize the page table before adding it to the page dir. But since I'm using fractal mapping it's simpler to just map the page table in and write to the correct spot in the upper 4 MB of memory...
That's pretty much what I did in more concise words. And you're right about initializing the page table... I forgot to do that and there was dirty data there.