From ef101c1852301f828531ee1e2217fc64bf26bd12 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 14 Mar 2025 21:42:49 +0100 Subject: Kernel: Patch UserProcess::Delete, and AHCI identify command. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc | 2 +- dev/Kernel/HALKit/AMD64/Storage/AHCI.cc | 11 +++++------ dev/Kernel/HALKit/AMD64/Storage/PIO.cc | 10 +++++----- 3 files changed, 11 insertions(+), 12 deletions(-) (limited to 'dev/Kernel/HALKit') diff --git a/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc b/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc index 15bd7616..7a9c83bc 100644 --- a/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc +++ b/dev/Kernel/HALKit/AMD64/HalApplicationProcessor.cc @@ -239,7 +239,7 @@ namespace NeOS::HAL hal_send_start_ipi(kApicBaseAddress, kAPICLocales[kSMPCount]); - HardwareTimer timer(NeOS::Milliseconds(10)); + HardwareTimer timer(NeOS::rtl_ms(10)); timer.Wait(); /// TODO: HAL helper to create an address. diff --git a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc index f6656ce5..874b7012 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/AHCI.cc @@ -42,7 +42,7 @@ #define kSATASRDrq (0x08) #define kHBABohcBiosOwned (1 << 0) -#define kHBABohcOSOwned (1 << 1) +#define kHBABohcOSOwned (1 << 1) #define kSATAPortCnt (0x20) @@ -85,8 +85,8 @@ STATIC Void drv_compute_disk_ahci() noexcept for (SizeT i = 0; i < 40; ++i) { - kCurrentDiskModel[i * 2] = identify_data[27 + i * 2] >> 8; - kCurrentDiskModel[i * 2 + 1] = identify_data[27 + i * 2] & 0xFF; + kCurrentDiskModel[i * 2] = identify_data[27 + (i * 2)] >> 8; + kCurrentDiskModel[i * 2 + 1] = identify_data[27 + (i * 2) + 1] & 0xFF; } kCurrentDiskModel[40] = '\0'; @@ -261,7 +261,7 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL atapi) kout << "Detect: /dev/sat" << number(ahci_index) << kendl; kSATAIndex = ahci_index; - kSATAHba = mem_ahci; + kSATAHba = mem_ahci; if (kSATAHba->Bohc & kHBABohcBiosOwned) { @@ -269,7 +269,6 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL atapi) while (kSATAHba->Bohc & kHBABohcBiosOwned) { - } } @@ -285,7 +284,7 @@ STATIC Bool drv_std_init_ahci(UInt16& pi, BOOL atapi) kout << "Detect: /dev/atp" << number(ahci_index) << kendl; kSATAIndex = ahci_index; - kSATAHba = mem_ahci; + kSATAHba = mem_ahci; kSATAHba->Ports[ahci_index].Cmd |= kHBAPxCmdFre | kHBAPxCmdST; diff --git a/dev/Kernel/HALKit/AMD64/Storage/PIO.cc b/dev/Kernel/HALKit/AMD64/Storage/PIO.cc index 0951dc99..62791aee 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/PIO.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/PIO.cc @@ -96,10 +96,10 @@ ATAInit_Retry: for (SizeT i = 0ul; i < kATADataLen; ++i) { - kATAData[i] = NeOS::HAL::rt_in16(OutBus + ATA_REG_DATA); + kATAData[i] = HAL::rt_in16(OutBus + ATA_REG_DATA); } - for (NeOS::Int32 i = 0; i < 20; i++) + for (Int32 i = 0; i < 20; i++) { kCurrentDiskModel[i * 2] = kATAData[27 + i] >> 8; kCurrentDiskModel[i * 2 + 1] = kATAData[27 + i + 1] & 0xFF; @@ -135,7 +135,7 @@ Void drv_std_read(UInt64 Lba, UInt16 IO, UInt8 Master, Char* Buf, SizeT SectorSz for (SizeT IndexOff = 0; IndexOff < Size; ++IndexOff) { drv_std_wait_io(IO); - Buf[IndexOff] = NeOS::HAL::rt_in16(IO + ATA_REG_DATA); + Buf[IndexOff] = HAL::rt_in16(IO + ATA_REG_DATA); } } @@ -175,13 +175,13 @@ Boolean drv_std_detected(Void) /*** @brief Getter, gets the number of sectors inside the drive. */ -NeOS::SizeT drv_get_sector_count() +SizeT drv_get_sector_count() { return (kATAData[61] << 16) | kATAData[60]; } /// @brief Get the drive size. -NeOS::SizeT drv_get_size() +SizeT drv_get_size() { return (drv_get_sector_count()) * kATASectorSize; } -- cgit v1.2.3