Thread (87 messages) 87 messages, 12 authors, 2022-01-17

Re: [RFC PATCH 04/13] x86/fpu/xstate: Enumerate User Interrupts supervisor state

From: Thomas Gleixner <hidden>
Date: 2021-09-23 22:34:11
Also in: linux-api, linux-kselftest, lkml

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help