From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerald Britton Subject: Re: xen and agpgart Date: Sat, 4 Sep 2004 01:32:10 -0400 Sender: xen-devel-admin@lists.sourceforge.net Message-ID: <20040904053210.GA12060@fog.sekrit.org> References: <20040904042510.GA10282@fog.sekrit.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Keir Fraser Cc: xen-devel@lists.sourceforge.net List-Id: xen-devel@lists.xenproject.org On Sat, Sep 04, 2004 at 05:47:36AM +0100, Keir Fraser wrote: > Somehow you are ending up in the following code in the following code > in __change_page_attr (arch/i386/mm/pageattr.c): > > if (cpu_has_pse && (page_count(kpte_page) == 1)) { > list_add(&kpte_page->lru, &df_list); > revert_page(kpte_page, address); > } > > This ought to be impossible, as cpu_has_pse should be 0. > Add some debug printing around that code -- e.g., print the value of > cpu_has_pse, and also the contents of e.g., > boot_cpu_data.x86_capability[0], boot_cpu_data.x86_capability[1]. I've confirmed that this is infact the codepath that's executing. I also catted /proc/cpuinfo and the "pse" flag is listed there. If it helps, my setup here is an IBM Thinkpad T40p which has a Pentium M 1600MHz in it (cpuinfo is included below). > Perhaps the capability flags are getting corrupted - I think the value > must be correct at boot time or you would crash while booting! I examined the values in /proc/cpuinfo after boot, I'll dump the flags earlier in the boot process and see if it's correct then... I tested for PSE immediately after the memcpy() at the top of setup_arch() and it is set there. Here is the cpuinfo from within Xen: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 9 model name : Intel(R) Pentium(R) M processor 1600MHz stepping : 5 cpu MHz : 1594.870 cache size : 1024 KB fdiv_bug : no hlt_bug : yes f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe tm2 est bogomips : 3185.04 Outside of Xen, the differences I see are "hlt_bug : no" instead of yes, and outside I lack the flags "apic sep" > Meanwhile I've checked in a fix for wbinvd. I've fixed the wbinvd() > macro in system.h, but agp.h uses the instruction directly. You'll > have to patch that file yourself -- really a patch ought to be sent to > the maintainer, but I'll wait until I've fixed the broken uses of > ioremap_nocache in various GART drivers. This sounds good to me. -- Gerald ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click