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

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Nov 7 12:17:33 EST 2013


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




More information about the linux-arm-kernel mailing list