diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-17 09:15:11 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2025-02-17 09:15:11 +0100 |
| commit | cd4fc8a1d68a487439fc7e5bffd423974ba3a95f (patch) | |
| tree | b6fefa96248c0c93f7a960227eda4da4372f1ace | |
| parent | 8abfbf50f6f0cca4184cfb602a68027f99d500ca (diff) | |
ADD: MBCI design is done. an HCI protocol.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/PIO.cc | 4 | ||||
| -rw-r--r-- | dev/Kernel/HALKit/AMD64/Storage/SATA.cc | 6 | ||||
| -rw-r--r-- | dev/Kernel/HALKit/ARM64/Processor.h | 2 | ||||
| -rw-r--r-- | dev/Mod/MBCI/MBCI.h | 14 | ||||
| -rw-r--r-- | dev/Usr/LibCF/Atom.h | 4 | ||||
| -rw-r--r-- | dev/Usr/LibCF/Ref.h | 2 |
6 files changed, 23 insertions, 9 deletions
diff --git a/dev/Kernel/HALKit/AMD64/Storage/PIO.cc b/dev/Kernel/HALKit/AMD64/Storage/PIO.cc index 4965b932..0b19b373 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/PIO.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/PIO.cc @@ -90,7 +90,7 @@ ATAInit_Retry: rt_out8(OutBus + ATA_REG_COMMAND, ATA_CMD_IDENTIFY); drv_std_wait_io(IO); - + /// fetch serial info /// model, speed, number of sectors... @@ -98,7 +98,7 @@ ATAInit_Retry: { kATAData[i] = Kernel::HAL::rt_in16(OutBus + ATA_REG_DATA); } - + for (Kernel::Int32 i = 0; i < 20; i++) { kCurrentDiskModel[i * 2] = kATAData[27 + i] >> 8; diff --git a/dev/Kernel/HALKit/AMD64/Storage/SATA.cc b/dev/Kernel/HALKit/AMD64/Storage/SATA.cc index f0d99d31..7f8f8a5d 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/SATA.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/SATA.cc @@ -82,7 +82,7 @@ static Kernel::Void drvi_calculate_disk_geometry() noexcept kout << "Disk Size: " << Kernel::number(drv_get_size()) << endl; kout << "Highest Disk LBA: " << Kernel::number(kCurrentDiskSectorCount) << endl; - delete [] identify_data; + delete[] identify_data; } /// @brief Initializes an AHCI disk. @@ -236,10 +236,10 @@ static Kernel::Void drvi_std_input_output(Kernel::UInt64 lba, Kernel::UInt8* buf if (kSATA->Is & kHBAErrTaskFile) Kernel::ke_panic(RUNTIME_CHECK_BAD_BEHAVIOR, "AHCI Read disk failure, faulty component."); - kSATA->Ports[kSATAPortIdx].Ie = 1; + kSATA->Ports[kSATAPortIdx].Ie = 1; kSATA->Ports[kSATAPortIdx].Cmd = kHBAPxCmdFR | kHBAPxCmdST; - kSATA->Ports[kSATAPortIdx].Ci = (1 << slot); + kSATA->Ports[kSATAPortIdx].Ci = (1 << slot); while (!drv_is_ready()) ; diff --git a/dev/Kernel/HALKit/ARM64/Processor.h b/dev/Kernel/HALKit/ARM64/Processor.h index 41e96c19..023b6bfb 100644 --- a/dev/Kernel/HALKit/ARM64/Processor.h +++ b/dev/Kernel/HALKit/ARM64/Processor.h @@ -79,7 +79,7 @@ namespace Kernel::HAL inline Void hal_wfi(Void) { - asm volatile ("wfi"); + asm volatile("wfi"); } } // namespace Kernel::HAL diff --git a/dev/Mod/MBCI/MBCI.h b/dev/Mod/MBCI/MBCI.h index 1857de47..c9ce73fb 100644 --- a/dev/Mod/MBCI/MBCI.h +++ b/dev/Mod/MBCI/MBCI.h @@ -47,10 +47,12 @@ namespace Kernel UInt16 HostFlags; UInt8 Error; UInt32 MMIOTest; + UInt16 State; UInt8 Status; UInt8 InterruptEnable; UInt64 BaseAddressRegister; UInt64 BaseAddressRegisterSize; + UInt32 CommandIssue; Char Zero[kMBCIZeroSz]; }; @@ -79,6 +81,18 @@ namespace Kernel kMBCIHostKindStartExtended, // Extended vendor table limit. }; + enum MBCIHostState + { + kMBCIHostStateInvalid, + kMBCIHostStateReset, + kMBCIHostStateSuccess, + kMBCIHostStateReady, + kMBCIHostStateDmaStart, + kMBCIHostStateDmaEnd, + kMBCIHostStateFail, + kMBCIHostStateCount, + }; + /// @brief An AuthKey is a context used to decrpy data from an MBCI packet. typedef UInt64 MBCIAuthKeyType; } // namespace Kernel diff --git a/dev/Usr/LibCF/Atom.h b/dev/Usr/LibCF/Atom.h index 9dde247e..dbb90c40 100644 --- a/dev/Usr/LibCF/Atom.h +++ b/dev/Usr/LibCF/Atom.h @@ -14,7 +14,7 @@ namespace LibCF { public: explicit CFAtom() = default; - ~CFAtom() = default; + ~CFAtom() = default; public: CFAtom& operator=(const CFAtom&) = delete; @@ -25,7 +25,7 @@ namespace LibCF { return (fArrayOfAtoms & (1 << bit)); } - + void operator|(SizeT bit) { fArrayOfAtoms |= (1 << bit); diff --git a/dev/Usr/LibCF/Ref.h b/dev/Usr/LibCF/Ref.h index 5ad694a8..46d8ac51 100644 --- a/dev/Usr/LibCF/Ref.h +++ b/dev/Usr/LibCF/Ref.h @@ -80,7 +80,7 @@ namespace LibCF class CFNonNullRef final { public: - CFNonNullRef() = delete; + CFNonNullRef() = delete; CFNonNullRef(nullPtr) = delete; CFNonNullRef(T* ref) |
