RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

HAL_ATAControllerInfo

Hardware Abstraction Layer
HAL entry points from RISC OS
ยป HAL_ATAControllerInfo

HAL_ATAControllerInfo

(HAL entry #97)
size_t HAL_ATAControllerInfo(int bus,union atainfo *info, size_t buflen)
Entry
bus Bus number to query
info Location to store controller information
buflen Maximum number of bytes that can be written to info
Exit
- Returns the amount of data that would be returned if not limited by len.
Returns 0 if the bus does not exist.

Use

This is an internal call for use by the ADFS module and should not be used by user software.

Looks up information about the given bus. The information is stored in a atainfo union:

 
union atainfo
{
    struct
    {
        uint32_t flags;
        volatile uint8_t *cmd;
        volatile uint8_t *ctrl;
        volatile uint8_t *bus_master_reg;
        int int_device;
        uint32_t available_pio_modes;
        uint32_t available_dma_modes;
        uint32_t available_ultradma_modes;
        uint16_t dma_id;              // see OS_Hardware device spec
        uint32_t dma_location;        //           "
        const char *dma_description;  //           "
        uint32_t dma_logical_channel; // or -1 to obtain at run-time
    } bus;
    struct
    {
        uint32_t buses;
        uint16_t dma_id;
        uint32_t dma_location;
        const char *dma_description;
    } group;
}

Available flags are:

Bit Meaning
0 Interrupt is shared (Warning: not supported yet)
1 32-bit PIO supported
2 IORDY flow control supported
3 48-bit LBA not supported

See also

  • HAL ATA API
Information source: HAL.Tungsten.doc.ATA in CVS
Revised on February 9, 2012 13:30:09 by Jeffrey Lee (213) (195.72.173.130)
Edit | Back in time (1 revision) | See changes | History | Views: Print | Source | Linked from: HAL entry points from RISC OS, HAL TODO, HAL entry points by number, HAL ATA API

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
  • Export
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys