Page MenuHomeFreeBSD

Properly format pointer size independent CloudABI system calls.
ClosedPublic

Authored by ed on Oct 7 2015, 1:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jun 21, 7:00 AM
Unknown Object (File)
Fri, Jun 21, 5:53 AM
Unknown Object (File)
Mon, Jun 17, 5:43 PM
Unknown Object (File)
Mon, Jun 17, 5:43 PM
Unknown Object (File)
Mon, Jun 17, 5:43 PM
Unknown Object (File)
Mon, Jun 17, 5:30 PM
Unknown Object (File)
Sat, Jun 1, 12:03 PM
Unknown Object (File)
May 11 2024, 11:10 AM
Subscribers

Details

Summary

CloudABI has approximately 50 system calls that do not depend on the
pointer size of the system. As the ABI is pretty compact, it takes
little effort to each truss(8) the formatting rules for these system
calls. Start off by formatting pointer size independent system calls.

Changes:

  • Make it possible to include the CloudABI system call definitions in FreeBSD userspace builds. Add ${root}/sys to the truss(8) Makefile so we can pull in <compat/cloudabi/cloudabi_syscalldefs.h>.
  • Refactoring: patch up amd64-cloudabi64.c to use the CLOUDABI_* constants instead of rolling our own table.
  • Add table entries for all of the system calls.
  • Add new generic formatting types (UInt, IntArray) that we'll be using to format unsigned integers and arrays of integers.
  • Add CloudABI specific formatting types.
Test Plan

truss(8) has been run on cloudlibc's unit testing binary. This yields
calls for all of the system calls that are part of the ABI. The
formatting of all entries have been checked.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ed retitled this revision from to Properly format pointer size independent CloudABI system calls..
ed updated this object.
ed edited the test plan for this revision. (Show Details)
ed added a reviewer: jhb.
jhb edited edge metadata.

I think this looks fine. I'm planning to re-sort the enum of argument types in a bit so that there are simple scalars (Int, UInt, etc.) followed by symbolic scalars (e.g. flag fields) followed by objects referenced by pointer. I'm happy to keep the ABI specific types in separate sections as well as you have done here.

This revision is now accepted and ready to land.Oct 7 2015, 5:50 PM
This revision was automatically updated to reflect the committed changes.