Messages in this thread Patch in this message | | | From | Baoquan He <> | Subject | [PATCH v2 1/2] x86/UV: Introduce a helper function to check UV system at earlier stage | Date | Sat, 20 May 2017 20:02:37 +0800 |
| |
The SGI BIOS adds UVsystab, and only systems running SGI BIOS (and now HPE Hawks2) will have UVsystab. And UVsystab is detected in efi_init() which is at very early stage. So introduce a new helper function is_early_uv_system() for later usage.
Signed-off-by: Baoquan He <bhe@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: x86@kernel.org Cc: Russ Anderson <rja@hpe.com> Cc: Dimitri Sivanich <sivanich@hpe.com> Cc: "travis@sgi.com" <travis@sgi.com> Cc: Mike Travis <mike.travis@hpe.com> Cc: Frank Ramsay <frank.ramsay@hpe.com> --- arch/x86/include/asm/uv/uv.h | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/x86/include/asm/uv/uv.h b/arch/x86/include/asm/uv/uv.h index 6686820..159f698 100644 --- a/arch/x86/include/asm/uv/uv.h +++ b/arch/x86/include/asm/uv/uv.h @@ -19,6 +19,11 @@ extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask, unsigned long start, unsigned long end, unsigned int cpu); +#include <linux/efi.h> +static inline int is_early_uv_system(void) +{ + return !((efi.uv_systab == EFI_INVALID_TABLE_ADDR) || !efi.uv_systab); +} #else /* X86_UV */ @@ -31,6 +36,7 @@ static inline const struct cpumask * uv_flush_tlb_others(const struct cpumask *cpumask, struct mm_struct *mm, unsigned long start, unsigned long end, unsigned int cpu) { return cpumask; } +static inline int is_early_uv_system(void) { return 0; } #endif /* X86_UV */ -- 2.5.5
| |