On Wed, Sep 20 2023 at 04:33, Li, Xin3 wrote:
>> > +static inline void fred_syscall_init(void) {
>> > +  /*
>> > +   * Per FRED spec 5.0, FRED uses the ring 3 FRED entrypoint for SYSCALL
>> > +   * and SYSENTER, and ERETU is the only legit instruction to return to
>> > +   * ring 3, as a result there is _no_ need to setup the SYSCALL and
>> > +   * SYSENTER MSRs.
>> > +   *
>> > +   * Note, both sysexit and sysret cause #UD when FRED is enabled.
>> > +   */
>> > +  wrmsrl(MSR_LSTAR, 0ULL);
>> > +  wrmsrl_cstar(0ULL);
>> 
>> That write is pointless. See the comment in wrmsrl_cstar().
>
> What I heard is that AMD is going to support FRED.
>
> Both LSTAR and CSTAR have no function when FRED is enabled, so maybe
> just do NOT write to them?

Right. If AMD needs to clear it then it's trivial enough to add a
wrmsrl_cstar(0) to it.

Reply via email to