Changeset 437 for soft/giet_vm/giet_drivers/hba_driver.h
- Timestamp:
- Nov 3, 2014, 10:53:00 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_drivers/hba_driver.h
r295 r437 5 5 // Copyright (c) UPMC-LIP6 6 6 /////////////////////////////////////////////////////////////////////////////////// 7 // The hba_driver.c and hba_driver.h files are part ot the GIET-VM kernel. 8 // This driver supports the SocLib VciMultiAhci component, that is a multi-channels, 9 // block oriented, external storage contrÃŽler, respecting the AHCI standard. 10 // 11 // The SEG_IOC_BASE virtual address must be defined in the hard_config.h file. 12 ////////////////////////////////////////////////////////////////////////////////// 7 13 8 14 #ifndef _GIET_HBA_DRIVERS_H_ … … 94 100 95 101 /////////////////////////////////////////////////////////////////////////////////// 96 // HBA device access functions (vci_hba)102 // access functions 97 103 /////////////////////////////////////////////////////////////////////////////////// 98 104 105 /////////////////////////////////////////////////////////////////////////////////// 106 // This function initializes for a given channel 107 // - the HBA hardware registers, 108 // - the command list pointer, 109 // - the command lists physical addresse, 110 // - the command tables physical addresses array, 111 /////////////////////////////////////////////////////////////////////////////////// 99 112 extern unsigned int _hba_init ( unsigned int channel ); 100 113 114 /////////////////////////////////////////////////////////////////////////////////// 115 // This function register a write command in Command List and Command Table 116 // for a single physical buffer, and updates the HBA_PXCI register. 117 // Returns 0 if success, > 0 if error. 118 /////////////////////////////////////////////////////////////////////////////////// 101 119 extern unsigned int _hba_write( unsigned int channel, // channel index 102 120 unsigned int mode, // BOOT / KERNEL / USER … … 105 123 unsigned int count ); // number of blocs 106 124 125 ////////////////////////////////////////////////////////////////////////////////// 126 // This function register a read command in Command List and Command Table 127 // for a single physical buffer, and updates the HBA_PXCI register. 128 // Returns 0 if success, > 0 if error. 129 ////////////////////////////////////////////////////////////////////////////////// 107 130 extern unsigned int _hba_read ( unsigned int channel, // channel index 108 131 unsigned int mode, // BOOT / KERNEL / USER … … 111 134 unsigned int count ); // number of blocks 112 135 136 ///////////////////////////////////////////////////////////////////////////////// 137 // This function returns the block_size of HBA controller 138 ///////////////////////////////////////////////////////////////////////////////// 139 extern unsigned int _hba_get_block_size (); 140 141 ///////////////////////////////////////////////////////////////////////////////////// 142 // This function returns the content of the HBA_PXIS register for a given channel, 143 // and reset this register to acknoledge IRQ. 144 // return 0 if success, > 0 if error 145 ///////////////////////////////////////////////////////////////////////////////////// 113 146 extern unsigned int _hba_get_status( unsigned int channel ); 114 115 extern unsigned int _hba_get_block_size ();116 147 117 148
Note: See TracChangeset
for help on using the changeset viewer.