 Hello! welcome to the armboff. Hector i'n mynd yn ffosgol. Konstantinos sould have been here but he's in the middle of a panicked house move at the moment. So couldn't make it this week. So we can say all kinds of silly things about him and he can't talk back. Obviously we're all deb甋 yn disputing and we are lucky enough to be employed by people who are happy a gynnwys i'n ffordd i gael'r gweithio o'r cwmhyslunio a'r hwysbeth a'r gweithio'r gwaith o'u ffwrdd i'n dweud iawn i gyd yn yn ymddangos. Felly, gweithio'r gwybodaeth, mae'n ddweud, gallwn i'n meddwl, mae'n gweithio'r lechau, mae'n gweithio'r gwybod i'r ffordd i gael. Ond dweud gweithio'r gwybodaeth o'r ffordd iawn, rwy'n gweithio'r gweithio'r gweithio'r gweithio, bydd yn ei wneud yn hyfrifio allan lleol y ddweud arall i'r llwyddiad? A yna'n mynd i'n ddweud i'r ddweud arall. Felly mae'r ffordd yn ddweud cymaint o'r bwysig yng Nghymru y peth yn ychydig yn y Debion. Felly mae'r ffordd yn gweithio, a'r bwysig yn ddiol. Mae'r bwysig yn y Lennie. Felly, mae'r Lennie yn gweithio gyda'r ffordd, mae'n ddweud i'n meddwl o'r arddangosol. So there are some people out there with some seriously old hardware who we were going to stop supporting. It's, there's not much we can do about that. We can't support everything at all end of the scale. There was the ARM EB which never hit Debian, although there are some weird people out there still using it I'm told. We have the current ARMEL port which in Debian supports ARM V4T onwards, ac yn y bun 2 yw'r argynwys ar y V7. Felly, ydych yn y gweithio, dwi'n dweud bod yna'r F4T ac Y V7 ac ddweud hynny? Dwi'n ddweud hynny? Dwi'n ddweud, mae'r architechu arall wedi bod yn ddwy'r ffordd ffordd ffordd. Felly mae'r angen yn ychydig o'r cyflawn, maen nhw'n ddweud hynny'n ddweud hynny. F4 hynny'n ddweud hynny ynddw'r ffordd. F4T er digwydd yn llaw y F4, dwi'n ddull hwnnw, fel y cyflawn ddweud ac yw. Mae'n ddweud i'r F5, F6, F7. F7 mae'r architechu arall wedi y poro ar y ffordd. Mae'r amllun hefyd fel tegrau, mae'r amser ffordd ar y ffordd. Felly mae'r amser arall dweud .. ydych chi'n gweithio yn y cyfnod cyfnod o'r cyfnod yw'r cyfrannu'r ffordd? Yn ddiddordeb. Yn ddiddordeb. Yn ddiddordeb. Yn ddiddordeb, fel y lliff eich eich ymdweud yma, yw MHF. Yn y ddiddordeb newydd, mae'r ddiddordeb busr. Yn y ffordd ar argynno MHF a MHF, mae'r ddiddordeb eich gweithio oes. Dwi'n ddiddordeb eich gweithio, ond RML will happily run on V7, on HF. We're targeting V7 and up only. It could technically run on earlier hardware, but it's not worth doing. I'll come to that in a moment. The big difference is in terms of floating point hardware. From V7 onwards on ARM, you can rely on having hardware floating point support. Previously you couldn't. However, the RML ABI is designed around coping without hardware floating point. To do that, you end up passing all of your floating point arguments into functions using the integer registers of your CPU. Now that means a lot of good things if you don't have guaranteed hardware floating point. It means that you don't break. But it does mean that when you do have hardware floating point support, you end up taking the cost of copying arguments into and out of your integer registers on every single function call. That's really, really slow if you're calling into short functions that do two or three operations and then return. You can end up being swamped by the cost just of this overhead. On HF, we are targeting V7 in both Debian and Ubuntu. In fact, here you go, there's more details here. Now you can use the same kernel for both RML and RMHF. The kernel is ABI agnostic, basically because the kernel does not do floating point itself. You don't need to worry, therefore, about how you pass floating point arguments. Obvious, but it needs stating. So what we can do is run an RML kernel and we're doing this on some of our machines and you can happily have a chyrwt for now with RMHF. Once we have multiarch up and running, then you will be able to have RML, RMHF running multiarch. There are some wrinkles around that in that, of course, the two are not binary compatible. You cannot run and share any libraries or processes in the same address space. They must all be consistent one way or the other, otherwise things explode in interesting ways. So Constantinos started the RMHF bring up just about 12 months ago. We were talking about it last year in New York. He's supported by the company he works for, Genesi. They've given out loads and loads of their EFICA, MX notebooks and little net top machines to lots of people all over the world who are helping to just generally port more stuff to ARM and in particular RMHF. He's been through and has bootstrapped RMHF in the Debian Ports Archive. The vast majority of the normal archive builds. The fun bits happen to me. It's just like when you're bootstrapping any new port in Debian is when you want to start building from the ground up. The awkward things that don't depend on C at the bottom. So obviously self-hosted languages, Java, Haskell, C-Lisp, there are probably others but those are the three we keep on talking about. Each of those needs involved bring up typically with experts. Some of them have really good instructions, some of them it avoids you of discovery. This is a Genesi laptop or netbook that Konstantinos is doing the ARMHF work for. Genesi have that. It's running ARMHF Debian right now. It's pretty cool. So if you want to see it, he has it around. Yeah, that's an IMX51, which is a free scale CPU. Genesi are just moving over to the IMX53 which is faster, has more features and is generally good. But it's really good obviously. They have a vested interest in making ARMHF work because they get much better performance on that hardware. Lots of other folks are seeing the light two to the extent that we're expecting most of the system on chip vendors to be providing drivers and support for ARMHF real soon now. Discussion on IRC and on mailing lists suggests that almost everybody will be giving us even much as we may not care about it in Debian, things like the hardware, 3D drivers, that kind of thing, even the binary blobs, of course they need to be built compatibly with the rest of your system. So we're expecting ARMHF versions of those too. I was wondering why the drivers need to support ARMHF, but if they're binary blobs then yes, I understand. We are working together, there was a group of us, me, Hector, Konstantinos, a couple of other folks. We're looking at inclusion into the main Debian archive for ARMHF real soon now. We're evaluating, we have a wiki page on the Lenovo site. On the Debian site. wiki.debian.org, ARM, hard float, and then there's buildeev, and they search for ARM hard float on the wiki. There's a number of pages though, that's where Konstantinos has been tracking his status, showing what was working, what bugs have been posted. I said we're evaluating about half a dozen different boards and we're just working out what the best options are and we're hoping to get official Debian buildees up and running within, well, by the end of August. We know that most of the archive already builds, but of course we need a reboot strap inside the main archive from what we have. That's the plan. Now, that is most of what I'm going to say about ARMHF. Do we have any questions, points, comments? Lots, go. The original ARM port was hard float. Yes. Which was a pain in the whatever for nearly everybody, except for the one person in the world that had a floating point variant of a strong arm or something. Exactly, yes. And the process there was that you used your hardware floating point process and then were rescued by the kernel with the pretend one at huge cost. Is that likely to be the same, so that you can run, so that if you haven't got a floating point unit, even on ARMHF on... No, nobody is thinking in those terms. The reason that we're targeting V7 onwards with ARMHF is that you can rely on hardware floating point. You could bootstrap it yourself if you want on older hardware, but to be honest, there really is no game to be made. The point is, as Nick says, the original ARM ABI as far as we're concerned in Debian did expect hardware floating point, despite the fact about half a percent of all the boards ever shipped had it. So then the kernel would trap an illegal instruction error, take the exception, would deal with it, with the kernel-based floating point emulator, and then switch back, which then gave you a cost of about 100 times slower than it needed to be. That was why we switched to the Army L, the new EABI, which then assumed that you didn't have hardware floating point. If you did need to do floating point operations, you could then do them in user land without that incredibly costly trap in kernel. Would it be possible to mix ARML and ARMHF? I mean, GCC has this calling convention. When compiling with GCC can specify calling convention to be used, like in the x86 world, you can say STD calling, things like that, would it be possible to do something similar with ARML and ARMHF? Absolutely. One GCC, you can use exactly the same compiler binary to output either ABI, but that's only a small part of the solution, I guess, a small part of the problem. So far, what we have, we've been doing a lot of cross compiling on a lot of native compiling. We deliberately target explicitly. We default to one or the other, so we have two toolchains. You can do it in one go. Absolutely. Go on, P2, stand up. I guess ARMHF might make sense if you're on an ARM11, because I think most ARM11 implementations do have floating point hardware. Exactly. We thought about it, but there is no guarantee that all ARMv6s will have floating point. That's why we picked v7. To be honest, also, some of this work is sponsored by ARM and Linaro, who of course are trying to sell admittedly. The latest versions, the newest shiny ARM processor, so of course we're going to target the latest, but there are lots of real devices out there using v7 processors now. That's what we're targeting. It's on. Presumably, if you statically link, just like you could have soft load under ARM, you can use old ARMEL stuff. Absolutely. The old ARMEL stuff will still continue to work on the newer processors as well for the foreseeable. I don't expect that we're necessarily going to kill the ARMEL port in Debbie any time soon before anybody panics. One more question. Does ARMHF imply that thumb 2 instructions will be used or is it orthogonal? That is a very good point. Yes, we also, as we can expect that there will be thumb 2 in ARMv7, we are going to be pushing for thumb 2 in a lot of cases, which then gives... I'm using terminology that not everybody may understand. Does anybody here want me to explain what ARM thumb and thumb 2 mean in terms of instruction sets? Right. Are we all that? Wonderful. Easy. Thumb 2 will allow us, of course, to significantly reduce the executable size, the code size of the stuff you're running, which generally is expected to give you better performance just from reduced instruction cache hits. It's no guarantee. The one thing I haven't actually shown here, because I didn't quite manage to get all the details down yet, is we are doing benchmarks as part of the Lenaro work on ARMHF. Konstantinos has gone through and is doing a back-to-back comparison of ARMEL and ARMHF binaries. I know Clint has some benchmarks as well from last year, if I remember correctly. There are places where you will not gain anything from the switch. We'll be totally open and honest about that. If you're running tight integer-based code, obviously changes to floating-point argument are not going to be noticeable at all. However, in code where you are expecting to be running a lot of floating-point heavy, we've seen typically performance boosts could be anywhere from 10% to 30% on some particular... I'll not quite contrive, but probably not representative benchmarks. Konstantinos is seeing a factor of two or three in performance improvement. I think there's... The Povway renderer, for example, of course, is stuck. It uses incredibly nested recursive code. Going up and down the stack of recursive functions with ARMEL involves basically you're spending all of your CPU time just copying data in and out of registers. It's utterly pointless. There are many places where we can gain. We'd expect that for a typical system these days, especially where people are wanting to get nice, shiny, compositing desktops and everything, you will see a noticeable speed-up by switching ABI. That's why we're doing all of this work. If you want to see more details, search in the Debian Wiki for ARMHARD Float and there are links to all of the numbers that we have. Anything more that people would like to ask Tom? Two microphones. Just a comment to follow up on that. One of the things that's going on in the upstream Java community right now is a patch to the JDK for tail call optimization, which will hopefully make recursive calls much, much less expensive, and that would be of interest, of course, to, in this case, Java directly, but also particularly interesting for derived languages like Scala or Clojure that use recursive idioms quite heavily. Stay tuned to that space and hopefully trunk versions of the JDK will enable that. It'd be really fun. Cool. Moving on from the RBL versus ARMHF stuff, hands up anyone who hasn't heard about the, I guess, controversies going on on the Linux kernel mailing list in the last few months to do with ARM. The Linux on ARM history is a complicated one. Unlike on X86 where you can basically target one or maybe two different machine types and know that, you know, because everything's an Intel, everything looks like a PC, you know where your serial ports live, you know where your memory lives, you know where all of your normal system resources live in memory addresses in terms of interrupts and all of that, you can have a nice, simple, single architecture tree but basically it's called i386 but it specifies it's a PC. ARM is more complicated. The ARM as a company have taken a policy of not telling all of their licensees how to connect everything up. You know, they sell you the whites or license to use an ARM core or one of many ARM calls but then so many different licensees, so many other actual chip manufacturing companies over the years have added their own IP around that and they've all gone, they've covered almost every possible combination of how to connect things. So you can't necessarily have a single ARM binary that will run on every ARM CPU out there because actually in a lot of cases the ARM CPU in the middle is tiny compared to say the video component we attached or to the onboard networking or to the cache or the memory they're all connected totally differently. That has led to a huge amount of fragmentation within the Linux kernel in the ARM community and Linus has almost thrown his toys out of the pram about this in recent months. If you look at the changelogs on the later 2.6 kernels you'll see moving from one to the next typically it could be a huge proportion of the check-ins moving from one to the next where the changes are entirely within the ARM tree. That means that there's a lot of work out there just for what some people see as a small toy architecture. Those of us working on it of course see it as more important but for a lot of people who don't know the nitty gritty it looks just like there's a huge amount of churn for no reason. Now in some cases that is true last time a friend of mine locked there were 15, I think, different almost identical UART serial drivers that did exactly the same job but just had different addresses hard coded as to where those UARTs lived. It's been getting very messy for a while and there was a real, I guess, fear that Linus might actually just say we've had enough of this, I'm not going to accept any ARM patches I'm just going to throw it out to the kernel you lot can fork it and it's your own problem this is too messy for me. There's been a lot of consternation about this obviously in the very large ARM community with people who are making money out of selling ARM processors especially ARM processors running Linux and other free software. Linaro and a lot of the people involved in Linaro are working on this. There is a real effort, a real push to consolidate how the different system on chip families are supported in the kernel. I'm getting ahead of myself. Do people know who Linaro are in this room? Does anybody not? We have one or two. Linaro is a non-profit group that is a consortium founded by ARM and a number of their partners so several of the system on chip renders are involved even IBM are involved not because they actually directly sell ARM system on chips they just have a vested interest they manufacture them for lots of other people for example. It's an effort to basically take into the software world the ARM model in the hardware world. ARM does not ever make any actual real ARM CPUs instead they sell the components and then they share out the cost of developing those components with all of their licensees. So people like TI, Freescale, NVIDIA a whole bunch of other people pay a smaller cost to ARM for licensing that core CPU than it would cost to develop themselves. That's a wonderful model ARM are making reasonable amounts of money salaries for lots of us they're nice people, we like them. In the software world it's been utter chaos and there's been nothing like that which is one of the reasons why we've seen all of the different system on chip vendors shipping their own Linux trees their own drivers, their own distributions none of which actually seem to work all that well compared to what might happen if they just shared their work. Again in this room I doubt it's going to be a difficult sell to say sharing what you're working on is a really good thing. So ARM started Leno last year and it's a consortium that isn't necessarily to do with people putting money in it's more a case of the various companies involved putting engineer time in. So ARM has a number of engineers in I can't remember exactly how many Wookie might remember he's looking puzzled as well. So ARM and TI and Freescale and IBM and a number of six or nine other largest companies you've all heard of because they're all shipping big devices got together to start with since then there've been lots and lots other companies also putting engineer time in small bits of funding in cases where it's necessary but the main point is we're now actually working together collaborating on making things work properly so this all feeds in Leno are now pushing for consolidation in the Linux kernel for ARM and this again is being greeted by a lot of delight almost it seems from the upstream folks and we're hoping it's going to work. Any questions, comments? I'm sorry I am rabbiting on here please shout if there's anything else you want to say discuss. Well Alinaro is mostly caring about latest course on ARM v7 and we still have devices ARM v5 which we don't support in Debian and there is no support in mainline kernels and there is a lot of people working their own patch sets and maintaining their own devices out of three so it might be interesting maybe not Alinaro but some team within Debian trying to get these patches organise them and try to make some kind of nice patch set to send to upstream so maybe we can have ARM EL kernels and support devices properly on the ARM EL user land. Okay P2. Maybe a slightly side question but when is the device 3 compiler in Debian going to be updated to the latest version? Because it doesn't work at all for ARM at the moment. Oh okay. Who's the maintainer? Alinaro. He's been kind of unactive lately so maybe an Mew. At the moment you have to find out where the G3 is where this thing lives otherwise there is no way you can compile your own devices. Feel free to grab me afterwards and I can talk through that with you. Grant Likeley who works with me in Alinaro in the office of the CTO is doing a lot of the pushing now upstream and is trying to get device 3 accepted. We're hoping that in kernel 3.1 it should be usable for just about all of the current ARM devices the current brand new ARM devices at least. It's a long road but we're getting there. I have used this development tree for internal data work so I know it works. The device 3 compiler is the thing you have to look for manually. I'm explaining for others as well. There is even a real push for the first time ever we might actually be able to get a single image a single Z image that will boot and run on a large number of totally different unrelated systems on chip by using device tree. Have people heard of device tree or flattened device tree? I'm going off using jargon that may not mean much to everybody. The device tree compiler has been last uploaded in 2008 so I think you can get the package and upload the newer version yourself. P2 well volunteered all yours. By using the device tree to pass hardware configuration around between the boot loader the kernel and anything else that needs it it means we might finally have a flexible enough system that we can run a single kernel. That would make life so much easier for upstream it would make life so much easier for well in Debian as well we would be able to have a we wouldn't need to have the potentially 20, 30, 40 different flavours of ARM kernel if we want to support all of the new devices we could do it with one and that would be lovely. I thought the only exception was this LPA extensions we have in products A15? Yes, fine. Debian ARM kernels at the moment we have a lot of devices supported but there's always a trade off. Again we have this huge multitude of different possible chips and systems that we can support but there's always a trade off do we support every single one possible and need to then have 50 different flavours in the archive or do we target the most common ones and then other people are going to struggle they may need to maintain their own kernel. We tend to go for the latter just for sheer manpower issues and also build time. Obviously the more flavours are currently have in the archive the bigger it takes to build and traditionally the ARM buildies have not been the fastest so it would be a pain if we ended up trying to build 20 kernel flavours on a slow buildie and then a new kernel security update comes out and it takes 36 hours to build. We don't want that. That might change if we get multi-core buildies which nowadays is more possible. At the moment we have a lot of V5 buildies hosted by ARM. We have some hosted at other companies. I'm pushing for ARM to host the new ARM HF buildies. There are issues around that and DSA have some questions about networking things which we're going to work through. I'm also hoping that we'll be able to update some of the existing buildies and replace those with newer, faster, shinier hardware. We're still working on it. Other distros, sorry. I wonder if there is a problem with too many kernel flavours and slow buildies. Why won't you just compile the bigger packages? Another case is like for a example of packages like Fenech which are even too big to be compared with link-time optimisations. For C++ code in those packages it adds 20% speed. So even if it takes more than 4GB of other space, cross-building those parts would not simply benefit. Well, ARM is still a lot slower than other architectures so those benefits are worth a lot more. Yes. Sorry. So why would you just massively cross compile things? There are issues with some of the bigger packages. We know that. I've worked in the past on the Chrome browser on ARM and absolutely simply linking it you can run out of address space. This is not ideal. We have had people looking more and more at cross-compiling for the slower architectures. Wookie is going to be talking about something about that in the very next talk in this room. But if we can give Wookie a microphone he can probably say something more. We had a conversation about this with FTP. We don't cross-build things at the moment because we're not allowed to if we're uploading it to Derby and it's simply not permitted. So the question is when should that be permitted? Are there good reasons why the archive should accept cross-build packages? There are clearly advantages to building things that way but we have to believe that what we get out is actually right which fundamentally the powers that be in release world aren't convinced of yet so we need to persuade people that it is reliable and ultimately it's a port decision if there aren't people decide that in fact we think cross-build stuff is good enough then we can decide to upload some. Basically. But that's something we're just starting to be able to do. Is this on? Yes. How about using an emulator for buildings like QME or something like that because you can run them on. Basically. Okay they are slow but you have there's lots of say PC hardware available I believe it's much more abundant than that arm. We're no longer at the stage that I think where we need to be thinking about emulating things for builds. Of course you'd still end up with the same problem of a dress space because of course the emulated machine is still 32-bit and all that kind of thing. We now have sufficiently fast hardware available I believe to be able to make things work. I mean okay a current top-end 8-core AMD64 machine will still run a lot faster than even the fastest single arm CPU but we're catching up. Okay Nick. Steve, if we're just having one user land or all-arm HF why do you have to build it on every single different kind of board? Surely this is just a rebuilding the kernel for the different target board and just build the user land once on your fastest arm board. Oh yes absolutely. The kernels is just for the different flavours of kernel package. The user land is consistent across all of it. Anything else? Andy? Stand up. If it's a choir then I stand up of course. Just jumping back to a bit previous slide we spoke about AMEL and AMHF so I understand the benefits of AMHF but does that mean that we are just then going to fade away with AMEL? No. So it means that we are just doubling the shaft size for ARM? What's that question? Yes. It's a simple answer. Unless the FTP masters have a major problem with that and I've been assured several times by Mark alone that there isn't a problem. Yes we are expecting to have two ARM ports in the archive. If we ask for a third then there might be trouble. Again this is why going back four or five years when we first started talking about AMEL coming into the main archive the same question was brought up then of how many ABIs do you want? We have thought about this. AMEL is going to cover all of the older machines V4T. The reason why we are staying at V4T is so all of those people who have the open mocos and old devices that cannot run anything newer we are not going to abandon those folks at least not for a while yet. They tend to be quite enthusiastic and know where we live and might come round to find us and ask us hard questions. We are going to carry on supporting them for now. We will continue to support the main buildings we have for AMEL or V5 only. We are not about to drop those machines either clearly. There is such a game to be had by having ARMHF for the very latest machines that we absolutely want to do that. There is one more thing is the FPU we are building ARMHF we have a floating point unit and there are several floating point units with an arm course and we are building ARMHF with BFP D16 which is compatible across most cores but it happens that NEON is attached to more cores and it is becoming default and I think it was only Tegra 2 which didn't have this floating point unit but Tegra 3 is going to have NEON so maybe somebody see a reason why not building NEON by default or changing this. Cortex A8 which is the first generally available ARMV7 architecture chip mandated that you must have a NEON unit attached. NEON is a vector floating point unit similar to SSE on Intel not exactly the same design not exactly the same features but the same kind of thing it's a SIMD architecture with Cortex A9 ARM did not enforce that you must chip NEON but most people did as Hector points out the Tegra 2 which is now a very very common chip in lots of machines the AC100 lots and lots of the Android tablets out there for example are now going to the Tegra 2 which is a dual core A9 runs quite fast will support a gig of RAM it's quite nice unfortunately the fact that those are so common it would mean that shipping expecting NEON always will not work it's a pain but there's something we have to live with at some point in the future we might consider moving to NEON by default but it's not something I think we can count on just yet it's one of those it's similarly like we have user land libraries that will use MMX or SSE were possible we may end up having to have different versions of libraries with different optimisations for this case just the same I think the best way is to have some kind of runtime detection because the GCC is just not smart enough to make good use of NEON for general purpose code that times you have advantages of NEON code is when you have some hand written assembly yeah, also vectorisation in GCC is hard some of the toolchain folks who live in the office just down the corridor from me at home keep on telling me this and they know GCC a lot better than I do so I'm not arguing if you do write hand optimised SSE or hand optimised NEON I mean one of the things that I've got I've still got a patch outstanding I need to push into Chrome for doing color space conversion for video going from the initial naive C implementation to one in NEON I can see a factor of 14 improvement in speed you know that kind of thing is so worth having but you have to have full batch you have to have equivalent code for when that hardware isn't available so if you want to use NEON we have a question as Debian is exactly how we manage that because GCC now has a thing called iFunk which means you can put the NEON code in and the other code and it will work out at load time which set of functions it should be using and whether to do the cool stuff because it's on this hardware that it's running on or not which is neat because it will just always work but obviously you have to build it in the right way which is tricky and not how we do things right now I guess we can or we can have partial archives of optimise for particular flavours you know we have loads of 686 packages for 886 optimise so that your video actually goes fast you could do the same thing for ARM and have a load of with NEON packages but only for stuff where it actually matters but we have to decide which of those we're doing or just both depending on which package it is it's something that we're still working on and we don't want to ignore the FTP masses anymore for example with even more architectures or the release team so the work that we've been doing isn't just restricted to Debian we're not obviously just like in every other aspect we're not working alone Fedora have had an ARM port but it's still very much a second class citizen there are folks now working on sorry they started with Migo actually which is RPM based and they bootstrapped hard float and the Migo is used RPM user land to start Fedora so the Fedora folks are getting ARMHF working we're having discussions with them the Gen2 folks in fact are slightly ahead of us as well when Konstantinos started doing the ARMHF Debian port he was using some a very limited subset of a Gen2 system to use as a base and then basically building binaries one at a time and bringing the system up there's a number of us being there bringing up new systems it's not fun it's not easy whatever you can use to get an extra leg up you use it the Majer folks I've been told are also looking into an ARM port thinking ARMHF maybe maybe not but it's unofficial it's unofficial at this point I'm not saying that this is an exhaustive list by any means I'm just giving examples we've explicitly just a week before last started up at Linaro a cost distro list obviously Linaro and ARM have a vested interest in Linux on ARM working well no matter which distro so far we've been seriously targeting Debian and Ubuntu because that's where a lot of the momentum is but we've set up this cost distro list as a useful place where anybody can come and ask questions about porting to ARM come and get advice about how to target neon all of those questions we're quite happy to provide advice and generally just host some community discussion right how long do we have left a couple of minutes right there are many many other questions these are ones that have just come up in the last week just while people have been talking on IRC apparently the the Toshiba AC100 that we just showed is it has a Tegra chip in it's never going to be officially supported by the vendor but there is there is an unofficial Debian archive being worked on by Julian Andres Close of the discussions about what we should do in terms of supporting GL as more and more of the mobile devices out there most of those are ARM are coming out with GLES instead of full open GL we may consider building some of the archive differently depending on which architect you are on that's a whole big mess that I don't want to get into right now but it's something people should be considering we've been looking a lot at cross bootstrapping again like we had a bit of the beginnings of a discussion earlier cross building is a very useful tool when you're targeting a smaller architecture or when you're trying to bring up a new architecture we've got lots of cross building, cross bootstrapping work going on that I don't have time to talk about but Wookie will soon and again optimisations like neon or for the particular flavours of ARM processor there are more things out there than just neon there's so many things you can do to make the most of your hardware that it can be a difficult choice to make like what's the default I just want to basically say thanks to obviously all the people in Debian who are helping with this but also the people on the screen behind me who are actively helping to pay Debian people to work on making Debian and ARM work better thanks to those Genesi, Lenaro, Toby Churchill and obviously ARM do we have any more questions you'll have to be quick, time's up so if anybody would like to ask any more questions please obviously I'm going to be around I'm wearing my corporate t-shirt today Wookie and I will be happy to tell you more about things especially if you buy us coffee and beer thanks for attending the bot thanks for attending the bot