On Mon, Mar 26, 2018 at 03:00:00PM +0200, Arnd Bergmann wrote: > Ok, I understand the part about ck610 being incompatible, but I'm > still not sure about the 8xx ones: Do you mean it's impossible to > have one kernel that runs across all of them for some other reason, > or is it something you haven't allowed because you see no use for it? Sorry, Csky gcc need "-mcpu=ck807" or "-mcpu=ck810" or "-mcpu=ck860" to determine the back-end policy. So I must seperate them with different vmlinux. > This is basically the same question as above: For c610, using the fixed > value is sufficient, because it's incompatible with the others. But if you want > to run the same kernel on both ck810 and ck860, then it needs some form > of runtime detection. Sorry, currently no runtime detection. But I agree with you that one vmlinux for all cpus is a good design for compat. > On other architectures, the L1_CACHE_BYTES constant is the maximum > possible cache line size, and the cache flush function uses the actual size The same with above, we don't detect cpus on runtime. So we just make it simple here. > Ok. Just make sure that the DT always has this information as well, > so this can be changed in the future when desired, without having to > make incompatible changes to the devicetree binary files. Ok Best Regards Guo Ren