Hacker News new | past | comments | ask | show | jobs | submit login

> I'll go ahead and add that PowerPC is one of the other non-ARM platforms supported. Both on box64 and box86, although ppcle is still a mess of a target triplet.

Does that include big endian support?




Unfortunately no, it needs little-endian for both 64 and 32 bit modes, which means that, practically, it's limited to systems with POWER{8,9,10} CPUs, along with a smattering of other (relatively) modern SoCs with LE support.

However, most 32 bit PowerPC cores did implement a sort of LE support, by munging memory addresses on reads/writes to word aligned scalars, and letting the OS kernel fix up misaligned and non-scalar operations. This looked like LE to the user process, although it resulted in real-mode memory being BE.

The caveat is, of course, the kernel has to be running as LE, which would require firmware/hardware support (most PPC boards are designed to run BE), or for the kernel to swizzle memory to/from said firmware/hardware.

Another possibility would be to run an LE userland under a BE kernel, which Linux does support. The caveat is the kernel expects all syscalls and ioctls to be the kernel's endianness, so either you handle the swizzling in the kernel, or pass the responsibility to the userland.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: