File tree 1 file changed +28
-0
lines changed
tools/testing/selftests/mm
1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -41,6 +41,31 @@ check_supported_x86_64()
41
41
fi
42
42
}
43
43
44
+ check_supported_ppc64 ()
45
+ {
46
+ local config=" /proc/config.gz"
47
+ [[ -f " ${config} " ]] || config=" /boot/config-$( uname -r) "
48
+ [[ -f " ${config} " ]] || fail " Cannot find kernel config in /proc or /boot"
49
+
50
+ local pg_table_levels=$( gzip -dcfq " ${config} " | grep PGTABLE_LEVELS | cut -d' =' -f 2)
51
+ if [[ " ${pg_table_levels} " -lt 5 ]]; then
52
+ echo " $0 : PGTABLE_LEVELS=${pg_table_levels} , must be >= 5 to run this test"
53
+ exit $ksft_skip
54
+ fi
55
+
56
+ local mmu_support=$( grep -m1 " mmu" /proc/cpuinfo | awk ' {print $3}' )
57
+ if [[ " $mmu_support " != " radix" ]]; then
58
+ echo " $0 : System does not use Radix MMU, required for 5-level paging"
59
+ exit $ksft_skip
60
+ fi
61
+
62
+ local hugepages_total=$( awk ' /HugePages_Total/ {print $2}' /proc/meminfo)
63
+ if [[ " ${hugepages_total} " -eq 0 ]]; then
64
+ echo " $0 : HugePages are not enabled, required for some tests"
65
+ exit $ksft_skip
66
+ fi
67
+ }
68
+
44
69
check_test_requirements ()
45
70
{
46
71
# The test supports x86_64 and powerpc64. We currently have no useful
@@ -50,6 +75,9 @@ check_test_requirements()
50
75
" x86_64" )
51
76
check_supported_x86_64
52
77
;;
78
+ " ppc64le" |" ppc64" )
79
+ check_supported_ppc64
80
+ ;;
53
81
* )
54
82
return 0
55
83
;;
You can’t perform that action at this time.
0 commit comments