/[dynamips]/upstream/dynamips-0.2.7-RC2/cisco_eeprom.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /upstream/dynamips-0.2.7-RC2/cisco_eeprom.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

upstream/dynamips-0.2.6-RC4/cisco_eeprom.c revision 5 by dpavlin, Sat Oct 6 16:08:03 2007 UTC upstream/dynamips-0.2.7-RC2/cisco_eeprom.c revision 8 by dpavlin, Sat Oct 6 16:24:54 2007 UTC
# Line 1  Line 1 
1  /*    /*  
2   * Cisco C7200 (Predator) simulation platform.   * Cisco router simulation platform.
3   * Copyright (c) 2006 Christophe Fillot.  All rights reserved.   * Copyright (c) 2006 Christophe Fillot.  All rights reserved.
4   *   *
5   * Cisco EEPROM manipulation functions.   * Cisco EEPROM manipulation functions.
# Line 18  Line 18 
18  /* ====================================================================== */  /* ====================================================================== */
19  /* NM-1E: 1 Ethernet Port Network Module EEPROM                           */  /* NM-1E: 1 Ethernet Port Network Module EEPROM                           */
20  /* ====================================================================== */  /* ====================================================================== */
21  static const m_uint16_t eeprom_nm_1e_data[] = {  static m_uint16_t eeprom_nm_1e_data[] = {
22     0x0143, 0x0100, 0x0075, 0xCD81, 0x500D, 0xA201, 0x0000, 0x0000,     0x0143, 0x0100, 0x0075, 0xCD81, 0x500D, 0xA201, 0x0000, 0x0000,
23     0x5800, 0x0000, 0x9803, 0x2000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x5800, 0x0000, 0x9803, 0x2000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
24  };  };
# Line 26  static const m_uint16_t eeprom_nm_1e_dat Line 26  static const m_uint16_t eeprom_nm_1e_dat
26  /* ====================================================================== */  /* ====================================================================== */
27  /* NM-4E: 4 Ethernet Port Network Module EEPROM                           */  /* NM-4E: 4 Ethernet Port Network Module EEPROM                           */
28  /* ====================================================================== */  /* ====================================================================== */
29  static const m_uint16_t eeprom_nm_4e_data[] = {  static m_uint16_t eeprom_nm_4e_data[] = {
30     0x0142, 0x0100, 0x0075, 0xCD81, 0x500D, 0xA201, 0x0000, 0x0000,     0x0142, 0x0100, 0x0075, 0xCD81, 0x500D, 0xA201, 0x0000, 0x0000,
31     0x5800, 0x0000, 0x9803, 0x2000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x5800, 0x0000, 0x9803, 0x2000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
32  };  };
# Line 34  static const m_uint16_t eeprom_nm_4e_dat Line 34  static const m_uint16_t eeprom_nm_4e_dat
34  /* ====================================================================== */  /* ====================================================================== */
35  /* NM-1FE-TX: 1 FastEthernet Port Network Module EEPROM                   */  /* NM-1FE-TX: 1 FastEthernet Port Network Module EEPROM                   */
36  /* ====================================================================== */  /* ====================================================================== */
37  static const m_uint16_t eeprom_nm_1fe_tx_data[] = {  static m_uint16_t eeprom_nm_1fe_tx_data[] = {
38     0x0144, 0x0100, 0x0075, 0xCD81, 0x500D, 0xA201, 0x0000, 0x0000,     0x0144, 0x0100, 0x0075, 0xCD81, 0x500D, 0xA201, 0x0000, 0x0000,
39     0x5800, 0x0000, 0x9803, 0x2000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x5800, 0x0000, 0x9803, 0x2000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
40  };  };
# Line 62  static m_uint16_t eeprom_nm_4t_data[] = Line 62  static m_uint16_t eeprom_nm_4t_data[] =
62  };  };
63    
64  /* ====================================================================== */  /* ====================================================================== */
65    /* NM-2E2W: 2 Ethernet ports with 2 WIC slots Module EEPROM               */
66    /* ====================================================================== */
67    static m_uint16_t eeprom_nm_2e2w_data[] = {
68       0x011E, 0x0102, 0x009A, 0xEBB1, 0x5004, 0x9305, 0x0000, 0x0000,
69       0x5000, 0x0000, 0x9808, 0x1217, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
70    };
71    
72    /* ====================================================================== */
73    /* NM-2W: 2 WIC slots Module EEPROM                                       */
74    /* ====================================================================== */
75    static m_uint16_t eeprom_nm_2w_data[] = {
76       0x04FF, 0x4000, 0xD641, 0x0100, 0xC046, 0x0320, 0x0012, 0xBF01,
77       0x4247, 0x3080, 0x0000, 0x0000, 0x0205, 0xC18B, 0x4A41, 0x4430,
78       0x3730, 0x3330, 0x375A, 0x3203, 0x0081, 0x0000, 0x0000, 0x0400,
79       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
80       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
81       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
82       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
83       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
84    };
85    
86    /* ====================================================================== */
87    /* NM-1A-OC3MM: 1 ATM OC3 port Module EEPROM                              */
88    /* ====================================================================== */
89    static m_uint16_t eeprom_nm_1a_oc3mm_data[] = {
90       0x019A, 0x0100, 0x015B, 0x41D9, 0x500E, 0x7402, 0x0000, 0x0000,
91       0x7800, 0x0000, 0x0011, 0x2117, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
92    };
93    
94    /* ====================================================================== */
95  /* NM EEPROMs                                                             */  /* NM EEPROMs                                                             */
96  /* ====================================================================== */  /* ====================================================================== */
97    
98  static const struct cisco_eeprom eeprom_nm_array[] = {  static const struct cisco_eeprom eeprom_nm_array[] = {
99     { "NM-1E", (m_uint16_t *)eeprom_nm_1e_data, sizeof(eeprom_nm_1e_data)/2 },     { "NM-1E", eeprom_nm_1e_data, sizeof(eeprom_nm_1e_data)/2 },
100     { "NM-4E", (m_uint16_t *)eeprom_nm_4e_data, sizeof(eeprom_nm_4e_data)/2 },     { "NM-4E", eeprom_nm_4e_data, sizeof(eeprom_nm_4e_data)/2 },
101     { "NM-1FE-TX", (m_uint16_t *)eeprom_nm_1fe_tx_data,     { "NM-1FE-TX", eeprom_nm_1fe_tx_data, sizeof(eeprom_nm_1fe_tx_data)/2 },
102       sizeof(eeprom_nm_1fe_tx_data)/2 },     { "NM-16ESW", eeprom_nm_16esw_data, sizeof(eeprom_nm_16esw_data)/2 },
    { "NM-16ESW", (m_uint16_t *)eeprom_nm_16esw_data,  
      sizeof(eeprom_nm_16esw_data)/2 },  
103     { "NM-4T", eeprom_nm_4t_data, sizeof(eeprom_nm_4t_data)/2 },     { "NM-4T", eeprom_nm_4t_data, sizeof(eeprom_nm_4t_data)/2 },
104       { "NM-2E2W", eeprom_nm_2e2w_data, sizeof(eeprom_nm_2e2w_data)/2 },
105       { "NM-2W", eeprom_nm_2w_data, sizeof(eeprom_nm_2w_data)/2 },
106       { "NM-1A-OC3MM", eeprom_nm_1a_oc3mm_data,
107         sizeof(eeprom_nm_1a_oc3mm_data)/2 },
108     { NULL, NULL, 0 },     { NULL, NULL, 0 },
109  };  };
110    
# Line 85  const struct cisco_eeprom *cisco_eeprom_ Line 117  const struct cisco_eeprom *cisco_eeprom_
117  /* ====================================================================== */  /* ====================================================================== */
118  /* PA-FE-TX: 1 FastEthernet Port Adapter EEPROM                           */  /* PA-FE-TX: 1 FastEthernet Port Adapter EEPROM                           */
119  /* ====================================================================== */  /* ====================================================================== */
120  static const m_uint16_t eeprom_pa_fe_tx_data[] = {  static m_uint16_t eeprom_pa_fe_tx_data[] = {
121     0x0111, 0x0102, 0xffff, 0xffff, 0x4906, 0x9804, 0x0000, 0x0000,     0x0111, 0x0102, 0xffff, 0xffff, 0x4906, 0x9804, 0x0000, 0x0000,
122     0x6000, 0x0000, 0x9812, 0x1700, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x6000, 0x0000, 0x9812, 0x1700, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
123  };  };
124    
125  /* ====================================================================== */  /* ====================================================================== */
126    /* PA-2FE-TX: 2 FastEthernet Port Adapter EEPROM                          */
127    /* ====================================================================== */
128    static m_uint16_t eeprom_pa_2fe_tx_data[] = {
129       0x04FF, 0x4002, 0x2441, 0x0100, 0xC18B, 0x5858, 0x5830, 0x3030,
130       0x3030, 0x3030, 0x3082, 0x4915, 0x2C04, 0x4241, 0x3003, 0x0081,
131       0x0000, 0x0000, 0x0400, 0x8000, 0x0000, 0x00CB, 0x9450, 0x412D,
132       0x3246, 0x452D, 0x4658, 0x2020, 0x2020, 0x2020, 0x2020, 0x2020,
133       0x20C0, 0x4603, 0x2000, 0x20A0, 0x04FF, 0xFFFF, 0xFFFF, 0xFFFF,
134       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
135       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
136       0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
137    };
138    
139    /* ====================================================================== */
140    /* PA-GE: 1 GigabitEthernet Port Adapter EEPROM                           */
141    /* ====================================================================== */
142    static m_uint16_t eeprom_pa_ge_data[] = {
143       0x0198, 0x0100, 0x0000, 0x0000, 0x000C, 0x4803, 0x0000, 0x0000,
144       0x5000, 0x0000, 0x9906, 0x0300, 0x0001, 0xFFFF, 0xFFFF, 0xFFFF,
145    };
146    
147    /* ====================================================================== */
148  /* PA-4E: 4 Ethernet Port Adapter EEPROM                                  */  /* PA-4E: 4 Ethernet Port Adapter EEPROM                                  */
149  /* ====================================================================== */  /* ====================================================================== */
150  static const m_uint16_t eeprom_pa_4e_data[] = {  static m_uint16_t eeprom_pa_4e_data[] = {
151     0x0102, 0x010E, 0xFFFF, 0xFFFF, 0x4906, 0x1404, 0x0000, 0x0000,     0x0102, 0x010E, 0xFFFF, 0xFFFF, 0x4906, 0x1404, 0x0000, 0x0000,
152     0x5000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x5000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
153  };  };
# Line 101  static const m_uint16_t eeprom_pa_4e_dat Line 155  static const m_uint16_t eeprom_pa_4e_dat
155  /* ====================================================================== */  /* ====================================================================== */
156  /* PA-8E: 8 Ethernet Port Adapter EEPROM                                  */  /* PA-8E: 8 Ethernet Port Adapter EEPROM                                  */
157  /* ====================================================================== */  /* ====================================================================== */
158  static const m_uint16_t eeprom_pa_8e_data[] = {  static m_uint16_t eeprom_pa_8e_data[] = {
159     0x0101, 0x010E, 0xFFFF, 0xFFFF, 0x4906, 0x1404, 0x0000, 0x0000,     0x0101, 0x010E, 0xFFFF, 0xFFFF, 0x4906, 0x1404, 0x0000, 0x0000,
160     0x5000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x5000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
161  };  };
# Line 125  static m_uint16_t eeprom_pa_8t_data[] = Line 179  static m_uint16_t eeprom_pa_8t_data[] =
179  /* ====================================================================== */  /* ====================================================================== */
180  /* PA-A1: 1 ATM Port Adapter EEPROM                                       */  /* PA-A1: 1 ATM Port Adapter EEPROM                                       */
181  /* ====================================================================== */  /* ====================================================================== */
182  static const m_uint16_t eeprom_pa_a1_data[] = {  static m_uint16_t eeprom_pa_a1_data[] = {
183     0x0117, 0x010F, 0xffff, 0xffff, 0x4906, 0x2E07, 0x0000, 0x0000,     0x0117, 0x010F, 0xffff, 0xffff, 0x4906, 0x2E07, 0x0000, 0x0000,
184     0x5000, 0x0000, 0x0010, 0x2400, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,     0x5000, 0x0000, 0x0010, 0x2400, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
185  };  };
# Line 133  static const m_uint16_t eeprom_pa_a1_dat Line 187  static const m_uint16_t eeprom_pa_a1_dat
187  /* ====================================================================== */  /* ====================================================================== */
188  /* PA-POS-OC3: 1 POS Port Adapter EEPROM                                   */  /* PA-POS-OC3: 1 POS Port Adapter EEPROM                                   */
189  /* ====================================================================== */  /* ====================================================================== */
190  static const m_uint16_t eeprom_pa_pos_oc3_data[] = {  static m_uint16_t eeprom_pa_pos_oc3_data[] = {
191     0x0196, 0x0202, 0xffff, 0xffff, 0x490C, 0x7806, 0x0000, 0x0000,     0x0196, 0x0202, 0xffff, 0xffff, 0x490C, 0x7806, 0x0000, 0x0000,
192     0x5000, 0x0000, 0x0208, 0x1900, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,     0x5000, 0x0000, 0x0208, 0x1900, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
193  };  };
# Line 141  static const m_uint16_t eeprom_pa_pos_oc Line 195  static const m_uint16_t eeprom_pa_pos_oc
195  /* ====================================================================== */  /* ====================================================================== */
196  /* PA-4B: 4 BRI Port Adapter EEPROM                                       */  /* PA-4B: 4 BRI Port Adapter EEPROM                                       */
197  /* ====================================================================== */  /* ====================================================================== */
198  static const m_uint16_t eeprom_pa_4b_data[] = {  static m_uint16_t eeprom_pa_4b_data[] = {
199     0x013D, 0x0202, 0xffff, 0xffff, 0x490C, 0x7806, 0x0000, 0x0000,     0x013D, 0x0202, 0xffff, 0xffff, 0x490C, 0x7806, 0x0000, 0x0000,
200     0x5000, 0x0000, 0x0208, 0x1900, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,     0x5000, 0x0000, 0x0208, 0x1900, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
201  };  };
# Line 149  static const m_uint16_t eeprom_pa_4b_dat Line 203  static const m_uint16_t eeprom_pa_4b_dat
203  /* ====================================================================== */  /* ====================================================================== */
204  /* PA-MC-8TE1                                                             */  /* PA-MC-8TE1                                                             */
205  /* ====================================================================== */  /* ====================================================================== */
206  static const m_uint16_t eeprom_pa_mc8te1_data[] = {  static m_uint16_t eeprom_pa_mc8te1_data[] = {
207     0x04FF, 0x4003, 0x4E41, 0x0200, 0xC18B, 0x4A41, 0x4530, 0x3834,     0x04FF, 0x4003, 0x4E41, 0x0200, 0xC18B, 0x4A41, 0x4530, 0x3834,
208     0x3159, 0x3251, 0x3082, 0x491D, 0x7D02, 0x4241, 0x3003, 0x0081,     0x3159, 0x3251, 0x3082, 0x491D, 0x7D02, 0x4241, 0x3003, 0x0081,
209     0x0000, 0x0000, 0x0400, 0x8000, 0x0127, 0x9BCB, 0x9450, 0x412D,     0x0000, 0x0000, 0x0400, 0x8000, 0x0127, 0x9BCB, 0x9450, 0x412D,
# Line 165  static const m_uint16_t eeprom_pa_mc8te1 Line 219  static const m_uint16_t eeprom_pa_mc8te1
219  /* ====================================================================== */  /* ====================================================================== */
220    
221  static const struct cisco_eeprom eeprom_pa_array[] = {  static const struct cisco_eeprom eeprom_pa_array[] = {
222     { "PA-FE-TX", (m_uint16_t *)eeprom_pa_fe_tx_data,     { "PA-FE-TX", eeprom_pa_fe_tx_data, sizeof(eeprom_pa_fe_tx_data)/2 },
223       sizeof(eeprom_pa_fe_tx_data)/2 },     { "PA-2FE-TX", eeprom_pa_2fe_tx_data, sizeof(eeprom_pa_2fe_tx_data)/2 },
224     { "PA-4E", (m_uint16_t *)eeprom_pa_4e_data, sizeof(eeprom_pa_4e_data)/2 },     { "PA-GE", eeprom_pa_ge_data, sizeof(eeprom_pa_ge_data)/2 },
225     { "PA-8E", (m_uint16_t *)eeprom_pa_8e_data, sizeof(eeprom_pa_8e_data)/2 },     { "PA-4E", eeprom_pa_4e_data, sizeof(eeprom_pa_4e_data)/2 },
226       { "PA-8E", eeprom_pa_8e_data, sizeof(eeprom_pa_8e_data)/2 },
227     { "PA-4T+", eeprom_pa_4t_data, sizeof(eeprom_pa_4t_data)/2 },     { "PA-4T+", eeprom_pa_4t_data, sizeof(eeprom_pa_4t_data)/2 },
228     { "PA-8T", eeprom_pa_8t_data, sizeof(eeprom_pa_8t_data)/2 },     { "PA-8T", eeprom_pa_8t_data, sizeof(eeprom_pa_8t_data)/2 },
229     { "PA-A1", (m_uint16_t *)eeprom_pa_a1_data, sizeof(eeprom_pa_a1_data)/2 },     { "PA-A1", eeprom_pa_a1_data, sizeof(eeprom_pa_a1_data)/2 },
230     { "PA-POS-OC3", (m_uint16_t *)eeprom_pa_pos_oc3_data,     { "PA-POS-OC3", eeprom_pa_pos_oc3_data, sizeof(eeprom_pa_pos_oc3_data)/2 },
231       sizeof(eeprom_pa_pos_oc3_data)/2 },     { "PA-4B", eeprom_pa_4b_data, sizeof(eeprom_pa_4b_data)/2 },
232     { "PA-4B", (m_uint16_t *)eeprom_pa_4b_data, sizeof(eeprom_pa_4b_data)/2 },     { "PA-MC-8TE1", eeprom_pa_mc8te1_data, sizeof(eeprom_pa_mc8te1_data)/2 },
    { "PA-MC-8TE1", (m_uint16_t *)eeprom_pa_mc8te1_data,  
      sizeof(eeprom_pa_mc8te1_data)/2 },  
233     { NULL, NULL, 0 },     { NULL, NULL, 0 },
234  };  };
235    

Legend:
Removed from v.5  
changed lines
  Added in v.8

  ViewVC Help
Powered by ViewVC 1.1.26