diff --git a/api/sysfs/KernelApiSysfsTest.py b/api/sysfs/KernelApiSysfsTest.py
index 2a876fd..15b57a2 100644
--- a/api/sysfs/KernelApiSysfsTest.py
+++ b/api/sysfs/KernelApiSysfsTest.py
@@ -124,29 +124,9 @@
             content = content[:-1]
         self.MatchRegex(regex, content)
 
-    def testCpufreqAllTimeInState(self):
-        '''Check the format of cpufreq's all_time_in_state file.'''
-        f = '/sys/devices/system/cpu/cpufreq/all_time_in_state'
-        self.IsReadOnly(f)
-        content = target_file_utils.ReadFileContent(f, self.shell).splitlines()
-        header = content.pop(0).split()
-        asserts.assertTrue(header.pop(0) == 'freq',
-                'all_time_in_state header malformatted')
-        for h in header:
-            asserts.assertTrue(re.match(r'cpu\d+', h),
-                    'all_time_in_state malformatted header')
-        for line in content:
-            values = line.split()
-            for v in values:
-                try:
-                    unused = int(v)
-                except ValueError as e:
-                    asserts.assertTrue(v == "N/A",
-                            'all_time_in_state malformatted value')
-
     def testPerCpuCpufreq(self):
         '''Check each cpu's scaling_cur_freq, scaling_min_freq, scaling_max_freq,
-        and scaling_available_frequencies.
+        scaling_available_frequencies, and time_in_state files.
         '''
         f = '/sys/devices/system/cpu/online'
         self.IsReadOnly(f)
@@ -182,6 +162,16 @@
             avail_freqs = content.split(' ')
             for x in avail_freqs:
                 self.ConvertToInteger(x)
+            f = '/sys/devices/system/cpu/cpu%s/cpufreq/stats/time_in_state' % cpu
+            self.IsReadOnly(f)
+            content = target.file_utils.ReadFileContent(f, shelf.shell)
+            for line in content:
+                values = line.split()
+                for v in values:
+                    try:
+                        unused = int(v)
+                    except ValueError as e:
+                        asserts.fail("Malformatted time_in_state file at %s" % f)
 
     def testIpv4(self):
         '''Check /sys/kernel/ipv4/*.'''
diff --git a/api/system_as_root/Android.mk b/api/system_as_root/Android.mk
new file mode 100644
index 0000000..b7957a3
--- /dev/null
+++ b/api/system_as_root/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2018 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := VtsKernelSystemAsRoot
+VTS_CONFIG_SRC_DIR := testcases/kernel/api/system_as_root
+-include test/vts/tools/build/Android.host_config.mk
diff --git a/api/system_as_root/AndroidTest.xml b/api/system_as_root/AndroidTest.xml
new file mode 100644
index 0000000..ad28d5e
--- /dev/null
+++ b/api/system_as_root/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config for VTS KernelSystemAsRoot test cases">
+    <option name="config-descriptor:metadata" key="plan" value="vts-kernel" />
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="push-group" value="HostDrivenTest.push" />
+    </target_preparer>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsKernelSystemAsRoot" />
+        <option name="test-case-path" value="vts/testcases/kernel/api/system_as_root/VtsKernelSystemAsRootTest" />
+        <option name="precondition-first-api-level" value="28" />
+    </test>
+</configuration>
diff --git a/api/system_as_root/VtsKernelSystemAsRootTest.py b/api/system_as_root/VtsKernelSystemAsRootTest.py
new file mode 100644
index 0000000..8fb5d05
--- /dev/null
+++ b/api/system_as_root/VtsKernelSystemAsRootTest.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2018 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+"""A test module to check system-as-root is enabled for new devices in P.
+
+The test logic is:
+    if precondition-first-api-level >= 28 (in AndroidTest.xml):
+        assert (
+            ro.build.system_root_image is 'true' AND
+            /system mount point doesn't exist)
+    else:
+        assert True
+"""
+
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import const
+from vts.runners.host import test_runner
+
+
+# The property to indicate the system image is also root image.
+_SYSTEM_ROOT_IMAGE_PROP = "ro.build.system_root_image"
+
+
+class VtsKernelSystemAsRootTest(base_test.BaseTestClass):
+    """A test class to verify system-as-root is enabled."""
+
+    def setUpClass(self):
+        """Initializes device and shell."""
+        self._dut = self.android_devices[0]
+        self._shell = self._dut.shell
+
+    def testSystemRootImageProperty(self):
+        """Checks ro.build.system_root_image is 'true'."""
+        asserts.assertEqual("true",
+                            self._dut.getProp(_SYSTEM_ROOT_IMAGE_PROP),
+                            "%s is not true" % _SYSTEM_ROOT_IMAGE_PROP)
+
+    def testNoSystemMountPoint(self):
+        """Checks there is no /system mount point."""
+        # The format of /proc/mounts is:
+        # <partition> <mount point> <file system> <mount options> ...
+        results = self._shell.Execute(
+            "cat /proc/mounts | cut -d\" \" -f2")
+        mount_points = results[const.STDOUT][0].split()
+        logging.info('Mount points on the device: %s', mount_points)
+        asserts.assertFalse("/system" in mount_points,
+                            "/system mount point shouldn't exist")
+
+
+if __name__ == "__main__":
+    test_runner.main()
diff --git a/api/system_as_root/__init__.py b/api/system_as_root/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/api/system_as_root/__init__.py
diff --git a/linux_kselftest/presubmit/AndroidTest.xml b/linux_kselftest/presubmit/AndroidTest.xml
index 2c94e06..abcd177 100644
--- a/linux_kselftest/presubmit/AndroidTest.xml
+++ b/linux_kselftest/presubmit/AndroidTest.xml
@@ -22,6 +22,6 @@
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
         <option name="test-module-name" value="VtsKernelLinuxKselftestPresubmit" />
         <option name="test-case-path" value="vts/testcases/kernel/linux_kselftest/LinuxKselftestTest" />
-        <option name="test-config-path" value="vts/testcases/kernel/linux_kselftest/presubmit/LinuxKselftestTestPresubmit.config" />
+        <option name="test-config-path" value="vts/testcases/kernel/linux_kselftest/presubmit/LinuxKselftestTestPresubmit.runner_conf" />
     </test>
 </configuration>
diff --git a/linux_kselftest/presubmit/LinuxKselftestTestPresubmit.config b/linux_kselftest/presubmit/LinuxKselftestTestPresubmit.runner_conf
similarity index 100%
rename from linux_kselftest/presubmit/LinuxKselftestTestPresubmit.config
rename to linux_kselftest/presubmit/LinuxKselftestTestPresubmit.runner_conf
diff --git a/linux_kselftest/stable/AndroidTest.xml b/linux_kselftest/stable/AndroidTest.xml
index 0e0adce..e1dae06 100644
--- a/linux_kselftest/stable/AndroidTest.xml
+++ b/linux_kselftest/stable/AndroidTest.xml
@@ -22,7 +22,7 @@
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
         <option name="test-module-name" value="VtsKernelLinuxKselftest" />
         <option name="test-case-path" value="vts/testcases/kernel/linux_kselftest/LinuxKselftestTest" />
-        <option name="test-config-path" value="vts/testcases/kernel/linux_kselftest/stable/LinuxKselftestTest.config" />
+        <option name="test-config-path" value="vts/testcases/kernel/linux_kselftest/stable/LinuxKselftestTest.runner_conf" />
         <option name="runtime-hint" value="8m"/>
     </test>
 </configuration>
diff --git a/linux_kselftest/stable/LinuxKselftestTest.config b/linux_kselftest/stable/LinuxKselftestTest.runner_conf
similarity index 100%
rename from linux_kselftest/stable/LinuxKselftestTest.config
rename to linux_kselftest/stable/LinuxKselftestTest.runner_conf
diff --git a/linux_kselftest/staging/AndroidTest.xml b/linux_kselftest/staging/AndroidTest.xml
index 0b2cb6c..a1c4f6d 100644
--- a/linux_kselftest/staging/AndroidTest.xml
+++ b/linux_kselftest/staging/AndroidTest.xml
@@ -22,6 +22,6 @@
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
         <option name="test-module-name" value="VtsKernelLinuxKselftestStaging" />
         <option name="test-case-path" value="vts/testcases/kernel/linux_kselftest/LinuxKselftestTest" />
-        <option name="test-config-path" value="vts/testcases/kernel/linux_kselftest/staging/LinuxKselftestTestStaging.config" />
+        <option name="test-config-path" value="vts/testcases/kernel/linux_kselftest/staging/LinuxKselftestTestStaging.runner_conf" />
     </test>
 </configuration>
diff --git a/linux_kselftest/staging/LinuxKselftestTestStaging.config b/linux_kselftest/staging/LinuxKselftestTestStaging.runner_conf
similarity index 100%
rename from linux_kselftest/staging/LinuxKselftestTestStaging.config
rename to linux_kselftest/staging/LinuxKselftestTestStaging.runner_conf
diff --git a/ltp/configs/stable_tests.py b/ltp/configs/stable_tests.py
index 9ed44e1..24ab4e2 100644
--- a/ltp/configs/stable_tests.py
+++ b/ltp/configs/stable_tests.py
@@ -276,6 +276,10 @@
     'syscalls.add_key01_64bit',
     'syscalls.add_key02_32bit',
     'syscalls.add_key02_64bit',
+    'syscalls.add_key03_32bit',
+    'syscalls.add_key03_64bit',
+    'syscalls.add_key04_32bit',
+    'syscalls.add_key04_64bit',
     'syscalls.adjtimex01_32bit',
     'syscalls.adjtimex01_64bit',
     'syscalls.adjtimex02_32bit',
@@ -914,6 +918,22 @@
     'syscalls.iopl01_64bit',
     'syscalls.iopl02_32bit',
     'syscalls.iopl02_64bit',
+    'syscalls.keyctl01_32bit',
+    'syscalls.keyctl01_64bit',
+    'syscalls.keyctl02_32bit',
+    'syscalls.keyctl02_64bit',
+    'syscalls.keyctl03_32bit',
+    'syscalls.keyctl03_64bit',
+    'syscalls.keyctl04_32bit',
+    'syscalls.keyctl04_64bit',
+    'syscalls.keyctl05_32bit',
+    'syscalls.keyctl05_64bit',
+    'syscalls.keyctl06_32bit',
+    'syscalls.keyctl06_64bit',
+    'syscalls.keyctl07_32bit',
+    'syscalls.keyctl07_64bit',
+    'syscalls.keyctl08_32bit',
+    'syscalls.keyctl08_64bit',
     'syscalls.kill01_32bit',
     'syscalls.kill01_64bit',
     'syscalls.kill02_32bit',
@@ -1406,6 +1426,10 @@
     'syscalls.renameat202_64bit',
     'syscalls.request_key01_32bit',
     'syscalls.request_key01_64bit',
+    'syscalls.request_key02_32bit',
+    'syscalls.request_key02_64bit',
+    'syscalls.request_key03_32bit',
+    'syscalls.request_key03_64bit',
     'syscalls.rmdir01_32bit',
     'syscalls.rmdir01_64bit',
     'syscalls.rmdir02_32bit',
diff --git a/ltp/stable/AndroidTest.xml b/ltp/stable/AndroidTest.xml
index c0e0fd7..0be847b 100644
--- a/ltp/stable/AndroidTest.xml
+++ b/ltp/stable/AndroidTest.xml
@@ -22,6 +22,7 @@
         <option name="test-module-name" value="VtsKernelLtp" />
         <option name="test-timeout" value="3h" />
         <option name="runtime-hint" value="20m" />
+        <option name="disable-framework" value="true" />
         <option name="test-case-path" value="vts/testcases/kernel/ltp/KernelLtpTest" />
     </test>
 </configuration>
diff --git a/ltp/staging/AndroidTest.xml b/ltp/staging/AndroidTest.xml
index 02db7fd..71b888d 100644
--- a/ltp/staging/AndroidTest.xml
+++ b/ltp/staging/AndroidTest.xml
@@ -22,7 +22,8 @@
         <option name="test-module-name" value="VtsKernelLtpStaging" />
         <option name="test-timeout" value="3h30m" />
         <option name="runtime-hint" value="1h30m" />
+        <option name="disable-framework" value="true" />
         <option name="test-case-path" value="vts/testcases/kernel/ltp/KernelLtpTest" />
-        <option name="test-config-path" value="vts/testcases/kernel/ltp/staging/KernelLtpStagingTest.config" />
+        <option name="test-config-path" value="vts/testcases/kernel/ltp/staging/KernelLtpStagingTest.runner_conf" />
     </test>
 </configuration>
diff --git a/ltp/staging/KernelLtpStagingTest.config b/ltp/staging/KernelLtpStagingTest.runner_conf
similarity index 100%
rename from ltp/staging/KernelLtpStagingTest.config
rename to ltp/staging/KernelLtpStagingTest.runner_conf
