On Mon, Sep 13 2021 at 13:01, Sohil Mehta wrote: > Enable xstate supervisor support for User Interrupts by default. What means enabled by default? It's enabled when available and not disabled on the command line. > The user interrupt state for a task consists of the MSR state and the > User Interrupt Flag (UIF) value. XSAVES and XRSTORS handle saving and > restoring both of these states. > > <The supervisor XSTATE code might be reworked based on issues reported > in the past. The Uintr context switching code would also need rework and > additional testing in that regard.> What? Which issues were reported and if they have been reported then how is the provided code correct? > +/* > + * State component 14 is supervisor state used for User Interrupts state. > + * The size of this state is 48 bytes > + */ > +struct uintr_state { > + u64 handler; > + u64 stack_adjust; > + u32 uitt_size; > + u8 uinv; > + u8 pad1; > + u8 pad2; > + u8 uif_pad3; /* bit 7 - UIF, bits 6:0 - reserved */ Please do not use tail comments. Also what kind of name is uif_pad3? Bitfields exist for a reason. Aside of that please use tabs to seperate type and name. > + u64 upid_addr; > + u64 uirr; > + u64 uitt_addr; > +} __packed; > + Thanks, tglx