]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: document arm64 CPUFeatures 42902/head
authorEmanuele Rocca <emanuele.rocca@arm.com>
Mon, 6 Jul 2026 12:17:37 +0000 (14:17 +0200)
committerEmanuele Rocca <emanuele.rocca@arm.com>
Fri, 10 Jul 2026 10:02:54 +0000 (12:02 +0200)
Signed-off-by: Emanuele Rocca <emanuele.rocca@arm.com>
man/systemd.unit.xml

index 347fc816d090ebd3d4ee6008484f5579602bf5ba..b9a346897e1c4f6d7debf7bc215d4162ba483136 100644 (file)
         <varlistentry>
           <term><varname>ConditionCPUFeature=</varname></term>
 
-          <listitem><para>Verify that a given CPU feature is available via the <literal>CPUID</literal>
-          instruction. This condition only does something on i386 and x86-64 processors. On other
-          processors it is assumed that the CPU does not support the given feature. It checks the leaves
-          <literal>1</literal>, <literal>7</literal>, <literal>0x80000001</literal>, and
-          <literal>0x80000007</literal>. Valid values are:
+          <listitem><para>On i386 and x86-64, verify that a given CPU feature is available via the
+          <literal>CPUID</literal> instruction. It checks the leaves <literal>1</literal>,
+          <literal>7</literal>, <literal>0x80000001</literal>, and <literal>0x80000007</literal>. Valid
+          values are:
           <literal>fpu</literal>,
           <literal>vme</literal>,
           <literal>de</literal>,
           <literal>abm</literal>,
           <literal>constant_tsc</literal>.</para>
 
+          <para>On arm64, valid values are the corresponding arm64 feature names,
+          such as
+          <literal>asimd</literal>,
+          <literal>paca</literal>,
+          <literal>pacg</literal>,
+          <literal>bti</literal>,
+          <literal>mte</literal>,
+          among others. For the full list, see the documentation on
+          <ulink url="https://docs.kernel.org/arch/arm64/elf_hwcaps.html">ARM64 ELF hwcaps</ulink>.</para>
+
+          <para>To avoid ambiguities in mixed-architecture fleets, the value can be prefixed
+          with the architecture name using the form <literal>ARCH.FEATURE</literal>. If the
+          architecture prefix does not match the running system, the condition evaluates
+          to false. For example, one can specify <literal>arm64.bti</literal> on arm64
+          systems to check if <literal>bti</literal> is supported. In this example,
+          <literal>ConditionCPUFeature=arm64.bti</literal> and
+          <literal>ConditionCPUFeature=bti</literal> are functionally equivalent.
+          See <varname>ConditionArchitecture=</varname> for valid architecture names.</para>
+
+          <para>On architectures other than x86 and arm64, it is assumed that the CPU does not support the given feature.</para>
+
           <xi:include href="version-info.xml" xpointer="v248"/>
           </listitem>
         </varlistentry>