arm1136 support on CURRENT

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

arm1136 support on CURRENT

Mori Hiroki
Hi

I try to Mindspeed Comcerto 1000 on CURRENT.

Comcerto 1000 is arm1136.

I write timer and pic code in kernel.

http://dmesgd.nycbug.org/index.cgi?do=view&id=5136


Now single user sh is crash.

arm.armv6 clang default is 1176. But I want
comple on 1136.

How to comple on 1136 on arm.armv6 ?

Regards

Hiroki Mori

_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: arm1136 support on CURRENT

Ian Lepore-3
On Wed, 2019-10-09 at 18:22 +0900, Mori Hiroki wrote:

> Hi
>
> I try to Mindspeed Comcerto 1000 on CURRENT.
>
> Comcerto 1000 is arm1136.
>
> I write timer and pic code in kernel.
>
> http://dmesgd.nycbug.org/index.cgi?do=view&id=5136
>
>
> Now single user sh is crash.
>
> arm.armv6 clang default is 1176. But I want
> comple on 1136.
>
> How to comple on 1136 on arm.armv6 ?
>
> Regards
>
>

I don't speak officially for the freebsd project when saying this, but
I don't believe we will ever support compiling for the 1136 or any
other armv6 platform besides the original RPi.  There have been
increasing calls for dropping current support for armv6 and the 1176
chip completely.  (Full disclosure: I am one of the people constantly
pushing to drop armv6 support.)

As a practical matter:  Already, nobody is willing to work on
continuing support for armv6 and the 1176 chip, so it's almost certain
that nobody is going to put any effort into supporting different v6
chips.

-- Ian


_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: arm1136 support on CURRENT

Warner Losh
In reply to this post by Mori Hiroki
On Wed, Oct 9, 2019 at 3:22 AM Mori Hiroki <[hidden email]> wrote:

> Hi
>
> I try to Mindspeed Comcerto 1000 on CURRENT.
>
> Comcerto 1000 is arm1136.
>
> I write timer and pic code in kernel.
>
> http://dmesgd.nycbug.org/index.cgi?do=view&id=5136
>
>
> Now single user sh is crash.
>
> arm.armv6 clang default is 1176. But I want
> comple on 1136.
>
> How to comple on 1136 on arm.armv6 ?
>

You'll run into five different issues.

First issue is that clang's code generator is ill-tested for the 1136, so
you are likely to find bugs there. Your program died with SIGILL, so this
is likely.

Second issue is that we turn on bits in the CP of the 1176 that may not be
on the 1136. This is relevant because these bits control unaligned access.

Third issue is lld. It generates instructions that might not exist on the
1136. I know that's the issue for armv5.

Forth, our atomics assume at least a 1176. There was a discussion in one of
the code reviews, I think for atomics but may be wrong, about how the code
in question wouldn't work generically on armv6, but will on the 1176.

Finally, cache stuff is different between the 1176 and the Cortex v7 chips.
I recall other discussions that highlighted that the 1176 was different
than earlier armv6 processors wrt caches, but can't find them quickly nor
do I know if the 1136 is affected.

You may be able to get farther with an external gcc, but there's been a
long-term assumption that the 1176 is the minimum FreeBSD will run on, and
there will be significant resistance to changing that if the changes aren't
trivial tweaks in a couple of places.

There's also a long-term pressure to raise the minimum FreeBSD will run on
(In FreeBSD 13 we plant to remove the last bit of arm support < v6, for
example). Were it not for the RPi0, we'd also be looking at trimming the
1176 support as well due to lack of relevance. Bringing FreeBSD up on the
1136 runs counter to these trends.

Warner
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[hidden email]"