On Fri, Nov 18, 2022 at 10:34 AM Nelson Chu wrote: > On Fri, Nov 18, 2022 at 5:08 PM Christoph Müllner > wrote: > > > > > > > > On Fri, Nov 18, 2022 at 9:12 AM Nelson Chu wrote: > >> > >> > +DECLARE_CSR(hvien, CSR_HVIEN, CSR_CLASS_SMAIA_AND_H, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hvictl, CSR_HVICTL, CSR_CLASS_SMAIA_AND_H, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hviprio1, CSR_HVIPRIO1, CSR_CLASS_SMAIA_AND_H, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hviprio2, CSR_HVIPRIO2, CSR_CLASS_SMAIA_AND_H, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hidelegh, CSR_HIDELEGH, CSR_CLASS_SMAIA_AND_H_32, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hvienh, CSR_HVIENH, CSR_CLASS_SMAIA_AND_H_32, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hviph, CSR_HVIPH, CSR_CLASS_SMAIA_AND_H_32, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hviprio1h, CSR_HVIPRIO1H, CSR_CLASS_SMAIA_AND_H_32, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > +DECLARE_CSR(hviprio2h, CSR_HVIPRIO2H, CSR_CLASS_SMAIA_AND_H_32, > PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE) > >> > >> Just curious does the spec clarify these belonged to smaia? or should > >> these just belonged to h? > > > > > > The AIA spec says: > > "If a hart implements the Privileged Architecture’s hypervisor > extension, then the hypervisor and > > VS CSRs listed in Table 2.3 are also added" > > > > So I think the way it is modeled is correct. > > So if we only enable ssaia and h, then we can only use virtual > supervisor aia CSRs, but cannot use the hypervisor aia? If that true, > then looks good. > I double-checked, and that's not the case. The hypervisor splits S-mode into HS and VS, but this has nothing to do with Smaia. Therefore all hypervisor and VS CSRs should be part of Ssaia. I will fix that in a v3. Thanks!