1.\" Copyright (c) 2015 Nuxi, https://nuxi.nl/ 2.\" 3.\" Redistribution and use in source and binary forms, with or without 4.\" modification, are permitted provided that the following conditions 5.\" are met: 6.\" 1. Redistributions of source code must retain the above copyright 7.\" notice, this list of conditions and the following disclaimer. 8.\" 2. Redistributions in binary form must reproduce the above copyright 9.\" notice, this list of conditions and the following disclaimer in the 10.\" documentation and/or other materials provided with the distribution. 11.\" 12.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 13.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 14.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 15.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 16.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 18.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 19.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 20.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 21.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 22.\" SUCH DAMAGE. 23.\" 24.\" $FreeBSD$ 25.Dd October 22, 2015 26.Dt CLOUDABI 4 27.Os 28.Sh NAME 29.Nm cloudabi , 30.Nm cloudabi64 31.Nd CloudABI support 32.Sh SYNOPSIS 33Support for 64-bit CloudABI executables can be compiled into the kernel 34by adding this line to the kernel configuration file: 35.Bd -ragged -offset indent 36.Cd "options COMPAT_CLOUDABI64" 37.Ed 38.Pp 39CloudABI support can also be loaded at boot time from 40.Xr loader.conf 5 : 41.Bd -literal -offset indent 42cloudabi_load="YES" 43cloudabi64_load="YES" 44.Ed 45.Sh DESCRIPTION 46CloudABI is a POSIX-like pure capability-based runtime environment, 47similar to 48.Xr capsicum 4 . 49It can be used to develop applications that are cross-platform, 50easier to test, 51and hardened against security exploits. 52.Pp 53Support for CloudABI on 54.Fx 55consists of two separate kernel modules. 56The 57.Nm cloudabi 58kernel module implements all of the system calls that do not depend on 59data structures that differ between architectures. 60.Pp 61The 62.Nm cloudabi64 63kernel module provides implementations of all of the machine-dependent 64system calls. 65It assumes that pointers stored in data structures provided as system 66call arguments are 64 bits in size. 67It also provides the image activator that loads and starts 64-bit ELF 68executables. 69.Pp 70Though the 71.Nm cloudabi 72module can be loaded on any architecture supported by 73.Fx , 74the 75.Nm cloudabi64 76module is only available for amd64 and arm64. 77.Pp 78A full cross compilation toolchain for CloudABI is available in the 79.Pa devel/cloudabi-toolchain 80port. 81.Pp 82The 83.Pa sysutils/cloudabi-utils 84port provides the 85.Xr cloudabi-run 1 86utility. 87.Xr cloudabi-run 1 88can be used to safely execute CloudABI processes with access to a 89restricted set of resources. 90.Sh SEE ALSO 91.Xr cloudabi-run 1 , 92.Xr capsicum 4 , 93.Xr linux 4 , 94.Xr elf 5 95.Pp 96cloudlibc on GitHub: 97.Pa https://github.com/NuxiNL/cloudlibc . 98.Pp 99The CloudABI Ports Collection on GitHub: 100.Pa https://github.com/NuxiNL/cloudabi-ports . 101.Sh HISTORY 102CloudABI support first appeared in 103.Fx 11.0 . 104.Sh AUTHORS 105.An Nuxi : Pa https://nuxi.nl/ . 106