On 14 May 2014 23:58, Rob Herring <[email protected]> wrote:
> On Wed, May 14, 2014 at 4:25 PM, Peter Maydell <[email protected]>
> wrote:
>> An old host kernel, or an old guest kernel? The former is fine,
>> because the KVM CPU init code will just ask for the KVM
>> capability and fill in the ARMCPU field appropriately.
>> For the latter, how are you supposed to determine what the
>> guest kernel can support?
>
> Guest kernels and this was exactly my point that you can't determine
> it. The virt dtb is for the guest kernel and must be either 0.1 PSCI
> only or both 0.1 and 0.2. I think I misread what you meant. Reading
> the other thread, as long as you just mean changing the if statement
> like this, then we are in agreement:
>
> if (psci version is 0.1) {
> 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));
> }
Yes, that's all I meant; sorry for the confusion.
I hadn't noticed that we announce and support both the 0.1
and 0.2 interfaces in the else {} branch, which is probably
why my phrasing was confusing.
thanks
-- PMM