On Wed, May 14, 2014 at 12:51 PM, Peter Maydell
<[email protected]> wrote:
> On 5 May 2014 17:00, Rob Herring <[email protected]> wrote:
>> From: Rob Herring <[email protected]>
>>
>> Now that we have PSCI emulation, enable it for the virt platform.
>> This simplifies the virt machine a bit now that PSCI and SMP no longer
>> need to be KVM only features.
[...]
>> + qemu_fdt_add_subnode(fdt, "/psci");
>> + qemu_fdt_setprop_string(fdt, "/psci", "method", "hvc");
>> + if (kvm_enabled() && !kvm_check_extension(kvm_state,
>> KVM_CAP_ARM_PSCI_0_2)) {
>> + qemu_fdt_setprop_string(fdt, "/psci", "compatible", "arm,psci");
>> + } else {
>> + const char compat[] = "arm,psci-0.2\0arm,psci";
>> + qemu_fdt_setprop(fdt, "/psci", "compatible", compat,
>> sizeof(compat));
>> }
>
> My suggestion to Pranav was that we abstract away the "which PSCI
> version?" decision into a field in ARMCPU, in which case we can
> just have TCG always set it to 0.2. So some of this logic
> will get a little simpler on rebase.
You can't. You have to support both because you don't know what the
kernel supports. An old kernel will only support arm,psci.
Rob