Dec. 5, 2014
2:09 p.m.
On Fri, 05 Dec 2014 17:50:40 +0800, 孙建希 said:
I am confused by `leal -__PAGE_OFFSET(%ecx),%esp`. `pa(stack_start)` have convert `stack_start` to physicall address. why we need `-__PAGE_OFFSET(%ecx)` instead of `%ecx`?
From the commit message:
"This retains start_stack as a virtual address, even though a physical address would be more convenient for 32 bits;" In other words, pa() converted it to a physical adddress - and now we're converting it back to a virtual address....