[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3] target/riscv: update checks on writing pmpcfg for Smepmp
From: |
Alistair Francis |
Subject: |
Re: [PATCH v3] target/riscv: update checks on writing pmpcfg for Smepmp |
Date: |
Tue, 19 Sep 2023 19:27:27 +1000 |
On Tue, Sep 19, 2023 at 3:43 PM Himanshu Chauhan
<hchauhan@ventanamicro.com> wrote:
>
>
>
> > On 19-Sep-2023, at 10:51 AM, Alistair Francis <alistair23@gmail.com> wrote:
> >
> > On Tue, Sep 19, 2023 at 3:08 PM Chang Alvin <vivahavey@gmail.com> wrote:
> >>
> >>> -----Original Message-----
> >>
> >>> From: Alistair Francis <alistair23@gmail.com>
> >>
> >>> Sent: Tuesday, September 19, 2023 12:42 PM
> >>
> >>> To: Alvin Che-Chia Chang(張哲嘉) <alvinga@andestech.com>
> >>
> >>> Cc: qemu-riscv@nongnu.org; qemu-devel@nongnu.org;
> >>
> >>> alistair.francis@wdc.com; ajones@ventanamicro.com
> >>
> >>> Subject: Re: [PATCH v3] target/riscv: update checks on writing pmpcfg for
> >>
> >>> Smepmp to version 1.0
> >>
> >>>
> >>
> >>> On Fri, Sep 15, 2023 at 6:32 PM Alvin Chang <alvinga@andestech.com> wrote:
> >>
> >>>>
> >>
> >>>> Current checks on writing pmpcfg for Smepmp follows Smepmp version
> >>
> >>>> 0.9.1. However, Smepmp specification has already been ratified, and
> >>
> >>>> there are some differences between version 0.9.1 and 1.0. In this
> >>
> >>>> commit we update the checks of writing pmpcfg to follow Smepmp version
> >>
> >>>> 1.0.
> >>
> >>>>
> >>
> >>>> When mseccfg.MML is set, the constraints to modify PMP rules are:
> >>
> >>>> 1. Locked rules cannot be removed or modified until a PMP reset, unless
> >>
> >>>> mseccfg.RLB is set.
> >>
> >>>> 2. From Smepmp specification version 1.0, chapter 2 section 4b:
> >>
> >>>> Adding a rule with executable privileges that either is M-mode-only
> >>
> >>>> or a locked Shared-Region is not possible and such pmpcfg writes are
> >>
> >>>> ignored, leaving pmpcfg unchanged.
> >>
> >>>>
> >>
> >>>> The commit transfers the value of pmpcfg into the index of the Smepmp
> >>
> >>>> truth table, and checks the rules by aforementioned specification
> >>
> >>>> changes.
> >>
> >>>>
> >>
> >>>> Signed-off-by: Alvin Chang <alvinga@andestech.com>
> >>
> >>>> ---
> >>
> >>>> Changes from v2: Adopt switch case ranges and numerical order.
> >>
> >>>>
> >>
> >>>> Changes from v1: Convert ePMP over to Smepmp.
> >>
> >>>
> >>
> >>> Did this part get lost?
> >>
> >>>
> >>
> >>> Alistair
> >>
> >>>
> >>
> >>
> >> Sorry, do you mean that the term "ePMP" should be changed to "Smepmp" in
> >> source code?
> >
> > We still call it epmp to users and it's still marked as experimental.
> >
> > See this line in the QEMU source:
> >
> > MULTI_EXT_CFG_BOOL("x-epmp", epmp, false),
> >
> > Alistair
>
> I had sent a patch to rename epmp to Smepmp
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg967676.html
Thanks! That patch has some comments that need a v2. Do you mind sending a v2?
Alistair
>
>
> Regards
> Himanshu
>
>