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. |
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 |
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 |
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 |
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/ |
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 |
| All times are GMT. The time now is 02:11 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.