Re: [fedora-arm] On ARM atomics

2012-11-13 Thread Michael Hope
On 14 November 2012 06:21, Jon Masters j...@redhat.com wrote:
 On 11/13/2012 01:24 AM, Nicolas Pitre wrote:

 There are several serious mistakes in your assembly example.

 Thanks for the feedback! Appreciated. Comments below...

 |START_FUNC(opal_atomic_add_32)
 |   push{r4-r7}

 Why r4 to r7?  You're using only r4 below.

 Ah. Because in the rest of the OpenMPI code they're doing similar on
 function entry (saving all 4 of the variable registers). You're right
 that I only use one of those registers so I could have not bothered to
 save all 4 of them.

Random note: you need to save an even number of registers to keep the
stack aligned to eight bytes.  Nico's code below is good.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] Debugging our kernels under qemu + gdb

2012-05-14 Thread Michael Hope
On 14 May 2012 16:57, Jon Masters j...@redhat.com wrote:
 On 05/13/2012 04:34 PM, Michael Hope wrote:
 On 12 May 2012 22:12, Richard W.M. Jones rjo...@redhat.com wrote:
 On Fri, May 11, 2012 at 01:41:43PM -0700, Brendan Conoboy wrote:
 On 05/11/2012 01:04 PM, Richard W.M. Jones wrote:
 Has anyone tried to debug our Fedora/arm kernels under qemu-system-arm?
 (In this case, the host is also arm, but I don't think that matters.)

 Richard,

 FYI, we as of a few hours ago have nearly-official F17-beta images
 for versatile express on the following page:

 http://scotland.proximity.on.ca/arm-nightlies/

 There's a link for vexpress and vexpress+x rootfs images.  A second
 link provides a kernel, initramfs, and script for starting qemu.
 Note that vexpress is much faster than versatile and allows more ram
 (1GB). Recommend you try this out!

 So one issue appears to be lack of PCI support (according to Linaro's
 notes: https://wiki.linaro.org/PeterMaydell/QemuVersatileExpress).

 Unfortunately all of the virtio hardware is PCI-based, so it doesn't
 seem like this is going to work for the virt tools :-(

 Hi Richard.  The plan is to use virtio-mmio and use Device Tree to set
 where the virtio devices are.  virtio-mmio is in the mainline kernel
 and in the queue for QEMU.

 Note, we're not using dtb (device tree) yet in the qemu kernel. To do
 that properly, we'll need to get a qemu that works with U-Boot, etc. I
 know Linaro have put such a combination together, right? Should any of
 that be working with upstream bits yet? Brendan mentioned he'd tried
 poking briefly at the U-Boot that Linaro put together but it apparently
 didn't boot on our qemu (I know upstream was missing e.g. the model
 instantiation for the hardware memory controller, etc. in vexpress).

 I guess I could/should ping Peter Maydell? Is he the best contact?

Peter or Ricardo, yip.  Ricardo has a good handle on the integration
work that's been done and the upstream versions.

We've standardised on the vexpress-a9 model as it's neutral, has a
good amount of RAM,  and has good support in upstream QEMU and
mainline Linux.  The vexpress-a15 isn't as tested but goes up to 2 GB
and will probably be the base model for KVM.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] Debugging our kernels under qemu + gdb

2012-05-13 Thread Michael Hope
On 12 May 2012 22:12, Richard W.M. Jones rjo...@redhat.com wrote:
 On Fri, May 11, 2012 at 01:41:43PM -0700, Brendan Conoboy wrote:
 On 05/11/2012 01:04 PM, Richard W.M. Jones wrote:
 Has anyone tried to debug our Fedora/arm kernels under qemu-system-arm?
 (In this case, the host is also arm, but I don't think that matters.)

 Richard,

 FYI, we as of a few hours ago have nearly-official F17-beta images
 for versatile express on the following page:

 http://scotland.proximity.on.ca/arm-nightlies/

 There's a link for vexpress and vexpress+x rootfs images.  A second
 link provides a kernel, initramfs, and script for starting qemu.
 Note that vexpress is much faster than versatile and allows more ram
 (1GB). Recommend you try this out!

 So one issue appears to be lack of PCI support (according to Linaro's
 notes: https://wiki.linaro.org/PeterMaydell/QemuVersatileExpress).

 Unfortunately all of the virtio hardware is PCI-based, so it doesn't
 seem like this is going to work for the virt tools :-(

Hi Richard.  The plan is to use virtio-mmio and use Device Tree to set
where the virtio devices are.  virtio-mmio is in the mainline kernel
and in the queue for QEMU.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] getcontext returns ENOSYS

2012-04-29 Thread Michael Hope
On 29 April 2012 01:39, Richard W.M. Jones rjo...@redhat.com wrote:

 For the record, attached is the patch to Fedora glibc.  It works, and
 gets us past the missing ucontext problem.

 However, qemu-system-arm fails very quickly afterwards somewhere in
 TCG code.  I suspect that qemu cannot emulate the same hardware as
 required by my kernel (vmlinuz-3.3.2-8.fc17.armv7hl.tegra), although
 there is not much to go on.

 Anyone have a primer on all the different ARM architectures?

Hi Richard.  I recommend the Versatile Express A9 model.  It's one of
our supported platforms, has good kernel support in Linus's tree, and
has a decent amount of memory.  It's the seed system model for the KVM
work we're looking at.

There's more information at:
 https://wiki.linaro.org/PeterMaydell/QemuVersatileExpress

and my quick start at:
 https://wiki.linaro.org/MichaelHope/Sandbox/QEMUCrossTest

You'd probably want a Fedora kernel and libvirt instance instead of our tools.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] GCC status update

2011-11-28 Thread Michael Hope
2011/11/22 Michael Hope michael.h...@linaro.org:
 2011/11/21 Michael Hope michael.h...@linaro.org:
 2011/11/21 Henrik Nordström hen...@henriknordstrom.net:
 mån 2011-11-21 klockan 11:23 +1300 skrev Michael Hope:

 Let me know if Linaro can help.  I see that Joey Ye from ARM is
 working in this area as well.

 Current GCC topics are

 a) More in depth analysis of the first patch in GCC PR #50521 which aims
 to fix code generation issues in volatile bitfields accesses. There is
 some test cases in the PR illustrating the problem (another cpu arch,
 but also applies to arm). It is unknown to me if linaro have other fixes
 in this area not yet found in gcc trunk.

 We work upstream so, sorry, we don't have a fix for that one.

 b) Identifying other ARM critical GCC bugfixes in the linary tree which
 have not yet made it into gcc-4.6 and try to push those to 4.6 where
 possible.

 I'll bring this up at our next meeting.

 So far we have hit another volatile bitfields issue in expr.c
 fixed by gcc trunk change 171347 (from linaro origin, no PR #
 identified)

 This is LP: #675347:
  https://bugs.launchpad.net/gcc-linaro/+bug/675347

 which is also:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625825

 I've pinged the original author to see if he can backport it.  If not
 then we'll take over.

 and PR #48190, also of linaro origin.

 This is also LP: #714921.  The second half of the fix may be too big
 for the 4.6 release branch but we'll talk about it in the meeting.

 Richard Sandiford is going to look into this.  He originally asked for
 approval for 4.6 as well but the response was ambiguous.

Hi Henrik.  The fix has been backported to the 4.5 and 4.6 branches.
No response from the original author for LP: #675347 yet but we'll
ping him again and failing that organise a backport.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] GCC status update

2011-11-21 Thread Michael Hope
2011/11/21 Michael Hope michael.h...@linaro.org:
 2011/11/21 Henrik Nordström hen...@henriknordstrom.net:
 mån 2011-11-21 klockan 11:23 +1300 skrev Michael Hope:

 Let me know if Linaro can help.  I see that Joey Ye from ARM is
 working in this area as well.

 Current GCC topics are

 a) More in depth analysis of the first patch in GCC PR #50521 which aims
 to fix code generation issues in volatile bitfields accesses. There is
 some test cases in the PR illustrating the problem (another cpu arch,
 but also applies to arm). It is unknown to me if linaro have other fixes
 in this area not yet found in gcc trunk.

 We work upstream so, sorry, we don't have a fix for that one.

 b) Identifying other ARM critical GCC bugfixes in the linary tree which
 have not yet made it into gcc-4.6 and try to push those to 4.6 where
 possible.

 I'll bring this up at our next meeting.

 So far we have hit another volatile bitfields issue in expr.c
 fixed by gcc trunk change 171347 (from linaro origin, no PR #
 identified)

 This is LP: #675347:
  https://bugs.launchpad.net/gcc-linaro/+bug/675347

 which is also:
  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625825

I've pinged the original author to see if he can backport it.  If not
then we'll take over.

 and PR #48190, also of linaro origin.

 This is also LP: #714921.  The second half of the fix may be too big
 for the 4.6 release branch but we'll talk about it in the meeting.

Richard Sandiford is going to look into this.  He originally asked for
approval for 4.6 as well but the response was ambiguous.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] GCC status update

2011-11-20 Thread Michael Hope
2011/11/19 Henrik Nordström hen...@henriknordstrom.net:
 tor 2011-11-17 klockan 02:55 -0500 skrev Jon Masters:

 * gcc - making sure the bitfields patches are in place for v5

 Actually it's not quite in place for v7 even. The gcc in v7 still
 generates bad code on volatile bitfield accesses.

 And v5 probably needs even more changes in that area if I understood
 alignment requirements for v5 correctly.

 See separate discussion on 9 Nov last week regardign GCC PR #50521.

 It would be great if we could get help from some gcc developers in
 analysing the needed changes. The suggested patch which seems to fix
 known code generation is not yet in gcc trunk and is why we have not
 included it in the armv7hl gcc package even if it's been discussed a
 number of times.

Let me know if Linaro can help.  I see that Joey Ye from ARM is
working in this area as well.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm

Re: [fedora-arm] Fedora-ARM Shirts

2011-06-14 Thread Michael Hope
On Tue, Jun 14, 2011 at 2:45 PM, David A. Marlin dmar...@redhat.com wrote:
 Chris Tyler wrote:
 I want a Fedora-ARM t-shirt!

 Anyone else interested in getting some made up? Any ideas on design?
 (One idea that crossed my mind was a medium blue shirt with Fedora ARM
 on the sleeve, but maybe that's too subtle :-)

 I assume we can use the Fedora logo/name without any special permission
 (as long as we follow the usage guidelines), but would we need to
 request permission to use the ARM logo/name on a shirt?

Hi Dave.  There's contact details on ARM's trademark page:
 http://www.arm.com/about/trademark-usage-guidelines.php

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm


Re: [fedora-arm] [Fwd: Activity Day June 10th - ARMv7 F15 hardfp bringup]

2011-06-06 Thread Michael Hope
On Mon, Jun 6, 2011 at 2:35 PM, Jon Masters j...@redhat.com wrote:
 On Sun, 2011-06-05 at 09:54 +0100, Peter Robinson wrote:
 Right. v7 based Tegra parts will be supported by virtue of the vfpv3-d16
 ABI (some newer VFPv3 parts have 16 additional optional registers not
 required by the minimal implementation we are basing upon in Fedora,
 intentionally, for ABI linkage, so that there's no break again).

Note that the VFPv3-D16, VFPv3-D32, and NEON are all ABI compatible.
You can call -D32 code from -D16 and vice-versa.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm


Re: [fedora-arm] armv7hl requirements

2011-05-06 Thread Michael Hope
On Fri, May 6, 2011 at 6:57 PM, Gordan Bobic gor...@bobich.net wrote:
 Jon Masters wrote:
 If you read how VFPv3 actually implements its registers, you'll see that
 the extra 16 (for D32) really are totally separate anyway as far as the
 ABI is concerned, so I remain unconvinced we lose a lot by being D16.

 Can you clarify that? Does that mean that a we can have a D16 distro
 with D32 kernel/glibc?

VFPv3-D16 and VFPv3-D32 code are compatible.  You can call D16 code
from D32 code and vice-versa.

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm


Re: [fedora-arm] armv7hl requirements

2011-05-04 Thread Michael Hope
On Thu, May 5, 2011 at 3:50 PM, Jon Masters jonat...@jonmasters.org wrote:
 On Thu, 2011-05-05 at 08:23 +1200, Michael Hope wrote:

  *). ARM VFP3 hardware floating point (h)
  *). ARM NEON Architecture
  *). Thumb2 interworking

 I don't think you have to anything explicit here.  Thumb-2 and ARM
 code interoperate just fine.

  *). Your suggestion here?

 *) Hard float.  Never worse than soft float, sometimes much better.

 Note that hard float is implied by VFPv3, and by the subject being
 armv7hl. The intention is to use the aapcs-vfp binding but the only
 real debate is whether to use the D16/32 option. That comes down to
 whether we want to focus on really great A15 plus or be more inclusive
 of various minimal ARMv7 systems that are already out there today.

Ah, thanks.

 Perhaps we need a matrix of known capabilities in v7 hardware. I guess
 that's another wiki page I should create, starting with my Beagle, Panda
 and Efika systems, but a pointer to AC100 specs would be cool (I found
 various reviews on it, and wow it's pricey compared to e.g. Efika) :)

Have a look at:
 http://wiki.debian.org/ArmHardFloatPort/VfpComparison#FPU

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm


Re: [fedora-arm] llvm/clang support

2011-04-03 Thread Michael Hope
On Sat, Apr 2, 2011 at 12:04 PM, Xerxes Ranby xer...@zafena.se wrote:
 On 2011-04-02 00:20, Michael Hope wrote:

 On Sat, Apr 2, 2011 at 1:50 AM,omall...@msu.edu  wrote:

 Did anyone ever get llvm/clang working?

 It -says- it is fast, good optimization, faster binaries, aimed at
 generating better errors, and has good tools for debugging. :) the
 darwin-arm (and x86 ports are production quality.
 There isn't support for EABI or  armv6 in the ARM-backend yet.

 I'm having a bit of a look at this for Linaro at the moment.  LLVM is
 quite respectable, and generates code that is slower than GCC but
 generally in the same ballpark.  Of the three benchmarks I've tried,
 two took 8 % longer to run on an A9 and pybench took more like 40 %
 longer to run.  pybench is sensitive to having a good inner loop
 though.

 -- Michael
 ___
 arm mailing list
 arm@lists.fedoraproject.org
 https://admin.fedoraproject.org/mailman/listinfo/arm

 Hi Michael!

 For what I know, LLVM defaults to ARMv4t code generation unless it gets told
 that it are allowed to use newer code generation.

 This llvm bug tracked how llvm and clang implemented X86 cpu feature
 autodetection code to make clang generate the best code available for any
 given host when using -march=native.
 http://www.llvm.org/bugs/show_bug.cgi?id=5389

 I have added an initial cpu features auto-detection code for ARM to that
 bug-report for the LLVM part.

 Do you get better performance on your A9 tests when running clang with
 clang -mcpu=generic -mattr=+neon,-thumb2,+v6,+vfp2

I've only done a first pass, but I'm fairly sure I used clang
-mcpu=cortex-a9 -mfpu=neon.  I don't think clang supports ARMv4T at
all.  I'm working on automating the benchmarks at the moment and I'll
add llvm into that.  Better than some throw-away, unreproducable
results :)

-- Michael
___
arm mailing list
arm@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/arm