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