summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-24 10:00:22 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-24 10:02:06 +0200
commite89d4a1402bdd32b8ad7e2ed04278b7ad54740c3 (patch)
tree23a472c88e1e62e3aafacb56d0016739d9d3af33 /dev/kernel
parent6551964ad66de7bc7ccb636c54351be2a260612b (diff)
feat(nekit)!: Change dbg_break_point to DBG_TRAP.
BREAKING CHANGE: renamed symbol to match the codebase's macro style. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel')
-rw-r--r--dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc13
-rw-r--r--dev/kernel/HALKit/AMD64/HalKernelMain.cc2
-rw-r--r--dev/kernel/NeKit/Macros.h7
-rw-r--r--dev/kernel/NetworkKit/NetworkDevice.h2
-rw-r--r--dev/kernel/src/Network/NetworkDevice.cc2
5 files changed, 10 insertions, 16 deletions
diff --git a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
index 23ca8d0e..54a79571 100644
--- a/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
+++ b/dev/kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cc
@@ -54,8 +54,6 @@ EXTERN_C void idt_handle_pf(Kernel::UIntPtr rsp) {
process.Leak().Signal.SignalArg = rsp;
process.Leak().Signal.SignalID = SIGKILL;
process.Leak().Signal.Status = process.Leak().Status;
-
- process.Leak().Crash();
}
/// @brief Handle scheduler interrupt.
@@ -76,15 +74,15 @@ EXTERN_C void idt_handle_scheduler(Kernel::UIntPtr rsp) {
/// @brief Handle math fault.
/// @param rsp
EXTERN_C void idt_handle_math(Kernel::UIntPtr rsp) {
- hal_idt_send_eoi(8);
-
auto& process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
+ process.Leak().Crash();
+
+ hal_idt_send_eoi(8);
process.Leak().Signal.SignalArg = rsp;
process.Leak().Signal.SignalID = SIGKILL;
process.Leak().Signal.Status = process.Leak().Status;
- process.Leak().Crash();
}
/// @brief Handle any generic fault.
@@ -102,13 +100,10 @@ EXTERN_C void idt_handle_generic(Kernel::UIntPtr rsp) {
process.Leak().Signal.Status = process.Leak().Status;
Kernel::kout << "Kernel: SIGKILL status.\r";
-
- process.Leak().Crash();
}
EXTERN_C Kernel::Void idt_handle_breakpoint(Kernel::UIntPtr rip) {
auto& process = Kernel::UserProcessScheduler::The().TheCurrentProcess();
- process.Leak().Crash();
hal_idt_send_eoi(3);
@@ -131,8 +126,6 @@ EXTERN_C void idt_handle_ud(Kernel::UIntPtr rsp) {
process.Leak().Signal.SignalArg = rsp;
process.Leak().Signal.SignalID = SIGKILL;
process.Leak().Signal.Status = process.Leak().Status;
-
- process.Leak().Crash();
}
/// @brief Enter syscall from assembly.
diff --git a/dev/kernel/HALKit/AMD64/HalKernelMain.cc b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
index 65b522a6..c1558892 100644
--- a/dev/kernel/HALKit/AMD64/HalKernelMain.cc
+++ b/dev/kernel/HALKit/AMD64/HalKernelMain.cc
@@ -153,7 +153,7 @@ EXTERN_C Kernel::Void hal_real_init(Kernel::Void) noexcept {
if (!NeFS::fs_init_nefs()) {
kout << "NeFS cannot be formated on the disk. Aborting\r";
- dbg_break_point();
+ DBG_TRAP();
}
hal_spin_kernel:
diff --git a/dev/kernel/NeKit/Macros.h b/dev/kernel/NeKit/Macros.h
index 5147863a..b46ffaa8 100644
--- a/dev/kernel/NeKit/Macros.h
+++ b/dev/kernel/NeKit/Macros.h
@@ -121,11 +121,14 @@
#endif // !RGB
#ifdef __NE_AMD64__
-#define dbg_break_point() asm volatile("int $3")
+#define DBG_TRAP() asm volatile("int $3")
#else
-#define dbg_break_point() ((Kernel::Void) 0)
+#define DBG_TRAP() ((Kernel::Void) 0)
#endif
+#define LIKELY(ARG) ((ARG) ? MUST_PASS(NO) : ((Kernel::Void) 0))
+#define UNLIKELY(ARG) LIKELY(!(ARG))
+
#define RTL_ENDIAN(address, value) \
(((reinterpret_cast<Kernel::Char*>(address)[0]) == (value)) ? (Kernel::Endian::kEndianBig) \
: (Kernel::Endian::kEndianLittle))
diff --git a/dev/kernel/NetworkKit/NetworkDevice.h b/dev/kernel/NetworkKit/NetworkDevice.h
index 48fed575..e67916ee 100644
--- a/dev/kernel/NetworkKit/NetworkDevice.h
+++ b/dev/kernel/NetworkKit/NetworkDevice.h
@@ -36,8 +36,6 @@ class NetworkDevice final : public IDeviceObject<NetworkDeviceCommand> {
Boolean Name(const Char* newStr);
private:
- static constexpr auto kNetworkNameLen = 512;
-
Void (*fCleanup)(void);
};
diff --git a/dev/kernel/src/Network/NetworkDevice.cc b/dev/kernel/src/Network/NetworkDevice.cc
index 02cb0e73..7f93fa1b 100644
--- a/dev/kernel/src/Network/NetworkDevice.cc
+++ b/dev/kernel/src/Network/NetworkDevice.cc
@@ -20,7 +20,7 @@ Boolean NetworkDevice::Name(const Char* name) {
if (*name == 0) return NO;
- if (rt_string_len(name) > kNetworkNameLen) return NO;
+ if (rt_string_len(name) > rt_string_len(this->Name())) return NO;
rt_copy_memory((VoidPtr) name, (VoidPtr) this->Name(), rt_string_len(this->Name()));