[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/1] Added support for the MMU node in the RHCT
From: |
Sunil V L |
Subject: |
Re: [PATCH 1/1] Added support for the MMU node in the RHCT |
Date: |
Wed, 2 Aug 2023 19:16:18 +0530 |
Hi Lilly,
I have already sent patch series [1] which includes MMU node patch [2].
I am preparing v2 of that series based on the feedback I received.
[1] - https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg02657.html
[2] - https://lists.gnu.org/archive/html/qemu-devel/2023-07/msg02667.html
Thanks,
Sunil
On Wed, Aug 02, 2023 at 09:37:40AM -0400, Alistair Francis wrote:
> On Mon, Jul 31, 2023 at 6:22 PM Lilly Anderson <fermium@anarchist.gay> wrote:
> >
>
> Hello,
>
> Thanks for the patch.
>
> Do you mind writing a commit message here. You will also need to
> include a signed-off-by line, see
> https://www.qemu.org/docs/master/devel/submitting-a-patch.html#patch-emails-must-include-a-signed-off-by-line
>
> > ---
> > hw/riscv/virt-acpi-build.c | 17 ++++++++++++++---
> > 1 file changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c
> > index 7331248f59..cb36e52169 100644
> > --- a/hw/riscv/virt-acpi-build.c
> > +++ b/hw/riscv/virt-acpi-build.c
> > @@ -119,7 +119,8 @@ static void acpi_dsdt_add_fw_cfg(Aml *scope, const
> > MemMapEntry *fw_cfg_memmap)
> > /*
> > * ACPI spec, Revision 6.5+
> > * 5.2.36 RISC-V Hart Capabilities Table (RHCT)
> > - * REF: https://github.com/riscv-non-isa/riscv-acpi/issues/16
> > + * REF: https://github.com/riscv-non-isa/riscv-acpi/issues/18
> > + *
> > https://drive.google.com/file/d/1sKbOa8m1UZw1JkquZYe3F1zQBN1xXsaf/view
> > *
> > https://drive.google.com/file/d/1nP3nFiH4jkPMp6COOxP6123DCZKR-tia/view
> > */
> > static void build_rhct(GArray *table_data,
> > @@ -133,6 +134,7 @@ static void build_rhct(GArray *table_data,
> > uint32_t isa_offset, num_rhct_nodes;
> > RISCVCPU *cpu;
> > char *isa;
> > + uint8_t mmu_type;
> >
> > AcpiTable table = { .sig = "RHCT", .rev = 1, .oem_id = s->oem_id,
> > .oem_table_id = s->oem_table_id };
> > @@ -145,8 +147,8 @@ static void build_rhct(GArray *table_data,
> > build_append_int_noprefix(table_data,
> > RISCV_ACLINT_DEFAULT_TIMEBASE_FREQ, 8);
> >
> > - /* ISA + N hart info */
> > - num_rhct_nodes = 1 + ms->smp.cpus;
> > + /* ISA + MMU + N hart info */
> > + num_rhct_nodes = 2 + ms->smp.cpus;
>
> I think it's worth adding a comment that we aren't including CMO, as
> the spec says:
>
> "and at least one CMO node for systems with harts implementing CMO
> extensions."
>
> Alistair
>
> >
> > /* Number of RHCT nodes*/
> > build_append_int_noprefix(table_data, num_rhct_nodes, 4);
> > @@ -174,6 +176,15 @@ static void build_rhct(GArray *table_data,
> > build_append_int_noprefix(table_data, 0x0, 1); /* Optional
> > Padding */
> > }
> >
> > + /* MMU Node */
> > + build_append_int_noprefix(table_data, 2, 2); /* Type 2 */
> > + build_append_int_noprefix(table_data, 8, 2); /* Length */
> > + build_append_int_noprefix(table_data, 1, 2); /* Revision */
> > + build_append_int_noprefix(table_data, 0, 1); /* Reserved */
> > +
> > + mmu_type =
> > satp_mode_max_from_map(riscv_cpu_cfg(&cpu->env)->satp_mode.map) - 8;
> > + build_append_int_noprefix(table_data, mmu_type, 1); /* MMU Type */
> > +
> > /* Hart Info Node */
> > for (int i = 0; i < arch_ids->len; i++) {
> > build_append_int_noprefix(table_data, 0xFFFF, 2); /* Type */
> > --
> > 2.41.0
> >
> > Signed-off-by: Lilly Anderson <fermium@anarchist.gay>
> >