summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-30 21:47:55 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-08-30 21:48:19 +0200
commit9a45caab02bb1fa426dda0b1ed584a8cbb27d27d (patch)
treef8c31205fda749346f1f3301759d2a9e795de5a0 /dev
parentbca7a28c57adbb585de1e7b6ef0b1990d0837c4f (diff)
feat: debugger_kit: debugger contract modifications for NeKernel.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev')
-rw-r--r--dev/DebuggerKit/DebuggerContract.h2
-rw-r--r--dev/DebuggerKit/NeKernelContract.h12
-rw-r--r--dev/LibC++/base_math.h2
3 files changed, 9 insertions, 7 deletions
diff --git a/dev/DebuggerKit/DebuggerContract.h b/dev/DebuggerKit/DebuggerContract.h
index 48c3603..9ee17d1 100644
--- a/dev/DebuggerKit/DebuggerContract.h
+++ b/dev/DebuggerKit/DebuggerContract.h
@@ -8,6 +8,8 @@
#include <string>
#include <unordered_map>
+#define DK_DEBUGGER_CONTRACT : public ::DebuggerKit::DebuggerContract
+
namespace DebuggerKit {
class DebuggerContract;
diff --git a/dev/DebuggerKit/NeKernelContract.h b/dev/DebuggerKit/NeKernelContract.h
index d5315ef..ddea826 100644
--- a/dev/DebuggerKit/NeKernelContract.h
+++ b/dev/DebuggerKit/NeKernelContract.h
@@ -21,10 +21,11 @@ namespace Detail {
inline constexpr auto kDebugPort = 51820;
inline constexpr auto kDebugMagic = "VMK1.0.0;";
inline constexpr auto kDebugVersion = 0x0100;
- typedef char rt_debug_cmd[kDebugCmdLen];
+ typedef char dk_debug_cmd_type[kDebugCmdLen];
+ typedef int64_t dk_socket_type;
} // namespace Detail
-class NeKernelContract : public DebuggerContract {
+class NeKernelContract DK_DEBUGGER_CONTRACT {
public:
NeKernelContract();
virtual ~NeKernelContract() override;
@@ -33,8 +34,6 @@ class NeKernelContract : public DebuggerContract {
NeKernelContract& operator=(const NeKernelContract&) = default;
NeKernelContract(const NeKernelContract&) = default;
- // Override additional methods from DebuggerContract
-
public:
bool Attach(std::string path, std::string arg_v, ProcessID& pid) noexcept override;
bool BreakAt(std::string symbol) noexcept override;
@@ -43,8 +42,9 @@ class NeKernelContract : public DebuggerContract {
bool Detach() noexcept override;
private:
- std::string m_kernel_path{};
- int64_t m_socket{0};
+ dk_debug_cmd_type m_buffer;
+ std::string m_kernel_path{};
+ dk_socket_type m_socket{0};
};
} // namespace DebuggerKit::NeKernel
diff --git a/dev/LibC++/base_math.h b/dev/LibC++/base_math.h
index cf4313f..7c9f34d 100644
--- a/dev/LibC++/base_math.h
+++ b/dev/LibC++/base_math.h
@@ -57,7 +57,7 @@ template <size_t Base>
inline real_type surd(real_type in) {
if (in == 0) return 0;
if (in == 1) return 1;
-
+
if (Base == 1) return in;
if (Base == 2) return sqrt(in);