[project] Generate syscalls from new interface DSL

This change adds a new interface DSL for specifying objects (with
methods) and interfaces (that expose objects, and optionally have their
own methods).

Significant changes:

- Add the new scripts/definitions Python module to parse the DSL
- Add the new definitions directory containing DSL definition files
- Use cog to generate syscall-related code in kernel and libj6
- Unify ordering of pointer + length pairs in interfaces
This commit is contained in:
Justin C. Miller
2021-08-30 01:05:32 -07:00
parent 80f815c020
commit 186724e751
52 changed files with 4025 additions and 206 deletions

View File

@@ -33,7 +33,7 @@ struct entry
int
main(int argc, const char **argv)
{
j6_system_log("fb driver starting");
j6_log("fb driver starting");
size_t initc = 0;
j6_init_value *initv = nullptr;
@@ -48,7 +48,7 @@ main(int argc, const char **argv)
}
if (!fb || fb->addr == 0) {
j6_system_log("fb driver didn't find a framebuffer, exiting");
j6_log("fb driver didn't find a framebuffer, exiting");
return 1;
}
@@ -109,7 +109,7 @@ main(int argc, const char **argv)
buffer_size = size;
continue;
} else if (s != j6_status_ok) {
j6_system_log("fb driver got error from get_log, quitting");
j6_log("fb driver got error from get_log, quitting");
return s;
}
@@ -134,7 +134,7 @@ main(int argc, const char **argv)
}
}
j6_system_log("fb driver done, exiting");
j6_log("fb driver done, exiting");
return 0;
}