-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branches 'fixes' and 'misc' into for-next
- Loading branch information
Showing
16 changed files
with
210 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/* | ||
* Copyright (C) 2017 Linaro Ltd. <ard.biesheuvel@linaro.org> | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
|
||
#ifndef __ASM_CPUFEATURE_H | ||
#define __ASM_CPUFEATURE_H | ||
|
||
#include <linux/log2.h> | ||
#include <asm/hwcap.h> | ||
|
||
/* | ||
* Due to the fact that ELF_HWCAP is a 32-bit type on ARM, and given the number | ||
* of optional CPU features it defines, ARM's CPU hardware capability bits have | ||
* been distributed over separate elf_hwcap and elf_hwcap2 variables, each of | ||
* which covers a subset of the available CPU features. | ||
* | ||
* Currently, only a few of those are suitable for automatic module loading | ||
* (which is the primary use case of this facility) and those happen to be all | ||
* covered by HWCAP2. So let's only cover those via the cpu_feature() | ||
* convenience macro for now (which is used by module_cpu_feature_match()). | ||
* However, all capabilities are exposed via the modalias, and can be matched | ||
* using an explicit MODULE_DEVICE_TABLE() that uses __hwcap_feature() directly. | ||
*/ | ||
#define MAX_CPU_FEATURES 64 | ||
#define __hwcap_feature(x) ilog2(HWCAP_ ## x) | ||
#define __hwcap2_feature(x) (32 + ilog2(HWCAP2_ ## x)) | ||
#define cpu_feature(x) __hwcap2_feature(x) | ||
|
||
static inline bool cpu_have_feature(unsigned int num) | ||
{ | ||
return num < 32 ? elf_hwcap & BIT(num) : elf_hwcap2 & BIT(num - 32); | ||
} | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
SECTIONS { | ||
.plt : { BYTE(0) } | ||
.init.plt : { BYTE(0) } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.