BarinkOS/source/kernel/drivers/IO/ata/ataDevice.h

32 lines
589 B
C++

#pragma once
#include <stdint.h>
#include "../io.h"
#include "../../../ide/ideCommands.h"
#include "../../../ide/sampleIDE.definitions.h"
#include "../../../tty/kterm.h"
/*
* This first driver wil make use of IO ports.
* Doing so means reading or writing from disk is going
* to be very cpu intensive.
*
*/
enum DEVICE_DRIVE{
MASTER = 0xA0,
SLAVE = 0xB0
};
namespace ATA_DEVICE{
void Identify(uint16_t, DEVICE_DRIVE);
void Read (uint16_t, DEVICE_DRIVE, uint32_t, uint16_t*);
void Write(uint16_t, DEVICE_DRIVE);
void Soft_Reset(uint8_t ,DEVICE_DRIVE );
};