1f08c3bdfSopenharmony_ci#!/bin/sh
2f08c3bdfSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-or-later
3f08c3bdfSopenharmony_ci# Copyright (c) 2021 Yang Xu <xuyang2018.jy@fujitsu.com>
4f08c3bdfSopenharmony_ci# Copyright (c) 2021 Petr Vorel <pvorel@suse.cz>
5f08c3bdfSopenharmony_ci
6f08c3bdfSopenharmony_citconf()
7f08c3bdfSopenharmony_ci{
8f08c3bdfSopenharmony_ci	echo "TCONF: $1"
9f08c3bdfSopenharmony_ci	exit 32
10f08c3bdfSopenharmony_ci}
11f08c3bdfSopenharmony_ci
12f08c3bdfSopenharmony_ciecho "Testing .request_hugepages = TST_NO_HUGEPAGES"
13f08c3bdfSopenharmony_ci
14f08c3bdfSopenharmony_ciorig_value=`cat /proc/sys/vm/nr_hugepages`
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ciif grep -q -E '^proc /proc(/sys)? proc ro' /proc/mounts; then
17f08c3bdfSopenharmony_ci	tconf "/proc or /proc/sys mounted as read-only"
18f08c3bdfSopenharmony_cifi
19f08c3bdfSopenharmony_ci
20f08c3bdfSopenharmony_ciif [ ! -f /proc/sys/vm/nr_hugepages ]; then
21f08c3bdfSopenharmony_ci	tconf "/proc/sys/vm/nr_hugepages does not exist"
22f08c3bdfSopenharmony_cifi
23f08c3bdfSopenharmony_ci
24f08c3bdfSopenharmony_ciif [ ! -w /proc/sys/vm/nr_hugepages ]; then
25f08c3bdfSopenharmony_ci	tconf "no write permission to /proc/sys/vm/nr_hugepages (run as root)"
26f08c3bdfSopenharmony_cifi
27f08c3bdfSopenharmony_ci
28f08c3bdfSopenharmony_ciecho 4 > /proc/sys/vm/nr_hugepages
29f08c3bdfSopenharmony_ci
30f08c3bdfSopenharmony_ci./test_zero_hugepage
31f08c3bdfSopenharmony_ci
32f08c3bdfSopenharmony_ciecho $orig_value > /proc/sys/vm/nr_hugepages
33