summaryrefslogtreecommitdiff
path: root/src/sys/include
AgeCommit message (Collapse)Author
21 hourskern: os: Add I/O tap frameworkIan Moffett
The I/O tap framework provides a way to bypass the typical device filesystem interface for applications where more direct access would be beneficial. Signed-off-by: Ian Moffett <ian@osmora.org>
22 hourskern: os: Support up to 8 max namespacesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
26 hourskern: vfs: Add write vop to vnodesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
27 hourskern: syscall: Add SYS_open to syscall tableIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
29 hourskern: filedes: Save the mode in fd_open()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
29 hoursos: vnode: Add refcounts to vnodesIan Moffett
Keep track of how many referencing are on a vnode so one isn't freed early while another object is still using it. Signed-off-by: Ian Moffett <ian@osmora.org>
44 hoursFix conflictsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
44 hourskern: filedes: Add SYS_open system callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
45 hourskern: filedesc: Add fd_open() functionIan Moffett
Introduce the fd_open() function as apart of the kernel file descriptor API to open a file and get a file descriptor. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: syscall: Add SYS_mount syscallIan Moffett
This commit introduces the system call for mounting filesystems. As of now, only the fstype and target params are supported Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: syscall: Add initial SYS_spawn syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: proc: Add initial spawn functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: proc: Add process environment blockIan Moffett
Introduce a process environment block structure to pass information such as arguments, argument counts, etc to the process during startup without having to make a mess on the stack Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: os: Add copyinstr()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysnp: codegen: Support returning symbols / stringsIan Moffett
Introduce support for returning symbols or strings in memory by using the symbol table and REX prefixes for 64-bit register accesses Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysnp: parse: Add symbol listIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysnp: symbol: Ensure of assigned name and IDIan Moffett
This commit adds a lookup ID to each symbol as well as ensuring that they have a defined name even if the requested one is NULL Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysnp: piir: Add bitmap based register allocationIan Moffett
Introduce register allocation via a bitmap where each bit corresponds to a specific register index. Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: Remove deprecated ast_root fieldIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: symbol: Introduce symbol table + symbol cacheIan Moffett
This commit introduces a way to allocate and store symbols as structures consiting of a name and an address. We also provide a way to cache lookups to provide faster access. Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: lex: Introduce string tokensIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: np: Add support for return statementsIan Moffett
This commit introduces lexical, parsing and code generation support for the return statements. As of now, one is only able to return unsigned integers but this will be expanded upon in the future Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: backend: Add backend pirho sourcesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: piir: Annotate IR bytesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: codegen: Deprecate AST in favor of stackgenIan Moffett
Deprecate the usage of abstract syntax treats in favor of the much saner stack machines + IR usage Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: codegen: Implement initial stack based codegenIan Moffett
This commit introduces the groundwork for the AMD64 PIIR backend. We will not follow through with the plans of using abstract syntax trees as they'll overly complicate the project. Instead we'll utilize a ring buffer to store the list of instructions and a stack machine for the IR code. Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Allocate new PIIR stack into work descIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: np: Add initial IR engine (PIIR)Ian Moffett
This commit introduces the initial sources for the intermediate representation (IR) engine [called PIIR (PI-IR)] to PIRHO PIIR: [NOUN]: border, boundary, frontier Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Create proc AST, handle end/begin, ...Ian Moffett
This commit introduces AST object types and AST integer type definitions. We also now keep track of how deep we are in begin/end tags. - Introduce parsing for TT_BEGIN - Introduce parsing for TT_END Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: lex: Add LEX_EOF defineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: Add signed integer typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Parse procedure signatureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: lex: Add the rest of the UINT tokensIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: parse: Add AST structure and initial logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: lex: Add TT_NONE token for invalid typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: Allocate memory for identifierIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 daysnp: init: Keep track of objects with PTRBOXIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: ptrbox: Add string duplicationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern: lib: Introduce pointer boxesIan Moffett
Pointer boxes are a way to allocate memory and associate them with one location so that during error/exit paths, one may deallocate every buffer with a single call Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Detect colon (':')Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Add left/right bracket tokensIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Handle digits in the streamIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayslex: np: Add lexer arithmetic operatorsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Detect '*' token (TT_STAR)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Annotate token typesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: parse: Add initial parsing logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Parse identifiers and commasIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Cache last char during parseIan Moffett
Sometimes when parsing while we are scanning for a string, we might loose the last character if we don't save it Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: lex: Use foward declaration of np_workIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern: Add initial pirho compiler sourcesIan Moffett
The pirho compiler is a ring-0 compiler used to compile core parts of the kernel during updates and installs from the initramfs. Signed-off-by: Ian Moffett <ian@osmora.org>