summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/paravirt.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2019-11-11 23:03:28 +0100
committerThomas Gleixner <tglx@linutronix.de>2019-11-16 11:24:05 +0100
commitc8137ace56383688af911fea5934c71ad158135e (patch)
tree27f653f628e61a868ef0e4d9ece62185e1c24952 /arch/x86/kernel/paravirt.c
parentbe9afb4b529d9e3a68da1212e33be677bbfc8d2c (diff)
x86/iopl: Restrict iopl() permission scope
The access to the full I/O port range can be also provided by the TSS I/O bitmap, but that would require to copy 8k of data on scheduling in the task. As shown with the sched out optimization TSS.io_bitmap_base can be used to switch the incoming task to a preallocated I/O bitmap which has all bits zero, i.e. allows access to all I/O ports. Implementing this allows to provide an iopl() emulation mode which restricts the IOPL level 3 permissions to I/O port access but removes the STI/CLI permission which is coming with the hardware IOPL mechansim. Provide a config option to switch IOPL to emulation mode, make it the default and while at it also provide an option to disable IOPL completely. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Andy Lutomirski <luto@kernel.org>
Diffstat (limited to 'arch/x86/kernel/paravirt.c')
0 files changed, 0 insertions, 0 deletions