mirror of https://gitee.com/openkylin/linux.git
efi/runtime-wrappers: Remove out of date comment regarding in_nmi()
This code is long gone, so remove the comment as well. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/1454364428-494-6-git-send-email-matt@codeblueprint.co.uk Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
ca0e30dcaa
commit
774846defc
|
@ -61,32 +61,6 @@
|
||||||
*/
|
*/
|
||||||
static DEFINE_SPINLOCK(efi_runtime_lock);
|
static DEFINE_SPINLOCK(efi_runtime_lock);
|
||||||
|
|
||||||
/*
|
|
||||||
* Some runtime services calls can be reentrant under NMI, even if the table
|
|
||||||
* above says they are not. (source: UEFI Specification v2.4A)
|
|
||||||
*
|
|
||||||
* Table 32. Functions that may be called after Machine Check, INIT and NMI
|
|
||||||
* +----------------------------+------------------------------------------+
|
|
||||||
* | Function | Called after Machine Check, INIT and NMI |
|
|
||||||
* +----------------------------+------------------------------------------+
|
|
||||||
* | GetTime() | Yes, even if previously busy. |
|
|
||||||
* | GetVariable() | Yes, even if previously busy |
|
|
||||||
* | GetNextVariableName() | Yes, even if previously busy |
|
|
||||||
* | QueryVariableInfo() | Yes, even if previously busy |
|
|
||||||
* | SetVariable() | Yes, even if previously busy |
|
|
||||||
* | UpdateCapsule() | Yes, even if previously busy |
|
|
||||||
* | QueryCapsuleCapabilities() | Yes, even if previously busy |
|
|
||||||
* | ResetSystem() | Yes, even if previously busy |
|
|
||||||
* +----------------------------+------------------------------------------+
|
|
||||||
*
|
|
||||||
* In order to prevent deadlocks under NMI, the wrappers for these functions
|
|
||||||
* may only grab the efi_runtime_lock or rtc_lock spinlocks if !efi_in_nmi().
|
|
||||||
* However, not all of the services listed are reachable through NMI code paths,
|
|
||||||
* so the the special handling as suggested by the UEFI spec is only implemented
|
|
||||||
* for QueryVariableInfo() and SetVariable(), as these can be reached in NMI
|
|
||||||
* context through efi_pstore_write().
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* As per commit ef68c8f87ed1 ("x86: Serialize EFI time accesses on rtc_lock"),
|
* As per commit ef68c8f87ed1 ("x86: Serialize EFI time accesses on rtc_lock"),
|
||||||
* the EFI specification requires that callers of the time related runtime
|
* the EFI specification requires that callers of the time related runtime
|
||||||
|
|
Loading…
Reference in New Issue