NeKernel dev
Loading...
Searching...
No Matches
BootATA.cc File Reference

ATA driver. More...

#include <BootKit/BootKit.h>
#include <BootKit/HW/ATA.h>
#include <FirmwareKit/EFI.h>

Macros

#define kATADataLen   (256)

Functions

Boolean boot_ata_detected (Void)
 @check is ATA detected?
STATIC Boolean boot_ata_wait_io (UInt16 IO)
Void boot_ata_select (UInt16 Bus)
Boolean boot_ata_init (UInt16 Bus, UInt8 Drive, UInt16 &OutBus, UInt8 &OutMaster)
Void boot_ata_read (UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeASCII *Buf, SizeT SectorSz, SizeT Size)
Void boot_ata_write (UInt64 Lba, UInt16 IO, UInt8 Master, CharacterTypeASCII *Buf, SizeT SectorSz, SizeT Size)

Detailed Description

ATA driver.

Author
Amlal El Mahrouss (amlal.nosp@m.@nek.nosp@m.ernel.nosp@m..org)
Version
0.1
Date
2024-02-02

Macro Definition Documentation

◆ kATADataLen

#define kATADataLen   (256)

Function Documentation

◆ boot_ata_detected()

Boolean boot_ata_detected ( Void )

@check is ATA detected?

◆ boot_ata_init()

Boolean boot_ata_init ( UInt16 Bus,
UInt8 Drive,
UInt16 & OutBus,
UInt8 & OutMaster )

fetch serial info model, speed, number of sectors...

◆ boot_ata_read()

Void boot_ata_read ( UInt64 Lba,
UInt16 IO,
UInt8 Master,
CharacterTypeASCII * Buf,
SizeT SectorSz,
SizeT Size )

◆ boot_ata_select()

Void boot_ata_select ( UInt16 Bus)

◆ boot_ata_wait_io()

STATIC Boolean boot_ata_wait_io ( UInt16 IO)

◆ boot_ata_write()

Void boot_ata_write ( UInt64 Lba,
UInt16 IO,
UInt8 Master,
CharacterTypeASCII * Buf,
SizeT SectorSz,
SizeT Size )