diff --git a/lib/libc/src/malloc.cpp b/lib/libc/src/malloc.cpp index 5ebbf6e..4747aaf 100644 --- a/lib/libc/src/malloc.cpp +++ b/lib/libc/src/malloc.cpp @@ -1,6 +1,5 @@ #include #include -#include #include "stdlib.h" diff --git a/lib/mammoth/include/mammoth/channel.h b/lib/mammoth/include/mammoth/channel.h index 4fa5d8f..90b1271 100644 --- a/lib/mammoth/include/mammoth/channel.h +++ b/lib/mammoth/include/mammoth/channel.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include class Channel { public: diff --git a/lib/mammoth/include/mammoth/debug.h b/lib/mammoth/include/mammoth/debug.h index 82ecf58..6642eff 100644 --- a/lib/mammoth/include/mammoth/debug.h +++ b/lib/mammoth/include/mammoth/debug.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include void dbgln(const char* fmt, ...); diff --git a/lib/mammoth/include/mammoth/init.h b/lib/mammoth/include/mammoth/init.h index 1e1dbf4..40d1c4a 100644 --- a/lib/mammoth/include/mammoth/init.h +++ b/lib/mammoth/include/mammoth/init.h @@ -1,7 +1,7 @@ #pragma once #include -#include #include +#include z_err_t ParseInitPort(uint64_t init_port_cap); diff --git a/lib/mammoth/include/mammoth/port.h b/lib/mammoth/include/mammoth/port.h index 57dbf9f..5e174d3 100644 --- a/lib/mammoth/include/mammoth/port.h +++ b/lib/mammoth/include/mammoth/port.h @@ -2,7 +2,6 @@ #include #include -#include class Port { public: diff --git a/lib/mammoth/src/debug.cpp b/lib/mammoth/src/debug.cpp index 257b9a9..e5ce355 100644 --- a/lib/mammoth/src/debug.cpp +++ b/lib/mammoth/src/debug.cpp @@ -3,7 +3,6 @@ #include #include #include -#include void dbgln_internal(const char* str) { // Safe to ignore the result since right // now this doesn't throw. diff --git a/lib/mammoth/src/init.cpp b/lib/mammoth/src/init.cpp index 5937bfc..993686a 100644 --- a/lib/mammoth/src/init.cpp +++ b/lib/mammoth/src/init.cpp @@ -1,6 +1,6 @@ #include "mammoth/init.h" -#include +#include #include "mammoth/debug.h" #include "mammoth/port.h" diff --git a/lib/mammoth/src/memory_region.cpp b/lib/mammoth/src/memory_region.cpp index 03e9c2e..9d32718 100644 --- a/lib/mammoth/src/memory_region.cpp +++ b/lib/mammoth/src/memory_region.cpp @@ -1,7 +1,6 @@ #include "mammoth/memory_region.h" #include -#include #include "mammoth/debug.h" #include "mammoth/init.h" diff --git a/lib/mammoth/src/process.cpp b/lib/mammoth/src/process.cpp index 778aca3..46adda8 100644 --- a/lib/mammoth/src/process.cpp +++ b/lib/mammoth/src/process.cpp @@ -1,8 +1,6 @@ #include "mammoth/process.h" #include -#include -#include #include "mammoth/channel.h" #include "mammoth/debug.h" diff --git a/lib/mammoth/src/thread.cpp b/lib/mammoth/src/thread.cpp index cb047ba..4af95ff 100644 --- a/lib/mammoth/src/thread.cpp +++ b/lib/mammoth/src/thread.cpp @@ -1,7 +1,6 @@ #include "mammoth/thread.h" #include -#include #include "mammoth/debug.h" #include "mammoth/init.h" diff --git a/sys/denali/ahci/ahci_device.h b/sys/denali/ahci/ahci_device.h index 16da0aa..957846c 100644 --- a/sys/denali/ahci/ahci_device.h +++ b/sys/denali/ahci/ahci_device.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include "ahci/ahci.h" #include "ahci/command.h" diff --git a/sys/denali/ahci/ahci_driver.h b/sys/denali/ahci/ahci_driver.h index d89c510..8c526b0 100644 --- a/sys/denali/ahci/ahci_driver.h +++ b/sys/denali/ahci/ahci_driver.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include "ahci/ahci.h" #include "ahci/ahci_device.h" diff --git a/sys/yellowstone/hw/pcie.cpp b/sys/yellowstone/hw/pcie.cpp index a117987..b3d5d70 100644 --- a/sys/yellowstone/hw/pcie.cpp +++ b/sys/yellowstone/hw/pcie.cpp @@ -3,7 +3,6 @@ #include #include #include -#include namespace { diff --git a/sys/yellowstone/yellowstone.cpp b/sys/yellowstone/yellowstone.cpp index 12ed6db..8fc5cc5 100644 --- a/sys/yellowstone/yellowstone.cpp +++ b/sys/yellowstone/yellowstone.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include "hw/pcie.h" diff --git a/zion/boot/acpi.h b/zion/boot/acpi.h index 60cac00..c151ed0 100644 --- a/zion/boot/acpi.h +++ b/zion/boot/acpi.h @@ -2,7 +2,7 @@ #include -#include "include/zerrors.h" +#include "include/ztypes.h" void ProbeRsdp(); diff --git a/zion/debug/debug.h b/zion/debug/debug.h index 45fa5f7..3979d46 100644 --- a/zion/debug/debug.h +++ b/zion/debug/debug.h @@ -2,7 +2,7 @@ #include -#include "include/zerrors.h" +#include "include/ztypes.h" void dbg(const char* fmt, ...); void dbgln(const char* str, ...); diff --git a/zion/include/zcall.h b/zion/include/zcall.h index 1dc0454..ec0269f 100644 --- a/zion/include/zcall.h +++ b/zion/include/zcall.h @@ -2,55 +2,7 @@ #include -#include "zerrors.h" - -#define Z_INVALID 0x0 - -#define ZC_WRITE 0x01 -#define ZC_READ 0x02 - -// Process Calls. -#define Z_PROCESS_EXIT 0x01 -#define Z_PROCESS_SPAWN 0x02 -#define Z_PROCESS_START 0x03 - -#define ZC_PROC_SPAWN_PROC 0x100 -#define ZC_PROC_SPAWN_THREAD 0x200 - -// Thread Calls. -#define Z_THREAD_CREATE 0x10 -#define Z_THREAD_START 0x11 -#define Z_THREAD_EXIT 0x12 - -// Memory Calls -#define Z_ADDRESS_SPACE_MAP 0x21 -#define Z_ADDRESS_SPACE_UNMAP 0x22 - -#define Z_MEMORY_OBJECT_CREATE 0x30 -#define Z_MEMORY_OBJECT_CREATE_PHYSICAL 0x31 - -#define Z_TEMP_PCIE_CONFIG_OBJECT_CREATE 0x3F - -// IPC Calls -#define Z_CHANNEL_CREATE 0x40 -#define Z_CHANNEL_SEND 0x41 -#define Z_CHANNEL_RECV 0x42 -#define Z_CHANNEL_SENDRECV 0x43 - -#define Z_PORT_CREATE 0x50 -#define Z_PORT_SEND 0x51 -#define Z_PORT_RECV 0x52 -#define Z_PORT_POLL 0x53 - -#define Z_IRQ_REGISTER 0x58 - -#define Z_IRQ_PCI_BASE 0x30 - -// Capability Calls -#define Z_CAP_DUPLICATE 0x60 - -// Debugging Calls. -#define Z_DEBUG_PRINT 0x10000000 +#include "ztypes.h" void ZProcessExit(uint64_t code); diff --git a/zion/include/zerrors.h b/zion/include/zerrors.h deleted file mode 100644 index 5ce35df..0000000 --- a/zion/include/zerrors.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include - -#define Z_OK 0x0 -#define Z_ERR_NOT_FOUND 0x1 -#define Z_ERR_INVALID 0x2 -#define Z_ERR_DENIED 0x3 -#define Z_ERR_UNIMPLEMENTED 0x4 -#define Z_ERR_BUFF_SIZE 005 -#define Z_ERR_NULL 0x6 -#define Z_ERR_EXISTS 0x7 -#define Z_ERR_EMPTY 0x8 - -#define Z_ERR_CAP_NOT_FOUND 0x100 -#define Z_ERR_CAP_TYPE 0x101 -#define Z_ERR_CAP_DENIED 0x102 - -typedef uint64_t z_err_t; diff --git a/zion/include/zinit.h b/zion/include/zinit.h index 46acf6e..6f70f09 100644 --- a/zion/include/zinit.h +++ b/zion/include/zinit.h @@ -1,8 +1 @@ #pragma once - -#define Z_INIT_SELF_PROC 0x100 -#define Z_INIT_SELF_VMAS 0x101 - -#define Z_INIT_CHANNEL 0x200 - -#define Z_BOOT_DENALI_VMMO 0x1000 diff --git a/zion/include/ztypes.h b/zion/include/ztypes.h new file mode 100644 index 0000000..37caeab --- /dev/null +++ b/zion/include/ztypes.h @@ -0,0 +1,100 @@ +#pragma once + +#include + +/* ------------------------------ + * Error Types + * + * Bit 31 always set to 1 to + * distinguish from user-space errors. + * ------------------------------*/ +#define Z_OK 0x0 + +#define Z_ERR_NOT_FOUND 0x1000'0001 +#define Z_ERR_INVALID 0x1000'0002 +#define Z_ERR_DENIED 0x1000'0003 +#define Z_ERR_UNIMPLEMENTED 0x1000'0004 +#define Z_ERR_BUFF_SIZE 001000'0005 +#define Z_ERR_NULL 0x1000'0006 +#define Z_ERR_EXISTS 0x1000'0007 +#define Z_ERR_EMPTY 0x1000'0008 + +#define Z_ERR_CAP_NOT_FOUND 0x1001'0000 +#define Z_ERR_CAP_TYPE 0x1001'0001 +#define Z_ERR_CAP_DENIED 0x1001'0002 + +typedef uint64_t z_err_t; + +/* ------------------------------ + * Syscall Types + * ------------------------------*/ + +// Process Calls. +#define Z_PROCESS_EXIT 0x01 +#define Z_PROCESS_SPAWN 0x02 +#define Z_PROCESS_START 0x03 + +// Thread Calls. +#define Z_THREAD_CREATE 0x10 +#define Z_THREAD_START 0x11 +#define Z_THREAD_EXIT 0x12 + +// Memory Calls +#define Z_ADDRESS_SPACE_MAP 0x21 +#define Z_ADDRESS_SPACE_UNMAP 0x22 + +#define Z_MEMORY_OBJECT_CREATE 0x30 +#define Z_MEMORY_OBJECT_CREATE_PHYSICAL 0x31 + +#define Z_TEMP_PCIE_CONFIG_OBJECT_CREATE 0x3F + +// IPC Calls +#define Z_CHANNEL_CREATE 0x40 +#define Z_CHANNEL_SEND 0x41 +#define Z_CHANNEL_RECV 0x42 +#define Z_CHANNEL_SENDRECV 0x43 + +#define Z_PORT_CREATE 0x50 +#define Z_PORT_SEND 0x51 +#define Z_PORT_RECV 0x52 +#define Z_PORT_POLL 0x53 + +#define Z_IRQ_REGISTER 0x58 + +#define Z_IRQ_PCI_BASE 0x30 + +// Capability Calls +#define Z_CAP_DUPLICATE 0x60 + +// Debugging Calls. +#define Z_DEBUG_PRINT 0x10000000 + +/* ------------------------------ + * Capability Types + * ------------------------------*/ +#define Z_INVALID 0x0 + +// General Capability Permissions +#define ZC_WRITE 0x01 +#define ZC_READ 0x02 + +// Capability Specific Permissions +#define ZC_PROC_SPAWN_PROC 0x100 +#define ZC_PROC_SPAWN_THREAD 0x200 + +/* ------------------------------ + * Process Init Types + * + * Used to pull capabilites off + * the initialization port. + * + * Start at a high number only to + * make them distinctive as a raw + * value. + * ------------------------------*/ +#define Z_INIT_SELF_PROC 0x4000'0000 +#define Z_INIT_SELF_VMAS 0x4000'0001 + +#define Z_INIT_CHANNEL 0x4100'0000 + +#define Z_BOOT_DENALI_VMMO 0x4200'0000 diff --git a/zion/loader/init_loader.cpp b/zion/loader/init_loader.cpp index 02f7422..4a82123 100644 --- a/zion/loader/init_loader.cpp +++ b/zion/loader/init_loader.cpp @@ -3,7 +3,6 @@ #include "boot/boot_info.h" #include "debug/debug.h" #include "include/zcall.h" -#include "include/zinit.h" #include "lib/ref_ptr.h" #include "memory/paging_util.h" #include "object/process.h" diff --git a/zion/object/channel.cpp b/zion/object/channel.cpp index 8f19b16..fdaf05c 100644 --- a/zion/object/channel.cpp +++ b/zion/object/channel.cpp @@ -1,6 +1,6 @@ #include "object/channel.h" -#include "include/zerrors.h" +#include "include/ztypes.h" #include "scheduler/scheduler.h" Pair, RefPtr> Channel::CreateChannelPair() { diff --git a/zion/object/channel.h b/zion/object/channel.h index 28440e5..80d44c2 100644 --- a/zion/object/channel.h +++ b/zion/object/channel.h @@ -1,7 +1,7 @@ #pragma once #include "capability/capability.h" -#include "include/zerrors.h" +#include "include/ztypes.h" #include "lib/linked_list.h" #include "lib/mutex.h" #include "lib/pair.h" diff --git a/zion/object/process.cpp b/zion/object/process.cpp index 739e11b..b96997b 100644 --- a/zion/object/process.cpp +++ b/zion/object/process.cpp @@ -2,7 +2,6 @@ #include "debug/debug.h" #include "include/zcall.h" -#include "include/zinit.h" #include "memory/paging_util.h" #include "memory/physical_memory.h" #include "object/thread.h" diff --git a/zion/syscall/syscall.cpp b/zion/syscall/syscall.cpp index f1eb479..a24798a 100644 --- a/zion/syscall/syscall.cpp +++ b/zion/syscall/syscall.cpp @@ -6,7 +6,6 @@ #include "common/msr.h" #include "debug/debug.h" #include "include/zcall.h" -#include "include/zerrors.h" #include "interrupt/interrupt.h" #include "memory/physical_memory.h" #include "object/channel.h"