]> rtime.felk.cvut.cz Git - jailhouse.git/commitdiff
arm: Add PSCI v0.1 support as provided by U-Boot
authorJan Kiszka <jan.kiszka@siemens.com>
Thu, 12 Feb 2015 10:02:42 +0000 (11:02 +0100)
committerJan Kiszka <jan.kiszka@siemens.com>
Thu, 12 Feb 2015 10:02:42 +0000 (11:02 +0100)
Upstream U-Boot will continue to offer only a PSCI v0.1 interface. To
make us independent of patches, add the IDs for CPU_OFF and CPU_ON to
the dispatcher. Those functions are practically compatible between 0.1
and 0.2.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/arm/include/asm/psci.h
hypervisor/arch/arm/psci.c

index 4ef45682d0bb5352cf04b6c7b037cd59ca6d1f7c..90c3a23fc7a3a46bf6ac32032609a74e40505030 100644 (file)
 #define PSCI_SYSTEM_OFF                        0x84000008
 #define PSCI_SYSTEM_RESET              0x84000009
 
+/* v0.1 function IDs as used by U-Boot */
+#define PSCI_CPU_OFF_V0_1_UBOOT                0x95c1ba5f
+#define PSCI_CPU_ON_V0_1_UBOOT         0x95c1ba60
+
 #define PSCI_SUCCESS           0
 #define PSCI_NOT_SUPPORTED     (-1)
 #define PSCI_INVALID_PARAMETERS        (-2)
index 8521810848b6f783787eedf1d6f7e8b4df52586b..60654eb40437021d3c3f8fd5093a87374b71000d 100644 (file)
@@ -142,6 +142,7 @@ long psci_dispatch(struct per_cpu *cpu_data, struct trap_context *ctx)
                return 2;
 
        case PSCI_CPU_OFF:
+       case PSCI_CPU_OFF_V0_1_UBOOT:
                /*
                 * The reset function will take care of calling
                 * psci_emulate_spin
@@ -152,6 +153,7 @@ long psci_dispatch(struct per_cpu *cpu_data, struct trap_context *ctx)
                return 0;
 
        case PSCI_CPU_ON_32:
+       case PSCI_CPU_ON_V0_1_UBOOT:
                return psci_emulate_cpu_on(cpu_data, ctx);
 
        case PSCI_AFFINITY_INFO_32: