[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PAE xen + linux kernel boots ...
On Sat, Apr 30, 2005 at 09:01:17AM +0000, Scott Parish wrote: > On Wed, Apr 27, 2005 at 02:03:17PM +0200, Gerd Knorr wrote: > > > Well, now it does, boots up to a login prompt ;) > > pl1e would straddle a page boundary I swear there is a muse associated with the send button on email clients. In this case the epiphany was the obvious--the problem was that we're missing alignment. But why? On the linux side of things we have the following in pgtable-3level.h: #if 1 /* writable pagetables */ static inline void set_pte(pte_t *ptep, pte_t pte) { ptep->pte_high = pte.pte_high; smp_wmb(); ptep->pte_low = pte.pte_low; } ... Here's what (i'm thinking) is going on. We go to set the high bits (first for atomicy: we don't set the active bit till last), but take a page fault, on the high bits--a 4 byte offset. Switch to xen, which is going to emulate some instructions and fake the writing. We eventually end up in ptwr_emulated_update(), who among other things, tries to copy the full l1_pgentry_t (64bits), but from the 4 byte offset, that is the 4 high bytes and then 4 bytes of undefined memory that may even be in another page. sRp -- Scott Parish _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |