Acked-by: Mike Travis <[email protected]>

On 5/20/2017 5:02 AM, Baoquan He wrote:
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 <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: [email protected]
Cc: Russ Anderson <[email protected]>
Cc: Dimitri Sivanich <[email protected]>
Cc: "[email protected]" <[email protected]>
Cc: Mike Travis <[email protected]>
Cc: Frank Ramsay <[email protected]>
---
  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 */

Reply via email to