MicrOS
harddisk_control_device_control_register_fields Struct Reference

Hard disk Control based Device Control Register. More...

#include <harddisk_pio_mode_header.h>

Public Attributes

uint8_t always_clear_field_1: 1
 Always set to zero. More...
 
uint8_t stop_sending_interrupts: 1
 Set this to stop the current device from sending interrupts (short: nIEN). More...
 
uint8_t software_reset: 1
 Set, then clear (after 5us), this to do a "Software Reset" on all ATA drives on a bus, if one is misbehaving (short: SRST). More...
 
uint8_t reserved_field_4: 1
 Reserved, set to zero. More...
 
uint8_t reserved_field_3: 1
 Reserved, set to zero. More...
 
uint8_t reserved_field_2: 1
 Reserved, set to zero. More...
 
uint8_t reserved_field_1: 1
 Reserved, set to zero. More...
 
uint8_t high_order_byte_read: 1
 Set this to read back the High Order Byte of the last LBA48 value sent to an IO port (short: HOB). More...
 

Detailed Description

Hard disk Control based Device Control Register.

Struct used to read from Device Control Register of Control port. Used to reset the bus or enable/disable interrupts. There is an additional IO port that changes the behavior of each ATA bus, called the Device Control Register. Each ATA bus has its own Control Register. All other bits are reserved and should always be clear. In general, you will want to leave HOB, SRST, and nIEN cleared. Set each Device Control Register to 0 once, during boot.

Member Data Documentation

◆ always_clear_field_1

uint8_t harddisk_control_device_control_register_fields::always_clear_field_1

Always set to zero.

◆ high_order_byte_read

uint8_t harddisk_control_device_control_register_fields::high_order_byte_read

Set this to read back the High Order Byte of the last LBA48 value sent to an IO port (short: HOB).

◆ reserved_field_1

uint8_t harddisk_control_device_control_register_fields::reserved_field_1

Reserved, set to zero.

◆ reserved_field_2

uint8_t harddisk_control_device_control_register_fields::reserved_field_2

Reserved, set to zero.

◆ reserved_field_3

uint8_t harddisk_control_device_control_register_fields::reserved_field_3

Reserved, set to zero.

◆ reserved_field_4

uint8_t harddisk_control_device_control_register_fields::reserved_field_4

Reserved, set to zero.

◆ software_reset

uint8_t harddisk_control_device_control_register_fields::software_reset

Set, then clear (after 5us), this to do a "Software Reset" on all ATA drives on a bus, if one is misbehaving (short: SRST).

◆ stop_sending_interrupts

uint8_t harddisk_control_device_control_register_fields::stop_sending_interrupts

Set this to stop the current device from sending interrupts (short: nIEN).


The documentation for this struct was generated from the following file: