Author: nwhitehorn
Date: Mon Sep  9 12:51:24 2013
New Revision: 255418
URL: http://svnweb.freebsd.org/changeset/base/255418

Log:
  Add POWER CPUs to the kernel's knowledge. This does not imply we currently
  actually run on any machines with POWER CPUs but avoids closing that door
  unnecessarily.
  
  Approved by:  re (kib)

Modified:
  head/sys/powerpc/aim/mmu_oea64.c
  head/sys/powerpc/aim/mmu_oea64.h
  head/sys/powerpc/powerpc/cpu.c

Modified: head/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- head/sys/powerpc/aim/mmu_oea64.c    Mon Sep  9 12:49:19 2013        
(r255417)
+++ head/sys/powerpc/aim/mmu_oea64.c    Mon Sep  9 12:51:24 2013        
(r255418)
@@ -263,7 +263,7 @@ uintptr_t   moea64_scratchpage_pte[2];
 struct mtx     moea64_scratchpage_mtx;
 
 uint64_t       moea64_large_page_mask = 0;
-int            moea64_large_page_size = 0;
+uint64_t       moea64_large_page_size = 0;
 int            moea64_large_page_shift = 0;
 
 /*
@@ -546,12 +546,9 @@ moea64_probe_large_page(void)
                powerpc_sync(); isync();
                
                /* FALLTHROUGH */
-       case IBMCELLBE:
+       default:
                moea64_large_page_size = 0x1000000; /* 16 MB */
                moea64_large_page_shift = 24;
-               break;
-       default:
-               moea64_large_page_size = 0;
        }
 
        moea64_large_page_mask = moea64_large_page_size - 1;

Modified: head/sys/powerpc/aim/mmu_oea64.h
==============================================================================
--- head/sys/powerpc/aim/mmu_oea64.h    Mon Sep  9 12:49:19 2013        
(r255417)
+++ head/sys/powerpc/aim/mmu_oea64.h    Mon Sep  9 12:51:24 2013        
(r255418)
@@ -70,6 +70,7 @@ extern u_int  moea64_pte_overflow;
 
 extern struct pvo_head *moea64_pvo_table;
 extern int             moea64_large_page_shift;
+extern uint64_t                moea64_large_page_size;
 extern u_int           moea64_pteg_count;
 extern u_int           moea64_pteg_mask;
 

Modified: head/sys/powerpc/powerpc/cpu.c
==============================================================================
--- head/sys/powerpc/powerpc/cpu.c      Mon Sep  9 12:49:19 2013        
(r255417)
+++ head/sys/powerpc/powerpc/cpu.c      Mon Sep  9 12:51:24 2013        
(r255418)
@@ -127,6 +127,20 @@ static const struct cputab models[] = {
         { "IBM PowerPC 970MP",         IBM970MP,       REVFMT_MAJMIN,
           PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU,
           cpu_970_setup },
+        { "IBM POWER4",                IBMPOWER4,      REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_FPU, NULL },
+        { "IBM POWER4+",       IBMPOWER4PLUS,  REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_FPU, NULL },
+        { "IBM POWER5",                IBMPOWER5,      REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_FPU, NULL },
+        { "IBM POWER5+",       IBMPOWER5PLUS,  REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_FPU, NULL },
+        { "IBM POWER6",                IBMPOWER6,      REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU,
+          NULL },
+        { "IBM POWER7",                IBMPOWER7,      REVFMT_MAJMIN,
+          PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU,
+          NULL },
         { "Motorola PowerPC 7400",     MPC7400,        REVFMT_MAJMIN,
           PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, cpu_6xx_setup },
         { "Motorola PowerPC 7410",     MPC7410,        REVFMT_MAJMIN,
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to