Re: [PATCH 15/19] csky: Build infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 27, 2018 at 4:39 AM, Guo Ren <ren_guo@xxxxxxxxx> wrote:
> 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.

Usually the way gcc handles this, either each CPU is a strict superset
of another
one, so you just need to specify the one with the smallest instruction set,
or you have an option like -mcpu=generic that produces the common subset.

>> 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, fair enough. It's something that can always be added later, as long as
we keep this in mind early on.

       Arnd



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux