RE: [RFT 1/2] RISC-V: handle missing "no-map" properties for OpenSBI's PMP protected regions

From: JeeHeng Sia
Date: Wed Aug 09 2023 - 06:25:11 EST




> -----Original Message-----
> From: Conor Dooley <conor@xxxxxxxxxx>
> Sent: Tuesday, August 8, 2023 9:13 PM
> To: JeeHeng Sia <jeeheng.sia@xxxxxxxxxxxxxxxx>
> Cc: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>; palmer@xxxxxxxxxxx; Paul Walmsley <paul.walmsley@xxxxxxxxxx>; Atish Patra
> <atishp@xxxxxxxxxxxx>; Anup Patel <apatel@xxxxxxxxxxxxxxxx>; Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>; Björn Töpel
> <bjorn@xxxxxxxxxxxx>; Song Shuai <suagrfillet@xxxxxxxxx>; Petr Tesarik <petrtesarik@xxxxxxxxxxxxxxx>; linux-
> riscv@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx
> Subject: Re: [RFT 1/2] RISC-V: handle missing "no-map" properties for OpenSBI's PMP protected regions
>
> On Mon, Aug 07, 2023 at 12:44:07AM +0000, JeeHeng Sia wrote:
>
> > > +/* SBI implementation IDs */
> > > +#define SBI_IMP_OPENSBI 1
> > I would suggest to create an enum struct for the SBI Imp ID in
> > the sbi.h file. What do you think?
>
> I'm not really sure what the advantage of doing so is.
The macro SBI_IMP_OPENSBI seems weird (I would read it as "SBI Implementation OpenSBI"). However, if we implement an enum struct for SBI_IMP_ID (There are numerous IDs available), the macro can be abbreviated to OpenSBI. By doing this, the conditional checking of the implementation ID would be more readable, as shown below:
if (sbi_firmware_id != OPENSBI)