lkml.org 
[lkml]   [2018]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 15/19] csky: Build infrastructure
On Tue, Mar 27, 2018 at 4:39 AM, Guo Ren <ren_guo@c-sky.com> 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

\
 
 \ /
  Last update: 2018-03-27 09:39    [W:0.118 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site