On Fri, 16 Oct 2026 18:10:36 +0800
Jinjie Ruan <[email protected]> wrote:

> From: Jinjie Ruan <[email protected]>
> 
> Reserve a 1 MiB MMIO window at 0x0b006000 for the MPAM MSCs
> (MPAM_SIZE * 256 slots, right above the virtio MMIO transports)
> and add the VIRT_MPAM_MSC memmap entry the creation code uses.
> 
> Signed-off-by: Jinjie Ruan <[email protected]>
Not sure this needs a separate patch given how trivial it is.
Maybe it is worth having to be able to talk separate about where
it is in the memory map.
Seems like a safe enough hole to use.
Reviewed-by: Jonathan Cameron <[email protected]>

> ---
>  hw/arm/virt.c         | 3 +++
>  include/hw/arm/virt.h | 1 +
>  2 files changed, 4 insertions(+)
> 
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index aaadff6..3ad7de8 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -90,6 +90,7 @@
>  #include "hw/virtio/virtio-md-pci.h"
>  #include "hw/virtio/virtio-iommu.h"
>  #include "hw/char/pl011.h"
> +#include "hw/arm/mpam.h"
>  #include "hw/core/cpu.h"
>  #include "hw/cxl/cxl.h"
>  #include "hw/cxl/cxl_host.h"
> @@ -211,6 +212,8 @@ static const MemMapEntry base_memmap[] = {
>      [VIRT_SECURE_GPIO] =        { 0x090b0000, 0x00001000 },
>      [VIRT_ACPI_PCIHP] =         { 0x090c0000, ACPI_PCIHP_SIZE },
>      [VIRT_MMIO] =               { 0x0a000000, 0x00000200 },
> +    /* MPAM MSC MMIO windows: MPAM_SIZE (16 KiB) each, 256 slots (1 MiB). */
> +    [VIRT_MPAM_MSC] =           { 0x0b006000, MPAM_SIZE * 256 },
>      /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that size 
> */
>      [VIRT_PLATFORM_BUS] =       { 0x0c000000, 0x02000000 },
>      [VIRT_SECURE_MEM] =         { 0x0e000000, 0x01000000 },
> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
> index c847136..56bee15 100644
> --- a/include/hw/arm/virt.h
> +++ b/include/hw/arm/virt.h
> @@ -81,6 +81,7 @@ enum {
>      VIRT_SMMU,
>      VIRT_UART0,
>      VIRT_MMIO,
> +    VIRT_MPAM_MSC,
>      VIRT_RTC,
>      VIRT_FW_CFG,
>      VIRT_PCIE,


Reply via email to