From: Gavin Shan <gshan@redhat.com>
Date: Thursday, 8 October 2026 at 01:05
To: tf-rmm@lists.trustedfirmware.org <tf-rmm@lists.trustedfirmware.org>
Cc: Soby Mathew <Soby.Mathew@arm.com>; Alexander Lougovski <alougovs@redhat.com>
Subject: 64KB granule size support for TF-RMM
Hi Folks,
It's first time to raise questions here, not sure it's the right place for discussion on
feature planning and support here. The background is our RHEL distributions like RHEL10
supports 64KB (base) page size for arm64, which isn't supported by upstream TF-RMM yet.
So the question is do we have a plan to support 64KB granule size and the estimated time
for it to happen?
Looking at the latest TF-RMM upstream code, 64KB granule size isn't supported as I can
understand.
- In smc_rmm_config_set(), handler of RMI RMM_CONFIG_SET, the configured granule size should
be RMI_GRANULE_SIZE, which is hardcoded to 4KB like below.
/* The implementation currently supports only the 4 KiB RMI Granule size. */
#define RMI_GRANULE_SIZE RMI_GRANULE_SIZE_4KB
- 'struct granule' represents a granule in TF-RMM, whose length is 16-bits. Bits[0 - 9] are curved
out for the reference count, which isn't sufficient when the granule is taken as stage-2 RTT if
the granule size is 64KB. In this specific case, Bits[0 - 13] are needed for the reference count.
- The translation regimes are sticky to 4KB. For example, option 'XLAT_GRANULARITY_SIZE_SHIFT' only
supports 4KB at present.
if(NOT(XLAT_GRANULARITY_SIZE_SHIFT EQUAL "12"))
message(FATAL_ERROR "Only 4K granularity is supported at the moment")
endif()
Thanks,
Gavin