Changeset 295 for soft/giet_vm/giet_drivers/bdv_driver.h
- Timestamp:
- Mar 26, 2014, 6:44:44 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_drivers/bdv_driver.h
r289 r295 7 7 /////////////////////////////////////////////////////////////////////////////////// 8 8 9 #ifndef _GIET_BDV_DRIVERS_H_ 10 #define _GIET_BDV_DRIVERS_H_ 11 12 #include <mapping_info.h> 9 #ifndef _GIET_BDV_DRIVER_H_ 10 #define _GIET_BDV_DRIVER_H_ 13 11 14 12 /////////////////////////////////////////////////////////////////////////////////// 15 // BDV access functions and variables (vci_block_device)13 // BDV global variables 16 14 /////////////////////////////////////////////////////////////////////////////////// 17 15 18 extern unsigned int _bdv_init( unsigned int channel ); 16 extern unsigned int _bdv_lock; // BDV is a shared ressource 17 extern volatile unsigned int _bdv_status; // required for IRQ signaling 18 extern volatile unsigned int _bdv_gtid; // descheduled task id = gpid<<16 + ltid 19 19 20 extern unsigned int _bdv_write( unsigned int mode, 21 unsigned int lba, 22 paddr_t buffer, 23 unsigned int count ); 20 /////////////////////////////////////////////////////////////////////////////////// 21 // BDV registers, operations and status values 22 /////////////////////////////////////////////////////////////////////////////////// 24 23 25 extern unsigned int _bdv_read( unsigned int mode, 26 unsigned int lba, 27 paddr_t buffer, 28 unsigned int count ); 24 enum BDV_registers 25 { 26 BLOCK_DEVICE_BUFFER, 27 BLOCK_DEVICE_LBA, 28 BLOCK_DEVICE_COUNT, 29 BLOCK_DEVICE_OP, 30 BLOCK_DEVICE_STATUS, 31 BLOCK_DEVICE_IRQ_ENABLE, 32 BLOCK_DEVICE_SIZE, 33 BLOCK_DEVICE_BLOCK_SIZE, 34 BLOCK_DEVICE_BUFFER_EXT, 35 }; 29 36 30 extern unsigned int _bdv_get_status( unsigned int channel, 31 unsigned int* status ); 37 enum BDV_operations 38 { 39 BLOCK_DEVICE_NOOP, 40 BLOCK_DEVICE_READ, 41 BLOCK_DEVICE_WRITE, 42 }; 43 44 enum BDV_status 45 { 46 BLOCK_DEVICE_IDLE, 47 BLOCK_DEVICE_BUSY, 48 BLOCK_DEVICE_READ_SUCCESS, 49 BLOCK_DEVICE_WRITE_SUCCESS, 50 BLOCK_DEVICE_READ_ERROR, 51 BLOCK_DEVICE_WRITE_ERROR, 52 BLOCK_DEVICE_ERROR, 53 }; 54 55 /////////////////////////////////////////////////////////////////////////////////// 56 // BDV access functions (vci_block_device) 57 /////////////////////////////////////////////////////////////////////////////////// 58 59 extern unsigned int _bdv_init(); 60 61 extern unsigned int _bdv_write( unsigned int mode, 62 unsigned int lba, 63 unsigned long long buffer, 64 unsigned int count ); 65 66 extern unsigned int _bdv_read( unsigned int mode, 67 unsigned int lba, 68 unsigned long long buffer, 69 unsigned int count ); 70 71 extern unsigned int _bdv_get_status(); 32 72 33 73 extern unsigned int _bdv_get_block_size(); 74 75 extern void _bdv_isr( unsigned irq_type, 76 unsigned irq_id, 77 unsigned channel ); 34 78 35 79 ///////////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.