diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2013-09-09 12:51:24 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2013-09-09 12:51:24 +0000 |
commit | d54687609ce697afeb64e5cdd57396c563fcf8c8 (patch) | |
tree | e46bba7ebaba977261419750df96890ee498b9b6 | |
parent | 40b0e2de83eaed293efb6d1a6202b71aa813e4af (diff) | |
download | FreeBSD-src-d54687609ce697afeb64e5cdd57396c563fcf8c8.zip FreeBSD-src-d54687609ce697afeb64e5cdd57396c563fcf8c8.tar.gz |
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)
-rw-r--r-- | sys/powerpc/aim/mmu_oea64.c | 7 | ||||
-rw-r--r-- | sys/powerpc/aim/mmu_oea64.h | 1 | ||||
-rw-r--r-- | sys/powerpc/powerpc/cpu.c | 14 |
3 files changed, 17 insertions, 5 deletions
diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index ba1da12..e93c655 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -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; diff --git a/sys/powerpc/aim/mmu_oea64.h b/sys/powerpc/aim/mmu_oea64.h index 101181d..111d04d 100644 --- a/sys/powerpc/aim/mmu_oea64.h +++ b/sys/powerpc/aim/mmu_oea64.h @@ -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; diff --git a/sys/powerpc/powerpc/cpu.c b/sys/powerpc/powerpc/cpu.c index d67f359..a4467a9 100644 --- a/sys/powerpc/powerpc/cpu.c +++ b/sys/powerpc/powerpc/cpu.c @@ -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, |