pmap_invalidate_cache_range() panic on Xen Server

From: Michio \ <michio.jinbo_at_gmail.com>
Date: Mon, 05 Oct 2009 07:25:18 +0900
On Sun, 4 Oct 2009 12:20:59 +0000 (UTC)
Konstantin Belousov <kib_at_FreeBSD.org> wrote:

> Log:
>   MFC r197663:
>   As a workaround, for Intel CPUs, do not use CLFLUSH in
>   pmap_invalidate_cache_range() when self-snoop is apparently not reported
>   in cpu features.
>   
>   Approved by:	re (bz, kensmith)

I was tested r197663/r197744, but kernel panic again on Citrix Xen Server.

using 8.0-RC1 install cd, results are
1. INTEL SU9400+HYPER-V(Windows2008 R2) -> boot OK.
2. AMD Athlon X2 TK-55+HYPER-V(Windows2008 R2) -> boot NG.
3. AMD PhenomII 940BK+Citrix Xen Server -> boot NG.

I think INTEL CPUs are no problem, but AMD CPUs appear the problem. So I tested
the following patch, kernel boot was successed on recent 9-CURRENT and environment 3.

sorry, poor English.

--- sys/i386/i386/initcpu.c.original    2009-10-01 21:52:48.000000000 +0900
+++ sys/i386/i386/initcpu.c     2009-10-05 08:29:45.000000000 +0900
_at__at_ -721,7 +721,7 _at__at_
         * XXXKIB: (temporary) hack to work around traps generated when
         * CLFLUSHing APIC registers window.
         */
-       if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS))
+       if (cpu_vendor_id == CPU_VENDOR_AMD && !(cpu_feature & CPUID_SS))
                cpu_feature &= ~CPUID_CLFSH;

 #if defined(PC98) && !defined(CPU_UPGRADE_HW_CACHE)

-- 
Michio Jinbo <michio.jinbo_at_gmail.com>
Received on Sun Oct 04 2009 - 20:45:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:56 UTC