I thought that I had an PC without LBA support so I implement support for CHS. Turns out that my ATA device detection was broken and was no device on that port and initialize data was just garbage. Now that I added CHS, I guess I should just keep it in :) Both ATA read and write are now combined into a single function to avoid code duplication.
34 lines
432 B
C++
34 lines
432 B
C++
#pragma once
|
|
|
|
namespace Kernel
|
|
{
|
|
|
|
enum class ErrorCode
|
|
{
|
|
None,
|
|
ACPI_NoRootSDT,
|
|
ACPI_NoSuchHeader,
|
|
ACPI_RootInvalid,
|
|
Ext2_Invalid,
|
|
Ext2_Corrupted,
|
|
Ext2_NoInodes,
|
|
Storage_Boundaries,
|
|
Storage_GPTHeader,
|
|
ATA_AMNF,
|
|
ATA_TKZNF,
|
|
ATA_ABRT,
|
|
ATA_MCR,
|
|
ATA_IDNF,
|
|
ATA_MC,
|
|
ATA_UNC,
|
|
ATA_BBK,
|
|
ATA_UnsupportedDevice,
|
|
Font_FileTooSmall,
|
|
Font_Unsupported,
|
|
Count
|
|
};
|
|
|
|
const char* error_string(ErrorCode);
|
|
|
|
}
|