diff mbox series

[Xen-devel,v2,1/3] xen/arm: vpsci: Removing dummy MIGRATE and MIGRATE_INFO_UP_CPU

Message ID 20180202114150.23817-2-julien.grall@linaro.org
State Superseded
Headers show
Series xen/arm: SMCCC fixes and PSCI clean-up | expand

Commit Message

Julien Grall Feb. 2, 2018, 11:41 a.m. UTC
The PSCI call MIGRATE and MIGRATE_INFO_UP_CPU are optional and
implemented as just returning PSCI_NOT_SUPPORTED (aka UNKNOWN_FUNCTION
for SMCCC).

The new SMCCC framework is able to deal with unimplemented function and
return the proper error code. So remove the implementations for both
function.

Signed-off-by: Julien Grall <julien.grall@linaro.org>

---
    Changes in v2:
        - Remove define in psci.h
        - Update SSSC_SMCCC_FUNCTION_COUNT
---
 xen/arch/arm/vpsci.c             | 10 ----------
 xen/arch/arm/vsmc.c              | 16 +---------------
 xen/include/asm-arm/perfc_defn.h |  2 --
 xen/include/asm-arm/psci.h       |  4 ----
 4 files changed, 1 insertion(+), 31 deletions(-)

Comments

Volodymyr Babchuk Feb. 2, 2018, 1:44 p.m. UTC | #1
Hi Julien,

On 02.02.18 13:41, Julien Grall wrote:
> The PSCI call MIGRATE and MIGRATE_INFO_UP_CPU are optional and
> implemented as just returning PSCI_NOT_SUPPORTED (aka UNKNOWN_FUNCTION
> for SMCCC).
> 
> The new SMCCC framework is able to deal with unimplemented function and
> return the proper error code. So remove the implementations for both
> function.
> 
> Signed-off-by: Julien Grall <julien.grall@linaro.org>

`Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>`
> ---
>      Changes in v2:
>          - Remove define in psci.h
>          - Update SSSC_SMCCC_FUNCTION_COUNT
> ---
>   xen/arch/arm/vpsci.c             | 10 ----------
>   xen/arch/arm/vsmc.c              | 16 +---------------
>   xen/include/asm-arm/perfc_defn.h |  2 --
>   xen/include/asm-arm/psci.h       |  4 ----
>   4 files changed, 1 insertion(+), 31 deletions(-)
> 
> diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
> index cd724904ef..979d32ed6d 100644
> --- a/xen/arch/arm/vpsci.c
> +++ b/xen/arch/arm/vpsci.c
> @@ -172,21 +172,11 @@ int32_t do_psci_0_2_affinity_info(register_t target_affinity,
>       return PSCI_0_2_AFFINITY_LEVEL_OFF;
>   }
>   
> -int32_t do_psci_0_2_migrate(uint32_t target_cpu)
> -{
> -    return PSCI_NOT_SUPPORTED;
> -}
> -
>   uint32_t do_psci_0_2_migrate_info_type(void)
>   {
>       return PSCI_0_2_TOS_MP_OR_NOT_PRESENT;
>   }
>   
> -register_t do_psci_0_2_migrate_info_up_cpu(void)
> -{
> -    return PSCI_NOT_SUPPORTED;
> -}
> -
>   void do_psci_0_2_system_off( void )
>   {
>       struct domain *d = current->domain;
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index c9064de37a..997f2e0ebc 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -28,7 +28,7 @@
>   #define XEN_SMCCC_FUNCTION_COUNT 3
>   
>   /* Number of functions currently supported by Standard Service Service Calls. */
> -#define SSSC_SMCCC_FUNCTION_COUNT 13
> +#define SSSC_SMCCC_FUNCTION_COUNT 11
>   
>   static bool fill_uid(struct cpu_user_regs *regs, xen_uuid_t uuid)
>   {
> @@ -157,11 +157,6 @@ static bool handle_sssc(struct cpu_user_regs *regs)
>           PSCI_SET_RESULT(regs, do_psci_0_2_migrate_info_type());
>           return true;
>   
> -    case PSCI_0_2_FN_MIGRATE_INFO_UP_CPU:
> -        perfc_incr(vpsci_migrate_info_up_cpu);
> -        PSCI_SET_RESULT(regs, do_psci_0_2_migrate_info_up_cpu());
> -        return true;
> -
>       case PSCI_0_2_FN_SYSTEM_OFF:
>           perfc_incr(vpsci_system_off);
>           do_psci_0_2_system_off();
> @@ -206,15 +201,6 @@ static bool handle_sssc(struct cpu_user_regs *regs)
>           return true;
>       }
>   
> -    case PSCI_0_2_FN_MIGRATE:
> -    {
> -        uint32_t tcpu = PSCI_ARG32(regs, 1);
> -
> -        perfc_incr(vpsci_cpu_migrate);
> -        PSCI_SET_RESULT(regs, do_psci_0_2_migrate(tcpu));
> -        return true;
> -    }
> -
>       case ARM_SMCCC_FUNC_CALL_COUNT:
>           return fill_function_call_count(regs, SSSC_SMCCC_FUNCTION_COUNT);
>   
> diff --git a/xen/include/asm-arm/perfc_defn.h b/xen/include/asm-arm/perfc_defn.h
> index 5f957ee6ec..a7acb7d21c 100644
> --- a/xen/include/asm-arm/perfc_defn.h
> +++ b/xen/include/asm-arm/perfc_defn.h
> @@ -27,12 +27,10 @@ PERFCOUNTER(vpsci_cpu_on,              "vpsci: cpu_on")
>   PERFCOUNTER(vpsci_cpu_off,             "vpsci: cpu_off")
>   PERFCOUNTER(vpsci_version,             "vpsci: version")
>   PERFCOUNTER(vpsci_migrate_info_type,   "vpsci: migrate_info_type")
> -PERFCOUNTER(vpsci_migrate_info_up_cpu, "vpsci: migrate_info_up_cpu")
>   PERFCOUNTER(vpsci_system_off,          "vpsci: system_off")
>   PERFCOUNTER(vpsci_system_reset,        "vpsci: system_reset")
>   PERFCOUNTER(vpsci_cpu_suspend,         "vpsci: cpu_suspend")
>   PERFCOUNTER(vpsci_cpu_affinity_info,   "vpsci: cpu_affinity_info")
> -PERFCOUNTER(vpsci_cpu_migrate,         "vpsci: cpu_migrate")
>   
>   PERFCOUNTER(vgicd_reads,                "vgicd: read")
>   PERFCOUNTER(vgicd_writes,               "vgicd: write")
> diff --git a/xen/include/asm-arm/psci.h b/xen/include/asm-arm/psci.h
> index 635ea5dae4..32c1f81f21 100644
> --- a/xen/include/asm-arm/psci.h
> +++ b/xen/include/asm-arm/psci.h
> @@ -37,9 +37,7 @@ int32_t do_psci_0_2_cpu_on(register_t target_cpu, register_t entry_point,
>                          register_t context_id);
>   int32_t do_psci_0_2_affinity_info(register_t target_affinity,
>                                 uint32_t lowest_affinity_level);
> -int32_t do_psci_0_2_migrate(uint32_t target_cpu);
>   uint32_t do_psci_0_2_migrate_info_type(void);
> -register_t do_psci_0_2_migrate_info_up_cpu(void);
>   void do_psci_0_2_system_off(void);
>   void do_psci_0_2_system_reset(void);
>   
> @@ -57,9 +55,7 @@ void do_psci_0_2_system_reset(void);
>   #define PSCI_0_2_FN_CPU_OFF             2
>   #define PSCI_0_2_FN_CPU_ON              3
>   #define PSCI_0_2_FN_AFFINITY_INFO       4
> -#define PSCI_0_2_FN_MIGRATE             5
>   #define PSCI_0_2_FN_MIGRATE_INFO_TYPE   6
> -#define PSCI_0_2_FN_MIGRATE_INFO_UP_CPU 7
>   #define PSCI_0_2_FN_SYSTEM_OFF          8
>   #define PSCI_0_2_FN_SYSTEM_RESET        9
>   
>
diff mbox series

Patch

diff --git a/xen/arch/arm/vpsci.c b/xen/arch/arm/vpsci.c
index cd724904ef..979d32ed6d 100644
--- a/xen/arch/arm/vpsci.c
+++ b/xen/arch/arm/vpsci.c
@@ -172,21 +172,11 @@  int32_t do_psci_0_2_affinity_info(register_t target_affinity,
     return PSCI_0_2_AFFINITY_LEVEL_OFF;
 }
 
-int32_t do_psci_0_2_migrate(uint32_t target_cpu)
-{
-    return PSCI_NOT_SUPPORTED;
-}
-
 uint32_t do_psci_0_2_migrate_info_type(void)
 {
     return PSCI_0_2_TOS_MP_OR_NOT_PRESENT;
 }
 
-register_t do_psci_0_2_migrate_info_up_cpu(void)
-{
-    return PSCI_NOT_SUPPORTED;
-}
-
 void do_psci_0_2_system_off( void )
 {
     struct domain *d = current->domain;
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index c9064de37a..997f2e0ebc 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -28,7 +28,7 @@ 
 #define XEN_SMCCC_FUNCTION_COUNT 3
 
 /* Number of functions currently supported by Standard Service Service Calls. */
-#define SSSC_SMCCC_FUNCTION_COUNT 13
+#define SSSC_SMCCC_FUNCTION_COUNT 11
 
 static bool fill_uid(struct cpu_user_regs *regs, xen_uuid_t uuid)
 {
@@ -157,11 +157,6 @@  static bool handle_sssc(struct cpu_user_regs *regs)
         PSCI_SET_RESULT(regs, do_psci_0_2_migrate_info_type());
         return true;
 
-    case PSCI_0_2_FN_MIGRATE_INFO_UP_CPU:
-        perfc_incr(vpsci_migrate_info_up_cpu);
-        PSCI_SET_RESULT(regs, do_psci_0_2_migrate_info_up_cpu());
-        return true;
-
     case PSCI_0_2_FN_SYSTEM_OFF:
         perfc_incr(vpsci_system_off);
         do_psci_0_2_system_off();
@@ -206,15 +201,6 @@  static bool handle_sssc(struct cpu_user_regs *regs)
         return true;
     }
 
-    case PSCI_0_2_FN_MIGRATE:
-    {
-        uint32_t tcpu = PSCI_ARG32(regs, 1);
-
-        perfc_incr(vpsci_cpu_migrate);
-        PSCI_SET_RESULT(regs, do_psci_0_2_migrate(tcpu));
-        return true;
-    }
-
     case ARM_SMCCC_FUNC_CALL_COUNT:
         return fill_function_call_count(regs, SSSC_SMCCC_FUNCTION_COUNT);
 
diff --git a/xen/include/asm-arm/perfc_defn.h b/xen/include/asm-arm/perfc_defn.h
index 5f957ee6ec..a7acb7d21c 100644
--- a/xen/include/asm-arm/perfc_defn.h
+++ b/xen/include/asm-arm/perfc_defn.h
@@ -27,12 +27,10 @@  PERFCOUNTER(vpsci_cpu_on,              "vpsci: cpu_on")
 PERFCOUNTER(vpsci_cpu_off,             "vpsci: cpu_off")
 PERFCOUNTER(vpsci_version,             "vpsci: version")
 PERFCOUNTER(vpsci_migrate_info_type,   "vpsci: migrate_info_type")
-PERFCOUNTER(vpsci_migrate_info_up_cpu, "vpsci: migrate_info_up_cpu")
 PERFCOUNTER(vpsci_system_off,          "vpsci: system_off")
 PERFCOUNTER(vpsci_system_reset,        "vpsci: system_reset")
 PERFCOUNTER(vpsci_cpu_suspend,         "vpsci: cpu_suspend")
 PERFCOUNTER(vpsci_cpu_affinity_info,   "vpsci: cpu_affinity_info")
-PERFCOUNTER(vpsci_cpu_migrate,         "vpsci: cpu_migrate")
 
 PERFCOUNTER(vgicd_reads,                "vgicd: read")
 PERFCOUNTER(vgicd_writes,               "vgicd: write")
diff --git a/xen/include/asm-arm/psci.h b/xen/include/asm-arm/psci.h
index 635ea5dae4..32c1f81f21 100644
--- a/xen/include/asm-arm/psci.h
+++ b/xen/include/asm-arm/psci.h
@@ -37,9 +37,7 @@  int32_t do_psci_0_2_cpu_on(register_t target_cpu, register_t entry_point,
                        register_t context_id);
 int32_t do_psci_0_2_affinity_info(register_t target_affinity,
                               uint32_t lowest_affinity_level);
-int32_t do_psci_0_2_migrate(uint32_t target_cpu);
 uint32_t do_psci_0_2_migrate_info_type(void);
-register_t do_psci_0_2_migrate_info_up_cpu(void);
 void do_psci_0_2_system_off(void);
 void do_psci_0_2_system_reset(void);
 
@@ -57,9 +55,7 @@  void do_psci_0_2_system_reset(void);
 #define PSCI_0_2_FN_CPU_OFF             2
 #define PSCI_0_2_FN_CPU_ON              3
 #define PSCI_0_2_FN_AFFINITY_INFO       4
-#define PSCI_0_2_FN_MIGRATE             5
 #define PSCI_0_2_FN_MIGRATE_INFO_TYPE   6
-#define PSCI_0_2_FN_MIGRATE_INFO_UP_CPU 7
 #define PSCI_0_2_FN_SYSTEM_OFF          8
 #define PSCI_0_2_FN_SYSTEM_RESET        9