[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1385048552-12528-1-git-send-email-ard.biesheuvel@linaro.org>
Date: Thu, 21 Nov 2013 16:42:28 +0100
From: Ard Biesheuvel <ard.biesheuvel@...aro.org>
To: x86@...nel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Cc: akpm@...ux-foundation.org, gregkh@...uxfoundation.org,
catalin.marinas@....com, hpa@...or.com, ak@...ux.intel.com,
mingo@...hat.com, Ard Biesheuvel <ard.biesheuvel@...aro.org>
Subject: [PATCH v2 0/4] wire up CPU features to udev based module loading
X86 maintainer(s): if you have no objections to this approach, may I please have
your ack(s) on the x86 bits so I can work with Catalin to take the series
upstream through his tree?
This series implements automatic module loading based on optional CPU features,
and tries to do so in a generic way.
Typical usage would look like this:
static struct cpu_feature mod_cpu_feature[] = {
{ HWCAP_CRC32 },
{}
};
MODULE_DEVICE_TABLE(cpu, mod_cpu_feature);
where (on the arm64 arch) the module in question would be loaded automatically
if the CPU has support for the optional CRC instructions. [Note that the example
is based on a pending patch by Steve Capper: 'arm64: Add hwcaps for crypto and
CRC32 extensions']
Changes wrt v1:
- use ELF_PLATFORM rather than hardcoded name for printing modalias on arm64
Changes wrt RFC version of this series:
- this time, instead of doing something entirely separate for non-x86 archs, the
new generic modalias version allocates enough bits to cover all x86 features
(320+), and the x86 version was tweaked to resemble the generic one more
closely (i.e., both use 'cpu:type:...:feature:...' now)
- removed the weak and alias GCC attribute foo
Ard Biesheuvel (4):
x86: move arch_cpu_uevent() to generic code
cpu: advertise CPU features over udev in a generic way
x86: align with generic cpu modalias
arm64: advertise CPU features for modalias matching
arch/arm64/Kconfig | 3 +++
arch/arm64/kernel/setup.c | 20 ++++++++++++++++++++
arch/x86/kernel/cpu/match.c | 14 +-------------
drivers/base/cpu.c | 15 ++++++++++++++-
include/linux/cpu.h | 1 -
include/linux/mod_devicetable.h | 11 +++++++++++
scripts/mod/devicetable-offsets.c | 3 +++
scripts/mod/file2alias.c | 20 +++++++++++++++-----
8 files changed, 67 insertions(+), 20 deletions(-)
--
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists