FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 07-20-2012, 03:12 PM
Steve McIntyre
 
Default AArch64 planning BoF at DebConf

[ Please note the cross-post and Reply-To ]

Hi folks,

Here's a summary of what we discussed in the AArch64 port planning BoF
[1] last week (10th July). Thanks to the awesome efforts of the
DebConf video team, the video of the session is already online [2] in
case you missed it. I've also attached the Gobby notes that were taken
during the session. Again, thanks to the people who took part - we had
a very useful discussion. Slides are up on my website [3].

Naming
======

Naming issues: ARM are calling the new 64-bit architecture
AArch64. Other people don't like that and various other names have
been proposed for use elsewhere. Debian/Ubuntu developers have already
picked the name "arm64" in dpkg and elsewhere.

ARMv8 summary
=============

For more details, look at http://arm.com/architecture. Quick summary:

* Carries over the ARMv7 feature set.
* First 64bit ARM CPU, runs 32bit code too.
* ARM Neon SIMD.
* VFPv3 as from ARMv7.
* Includes ARM proprietary security extensions.
* Supports virtualisation and LPAE.

New 64-bit (A64) instruction set
================================

* Fixed length 32-bit instructions.
* 5 bits of register space -> 31 general purpose 64 bit registers.
* SIMD 32x128bit registers
* Better support for different FP modes
* Improved atomic support
* Neon required (believed, but confirm!)

Roadmap
=======

* ARMv7 will continue. Cortex-A9, Cortex-A15, Cortex-A7 etc.
* ARMv8 under development.
* Expect to see first v8 hardware late 2013 onwards, specs due later
in 2012.

Demo
====

I showed an ARM "Fast Model" running AArch64 software: a Linux kernel
(3.4) and an Ubuntu (Natty) based userland. The userland AArch64
software was all built using xdeb. Basic-ish LAMP stack for
demonstration (as might be expected for a simple server workload):
Apache, Postgres, Dropbear ssh, PHP. Not a *quick* machine to run
things in, but fast enough for demonstration and verification.

Also demonstrated a 32-bit armhf chroot: standard 32-bit software
build as provided elsewhere in Debian/Ubuntu, no changes
needed. AArch64 will happily run existing ARM software. Showed Xorg,
xfce and firefox running.

Bootstrapping
=============

Kernel patches for AArch64 have just been sent upstream for comments
on Friday 6th July[5].

The toolchain already works (as you can see from the demo). gcc
patches are already in a branch upstream[4], binutils etc. coming
shortly. People are currently cross-building small systems and testing
in the model.

ARM and Linaro are going to be helping by working on projects to aid
bootstrapping:

* Basic OpenEmbedded rootfs
* Backporting toolchain changes into gcc 4.7
* Shared bug tracker at Linaro to help sharing issues and patches
across distros

I'm hoping to get AArch64 bootstrapped and ready for release in Debian
by Wheezy+1, which I acknowledge will take a lot of work in a
comparatively short space of time. We will need to cross-bootstrap as
much as possible, verifying things in the model. Existing bootstrap
work done by Wookey and co. will help a lot here. As soon as we can
get access to hardware, start building natively and try and get into
debian-ports. *If* we can get everything going well, into main archive
ASAP after that.

It's useful that ARMv8 will happily run existing armhf software, so we
can run that as a base on systems for build machines etc. We've learnt
the lesson from armhf bringup that using unstable to host buildds is
painful!

Because of multi-arch, we will also get to use 32-bit armhf software
elsewhere where it's useful, e.g. 32-bit openjdk will run out of the
box until we get a 64-bit version.

Misc
====

There's no support in qemu yet, but many people are interested in it
for a variety of reasons. Once sufficient specs are released, I'd
expect work to happen quickly.

How to help
===========

First things first: make sure your packages cross-build well, and make
your Multi-Arch build-dependencies work. There are a lot of patches
already in the BTS to help with these.

Next: help make more of the archive work for automatic bootstrapping
and cross-building.

Once we can get hold of models and then hardware, help to test and
verify more of the system. Fun places to get involved are language
bootstraps - in many cases, the runtime / compiler for a language will
be written *in* that language, so there's work to cross-bootstrap the
first build and bring things up from there.

Get involved on the debian-arm list (and elsewhere) and keep
communicating about what you're working on and what you'd like to do.

[1] http://penta.debconf.org/dc12_schedule/events/882.en.html
[2] http://meetings-archive.debian.net/pub/debian-meetings/2012/debconf12/high/882_AArch64_planning.ogv
[3] http://www.einval.com/~steve/talks/Debconf12-aarch64/
[4] svn://gcc.gnu.org/gcc/branches/ARM/aarch64branch
[5] http://lkml.indiana.edu/hypermail/linux/kernel/1207.0/03025.html

--
Steve McIntyre, Cambridge, UK. steve@einval.com
You raise the blade, you make the change... You re-arrange me 'til I'm sane...
Please take notes here
ARM insist on it being called AArch64. Likely to be arm64 in Debian (name
already in dpkg arch tables, and autoconf tests).
ARMv8 summary
Carries over the ARMv7 feature set. First 64bit ARM CPU, runs 32bit code too.
ARM Neon SIMD. VFPv3 as from ARMv7. Includes ARM proprietary security extensions.
supports virtualisation and LPAE. Fixed length 32-bit instructions.
5 bits of register space, 31 general purpose 64 bit registers.
SIMD 32x128bit registers. Better support for FP.
Improved atomic support. Neon required.

Roadmap
ARMv7 will continue. Cortex-A9 A15, A7 etc.
ARMv8 under development. Hardware late 2013 onwards, specs late 2012.
http://arm.com/architecture

Demo
"FastModel", Ubuntu based system. Linux 3.4 for the model. Some port work
already done for apache, dropbear etc. All crossbuilt Maverick/Natty
using xdeb. 130+ packages built. For the demo, running a 32bit armhf Xorg
and firefox.

Bootstrapping
Toolchain does work. Cross built base system tested via model.
Kernel patches sent upstream for comments on Friday
(http://lkml.indiana.edu/hypermail/linux/kernel/1207.0/03025.html).
Basic rootfs via OpenEmbedded
Toolchain changes to be backported to gcc-4.7
Shared bug tracker.

Cross-bootstrap for Debian.
Wheezy+1 would be nice.
openjdk 32 bit will run out of the box due to MultiArch.

To help:
Make packages cross-build well and make your build-dependencies MultiArch.
 
Old 07-20-2012, 07:55 PM
Henrique de Moraes Holschuh
 
Default AArch64 planning BoF at DebConf

On Fri, 20 Jul 2012, Steve McIntyre wrote:
> Naming
> ======
>
> Naming issues: ARM are calling the new 64-bit architecture
> AArch64. Other people don't like that and various other names have
> been proposed for use elsewhere. Debian/Ubuntu developers have already
> picked the name "arm64" in dpkg and elsewhere.

Maybe a patch should be sent to GNU config upstream so that arm64
becomes known to config.sub and config.guess as an alias for aarch64?

If the answer is yes, please do so ASAP and mail me as soon as you get a
go from upstream, so that I can fold the change in autotools-dev and
request a freeze exception to get the alias in Wheezy.

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120720195514.GA6529@khazad-dum.debian.net">http://lists.debian.org/20120720195514.GA6529@khazad-dum.debian.net
 
Old 07-21-2012, 01:12 AM
Wookey
 
Default AArch64 planning BoF at DebConf

+++ Henrique de Moraes Holschuh [2012-07-20 16:55 -0300]:
> On Fri, 20 Jul 2012, Steve McIntyre wrote:
> > Naming
> > ======
> >
> > Naming issues: ARM are calling the new 64-bit architecture
> > AArch64. Other people don't like that and various other names have
> > been proposed for use elsewhere. Debian/Ubuntu developers have already
> > picked the name "arm64" in dpkg and elsewhere.
>
> Maybe a patch should be sent to GNU config upstream so that arm64
> becomes known to config.sub and config.guess as an alias for aarch64?

That's not necessary, because dpkg (-architecture) does the necessary
conversions between 'debian arch name' and 'GNU arch/triplet names'.

So autotools already has aarch64-linux-gnu and that works fine with
Debian (in the same way that 'amd64' is 'x86_64-linux-gnu' from a GNU
tools POV). The one _good_ reason for using the aarch64 name is avoiding
accidental matches with arm* in various bits of configery so leaving
that alone probably makes sense despite the silly name.

Arm64 everywhere would have been neater but unless someone is
volunteering for a massive argument and changing upstream gcc and
glibc and autofoo and volunteering to fix up the configery that will
break in numerous places it's best left well alone. (I was all for
changing it for a while, but have been persuaded, not by ARM, I hasten
to add :-) that we have more important things to do with our time than
bikeshed about upstream's funny naming, which does at least have the
major benefit of being a unique string.)

Wookey
--
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120721011240.GO26362@dream.aleph1.co.uk">http://lists.debian.org/20120721011240.GO26362@dream.aleph1.co.uk
 
Old 07-21-2012, 01:44 AM
Henrique de Moraes Holschuh
 
Default AArch64 planning BoF at DebConf

On Sat, 21 Jul 2012, Wookey wrote:
> Arm64 everywhere would have been neater but unless someone is
> volunteering for a massive argument and changing upstream gcc and

No way. it is difficult to do better at this kind of thing than Linus, and
he has already said his piece :-p It won't be aarch64 in the kernel either,
AFAIK.

> changing it for a while, but have been persuaded, not by ARM, I hasten
> to add :-) that we have more important things to do with our time than
> bikeshed about upstream's funny naming, which does at least have the
> major benefit of being a unique string.)

Yeah, but it did make the world a bit uglier. Oh well. It could be worse,
it could be an iArm, or an iLeg, instead of an aarch ;-)

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120721014422.GA2866@khazad-dum.debian.net">http://lists.debian.org/20120721014422.GA2866@khazad-dum.debian.net
 
Old 07-21-2012, 06:47 AM
Lars Wirzenius
 
Default AArch64 planning BoF at DebConf

On Sat, Jul 21, 2012 at 02:12:41AM +0100, Wookey wrote:
> tools POV). The one _good_ reason for using the aarch64 name is avoiding
> accidental matches with arm* in various bits of configery so leaving
> that alone probably makes sense despite the silly name.

How much of the arm* silliness is there actually? There's already quite
significant changes between various arm sub-architectures, so matching
on arm* can already be considered a bad idea.

--
I wrote a book on personal productivity: http://gtdfh.branchable.com/
 
Old 07-23-2012, 02:47 PM
Steve McIntyre
 
Default AArch64 planning BoF at DebConf

On Sat, Jul 21, 2012 at 07:47:01AM +0100, Lars Wirzenius wrote:
>On Sat, Jul 21, 2012 at 02:12:41AM +0100, Wookey wrote:
>> tools POV). The one _good_ reason for using the aarch64 name is avoiding
>> accidental matches with arm* in various bits of configery so leaving
>> that alone probably makes sense despite the silly name.
>
>How much of the arm* silliness is there actually? There's already quite
>significant changes between various arm sub-architectures, so matching
>on arm* can already be considered a bad idea.

It's not clear how much out there *is* actually broken like this, to
be honest. But it was one of the concerns raised about the new triplet
for armhf, and for a totally new architecture people are/were very
worried about the possibility of breakage. There is already historical
precedent for breakage in triplet naming...

--
Steve McIntyre, Cambridge, UK. steve@einval.com
Getting a SCSI chain working is perfectly simple if you remember that there
must be exactly three terminations: one on one end of the cable, one on the
far end, and the goat, terminated over the SCSI chain with a silver-handled
knife whilst burning *black* candles. --- Anthony DeBoer


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20120723144742.GC27937@einval.com">http://lists.debian.org/20120723144742.GC27937@einval.com
 

Thread Tools




All times are GMT. The time now is 07:36 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org