HomeFreeBSD

Make CloudABI work on i386.

Description

Make CloudABI work on i386.

Copy over amd64's cloudabi64_sysvec.c into i386 and tailor it to work.
Again, we use a system call convention similar to FreeBSD, except that
there is no support for indirect system calls (%eax == 0).

Where i386 differs from amd64 is that we have to store thread/process
entry arguments on the stack instead of using registers. We also have to
put an extra pointer on the stack for TLS (for GSBASE). Place that
pointer in the empty slot that is normally used to hold return
addresses. That seems to keep the code simple.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D7590

Details

Provenance
edAuthored on
Reviewer
kib
Differential Revision
D7590: Make CloudABI work on i386.
Parents
rS304614: MFC r304440, r304487:
Branches
Unknown
Tags
Unknown