diff options
author | Nao Pross <naopross@thearcway.org> | 2017-07-04 09:16:59 +0200 |
---|---|---|
committer | Nao Pross <naopross@thearcway.org> | 2017-07-04 09:16:59 +0200 |
commit | a86838ead76c76e62369d461d5f4ff6ea6b07433 (patch) | |
tree | a2a5131ce8a4fb06c6cefceaa5fb9857a42ce553 /sw/z80/kernel/include/sysexe.h | |
parent | new components list and cpld test unit (diff) | |
parent | Order and update of the struct (diff) | |
download | z80uPC-a86838ead76c76e62369d461d5f4ff6ea6b07433.tar.gz z80uPC-a86838ead76c76e62369d461d5f4ff6ea6b07433.zip |
merge branch 'atlas' into naopross
Diffstat (limited to 'sw/z80/kernel/include/sysexe.h')
-rw-r--r-- | sw/z80/kernel/include/sysexe.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/sw/z80/kernel/include/sysexe.h b/sw/z80/kernel/include/sysexe.h new file mode 100644 index 0000000..9c13c09 --- /dev/null +++ b/sw/z80/kernel/include/sysexe.h @@ -0,0 +1,55 @@ +#ifndef SYS_EXE +#define SYS_EXE + +#define SYS_EXEC_ADDR // TODO find an address in Kernel space + +struct sys_progman { + + // program 0 enabled + + uint8_t prog_0_enabled:1; + + // program 1 enabled + + /* + * Obs: A program is enabled when its space is allocated + * and its virtual program counter is stored in + * the hardware or in the silent_pc. + * An enabled program is not necessarly running, it + * could be paused too. + */ + + uint8_t prog_1_enabled:1; + + // running's program id + + uint8_t prog_running:1; +}; + +struct sys_exec { + + /* + * Virtual addresses are activated + */ + + uint8_t virtual_addr:1; + + struct sys_progman progman; + + /* + * The silent_pc is the place designed to store the + * program counter of the program that's not running + */ + + uint8_t silent_pc:12; +}; + +/* +* Function to access informations +*/ + +uint8_t vaddr_enabled(); + +struct sys_progman * sys_prog_data(struct sys_progman *data); + +#endif
\ No newline at end of file |