You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.9 KiB
56 lines
1.9 KiB
# Copyright 2019 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
from autotest_lib.server import utils
|
|
|
|
AUTHOR = "Chrome OS Team"
|
|
NAME = "firmware_Fingerprint.RDP1"
|
|
PURPOSE = """
|
|
Verify that when RDP (readout protection) is set to level 1 and then changed to
|
|
level 0, a mass erase takes place.
|
|
"""
|
|
CRITERIA = """
|
|
Fails if transitioning from RDP level 1 to RDP level 0 does not trigger a
|
|
mass erase.
|
|
"""
|
|
ATTRIBUTES = "suite:fingerprint"
|
|
TIME = "SHORT"
|
|
TEST_CATEGORY = "Functional"
|
|
TEST_CLASS = "firmware"
|
|
TEST_TYPE = "server"
|
|
DEPENDENCIES = "servo_state:WORKING, fingerprint"
|
|
JOB_RETRIES = 0
|
|
|
|
DOC = """
|
|
The test setup enables RDP level 1 by enabling hardware write protect and then
|
|
enabling software write protect (with reboot of the EC); the test setup then
|
|
disables hardware write protect, so that we can perform reads and change RDP
|
|
levels through the bootloader (only accessible when HW write protect is
|
|
disabled).
|
|
|
|
When the test script starts, a read through the bootloader is done without
|
|
disabling flash protection (changing RDP state). We verify that we are unable
|
|
to read any data.
|
|
|
|
Next a read through the bootloader is done, while also disabling flash
|
|
protection (changing to RDP level 0), which triggers a mass erase. We verify
|
|
that the bytes in the output are all 0xFF and that the firmware is no longer
|
|
functional.
|
|
"""
|
|
|
|
test_images = [ 'TEST_IMAGE_ORIGINAL' ]
|
|
|
|
args_dict = utils.args_to_dict(args)
|
|
servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
|
|
|
|
def run(machine):
|
|
host = hosts.create_host(machine, servo_args=servo_args)
|
|
job.run_test("firmware_Fingerprint", host=host,
|
|
test_exe="rdp1.sh",
|
|
test_exe_args=test_images,
|
|
enable_hardware_write_protect=False,
|
|
enable_software_write_protect=True)
|
|
|
|
parallel_simple(run, machines)
|