diff --git a/board/hisilicon/hikey/build-tf.mak b/board/hisilicon/hikey/build-tf.mak
index cebb34b61bdfe9871602f7a6e146b1998feea0c2..cde04827e8ea9d528a03f936e07a139084dbb45a 100644
--- a/board/hisilicon/hikey/build-tf.mak
+++ b/board/hisilicon/hikey/build-tf.mak
@@ -1,6 +1,6 @@
 CROSS_COMPILE	:= aarch64-linux-gnu-
 output_dir	:= $(PWD)/../bin
-makejobs	:= $(shell grep '^processor' /proc/cpuinfo | sort -u | wc -l)
+makejobs	:= $(nproc)
 makethreads	:= $(shell dc -e "$(makejobs) 1 + p")
 make_options	:= GCC49_AARCH64_PREFIX=$CROSS_COMPILE \
 		-j$(makethreads) -l$(makejobs)
diff --git a/test/common.sh b/test/common.sh
index 702d1ed0513f51090143bc16c00f83bba93f4e24..904d579b7bfefcc5cbb1bba5afe61e396a26f472 100644
--- a/test/common.sh
+++ b/test/common.sh
@@ -13,7 +13,7 @@ fail() {
 build_uboot() {
 	echo "Build sandbox"
 	OPTS="O=${OUTPUT_DIR} $1"
-	NUM_CPUS=$(grep -c processor /proc/cpuinfo)
+	NUM_CPUS=$(nproc)
 	echo ${OPTS}
 	make ${OPTS} sandbox_config
 	make ${OPTS} -s -j${NUM_CPUS}
diff --git a/test/fs/fs-test.sh b/test/fs/fs-test.sh
index 721af71d44ca659539c3537fd47248f446db9ca0..b87748106c7a3c9b3be6dcf405366aa33e7cd036 100755
--- a/test/fs/fs-test.sh
+++ b/test/fs/fs-test.sh
@@ -87,7 +87,7 @@ function check_clean() {
 # Generate sandbox U-Boot - gleaned from /test/dm/test-dm.sh
 function compile_sandbox() {
 	unset CROSS_COMPILE
-	NUM_CPUS=$(cat /proc/cpuinfo |grep -c processor)
+	NUM_CPUS=$(nproc)
 	make O=sandbox sandbox_config
 	make O=sandbox -s -j${NUM_CPUS}