Skip to content

CI Full QEMU emulation of ARM (and CI of missing architectures) #176

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
1 task
gnzlbg opened this issue Nov 6, 2017 · 5 comments
Closed
1 task

CI Full QEMU emulation of ARM (and CI of missing architectures) #176

gnzlbg opened this issue Nov 6, 2017 · 5 comments

Comments

@gnzlbg
Copy link
Contributor

gnzlbg commented Nov 6, 2017

For run-time feature detection on ARM user-space QEMU is not enough (because it doesn't emulate /proc/cpuinfo, auxv, ...). This blocks implementing the ARM NEON intrinsics because we can't use simd_test on them, so it is a pretty big blocker:

  • we need to add full QEMU emulation for the ARM build bots that we have

We also need to add Android and iOS build-bots because run-time feature detection there works a bit differently.

At this point we will be very close to reimplementing most of libc's ci infrastructure... Ideally we should also add emscripten, MIPS, PowerPC, and Sparc64 build bots sooner rather than later.

Since CI is currently a big blocker for progress, and getting this right will pay off, does somebody with experience on this volunteers? I have already started to give this a try but my progress has been really slow.

@alexcrichton
Copy link
Member

The infrastructure in the libc repo will probably never reach the point where it can be easily shared, so I think it's fine to just duplicate various portions.

@lu-zero
Copy link
Contributor

lu-zero commented Dec 11, 2017

For PowerPC I think @edelsohn might help.

@edelsohn
Copy link

If the question is access to systems to run CI for PowerPC, one can request free VMs to host Open Source projects at OSUOSL

http://osuosl.org/services/powerdev/

or Unicamp

http://openpower.ic.unicamp.br/minicloud/

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Dec 11, 2017

The short term plan was to use cross' qemu-system support on travis Linux boxes to emulate powerpc targets (see here).

But I would prefer to set up testing for one of those PowerPC boxes since some of them come with NVIDIA GPUs and we could use them to test the NVPTX backend as well (which is something we can't do with qemu).

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jun 25, 2018

qemu-user supports auxiliary vectors and run-time feature detection prefers these over cpuinfo - since auxiliary vectors are already tested on CI I am closing this.

@gnzlbg gnzlbg closed this as completed Jun 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants