Skip to content

QCLINUX: qcom.config: Enable 39-bit VA space for 4K-page builds#558

Merged
Komal-Bajaj merged 1 commit intoqualcomm-linux:tech/all/configfrom
apateriy-qcom:topics_configs
Jan 28, 2026
Merged

QCLINUX: qcom.config: Enable 39-bit VA space for 4K-page builds#558
Komal-Bajaj merged 1 commit intoqualcomm-linux:tech/all/configfrom
apateriy-qcom:topics_configs

Conversation

@apateriy-qcom
Copy link

@apateriy-qcom apateriy-qcom commented Jan 23, 2026

For Qualcomm 4K-page based builds, explicitly enable VA_BITS_39
in the qcom.config fragment.

Lower-end arm64 systems typically do not benefit from a 48/52-bit VA
space, while they do benefit from smaller page tables and reduced TLB
pressure.

Selecting 39-bit VA sizing aligns better with constraints and performance
characteristics of lower-end Qualcomm platforms.

This change does not affect 64K-page builds (which retain 48/52-bit VA).

Background:

  • With 4K pages, arm64 supports 39-bit (3-level) or 48-bit (4-level) VAs.
  • 52-bit VAs are only available with 64K pages and ARMv8.2-LVA, and
    kernels must be able to fall back to 48-bit at boot.

@qcomlnxci qcomlnxci requested a review from a team January 23, 2026 12:34
choice
prompt "Virtual address space size"
# Prefer smaller VA (3-level tables) on 4K-page builds
default ARM64_VA_BITS_39 if PAGE_SIZE_4KB
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's update qcom.config instead of changing upstream code.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @shashim-quic . Updated qcom.config and changed commit. Please approve.

Thanks,
Anurag

For Qualcomm 4K-page based builds, explicitly enable VA_BITS_39
in the qcom.config fragment.

Lower-end arm64 systems typically do not benefit from a 48/52-bit VA
space, while they do benefit from smaller page tables and reduced TLB
pressure.

Selecting 39-bit VA sizing aligns better with constraints and performance
characteristics of lower-end Qualcomm platforms.

This change does not affect 64K-page builds (which retain 48/52-bit VA).

Background:
- With 4K pages, arm64 supports 39-bit (3-level) or 48-bit (4-level) VAs.
- 52-bit VAs are only available with 64K pages and ARMv8.2-LVA, and
  kernels must be able to fall back to 48-bit at boot.

Signed-off-by: Anurag Pateriya <apateriy@qti.qualcomm.com>
@apateriy-qcom apateriy-qcom changed the title QCLINUX: arm64: Kconfig: default to 39-bit VAs for 4K-page builds QCLINUX: qcom.config: Enable 39-bit VA space for 4K-page builds Jan 25, 2026
@qcomlnxci qcomlnxci requested a review from a team January 25, 2026 14:45
@Komal-Bajaj Komal-Bajaj marked this pull request as ready for review January 28, 2026 05:59
@Komal-Bajaj Komal-Bajaj merged commit 02fdded into qualcomm-linux:tech/all/config Jan 28, 2026
5 of 6 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.

3 participants