diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-11-20 21:01:31 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-11-20 21:01:31 +0100 |
| commit | 50439432a85976605dbb18e3cd2161f888d2e17d (patch) | |
| tree | 12a30d88888f407e84634badef430d321cd1f4c6 /dev/ZKAKit/KernelKit | |
| parent | 745cc52b11190689a3f42b936978a5c03a410b9a (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.h | 12 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/HardwareThreadScheduler.h | 2 | ||||
| -rw-r--r-- | dev/ZKAKit/KernelKit/UserProcessScheduler.h | 7 |
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; |
