cycx_cfm.h
001: 
002: 
003: 
004: 
005: <acme@conectiva.com.br>
006: 
007: 
008: 
009: <74604.152@compuserve.com>
010: 
011: 
012: 
013: 
014: 
015: 
016: 
017: 
018: #ifndef _CYCX_CFM_H
019: #define _CYCX_CFM_H
020: 
021: 
022: 
023: #define CFM_VERSION     2
024: #define CFM_SIGNATURE   "CFM - Cyclades CYCX Firmware Module"
025: 
026: 
027: #define CFM_IMAGE_SIZE  0x20000 
028: #define CFM_DESCR_LEN   256     
029: #define CFM_MAX_CYCX    1       
030: #define CFM_LOAD_BUFSZ  0x400   
031: 
032: 
033: #define GEN_POWER_ON    0x1280
034: 
035: #define GEN_SET_SEG     0x1401  
036: #define GEN_BOOT_DAT    0x1402  
037: #define GEN_START       0x1403  
038: #define GEN_DEFPAR      0x1404  
039: 
040: 
041: #define CYCX_2X         2
042: 
043: #define CYCX_8X         8
044: #define CYCX_16X        16
045: 
046: #define CFID_X25_2X     5200
047: 
048: 
049: 
050: @codeid
051: @version
052: @adapter
053: @memsize
054: @reserved
055: @startoffs
056: @winoffs
057: @codeoffs
058: @codesize
059: @dataoffs
060: @datasize
061: 
062: struct cycx_fw_info {
063:         unsigned short  codeid;
064:         unsigned short  version;
065:         unsigned short  adapter[CFM_MAX_CYCX];
066:         unsigned long   memsize;
067:         unsigned short  reserved[2];
068:         unsigned short  startoffs;
069:         unsigned short  winoffs;
070:         unsigned short  codeoffs;
071:         unsigned long   codesize;
072:         unsigned short  dataoffs;
073:         unsigned long   datasize;
074: };
075: 
076: 
077: 
078: @signature
079: @version
080: @checksum
081: @reserved
082: @descr
083: @info
084: @image
085: 
086: struct cycx_firmware {
087:         char                signature[80];
088:         unsigned short      version;
089:         unsigned short      checksum;
090:         unsigned short      reserved[6];
091:         char                descr[CFM_DESCR_LEN];
092:         struct cycx_fw_info info;
093:         unsigned char       image[0];
094: };
095: 
096: struct cycx_fw_header {
097:         unsigned long  reset_size;
098:         unsigned long  data_size;
099:         unsigned long  code_size;
100: };
101: #endif  
102: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved