Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jun 2017 12:16:46 -0700
From:      Russell Haley <russ.haley@gmail.com>
To:        Mark Millard <markmi@dsl-only.net>
Cc:        Warner Losh <imp@bsdimp.com>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Creating armv7 MACHINE_ARCH
Message-ID:  <CABx9NuQTOkf6HK=RacUCBR=W_WDfgZwbVHYwsRdx0YJd=zr51w@mail.gmail.com>
In-Reply-To: <B19EDB95-2A23-4F8F-8414-3F4E0E65AC4B@dsl-only.net>
References:  <CANCZdfpUjPBRpxpmjtwK-wpiK=%2BwHscS4UmVeatrE7vrm260tw@mail.gmail.com> <20170612152808.6094931.74364.27128@gmail.com> <CANCZdfrxTo8vLsnjU_VerO%2B3%2BU=06cok7%2BuKba3FM8_nXFozhQ@mail.gmail.com> <B19EDB95-2A23-4F8F-8414-3F4E0E65AC4B@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 12, 2017 at 10:36 AM, Mark Millard <markmi@dsl-only.net> wrote:
>
> On 2017-Jun-12, at 8:39 AM, Warner Losh <imp at bsdimp.com> wrote:
>
>> . . .
>>
>> Plus, we aren't quite doing what Ian wanted. He wanted a full rename. The
>> proposal on the able is to add an armv7 TARGET_ARCH in 12. Not to rename or
>> remove armv6. Sadly, that will still be there since the RPI foundation
>> keeps finding new ways to repackage the rpi into new boards that are just
>> too cheap to ignore.
>
> On 2017-Jun-12, at 6:59 AM, Andrew Turner <andrew@fubar.geek.nz> wrote:
>
>> I like this. My understanding is adding armv7 would also fix many of the currently broken ports that assume they are being built for armv7 as many Linux distros target ARMv7+.
>>
>> It should also be noted the GENERIC kernel is likely to only ever target ARMv7+ even without an armv7 TARGET_ARCH.
>
>
> Hopefully the choices related to TARGET and TARGET_ARCH
> for armv7 end up identifying the context to port builds
> so that many would just automatically do the right thing.
>
>
> As for GENERIC:
>
> powerpc has. . .
>
> TARGET=powerpc TARGET_ARCH=powerpc   and GENERIC
> TARGET=powerpc TARGET_ARCH=powerpc64 and GENERIC64
>
> So there is precedent for more than one GENERIC*
> for a family, with which one being appropriate
> being based on TARGET_ARCH.
>
> For powerpc TARGET=powerpc implicitly uses
> TARGET_ARCH=powerpc when TARGET_ARCH is not
> specified (if I remember right). Which should
> be the default for armv6 vs. armv7 might go
> the other direction (TARGET_ARCH=armv7 by
> default).
>
>
> Side note:
>
> A caution about talking about "rpi2" as
> an example. . .
>
> Raspberry Pi 2 Model B V1.2 is Cortex-A53 based
> (so arm64/aarch64). (A BCM2837, not a BCM2836.)
> This dates about to something like 2014 based
> on the pictures showing the (c) notice on the
> boards.
>
> V1.1 and before were armv7 (BCM2836) based.
>
> Unless a kernel and world are made that can
> also configure/handle a Cortex-A53 in a
> armv7-like manor there will be two different
> GENERIC builds in order to span the "rpi2"
> family, based on just V1.2+ vs. V1.1 and
> before.
>
> (A single, modern distribution of the official
> Raspbian software for the rpi2 does support
> all the V1.x boards if I understand right.)

I am confused. I don't see any documentation about Raspbian supporting 64 bit?

>From Arm at https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php:
"The Cortex-A53 supports the full ARMv8-A architecture. It not only
runs 64-bit applications also seamlessly and efficiently runs legacy
ARM 32-bit applications."

I assume that means it handles armv7-A without issue? (In fact, many
on this board know it does)

>From the outside it looks like "we" are causing headaches by tracking
architecture (32/64) instead of instruction set (armv7 vs armv8)?

Just some spitballing: When it comes to ARM would it be advantageous to do:

TARGET=arm TARGET_ARCH=armv8   #defaults to ARCH=32 or the real
setting that I didn't pull from my derriere.
or
TARGET=arm TARGET_ARCH=armv8 ARCH=64

OR conversly add an "instruction" variable? In my very novice view,
we're not really talking about architectures, we are talking about the
different instruction sets and the concepts are still being blurred
together.

https://en.wikipedia.org/wiki/ARM_architecture#Architectural_licence


Russ



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABx9NuQTOkf6HK=RacUCBR=W_WDfgZwbVHYwsRdx0YJd=zr51w>