summaryrefslogtreecommitdiff
path: root/QcomModulePkg
AgeCommit message (Collapse)Author
2019-11-27QcomModulePkg: Fastboot: Add extend Fastboot menu to UART interfaceJohn Stultz
We can already somewhat control the fastboot menu over the serial UART, as up and down changes action mode. However, there's no way to select the mode over the UART. So add some feedback over the UART as to the current mode and use SCAN_RIGHT as the selection option (equivalent to the power button). Signed-off-by: John Stultz <john.stultz@linaro.org> [AmitP: It is equivalent of using VOL+ (up), VOL- (down) and POWER keys on db845c to scroll thru or select fastboot options displayed over HDMI display.] Tested-by: Amit Pundir <amit.pundir@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2019-11-27QcomModulePkg: LinuxLoader: Add explicit message on serial line as to boot ↵John Stultz
mode keys Pressing <DOWN> over serial UART console will force the loader to enter fastboot mode, and similarly with <UP> and <ESC>, so lets make these helpful keys more discoverable with an explicit message on the serial line. Signed-off-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Tested-by: Amit Pundir <amit.pundir@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2019-11-27QcomModulePkg: BootLib: skip ValidateSlotGuids()Nicolas Dechesne
When using community builds, we want to depend as less as possible on Qualcomm internal builds quirks. This function does a few checks which are relevant when booting a Qualcomm Android image, but not well suited for community builds. For example users might choose to remove system_x partition, in which case the bootloader wouldn't boot anymore. Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2019-11-27QcomModulePkg: Pass KeymasterLoadState to kernel if secure boot is enabledZhenlin Lian
Change-Id: I74cda7c0dbb679631e923caaf11f2a7bf421ef98
2019-08-26Fix the identification of vbmeta partitionxu yiping
After dynamic partition, vbmeta_system and vbemta_vendor partitions are added. Therefore, partitions with 'vbmeta' prefix should be treated as vbmeta partition. This makes libavb avoid locating avb footer from the end of vbmeta_* partitions. And will not emit the following error message, which could be confusing even if the following read of vbmeta succeeds from the beginning of the partition. Run the following test case will show different results after this change. $ ./out/host/linux-x86/nativetest64/libavb_host_unittest/libavb_host_unittest --gtest_filter=AvbSlotVerifyTest.HashDescriptorInOtherVBMetaPartition Before this change ------------------------------------------------------------------------------- [ RUN ] AvbSlotVerifyTest.HashDescriptorInOtherVBMetaPartition avb_slot_verify.c:678: DEBUG: Loading vbmeta struct from partition 'vbmeta'. avb_footer.c:41: ERROR: Footer magic is incorrect. avb_slot_verify.c:650: DEBUG: vbmeta_google: No footer detected. avb_slot_verify.c:678: DEBUG: Loading vbmeta struct from partition 'vbmeta_google'. [ OK ] AvbSlotVerifyTest.HashDescriptorInOtherVBMetaPartition (960 ms) After this change ------------------------------------------------------------------------------- [ RUN ] AvbSlotVerifyTest.HashDescriptorInOtherVBMetaPartition avb_slot_verify.c:683: DEBUG: Loading vbmeta struct from partition 'vbmeta'. avb_slot_verify.c:683: DEBUG: Loading vbmeta struct from partition 'vbmeta_google'. [ OK ] AvbSlotVerifyTest.HashDescriptorInOtherVBMetaPartition (961ms) Bug: b/134989217 Test: device launch, verify vbmeta, vbmeta_system, vbmeta_vendor. Test: m libavb_host_unittest -j8 && \ ./out/host/linux-x86/nativetest64/libavb_host_unittest/libavb_host_unittest Change-Id: Ib0c2cd56197508fef8c12985e8cc0cd79469556c
2019-08-06Merge "avb: Fix antirollback check for non HLOS images"qctecmdr
2019-07-30QcomModulePkg: Add getvar variable for parallel-download-flashJeevan Shriram
Add getvar variable to query the status of the parallel download flash in the fastboot mode. Change-Id: If4082474cee4444574c233ca1d7f6931b8af9084
2019-07-08avb: Fix antirollback check for non HLOS imagesGaurav Kashyap
Fix the check for Update Rollback syscall returned from TZ. Change-Id: I2ed86277b2f150a569c4425f65cacc756470f77d
2019-07-01Merge "QcomModulePkg: avb: Fix AvbSlotVerifyData->cmdline might be NULL"qctecmdr
2019-07-01Merge "QcomModulePkg: Add NOTICE file"qctecmdr
2019-06-28Merge "QcomModulePkg: Add max row check when chosening font scale factor"qctecmdr
2019-06-25Merge "QcomModulePkg: Return pointer instead of structure in ↵qctecmdr
GetFastbootDeviceData"
2019-06-26QcomModulePkg: Add max row check when chosening font scale factorlijuang
Add max row check when chosening the font scale factor. Base on the max support row and the character number per line to chosen the best font scale factor. Change-Id: I261782574826cf487c0bdbeb66bd6364f8793c3b
2019-06-20QcomModulePkg: Add NOTICE fileAnilKumar Chimata
Add NOTICE files to add license's as the code is taken from other repository and adding to bootloader code. Change-Id: If5e755b279af5a929e64a57d4f28c927a4fc18d4
2019-06-18QcomModulePkg: avb: Fix AvbSlotVerifyData->cmdline might be NULLBowgo Tsai
When AVB_VBMETA_IMAGE_FLAGS_VERIFICATION_DISABLED is set, AvbSlotVerifyData->cmdline should be a NUL-terminated string instead of NULL. Bug: 119551429 Test: atest libavb_host_unittest Git-repo: https://source.codeaurora.org/quic/la/platform/external/avb Git-Commit: 9ba3b6613b4e5130fa01a11d984c6b5f0eb3af05 Change-Id: If9cc5feb4f59b0f6b73b577fbff84bb34e514304
2019-06-18QcomModulePkg: avb: Allow system partition to be absentBowgo Tsai
On devices with dynamic partitions, 'system' partition might not exist. Therefore, we should not add root=$(ANDROID_SYSTEM_PARTUUID) in kernel cmdline and resolve it for devices without system partition. Bug: 119551429 Test: m libavb_host_unittest && ../../out/host/linux-x86/nativetest64/libavb_host_unittest/libavb_host_unittest Git-repo: https://source.codeaurora.org/quic/la/platform/external/avb Git-Commit: 5abd6bc2578968d24406d834471adfd995a0c2e9 Change-Id: I767fb1b18182663d8401cf0e8d19930d45c4b83a
2019-06-04Merge "QcomModulePkg : Update the CPU's information to support partial bins"qctecmdr
2019-06-03QcomModulePkg : Update the CPU's information to support partial binsSaranya Chidura
Set the number of CPUs present in the target. Change-Id: I4640dddee68d90f298c836b86f9d6f2cfca15b71 Signed-off-by: Saranya Chidura <schidura@codeaurora.org>
2019-05-31QcomModulePkg: Correct the Lun info for eMMC devicelijuang
For eMMC device, it will be treated as UFS device if the parameter is got from PC is not correct that will cause the GPT partition update fail. Change-Id: I8b2d0757be2646b2e0c8611efb9aae28b33a9e03
2019-05-29Merge "QcomModulePkg : Update Partial bins nodes"qctecmdr
2019-05-29Merge "QcomModulePkg : Update chip info header files"qctecmdr
2019-05-29QcomModulePkg : Update Partial bins nodesParth Dixit
Add new nodes device tree nodes to the table. Change-Id: I2d7ce33957a2220388cdc0e16b3b7f9732a8aa68
2019-05-29QcomModulePkg : Update Partial bins supportParth Dixit
Move updating of partial nodes inside update device tree. Search for nodes only if it is defective. Add support for adding a property to disable defective node. Change-Id: Ic9a7d5c6bb43395a2739aebb2259bcdff5db4acf
2019-05-20QcomModulePkg : Update chip info header filesParth Dixit
Update chip info header files to be in sync with uefi. Change-Id: I77fa41df35d92e23567eb820c68288dd66c87a04
2019-05-10Merge "QcomModulePkg : Fix getddrinfo function"qctecmdr
2019-05-10Merge "edk2: QcomModulePkg: Support new Header Version 2 of the bootimage"qctecmdr
2019-05-10edk2: QcomModulePkg: Support new Header Version 2 of the bootimagePrakruthi Deepak Heragu
Bootimage header version v2 changes the way dtb's are appended. Boot image with header version v2 will not have kernel Image appended dtb but it is added to boot.img at an offset. It requires a new version to maintain backward compatibility of images. Change-Id: I8be2f4fe881180eaf7e60f998ed389a72f3a3b1c
2019-05-10QcomModulePkg: Removing extra space character while appending DtboIdxPrakruthi Deepak Heragu
Removing an extra space in the string which adds DtboIdx to the CmdLine Change-Id: I9e38aa8b6cfbe1ba118a4e8e095bda00040b7ec9
2019-05-09QcomModulePkg : Fix getddrinfo functionParth Dixit
In getddrinfo function ddr type is getting updated even after call has failed. This is unnecessary remove it. Change-Id: I06ef8d1d1aec247b57b6a9cefcb9c4cccb9672cf
2019-05-09QcomModulePkg : Move querying for granule size before querying dtParth Dixit
Right now memory node for granule is queried before querying the hardware. This is not required if hardware doesn't supports it and is expensive operation. Move it so that it is queried only if hardware support is present. Change-Id: I02cf31f2894f1609a6a23f4b652d76859bc339ad
2019-05-08Merge "avb: Include date in boot security patch"qctecmdr
2019-04-30Merge "Add support for updating rollback version"qctecmdr
2019-04-25Merge "QcomModulePkg: Update CmdLine to handle Squash FS"qctecmdr
2019-04-25avb: Include date in boot security patchMonika Singh
Read the value of boot security patch containing date information, from the property com.android. build.boot.security_patch in vbmeta data and send it to keymaster TA. This new patch value contains date information as well. If the property is not defined or keymaster TA is not updated, send the security patch value read from boot image header as before. Change-Id: I82e0894a178927e9fa2f884896fbaf14724e4f13
2019-04-23Add support for updating rollback versionGaurav Kashyap
Update rollback version using new TZ syscall when one of the slots has a higher image version. Change-Id: I0cff3771f932e4af7d965501fbd25eb7b91a308f
2019-04-22QcomModulePkg: Return pointer instead of structure in GetFastbootDeviceDatajianzhou
There is stack smashing issue when return the whole structure in GetFastbootDeviceData. Return pointer instead of the whole structure to make compiler easy refer to stack usage. Change-Id: Ia4893e8b2a712fa340afdc85772876a390f2e3dd
2019-04-16QcomModulePkg: Disable fstab node for dynamic partition support.Mayank Grover
To support dynamic partition, disable firmware entries in fstab nodes. Partitions will be mounted as part of super partition. Change-Id: Iffc22005c2b7d8b64bf10687049a720bd891b59c
2019-04-16QcomModulePkg: Remove multiple macro defines for DTB_PAD_SIZE.Mayank Grover
Change to remove multiple definition for macro DTB_PAB_SIZE, used for padding for future expansion. Change-Id: Ib28ee5f24752415768847e88b1892175c382a082
2019-04-10QcomModulePkg: Update CmdLine to handle Squash FSSourabh Banerjee
To handle squashFS boot on NAND, the command line has to set: * root parameter to the gluebi emulated MTD device. * rootfstype parameter to squashfs Change-Id: Ief07c5c8d8e66e9c7714baff1d3c8f807c284d0c
2019-04-09QcomModulePkg: Disable fastboot boot for locked deviceMonika Singh
If the device is in locked state do not allow fastboot boot command. Fastboot boot needs to work for unlocked state only. Change-Id: I5b3e8ac9128907384d9b66f569aa22f0e82956eb
2019-04-01Merge "QcomModulePkg: Update GPT only when attributes or GUID is changed"qctecmdr
2019-03-26QcomModulePkg: Update GPT only when attributes or GUID is changedlijuang
In a scenario, when a missing Blkio handle occured and the partition info in the storage is right, doing attributes and GUID compare will update the GPT header which will cause the device boot up failed. So don't update the GPT header if nothing attribute or GUID needed to be changed. Change-Id: I093c1b56da0c4315cd312cd031697d7eb10bdd53
2019-03-24QcomModulePkg: Calculate ramdisk load address based on actual ramdisk sizeMayank Grover
Calculate ramdisk load address and dt load address, based on actual ramdisk size and max dt size. This will ensure, we can change ramdisk area in buffer with dynamic change in ramdisk size. Change-Id: I136c41e334ba9837453bda436af5e25b52ce6761
2019-03-21avb: Add verified boot hash supportBarani Muthukumaran
Compute the digest over all vbmeta's present on device and provide the digest to keymaster. This digest is provided as part of the keymaster attestation certificate Change-Id: If95d252df1eed10792b6a8fb8c808bd5c50b9933
2019-03-19Merge "avb: Support loading of recovery image"qctecmdr Service
2019-03-19Merge "libavb: Support vbmeta blobs in beginning of partition."qctecmdr Service
2019-03-19libavb: Support vbmeta blobs in beginning of partition.Monika Singh
If we don't find a AvbFooter when resolving a chain descriptor, also check if there's a vbmeta struct in the beginning. If there is, use it. This is to support the use-case where a single vbmeta_<orgname> partition can hold metadata for several other partitions which may not be easily readable by the bootloader (e.g. they are "logical" partitions using a proprietary partitioning format). For example, this supports the following setup vbmeta # chain desc for vbmeta_google vbmeta_google # hash desc for boot, dtbo and hashtree desc for system, vendor boot dtbo super # container for system and vendor logical partitions system # logical partition (not readable by bootloader) vendor # logical partition (not readable by bootloader) where vbmeta_google has the vbmeta struct in the beginning just as if it were the main vbmeta partition. Additional change: Previously it was optional to support the get_size_of_partition() operation. Starting with this commit, this operation is mandatory and must be implemented such that AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION is returned for partitions that don't exist. Also introduce a new 'extract_vbmeta_image' sub-command to avbtool that can be used to extract the vbmeta blob from a footer. Change-Id: If78538672d101127ecbae02739648446746d4b40
2019-03-19avb: Support loading of recovery imageMonika Singh
In fastbootd mode the device needs to boot in recovery mode. To support the same VB2.0 need to load and validate recovery in case if super partition is supported and device is booting in recovery mode. Change-Id: I7abffa9fc8f8fd36a31b1619b7d9149ba68b01f8
2019-03-19libavb: Only query partition GUIDs when the cmdline needs them.Monika Singh
On devices using BOARD_AVB_VBMETA_MAINLINE, the kernel command line should not contain the $(ANDROID_SYSTEM_PARTUUID) pattern, since the device will be using an initial ramdisk for both normal boot and recovery. Such a device will also not have system partition entries in the GPT, and thus querying the GUID will fail. In this case we want avb_sub_cmdline() to only query the partition GUID if the search string is actually present. Change-Id: Ic3bf795d3bdec7611a95d1e1ab87e12ecf2bdbdb
2019-03-12QcomModulePkg: Add support for ramdisk end addr for 32-bit targets.Mayank Grover
Memory map for 32-bit target is less than 64-bit target. Change introduces, ramdiskendaddr accordingly. Change-Id: I5bcf75dcee51ce45c443de6b211abffb4900bfd2