summaryrefslogtreecommitdiffhomepage
path: root/dev/ZKAKit/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-20 21:01:31 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-11-20 21:01:31 +0100
commit50439432a85976605dbb18e3cd2161f888d2e17d (patch)
tree12a30d88888f407e84634badef430d321cd1f4c6 /dev/ZKAKit/KernelKit
parent745cc52b11190689a3f42b936978a5c03a410b9a (diff)
IMP: AHCI-DMA: driver improvements, does complete read now (although nothing returns).
ReadMe.md: Update git ssh link. HWTS: Refactor class. DriveMgr: Lots of improvements inside the API. CUSA: Refactor scheduler API too.
Diffstat (limited to 'dev/ZKAKit/KernelKit')
-rw-r--r--dev/ZKAKit/KernelKit/DriveMgr.h12
-rw-r--r--dev/ZKAKit/KernelKit/HardwareThreadScheduler.h2
-rw-r--r--dev/ZKAKit/KernelKit/UserProcessScheduler.h7
3 files changed, 11 insertions, 10 deletions
diff --git a/dev/ZKAKit/KernelKit/DriveMgr.h b/dev/ZKAKit/KernelKit/DriveMgr.h
index 4ec45f2f..204e90b2 100644
--- a/dev/ZKAKit/KernelKit/DriveMgr.h
+++ b/dev/ZKAKit/KernelKit/DriveMgr.h
@@ -56,12 +56,12 @@ namespace Kernel
/// @brief Packet drive (StorageKit compilant.)
struct DrivePacket final
{
- Ref<VoidPtr> fPacketContent; //! packet body.
- Char fPacketMime[kDriveNameLen]; //! identify what we're sending.
- SizeT fPacketSize; //! packet size
- UInt32 fPacketCRC32; //! sanity crc, in case if good is set to false
- Boolean fPacketGood;
- Lba fLba;
+ VoidPtr fPacketContent; //! packet body.
+ Char fPacketMime[kDriveNameLen]; //! identify what we're sending.
+ SizeT fPacketSize; //! packet size
+ UInt32 fPacketCRC32; //! sanity crc, in case if good is set to false
+ Boolean fPacketGood;
+ Lba fLba;
} fPacket;
Void (*fInput)(DrivePacket* packetPtr);
diff --git a/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h b/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h
index eea25bb8..80f68c34 100644
--- a/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h
+++ b/dev/ZKAKit/KernelKit/HardwareThreadScheduler.h
@@ -130,7 +130,7 @@ namespace Kernel
public:
/// @brief Returns the amount of threads present in the system.
/// @returns SizeT the amount of cores present.
- SizeT Count() noexcept;
+ SizeT Capacity() noexcept;
private:
Array<HardwareThread, kMaxHartInsideSched> fThreadList;
diff --git a/dev/ZKAKit/KernelKit/UserProcessScheduler.h b/dev/ZKAKit/KernelKit/UserProcessScheduler.h
index 19075405..1c9f4a94 100644
--- a/dev/ZKAKit/KernelKit/UserProcessScheduler.h
+++ b/dev/ZKAKit/KernelKit/UserProcessScheduler.h
@@ -39,7 +39,7 @@ namespace Kernel
typedef Int64 ProcessID;
//! @brief Local Process name length.
- inline constexpr SizeT kProcessNameLen = 4096U;
+ inline constexpr SizeT kProcessNameLen = 129U;
//! @brief Local Process status enum.
enum class ProcessStatusKind : Int32
@@ -141,7 +141,7 @@ namespace Kernel
ZKA_COPY_DEFAULT(UserProcess);
public:
- Char Name[kProcessNameLen] = {"Application Process (Unnamed)"};
+ Char Name[kProcessNameLen] = {"Process (Unnamed)"};
ProcessSubsystem SubSystem{ProcessSubsystem::kProcessSubsystemInvalid};
User* Owner{nullptr};
HAL::StackFramePtr StackFrame{nullptr};
@@ -277,7 +277,7 @@ namespace Kernel
UserProcessTeam& CurrentTeam();
public:
- ProcessID Add(UserProcess* process);
+ ProcessID Spawn(UserProcess* process);
const Bool Remove(ProcessID process_id);
const Bool IsUser() override;
@@ -306,6 +306,7 @@ namespace Kernel
STATIC Bool CanBeScheduled(const UserProcess& process);
STATIC ErrorOr<PID> TheCurrentPID();
STATIC SizeT StartScheduling();
+ STATIC Void InitScheduler();
};
const UInt32& sched_get_exit_code(void) noexcept;