Merge "Introduce IBootControl 1.1."
am: 968c4b53f4
Change-Id: I5c5499a785c63c63eebd55d208aef520b8555c24
This commit is contained in:
commit
7a5065668a
5 changed files with 133 additions and 1 deletions
18
boot/1.1/Android.bp
Normal file
18
boot/1.1/Android.bp
Normal file
|
@ -0,0 +1,18 @@
|
|||
// This file is autogenerated by hidl-gen -Landroidbp.
|
||||
|
||||
hidl_interface {
|
||||
name: "android.hardware.boot@1.1",
|
||||
root: "android.hardware",
|
||||
vndk: {
|
||||
enabled: true,
|
||||
},
|
||||
srcs: [
|
||||
"types.hal",
|
||||
"IBootControl.hal",
|
||||
],
|
||||
interfaces: [
|
||||
"android.hardware.boot@1.0",
|
||||
"android.hidl.base@1.0",
|
||||
],
|
||||
gen_java: true,
|
||||
}
|
66
boot/1.1/IBootControl.hal
Normal file
66
boot/1.1/IBootControl.hal
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* Copyright 2019 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.
|
||||
*/
|
||||
|
||||
package android.hardware.boot@1.1;
|
||||
|
||||
import @1.0::IBootControl;
|
||||
|
||||
interface IBootControl extends @1.0::IBootControl {
|
||||
/**
|
||||
* Sets whether a snapshot-merge of any dynamic partition is in progress.
|
||||
*
|
||||
* After the merge status is set to a given value, subsequent calls to
|
||||
* getSnapshotMergeStatus must return the set value.
|
||||
*
|
||||
* The merge status must be persistent across reboots. That is, getSnapshotMergeStatus
|
||||
* must return the same value after a reboot if the merge status is not altered in any way
|
||||
* (e.g. set by setSnapshotMergeStatus or set to CANCELLED by bootloader).
|
||||
*
|
||||
* Read/write access to the merge status must be atomic. When the HAL is processing a
|
||||
* setSnapshotMergeStatus call, all subsequent calls to getSnapshotMergeStatus must block until
|
||||
* setSnapshotMergeStatus has returned.
|
||||
*
|
||||
* A MERGING state indicates that dynamic partitions are partially comprised by blocks in the
|
||||
* userdata partition.
|
||||
*
|
||||
* When the merge status is set to MERGING, the following operations must be prohibited from the
|
||||
* bootloader:
|
||||
* - Flashing or erasing "userdata" or "metadata".
|
||||
*
|
||||
* The following operations may be prohibited when the status is set to MERGING. If not
|
||||
* prohibited, it is recommended that the user receive a warning.
|
||||
* - Changing the active slot (e.g. via "fastboot set_active")
|
||||
*
|
||||
* @param status Merge status.
|
||||
*
|
||||
* @return success True on success, false otherwise.
|
||||
*/
|
||||
setSnapshotMergeStatus(MergeStatus status) generates (bool success);
|
||||
|
||||
/**
|
||||
* Returns whether a snapshot-merge of any dynamic partition is in progress.
|
||||
*
|
||||
* This function must return the merge status set by the last setSnapshotMergeStatus call and
|
||||
* recorded by the bootloader with one exception. If the partitions are being flashed from the
|
||||
* bootloader such that the pending merge must be canceled (for example, if the super partition
|
||||
* is being flashed), this function must return CANCELLED.
|
||||
*
|
||||
* @return success True if the merge status is read successfully, false otherwise.
|
||||
* @return status Merge status.
|
||||
*/
|
||||
getSnapshotMergeStatus() generates (MergeStatus status);
|
||||
};
|
||||
|
44
boot/1.1/types.hal
Normal file
44
boot/1.1/types.hal
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Copyright 2019 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.
|
||||
*/
|
||||
|
||||
package android.hardware.boot@1.1;
|
||||
|
||||
enum MergeStatus : int32_t {
|
||||
/**
|
||||
* No snapshot or merge is in progress.
|
||||
*/
|
||||
NONE = 0,
|
||||
|
||||
/**
|
||||
* The merge status could not be determined.
|
||||
*/
|
||||
UNKNOWN,
|
||||
|
||||
/**
|
||||
* Partitions are being snapshotted, but no merge has been started.
|
||||
*/
|
||||
SNAPSHOTTED,
|
||||
|
||||
/**
|
||||
* At least one partition has merge is in progress.
|
||||
*/
|
||||
MERGING,
|
||||
|
||||
/**
|
||||
* A merge was in progress, but it was canceled by the bootloader.
|
||||
*/
|
||||
CANCELLED,
|
||||
};
|
|
@ -89,7 +89,7 @@
|
|||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.boot</name>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IBootControl</name>
|
||||
<instance>default</instance>
|
||||
|
|
|
@ -579,3 +579,7 @@ fb382e986c10b8fbb797a8546e8f9ea6d1107bfe6f3fb7e57f6bbbf1f807a906 android.hardwar
|
|||
a785a57447a81e9c130eef6904c3a5c256076c6a04588c40620ebd6fa2660d77 android.hardware.radio@1.2::types
|
||||
1a6e2bd289f22931c526b21916910f1d4c436b7acb9556e4243de4ce8e6cc2e4 android.hardware.soundtrigger@2.0::ISoundTriggerHwCallback
|
||||
fd65298e1e09e0e3c781ab18305920d757dbe55a3b459ce17814ec5cf6dfee99 android.hardware.wifi@1.0::IWifiP2pIface
|
||||
|
||||
# HALs released in Android R
|
||||
07d0a252b2d8fa35887908a996ba395cf392968395fc30afab791f46e0c22a52 android.hardware.boot@1.1::IBootControl
|
||||
74049a402be913963edfdd80828a53736570e9d8124a1bf18166b6ed46a6b0ab android.hardware.boot@1.1::types
|
||||
|
|
Loading…
Reference in a new issue