Skip to content

firmware: smccc: Fix check for ARCH_SOC_ID not implemented

Vitaly Kuznetsov requested to merge vkuznets/centos-stream-9:bug2052908 into main

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2052908

commit e95d8eaee21cd0d117d34125d4cdc97489c1ab82
Author: Michael Kelley <mikelley@microsoft.com>
Date:   Fri Nov 19 15:39:01 2021 -0800

    firmware: smccc: Fix check for ARCH_SOC_ID not implemented

    The ARCH_FEATURES function ID is a 32-bit SMC call, which returns
    a 32-bit result per the SMCCC spec.  Current code is doing a 64-bit
    comparison against -1 (SMCCC_RET_NOT_SUPPORTED) to detect that the
    feature is unimplemented.  That check doesn't work in a Hyper-V VM,
    where the upper 32-bits are zero as allowed by the spec.

    Cast the result as an 'int' so the comparison works. The change also
    makes the code consistent with other similar checks in this file.

    Fixes: 821b67fa4639 ("firmware: smccc: Add ARCH_SOC_ID support")
    Signed-off-by: Michael Kelley <mikelley@microsoft.com>
    Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Vitaly Kuznetsov vkuznets@redhat.com

Edited by Vitaly Kuznetsov

Merge request reports