Skip to content

Conversation

b49020
Copy link
Member

@b49020 b49020 commented Oct 14, 2025

For QLI mainline firmware support, Gunyah requires at maximum 8MB HYP image partition size. Let's update HYP partition size to support that.

@ndechesne
Copy link
Contributor

The commit says 'at least 2MB', did you mean 'a maximum of' 2MB?

This is "breaking" existing user since it's moving all partitions. @lool, FYI.

@b49020
Copy link
Member Author

b49020 commented Oct 14, 2025

@ndechesne

The commit says 'at least 2MB', did you mean 'a maximum of' 2MB?

Yeah on other QLI platforms like KLMT, we are reserving 8MB for HYP image but I just wanted to reserve 2MB since I got to know that the Gunyah image size is approx 1.4 MB as of now. I can do a 8MB as a maximum reserve if you like to be aligned with other KLMT platforms.

This is "breaking" existing user since it's moving all partitions. @lool, FYI.

I am not sure how this would be a breaking change since from software perspective the number of partitions or partition indexes remains the same. Can you elaborate a bit further?

@lool
Copy link
Contributor

lool commented Oct 14, 2025

I think we need to be consistent across platforms; if we're expecting boot firmware to carry similar features across platforms, then the size budget ought to be similar, right?

Right now, we have these:

platforms/apq8016-sbc/emmc/partitions.conf:--partition --name=hyp --size=512KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/apq8096-db820c/ufs/partitions.conf:--partition --lun=4 --name=hyp --size=512KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/apq8096-db820c/ufs/partitions.conf:--partition --lun=4 --name=hypbak --size=512KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/iq-8275-evk/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=65536KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/iq-8275-evk/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=65536KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hypvm.mbn
platforms/iq-9075-evk/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=65536KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/iq-9075-evk/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=65536KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hypvm.mbn
platforms/qcm6490-idp/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=8192KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/qcm6490-idp/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=8192KB --type-guid=CB45ECA0-504E-42BB-91BA-C9B3236F6A6E --filename=hypvm.mbn
platforms/qcs615-adp-air/emmc/partitions.conf:--partition --name=hyp_a --size=8192KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/qcs615-adp-air/emmc/partitions.conf:--partition --name=hyp_b --size=8192KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hypvm.mbn
platforms/qcs615-adp-air/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=8192KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/qcs615-adp-air/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=8192KB --type-guid=CB45ECA0-504E-42BB-91BA-C9B3236F6A6E --filename=hypvm.mbn
platforms/qcs6490-rb3gen2/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=8192KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/qcs6490-rb3gen2/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=8192KB --type-guid=CB45ECA0-504E-42BB-91BA-C9B3236F6A6E --filename=hypvm.mbn
platforms/qcs8300-ride-sx/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=65536KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/qcs8300-ride-sx/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=65536KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hypvm.mbn
platforms/qcs9100-ride-sx/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=65536KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hypvm.mbn
platforms/qcs9100-ride-sx/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=65536KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hypvm.mbn
platforms/qrb2210-rb1/emmc/partitions.conf:--partition --name=hyp_a --size=512KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/qrb2210-rb1/emmc/partitions.conf:--partition --name=hyp_b --size=512KB --type-guid=3D3E3AD2-8FF3-4975-A7E7-0E8A10B69F0D --filename=hyp.mbn
platforms/qrb4210-rb2/emmc/partitions.conf:--partition --name=hyp_a --size=512KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/qrb4210-rb2/emmc/partitions.conf:--partition --name=hyp_b --size=512KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34 --filename=hyp.mbn
platforms/qrb4210-rb2/emmc/partitions.conf:--partition --name=hyp_r --size=512KB --type-guid=4BACB256-C6E9-46F5-A3B6-A245080A9727 --filename=hyp.mbn
platforms/qrb5165-rb5/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=8192KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/qrb5165-rb5/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=8192KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34 --filename=hyp.mbn
platforms/sdm845-db845c/ufs/partitions.conf:--partition --lun=4 --name=hyp_a --size=512KB --type-guid=E1A6A689-0C8D-4CC6-B4E8-55A4320FBD8A --filename=hyp.mbn
platforms/sdm845-db845c/ufs/partitions.conf:--partition --lun=4 --name=hyp_b --size=512KB --type-guid=77036CD4-03D5-42BB-8ED1-37E5A88BAA34 --filename=hyp.mbn

So essentially older platforms have 512KiB – one or two partitions – and newer platforms have either 8MiBx2 or 64MiBx2.

Could we capture this in the form of a test? Perhaps something like: if you're tracking this kind of firmware, then we expect you to have a minimum size of X for this and that partition.

Should we immediately send a patch for Imola? There might be still time to change factory image. Going from 512KiB to 2 or even 8MiB x2 (which would be the most consistent IMO) is another 15MiB hit on that constrained storage, but I think it's the right thing to do.

@b49020
Copy link
Member Author

b49020 commented Oct 14, 2025

I think we need to be consistent across platforms; if we're expecting boot firmware to carry similar features across platforms, then the size budget ought to be similar, right?

Sounds fair but I was atleast expecting a reason for current boot firmware partition size allocation such that we are making an informed decision here. However, I can change the patch to allocate 8MB for HYP image instead.

Could we capture this in the form of a test? Perhaps something like: if you're tracking this kind of firmware, then we expect you to have a minimum size of X for this and that partition.

I don't have information as to where these partition size allocation requirements come from, will try to reach out to the boot teams.

Should we immediately send a patch for Imola? There might be still time to change factory image. Going from 512KiB to 2 or even 8MiB x2 (which would be the most consistent IMO) is another 15MiB hit on that constrained storage, but I think it's the right thing to do.

I would avoid that as of now since the teams are working on QLI firmware for Agatti and it is possible they may require more changes as we go further. However, for UNO-Q I suppose Arduino will just publish new firmware with steps to reflash with QDL for which it is rather better to do corresponding partition changes needed at once.

For QLI mainline firmware support, Gunyah requires at maximum 8MB HYP
image partition size. Let's update HYP partition size to support that.

Signed-off-by: Sumit Garg <[email protected]>
@b49020
Copy link
Member Author

b49020 commented Oct 14, 2025

Updated HYP partition size to 8MB.

@lumag lumag merged commit abd0ffd into qualcomm-linux:main Oct 14, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants