xen/arm: vpsci: Removing dummy MIGRATE and MIGRATE_INFO_UP_CPU

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>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Julien Grall authored and Stefano Stabellini committed 2018-02-08 16:13:42 -08:00
1 parent 5eaa17357b
commit 8fd0eb2239
4 files changed
+1 -31

No files matched your search

-10
View File
@@ -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;
+1 -15
View File
@@ -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);
-2
View File
@@ -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")
-4
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.