summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-16HACK: FIXME: build fix for clang-r416183brbX-fastbootdAmit Pundir
--------------------------------------------------------- In file included from /usr/include/string.h:495, from EfiUtilityMsgs.c:10: In function ‘strncat’, inlined from ‘PrintMessage’ at EfiUtilityMsgs.c:478:9: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:136:10: error: ‘__builtin___strncat_chk’ output may be truncated copying between 0 and 511 bytes from a string of length 511 [-Werror=stringop-truncation] 136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘strncat’, inlined from ‘PrintMessage’ at EfiUtilityMsgs.c:463:9: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:136:10: error: ‘__builtin___strncat_chk’ output may be truncated copying between 0 and 511 bytes from a string of length 511 [-Werror=stringop-truncation] 136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘strncat’, inlined from ‘PrintMessage’ at EfiUtilityMsgs.c:505:5: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:136:10: error: ‘__builtin___strncat_chk’ output may be truncated copying between 0 and 511 bytes from a string of length 511 [-Werror=stringop-truncation] 136 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[3]: *** [../Makefiles/footer.makefile:21: EfiUtilityMsgs.o] Error 1 make[3]: Leaving directory '/linaro/bootloader/edk2/BaseTools/Source/C/Common' --------------------------------------------------------- Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2022-12-15QcomModulePkg: Bootconfig: Use memcmp instead of AsciiStrnCmpAmit Pundir
AsciiStrnCmp() asserts on string length when we try to compare a non-null terminated string: DXE_ASSERT!: .../MdePkg/Library/BaseLib/String.c (1237): Length < _gPcd_FixedAtBuild_PcdMaximumAsciiStringLength So use memcmp() to compare bootconfig Magic instead. Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2022-12-15QcomModulePkg: Re-enable multiple appended DTB supportAmit Pundir
Now that qcom,msm-id and qcom,board-id for db845c and rb5 are merged upstream (v5.16), re-enable the multiple appended DTB suport. This patch is compatible with older kernel builds. It will fallback to the option of choosing the first appended DTB in case the qcom* IDs are missing or there is no match. Signed-off-by: Amit Pundir <amit.pundir@linaro.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
2022-12-15QcomModulePkg: Print boot image header info on bootAmit Pundir
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2022-12-15QcomModulePkg: BootLib: DtbSize is renamed as ImageSizeAmit Pundir
DtbSize is renamed as ImageSize in recent BootImagev3 patches. Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2022-12-15QcomModulePkg: BootLib: set DTB best match explicitlyAmit Pundir
GetSocDtb() match and load the best DTB in dtb.img. This match is done based on non-upstream DT properties i.e. qcom,{msm-id/board-id/pmic-id}, which are not supported on db845c. Since we do not support multiple DTBs in dtb.img anyway, we set the current (and only available dtb in dtb.img) as the best match explicitly. Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2022-12-15QcomModulePkg: BootLib: skip dtbo image loadingAmit Pundir
Skip loading dtb overlay image from dtbo partition because there isn't any. In case of missing dtbo image, DTBImgCheckAndAppendDT assumes that we are booting with appended dtb (Image.gz-dtb) format and fail to load dtb from boot.img (boot image header v2 format). So we fix that by loading dtb from boot.img explicitly in case of missing DTBO image. Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
2022-12-15QcomModulePkg: 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>
2022-12-15QcomModulePkg: 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>
2022-12-15QcomModulePkg: 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>
2022-12-15QcomModulePkg/QcomModulePkg.dec: Allow bigger kernel/ramdisksAníbal Limón
Change load kernel address from 0x80080000 to 0xA00000000, the new memory kernel/dt/ramdisk addresses looks like: 0xA0000000 - 0xA3C00000 - Kernel 60MB 0xA3C00000 - 0xA4000000 - Kernel DT 4MB 0xA4000000 - 0xAC000000 - Ramdisk 128MB But the addresses are calculated dynamically based on ramdisk size, the whole space is taken for the calculation 0xA0000000 - 0xAC000000 (192MB) and the ramdisk is set to 0xAC000000 - Ramdisk size (round to a page) allowing kernels bigger than 60MB. Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> (cherry picked from commit d8a9dc3ccc0342e77ba5251ab675b4a86ae737c1) Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
2022-12-15edk2: Fix paranthesis issue in edk2 compilationSagar Sahu
Change-Id: I2601b3ef9909aeddbf6ee73bd31fc283a3d54e2e
2022-12-15edk2: Modify abl load address for 256MB targetsNagireddy Annem
Modify abl load address for 256MB memory targets in makefile. Change-Id: I430c8a56f23735ddbb9d6d36dd7900e0c6698662
2022-12-15QcomModulePkg: Fastboot: Modify USB specification version to 0x200Nagireddy Annem
on some windows pc's device is not detected in fastboot mode, update usb specification version to fix. Change-Id: I690d2c3e486ebceae9d86fd55edbfc8389fc6664
2022-11-06Merge 2752041f0085691de824031d658e497de0e88d4b on remote branchLA.VENDOR.1.0.r1-19000-WAIPIO.0Linux Build Service Account
Change-Id: I166071dda9fb9dc548f11e6b953b8ca4b044b4ff
2022-10-18PartialGoods: Add support for checking PartialGoodsCPUTypeNaini Singh
Add support for checking PartialGoodsCPUType and updating nodes with matching nomenclature. Change-Id: I9fd86e8733ccc2ed426f5ce942734ac3c89a631c
2022-10-18PartialGoods: Add new PartialGoodsCPUType for CompatibilityNaini Singh
Add a new PartialGoodsCPUType for targets having old cpu nomenclature. Change-Id: I67803e328f86312baa6ed4e016e49542a58fa416
2022-10-17Merge 191ca897580e37bcccc2f94c6b90692b9fe2c94c on remote branchLinux Build Service Account
Change-Id: Id89bcac6099a78cfd408abad28277df589789842
2022-10-03Merge de2ca46c2eea3d1b70bc7b72436a7f43ce296256 on remote branchLinux Build Service Account
Change-Id: I911e66e667d994e168dd95ea0130cd5b79d8626d
2022-09-27QcomModulePkg: Updating retry count to 3 from 7Amrit Anand
Updating retry count to 3 in case when we have 3 slots in the partition table. This is based on the flag IsMultiSlot_ABC. Change-Id: If4a8449e2fdb9e2ca6afc6918787cf396d1a3665
2022-09-20QcomModulePkg: Return if Link is NULLNaina Mehta
Return if Link is NULL while updating bootconfig parameters. Change-Id: I8a1a4c427bef85090ac39953b1b2ce226f91e0ec
2022-09-06Merge 8cef369d4e39d91978eb5afe4e7fbb34755124b9 on remote branchLinux Build Service Account
Change-Id: I3899cac5f73551ca6697b78b88a1de6f297ec305
2022-09-01QcomModulePkg: Correct the SingleDtHdr addressLijuan Gao
Remove the additional page from the calculation of SingleDtHdr because of the BootParamlistPtr->DtbOffset already have calculated this page in DTBImgCheckAndAppendDT. Change-Id: If986d3dfc4cfffba3ea64b179fcf3510c35c5e8d
2022-08-29QcomModulePkg: Update MEM_OFF_MIN limitNaina Mehta
Actual value read for DDR size is around 5.9GB for 6GB target. Hence, reduce MEM_OFF_MIN limit to 5.5GB as per recommendation from memory team to support memory offlining. Change-Id: I98ae68e40f3ec0664a3248858a376183ca2fcbca
2022-08-24Merge 3c456f19ee29c73cc6055d7ee62b400e39ab318c on remote branchLinux Build Service Account
Change-Id: I974ff320c57888123646b7cdc66e42e393d08777
2022-08-09edk2: QcomModulePkg: Fix command line for VBLEAnvisha
This change will add command Line for VBLE (Verified Boot for Linux Embedded) in case of both Secure and Non-Secure Device. Change-Id: Ib123123900405c293de2410e7036ca51db1d0226
2022-07-22Merge e28a07361361378d18dc826b1a771ae7f6a81a4c on remote branchLinux Build Service Account
Change-Id: I34a33b00cb876402fefe713573bed90066912ccd
2022-07-06edk2: QcomModulePkg: Added support for setting ROT for LEAnvisha
This change will set Root of Trust(ROT) for Linux Embedded(LE) targets using Keymaster which will extend support for File Based Encryption(FBE). Change-Id: I634c242ce001394f5a44808395c10b95c349e81d
2022-07-01Merge "QcomModulePkg: Add priority based slot selection for slots"qctecmdr
2022-07-01Merge "QcomModulePkg: Add support for RTIC syscall to hypervisor"qctecmdr
2022-06-29QcomModulePkg: Add priority based slot selection for slotsAshish Bhimanpalliwar
Add priority based slot selection for addition of slot c. Change-Id: Ib67ac89e8d9189a7fb48650c69f7cf424e172da3
2022-06-29Merge "QcomModulePkg: Add support to disable display"qctecmdr
2022-06-28QcomModulePkg: Add support to disable displayAshish Bhimanpalliwar
Add support to disable display.It was removed due to a regression which got in due to this commit ae409551a96092cad9ba4cb921280429449b3923 Change-Id: I9c9240f1b9303267bba0c196902e0ea3ad126f38
2022-06-27QcomModulePkg: Add support for RTIC syscall to hypervisorAshutosh Kaushik
Enable RTIC syscall to hypervisor to share kernel physical address. This physical address is required in RTIC to compute KASLR offset and physical addresses of other assets. Made sure that legacy core API will be called exactly once. Addressed review comments. Change-Id: I24a2402506bc96c09b79646affcd1bdbc20bf590 Signed-off-by: Ashutosh Kaushik <quic_ashukaus@quicinc.com>
2022-06-27QcomModulePkg: Add NULL checks while updating cmdlineNaina Mehta
Add NULL check for BootConfigListHead and Link while updating cmdline. Change-Id: I7169c10fa4883d1f53c8b6014071edd11de2c23d
2022-06-10QcomModulePkg: Fix Slot Switch issue observed during OTAMukesh Ojha
When we run OTA update and active slot is switched from _a to _b, active flag of vendor_boot_a is still active due to an incorrect check perform inside MarkPtnActive. MarkPtnActive() specfically uses strstr to search '_b' in partition name however e.g '_b' could be a part of the partition name itself e.g vendor'_b'oot_a even though it is _a slot of the partition. Fix this by introducing proper check in place. Change-Id: I242a13a46f27a925d15864ab752bd9ce430179b9
2022-06-02Merge "QcomModulePkg: Add support for slot-c in partition table"qctecmdr
2022-06-02QcomModulePkg: Add support for slot-c in partition tableAmrit Anand
Adding support for slot c in partition table. Based on the value of flag IsMultiSlot_ABC, the number of maximum slots is decided. If slot c is available, then IsMultiSlot_ABC is set TRUE. ABL handles the case dynamically depending on the number of slots available. Change-Id: I31f6b6950587419ddf44e40cc6fcdf34d840b515
2022-06-02Merge "QcomModulePkg: Add 4GB DDR size to choose DTB & DTBO"qctecmdr
2022-05-31Merge "QcomModulePkg: Correct the condition when need to update node info in ↵qctecmdr
the list"
2022-05-31Merge "Revert "QcomModulePkg: Get boot and vendor_boot actual size for image ↵qctecmdr
verification""
2022-05-31QcomModulePkg: Correct the condition when need to update node info in the listLijuan Gao
Only needs to update node's offset when it is more than the currently changed node's offset. Otherwise incorrect update will cause device boot failure. Change-Id: I9c69d028b8a06e6a92e579c01731ef519f475257
2022-05-30Revert "QcomModulePkg: Get boot and vendor_boot actual size for image ↵jianzhou
verification" This reverts commit 786d179779b1599fde765b12e6910fcaef866382 We should not introduce this code for unlock device performance at this moment, revert it. Change-Id: I36ec8e559361bf994370693cfb70c38f339bc3c9
2022-05-26QcomModulePkg: VB: Added API to check Keymaster EnablementAnvisha
This change adds the API to check whether Keymaster is enabled or not. If the API returns true then only KeymasterClient APIs will be called from Verified Boot. Test: AVB Orange_State Test Case. Change-Id: I5f52bf1e190e9e2c128cb7451c32618b01f2b4ef
2022-05-23Merge 21e064c96a11cbc31264da9aa3fd74504de172fb on remote branchLinux Build Service Account
Change-Id: I72fb873f46d02c67213021f5efc6997aa649e72d
2022-05-16QcomModulePkg: Append "mem_offline.nopasr=1" if bootarg contains "mem="Mukesh Ojha
To support booting on device with passed boot cmdline parameter like "mem=5G" where mem_offline support is there, it is mandatory to disable mem_offline driver probe by appending mem_offline.nopasr=1 to the cmdline, Otherwise, device will fail to boot up. Nothing need to be append if mem_offline driver support is not there in kernel. Change-Id: If026f50e9dd6e77a0b958411905b21f504d90a77
2022-05-10QcomModulePkg: Convert Unicode string to Ascii stringAmrit Anand
Re-order Code string to Ascii String conversion to avoid unknown values in SLOT_SUFFIX on LE variant command line update. Change-Id: I3329786efee5f98283872016e69492a6c8377719
2022-05-10QcomModulePkg: Add 4GB DDR size to choose DTB & DTBONaina Mehta
Add 4GB DDR size support while selecting DT based on DDR size. Change-Id: I5b0d9ef47e0af9f3866317f0a05c97b732d30670
2022-05-09QcomModulePkg: Add A/B support for Nand Based TargetsAmrit Anand
Nand flash does not have GPT header and it has only A/B slots for boot partition. Add support to store a/b partition attributes in misc cookie and update command line with systemd environment. Change-Id: Ie07122c9a818a81c9d40077994124de8b106ce5e
2022-05-06Merge 8e9e8b84ca742a239a18a8a3d96d4a4b25bd69fb on remote branchLinux Build Service Account
Change-Id: I42f1485989ab0971a2fce8229ee74a55809eefb9