From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Knorr Subject: Re: PAE xen + linux kernel boots ... Date: Sun, 1 May 2005 00:55:54 +0200 Message-ID: <20050430225554.GC8637@bytesex> References: <20050425172624.GB22076@bytesex> <87ll74o29m.fsf@bytesex.org> <20050430084040.GB16883@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20050430084040.GB16883@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 List-Id: xen-devel@lists.xenproject.org > +#if defined(__i386__) && defined(CONFIG_X86_PAE) > + l3_pgentry_t *pl3e; > + l2_pgentry_t *pl2e; > + l1_pgentry_t *pl1e; > + > + pl3e = &idle_pg_table[l3_table_offset(addr)]; > + printk(" L3 = 0x%016llx\n", l3e_get_value(*pl3e)); Well, that isn't needed. > page = l2e_get_value(idle_pg_table[l2_table_offset(addr)]); Just make that "idle_pg_table_l2[l2_linear_offset(addr)]" should work ok. The idle_pg tables are contignous in physical (and virtual) memory, so you basically don't have to care about the idle_pg_table_l3 at all and can simply use idle_pg_table_l2 directly. Gerd -- #define printk(args...) fprintf(stderr, ## args)