Introduce #include <cosmo.h> to toolchain users

This change improves the way internal APIs are being hidden behind the
`COSMO` define. The cosmo.h header will take care of defining that, so
that a separate define statement isn't needed. This change also does a
lot more to define which APIs are standard, and which belong to Cosmo.
This commit is contained in:
Justine Tunney 2023-06-09 18:02:06 -07:00
parent 9b55dbe417
commit 4a59210008
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
115 changed files with 699 additions and 422 deletions

View file

@ -481,17 +481,17 @@ static void *NewBoard(size_t *out_size) {
char *p;
size_t s, n, k;
s = (byn * bxn) >> 3;
k = GUARDSIZE + ROUNDUP(s, GUARDSIZE);
n = ROUNDUP(k + GUARDSIZE, FRAMESIZE);
k = APE_GUARDSIZE + ROUNDUP(s, APE_GUARDSIZE);
n = ROUNDUP(k + APE_GUARDSIZE, FRAMESIZE);
p = _mapanon(n);
mprotect(p, GUARDSIZE, 0);
mprotect(p, APE_GUARDSIZE, 0);
mprotect(p + k, n - k, 0);
if (out_size) *out_size = n;
return p + GUARDSIZE;
return p + APE_GUARDSIZE;
}
static void FreeBoard(void *p, size_t n) {
munmap((char *)p - GUARDSIZE, n);
munmap((char *)p - APE_GUARDSIZE, n);
}
static void AllocateBoardsWithHardwareAcceleratedMemorySafety(void) {