37 |
/* PA-MC-8TE1 Data */ |
/* PA-MC-8TE1 Data */ |
38 |
struct pa_mc_data { |
struct pa_mc_data { |
39 |
char *name; |
char *name; |
40 |
|
u_int irq; |
41 |
|
|
42 |
/* Virtual machine */ |
/* Virtual machine */ |
43 |
vm_instance_t *vm; |
vm_instance_t *vm; |
52 |
m_uint8_t ssram_data[0x20000]; |
m_uint8_t ssram_data[0x20000]; |
53 |
|
|
54 |
/* PLX9054 */ |
/* PLX9054 */ |
55 |
|
char *plx_name; |
56 |
vm_obj_t *plx_obj; |
vm_obj_t *plx_obj; |
57 |
|
|
58 |
/* NetIO descriptor */ |
/* NetIO descriptor */ |
137 |
printf("DOORBELL: 0x%x\n",val); |
printf("DOORBELL: 0x%x\n",val); |
138 |
|
|
139 |
/* Trigger interrupt */ |
/* Trigger interrupt */ |
140 |
vm_set_irq(pa_data->vm,2); |
//vm_set_irq(pa_data->vm,pa_data->irq); |
141 |
vm_set_irq(pa_data->vm,3); |
vm_set_irq(pa_data->vm,3); |
142 |
} |
} |
143 |
|
|
240 |
memset(d,0,sizeof(*d)); |
memset(d,0,sizeof(*d)); |
241 |
d->name = name; |
d->name = name; |
242 |
d->vm = router->vm; |
d->vm = router->vm; |
243 |
|
d->irq = c7200_net_irq_for_slot_port(pa_bay,0); |
244 |
|
|
245 |
/* Set the EEPROM */ |
/* Set the EEPROM */ |
246 |
c7200_pa_set_eeprom(router,pa_bay,cisco_eeprom_find_pa("PA-MC-8TE1")); |
c7200_pa_set_eeprom(router,pa_bay,cisco_eeprom_find_pa("PA-MC-8TE1")); |
248 |
/* Create the PM7380 */ |
/* Create the PM7380 */ |
249 |
d->pci_dev = pci_dev_add(router->pa_bay[pa_bay].pci_map,name, |
d->pci_dev = pci_dev_add(router->pa_bay[pa_bay].pci_map,name, |
250 |
0x11f8, 0x7380, |
0x11f8, 0x7380, |
251 |
0,0,C7200_NETIO_IRQ,d, |
0,0,d->irq,d, |
252 |
NULL,pci_pos_read,pci_pos_write); |
NULL,pci_pos_read,pci_pos_write); |
253 |
|
|
254 |
/* Initialize SSRAM device */ |
/* Initialize SSRAM device */ |
259 |
d->ssram_dev.handler = dev_ssram_access; |
d->ssram_dev.handler = dev_ssram_access; |
260 |
|
|
261 |
/* Create the PLX9054 */ |
/* Create the PLX9054 */ |
262 |
d->plx_obj = dev_plx9054_init(d->vm,d->name, |
d->plx_name = dyn_sprintf("%s_plx",name); |
263 |
|
d->plx_obj = dev_plx9054_init(d->vm,d->plx_name, |
264 |
router->pa_bay[pa_bay].pci_map,1, |
router->pa_bay[pa_bay].pci_map,1, |
265 |
&d->ssram_dev,NULL); |
&d->ssram_dev,NULL); |
266 |
|
|