On Thu, Feb 20, 2025 at 09:49:52AM +0800, Dave Young wrote: > On Wed, 19 Feb 2025 at 21:55, Alexander Graf <graf@xxxxxxxxxx> wrote: > > >>> What architecture exactly does this KHO work fine? Device Tree > > >>> should be ok on arm*, x86 and power*, but how about s390? > > >> KHO does not use device tree as the boot protocol, it uses FDT as a data > > >> structure and adds architecture specific bits to the boot structures to > > >> point to that data, very similar to how IMA_KEXEC works. > > >> > > >> Currently KHO is implemented on arm64 and x86, but there is no fundamental > > >> reason why it wouldn't work on any architecture that supports kexec. > > > Well, the problem is whether there is a way to add dtb in the early > > > boot path, for X86 it is added via setup_data, if there is no such > > > way I'm not sure if it is doable especially for passing some info for > > > early boot use. Then the KHO will be only for limited use cases. > > > > > > Every architecture has a platform specific way of passing data into the > > kernel so it can find its command line and initrd. S390x for example has > > struct parmarea. To enable s390x, you would remove some of its padding > > and replace it with a KHO base addr + size, so that the new kernel can > > find the KHO state tree. > > Ok, thanks for the info, I cced s390 people maybe they can provide inputs. If I understand correctly, the parmarea would be used for passing the FDT address - which appears to be fine. However, s390 does not implement early_memremap()/early_memunmap(), which KHO needs. Thanks, Dave!