#10 Open

Bitbucket cannot automatically merge this request.

The commits that make up this pull request have been removed.

Bitbucket cannot automatically merge this request due to conflicts.

Review the conflicts on the Overview tab. You can then either decline the request or merge it manually on your local system using the following commands:

hg update default
hg pull -r NetBSD/powerpc https://bitbucket.org/nbuwe/inferno-os
hg merge NetBSD/powerpc
hg commit -m 'Merged in nbuwe/inferno-os/NetBSD/powerpc (pull request #10)'
  1. Valery Ushakov

First cut at NetBSD/powerpc support. Copied from Linux mostly as-is either directly or by applying Linux 386->power changes to NetBSD 386.

The only semantic change w.r.t. Linux code is to lib9/setfcr-NetBSD-power.S - don't use with-update variant to store FPSCR as the code never reverts the update and hence the stack pointer becomes out of whack. This looks like a genuine bug in the Linux code.

Only minimally tested:

  • emu -c does not work
  • Compiling with -O2 in CFLAGS causes host's limbo to dump core when generating runt.h
  • Graphics work, but the colors are wrong. Looks like wrong RGB endianness.

Comments (5)

  1. Valery Ushakov author

    The crash with -O2 is taken care of with bc94d01 that add explicit -fno-strict-aliasing to be on the safer side of things. This code was written well before modern compilers became opinionated, so making that explicit doesn't hurt (even if default -O doesn't enable it).