summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-06-30 10:36:15 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-06-30 10:36:15 +0200
commitb3c3b0f62331a695fb7c90c386c15396b6607575 (patch)
tree00493a0039673d5604d4f42ea1d957c033670b93 /dev
parentf3062a7d633d123c2de863398d174a0dd6516d85 (diff)
feat: Introducing `FileTree` allocation and WiP DebugSrv integration.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
-rw-r--r--dev/kernel/KernelKit/DebugOutput.h12
-rw-r--r--dev/kernel/KernelKit/UserProcessScheduler.h2
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc11
3 files changed, 14 insertions, 11 deletions
diff --git a/dev/kernel/KernelKit/DebugOutput.h b/dev/kernel/KernelKit/DebugOutput.h
index de3bc997..87649406 100644
--- a/dev/kernel/KernelKit/DebugOutput.h
+++ b/dev/kernel/KernelKit/DebugOutput.h
@@ -12,7 +12,7 @@
#include <NeKit/Stream.h>
#include <NeKit/Utils.h>
-#define kDebugUnboundPort 0x0FEED
+#define kDebugPort (51820U)
#define kDebugMag0 'K'
#define kDebugMag1 'D'
@@ -27,7 +27,7 @@
namespace Kernel {
class TerminalDevice;
class DTraceDevice;
-class DebugDevice;
+class NeDebugDevice;
class Utf8TerminalDevice;
inline TerminalDevice end_line();
@@ -184,14 +184,6 @@ inline constexpr SizeT kDebugTypeLen = 256U;
typedef Char rt_debug_type[kDebugTypeLen];
-/// @brief KDBG's packet header.
-class KernelDebugHeader final {
- public:
- Int16 fPort;
- Int16 fPortKind;
- rt_debug_type fPortBlob;
-};
-
inline TerminalDevice& operator<<(TerminalDevice& src, const Long& num) {
src = number(num);
return src;
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.h b/dev/kernel/KernelKit/UserProcessScheduler.h
index 5bc5b8d2..ebe8d1cd 100644
--- a/dev/kernel/KernelKit/UserProcessScheduler.h
+++ b/dev/kernel/KernelKit/UserProcessScheduler.h
@@ -62,7 +62,7 @@ class USER_PROCESS final {
};
USER_PROCESS_SIGNAL Signal;
- PROCESS_FILE_TREE<UInt32*>* FileTree{nullptr};
+ PROCESS_FILE_TREE<VoidPtr>* FileTree{nullptr};
PROCESS_HEAP_TREE<VoidPtr>* HeapTree{nullptr};
UserProcessTeam* ParentTeam;
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc
index 94099c0a..621c848b 100644
--- a/dev/kernel/src/UserProcessScheduler.cc
+++ b/dev/kernel/src/UserProcessScheduler.cc
@@ -124,6 +124,17 @@ ErrorOr<VoidPtr> USER_PROCESS::New(SizeT sz, SizeT pad_amount) {
auto ptr = mm_alloc_ptr(sz, Yes, Yes, pad_amount);
#endif
+ if (!this->FileTree) {
+ this->FileTree = new PROCESS_FILE_TREE<VoidPtr>();
+
+ if (!this->FileTree) {
+ this->Crash();
+ return ErrorOr<VoidPtr>(-kErrorHeapOutOfMemory);
+ }
+
+ /// @todo File Tree allocation and dispose methods (amlal)
+ }
+
if (!this->HeapTree) {
this->HeapTree = new PROCESS_HEAP_TREE<VoidPtr>();