From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Scott Parish" Subject: Re: Latest bk can NOT compile on x86_64 Date: Tue, 31 May 2005 16:59:06 +0000 Message-ID: <20050531165906.GD9951@us.ibm.com> References: <7F740D512C7C1046AB53446D37200173041AE706@scsmsx402.amr.corp.intel.com> <1117552589.3990.13.camel@dyn95394152.austin.ibm.com> <1938c13145e886fac7c7e5d9c79f123a@cl.cam.ac.uk> <1117558879.3990.21.camel@dyn95394152.austin.ibm.com> <20050531165208.GC9951@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20050531165208.GC9951@us.ibm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Scott Parish Cc: xen-devel@lists.xensource.com, David F Barrera , "Nakajima, Jun" List-Id: xen-devel@lists.xenproject.org Uh, this patch is completely wrong, please ignore, k thanks. sRp On Tue, May 31, 2005 at 04:52:09PM +0000, Scott Parish wrote: > The attached patch gets me past early boot. > > sRp > > On Tue, May 31, 2005 at 06:16:10PM +0100, Keir Fraser wrote: > > > > > On 31 May 2005, at 18:01, David F Barrera wrote: > > > > >OK. This is the first time that I've been able to build Xen on SLES 9 > > >x86_64. When attempting to boot, Dom0 crashes. Although there is > > >already > > >a defect open (Bugzilla #26) for a failure to boot Dom0 on x86_64 on > > >FC4, I am opening a new defect (Bugzilla #65) since the failures appear > > >different. > > > > I wouldn't be surprised if the 32-bit PAE patch has broken guest > > pagetable management for x86/64. I fixed a bug that caused a crash > > during Xen bootstrap, but I didn't check domain0 booting. Lots of > > things have changed in the dom0 builder and in arch/x86/mm.c though. > > > > -- Keir > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xensource.com > > http://lists.xensource.com/xen-devel > > > > -- > Scott Parish > Signed-off-by: srparish@us.ibm.com > diff -rN -u -p old-xen-64-4/xen/arch/x86/mm.c new-xen-64-4/xen/arch/x86/mm.c > --- old-xen-64-4/xen/arch/x86/mm.c 2005-05-31 16:15:06.000000000 +0000 > +++ new-xen-64-4/xen/arch/x86/mm.c 2005-05-31 16:47:32.000000000 +0000 > @@ -103,6 +103,7 @@ > #include > #include > > +#define VERBOSE 1 > #ifdef VERBOSE > #define MEM_LOG(_f, _a...) \ > printk("DOM%u: (file=mm.c, line=%d) " _f "\n", \ > @@ -446,7 +447,7 @@ get_page_from_l1e( > > if ( unlikely(l1e_get_flags(l1e) & L1_DISALLOW_MASK) ) > { > - MEM_LOG("Bad L1 flags %x\n", l1e_get_flags(l1e) & L1_DISALLOW_MASK); > + MEM_LOG("Bad L1 flags %lx\n", l1e_get_flags(l1e) & L1_DISALLOW_MASK); > return 0; > } > > @@ -492,7 +493,7 @@ get_page_from_l2e( > > if ( unlikely((l2e_get_flags(l2e) & L2_DISALLOW_MASK)) ) > { > - MEM_LOG("Bad L2 flags %x\n", l2e_get_flags(l2e) & L2_DISALLOW_MASK); > + MEM_LOG("Bad L2 flags %lx\n", l2e_get_flags(l2e) & L2_DISALLOW_MASK); > return 0; > } > > @@ -525,7 +526,7 @@ get_page_from_l3e( > > if ( unlikely((l3e_get_flags(l3e) & L3_DISALLOW_MASK)) ) > { > - MEM_LOG("Bad L3 flags %x\n", l3e_get_flags(l3e) & L3_DISALLOW_MASK); > + MEM_LOG("Bad L3 flags %lx\n", l3e_get_flags(l3e) & L3_DISALLOW_MASK); > return 0; > } > > @@ -558,7 +559,7 @@ get_page_from_l4e( > > if ( unlikely((l4e_get_flags(l4e) & L4_DISALLOW_MASK)) ) > { > - MEM_LOG("Bad L4 flags %x\n", l4e_get_flags(l4e) & L4_DISALLOW_MASK); > + MEM_LOG("Bad L4 flags %lx\n", l4e_get_flags(l4e) & L4_DISALLOW_MASK); > return 0; > } > > diff -rN -u -p old-xen-64-4/xen/include/asm-x86/x86_64/page.h new-xen-64-4/xen/include/asm-x86/x86_64/page.h > --- old-xen-64-4/xen/include/asm-x86/x86_64/page.h 2005-05-31 16:15:06.000000000 +0000 > +++ new-xen-64-4/xen/include/asm-x86/x86_64/page.h 2005-05-31 16:50:24.000000000 +0000 > @@ -61,12 +61,12 @@ typedef l4_pgentry_t root_pgentry_t; > #define get_pte_flags(x) ((int)((x) >> 40) | ((int)(x) & 0xFFF)) > #define put_pte_flags(x) ((((intpte_t)((x) & ~0xFFF)) << 40) | ((x) & 0xFFF)) > > -#define _PAGE_NX (cpu_has_nx ? (1U<<23) : 0U) > +#define _PAGE_NX (cpu_has_nx ? (1UL<<63) : 0UL) > > -#define L1_DISALLOW_MASK (0xFFFFF180U & ~_PAGE_NX) /* PAT/GLOBAL */ > -#define L2_DISALLOW_MASK (0xFFFFF180U & ~_PAGE_NX) /* PSE/GLOBAL */ > -#define L3_DISALLOW_MASK (0xFFFFF180U & ~_PAGE_NX) /* must-be-zero */ > -#define L4_DISALLOW_MASK (0xFFFFF180U & ~_PAGE_NX) /* must-be-zero */ > +#define L1_DISALLOW_MASK _PAGE_NX > +#define L2_DISALLOW_MASK _PAGE_NX > +#define L3_DISALLOW_MASK _PAGE_NX > +#define L4_DISALLOW_MASK _PAGE_NX > > #endif /* __X86_64_PAGE_H__ */ > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel -- Scott Parish Signed-off-by: srparish@us.ibm.com