[RFC PATCH 0/4] wire up CPU features to udev based module loading

From: Ard Biesheuvel
Date: Thu Nov 07 2013 - 12:17:53 EST


This series implements automatic module loading based on optional CPU features,
and tries to do so in a generic way. Currently, 32 feature bits are supported,
and how they map to actual CPU features is entirely up to the architecture.

There is some GCC attribute foo in here which people may object to, so any
suggestions on how to implement this in a cleaner way are more than welcome.

Typical usage would look like this:

static struct cpu_feature mod_cpu_feature[] = {
{ HWCAP_NEON },
{}
};
MODULE_DEVICE_TABLE(cpu, mod_cpu_feature);

where (on the ARM arch) the module in question would be loaded automatically if
a NEON-capable CPU is detected (and advertised).

Ard Biesheuvel (4):
x86: move arch_cpu_uevent() to generic code
cpu: advertise CPU features over udev in a generic way
scripts/mod: add generic CPU features as module alias
arm64: advertise CPU features using module aliases

arch/arm64/Kconfig | 3 +++
arch/arm64/kernel/setup.c | 2 ++
arch/x86/kernel/cpu/match.c | 11 -----------
drivers/base/cpu.c | 39 ++++++++++++++++++++++++++++++++++++++-
include/linux/cpu.h | 1 -
include/linux/mod_devicetable.h | 11 +++++++++++
scripts/mod/devicetable-offsets.c | 3 +++
scripts/mod/file2alias.c | 10 ++++++++++
8 files changed, 67 insertions(+), 13 deletions(-)

--
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/