aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-02-20 16:12:50 +0530
committerBobby <[email protected]>2026-02-20 16:12:50 +0530
commit51aaf6e5f1dfd8cefc2dd936fedf10cab79c3a45 (patch)
tree2065f7fa7f791c89b268c372f3aef1953c51b610
parente3c5a0835b027c6131c075f15b09117f44482438 (diff)
downloadakiba-51aaf6e5f1dfd8cefc2dd936fedf10cab79c3a45.tar.xz
akiba-51aaf6e5f1dfd8cefc2dd936fedf10cab79c3a45.zip
feat: Enhance diskinfo invocation with interrupt handling for safe disk reads and update version to v1.0.0
-rw-r--r--mirai/invocations/os/diskinfo.zig5
-rw-r--r--resources/system/akiba/mirai.version2
2 files changed, 6 insertions, 1 deletions
diff --git a/mirai/invocations/os/diskinfo.zig b/mirai/invocations/os/diskinfo.zig
index 62c73dc..7844e9b 100644
--- a/mirai/invocations/os/diskinfo.zig
+++ b/mirai/invocations/os/diskinfo.zig
@@ -2,6 +2,7 @@
const afs = @import("../../fs/afs/afs.zig");
const ahci = @import("../../drivers/ahci/ahci.zig");
+const cpu = @import("../../asm/cpu.zig");
const handler = @import("../handler.zig");
const result = @import("../../utils/types/result.zig");
@@ -16,7 +17,11 @@ pub fn invoke(ctx: *handler.InvocationContext) void {
const used_ptr: *u64 = @ptrFromInt(ctx.rsi);
if (fs_instance) |fs| {
+ // Disable interrupts during disk read to prevent race conditions
+ cpu.disable_interrupts();
const info = fs.get_disk_info();
+ cpu.enable_interrupts();
+
total_ptr.* = info.total_bytes;
used_ptr.* = info.used_bytes;
result.set_ok(ctx);
diff --git a/resources/system/akiba/mirai.version b/resources/system/akiba/mirai.version
index 6c6aa7c..60453e6 100644
--- a/resources/system/akiba/mirai.version
+++ b/resources/system/akiba/mirai.version
@@ -1 +1 @@
-0.1.0 \ No newline at end of file
+v1.0.0 \ No newline at end of file