Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97532f59 authored by David S. Miller's avatar David S. Miller
Browse files

[SPARC64]: Add HWCAP_SPARC_BLKINIT elf capability flag for Niagara.

parent 3b3ab2eb
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#ifdef __KERNEL__
#include <asm/processor.h>
#include <asm/uaccess.h>
#include <asm/spitfire.h>
#endif

/*
@@ -68,6 +69,7 @@
#define HWCAP_SPARC_MULDIV      8
#define HWCAP_SPARC_V9		16
#define HWCAP_SPARC_ULTRA3	32
#define HWCAP_SPARC_BLKINIT	64

/*
 * These are used to set parameters in the core dumps.
@@ -145,11 +147,21 @@ typedef struct {
   instruction set this cpu supports.  */

/* On Ultra, we support all of the v8 capabilities. */
#define ELF_HWCAP	((HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR | \
			  HWCAP_SPARC_SWAP | HWCAP_SPARC_MULDIV | \
			  HWCAP_SPARC_V9) | \
			 ((tlb_type == cheetah || tlb_type == cheetah_plus) ? \
			  HWCAP_SPARC_ULTRA3 : 0))
static inline unsigned int sparc64_elf_hwcap(void)
{
	unsigned int cap = (HWCAP_SPARC_FLUSH | HWCAP_SPARC_STBAR |
			    HWCAP_SPARC_SWAP | HWCAP_SPARC_MULDIV |
			    HWCAP_SPARC_V9);

	if (tlb_type == cheetah || tlb_type == cheetah_plus)
		cap |= HWCAP_SPARC_ULTRA3;
	else if (tlb_type == hypervisor)
		cap |= HWCAP_SPARC_BLKINIT;

	return cap;
}

#define ELF_HWCAP	sparc64_elf_hwcap();

/* This yields a string that ld.so will use to load implementation
   specific libraries for optimization.  This is more specific in