On 24/09/2024 1:30 pm, Roger Pau Monné wrote: > On Tue, Sep 24, 2024 at 12:23:43PM +0100, Andrew Cooper wrote: >> The logic would be more robust disabling SMAP based on its precense in CR4, >> rather than on certain features. >> >> A forthcoming feature, LASS, needs the same treatment here. Introduce >> minimum >> enumeration information, although it will take a bit more work to get LASS >> fully usable in guests. > Reading the ISA, doesn't LASS require SMAP to be enabled in %cr4, and > hence disabling SMAP already disables LASS? (without having to toggle > the LASS %cr4 bit) > > "A supervisor-mode data access causes a LASS violation only if > supervisor-mode access protection is enabled (because CR4.SMAP = 1) > and either RFLAGS.AC = 0 or the access implicitly accesses a system > data structure." > > We can consider also disabling it, but I think it would need to be > noted that such disabling is not strictly necessary, as disabling SMAP > already disables LASS.
Hmm. LASS looks to have no CR4 dependencies on SMAP or SMEP, and the ISE does suggest they can be used independently. However, I see no connection to paging (beyond LMA), and that is going to become a problem in due course. Anyway - I'll drop the LASS aspect for now. It can be left to whomever gets some working real hardware first. ~Andrew