Re: [PATCH v18 6/7] firmware: arm_rmm: Ensure the RMM has GPT entries for memory

From: Alper Gun

Date: Wed Sep 16 2026 - 14:24:34 EST


On Sat, Sep 12, 2026 at 1:37 AM Suzuki K Poulose <suzuki.poulose@xxxxxxx> wrote:
[...]
> +static int rmi_init_metadata(void)
> +{
> + phys_addr_t start, end;
> + struct memblock_region *r;
> +
> + for_each_mem_region(r) {
> + int ret;
> +
> + /* Firmware-reserved NOMAP regions are not usable system RAM */
> + if (memblock_is_nomap(r))
> + continue;
> +
> + start = memblock_region_memory_base_pfn(r) << PAGE_SHIFT;
> + end = memblock_region_memory_end_pfn(r) << PAGE_SHIFT;
> +
> + ret = rmi_prepare_memory(start, end);
> + if (ret)
> + return ret;
> + }

Hi Suzuki,

What happens if a system has memory regions in memblock that are not
tracked by RMM (e.g. CXL memory)?

Currently, rmi_verify_memory_tracking() returns -ENODEV for untracked
regions, causing rmi_init_metadata() to abort and disable CCA
system-wide.

Shouldn't rmi_init_metadata() skip untracked regions (continue) with a
warning/info log instead of aborting? That would allow Realm support
for conventional DRAM while leaving untracked memory for the host.

Thanks,
Alper