/[dynamips]/upstream/dynamips-0.2.6-RC3/dev_c7200_pos.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.6-RC3/dev_c7200_pos.c

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

upstream/dynamips-0.2.6-RC2/dev_c7200_pos.c revision 3 by dpavlin, Sat Oct 6 16:05:34 2007 UTC upstream/dynamips-0.2.6-RC3/dev_c7200_pos.c revision 4 by dpavlin, Sat Oct 6 16:06:49 2007 UTC
# Line 27  Line 27 
27  #include "net_io.h"  #include "net_io.h"
28  #include "ptask.h"  #include "ptask.h"
29  #include "dev_c7200.h"  #include "dev_c7200.h"
30    #include "dev_plx.h"
31    
32  /* Debugging flags */  /* Debugging flags */
33  #define DEBUG_ACCESS    0  #define DEBUG_ACCESS    0
# Line 653  int dev_c7200_pa_pos_init(c7200_t *route Line 654  int dev_c7200_pa_pos_init(c7200_t *route
654     d->rx_dev.name      = d->rx_name;     d->rx_dev.name      = d->rx_name;
655     d->rx_dev.priv_data = d;     d->rx_dev.priv_data = d;
656     d->rx_dev.handler   = dev_pos_rx_access;     d->rx_dev.handler   = dev_pos_rx_access;
    vm_bind_device(d->vm,&d->rx_dev);  
657    
658     /* Initialize TX device */     /* Initialize TX device */
659     d->tx_name = dyn_sprintf("%s_TX",name);     d->tx_name = dyn_sprintf("%s_TX",name);
# Line 661  int dev_c7200_pa_pos_init(c7200_t *route Line 661  int dev_c7200_pa_pos_init(c7200_t *route
661     d->tx_dev.name      = d->tx_name;     d->tx_dev.name      = d->tx_name;
662     d->tx_dev.priv_data = d;     d->tx_dev.priv_data = d;
663     d->tx_dev.handler   = dev_pos_tx_access;     d->tx_dev.handler   = dev_pos_tx_access;
    vm_bind_device(d->vm,&d->tx_dev);  
664    
665     /* Initialize CS device */     /* Initialize CS device */
666     d->cs_name = dyn_sprintf("%s_CS",name);     d->cs_name = dyn_sprintf("%s_CS",name);
# Line 669  int dev_c7200_pa_pos_init(c7200_t *route Line 668  int dev_c7200_pa_pos_init(c7200_t *route
668     d->cs_dev.name      = d->cs_name;     d->cs_dev.name      = d->cs_name;
669     d->cs_dev.priv_data = d;     d->cs_dev.priv_data = d;
670     d->cs_dev.handler   = dev_pos_cs_access;     d->cs_dev.handler   = dev_pos_cs_access;
    vm_bind_device(d->vm,&d->cs_dev);  
671    
672     /* Initialize PLX9060 for RX part */     /* Initialize PLX9060 for RX part */
673     d->rx_obj = dev_plx9060_init(d->vm,d->rx_name,pci_bus,0,&d->rx_dev);     d->rx_obj = dev_plx9060_init(d->vm,d->rx_name,pci_bus,0,&d->rx_dev);
# Line 686  int dev_c7200_pa_pos_init(c7200_t *route Line 684  int dev_c7200_pa_pos_init(c7200_t *route
684     d->dev.priv_data = d;     d->dev.priv_data = d;
685     d->dev.phys_len  = 0x10000;     d->dev.phys_len  = 0x10000;
686     d->dev.handler   = dev_pos_access;     d->dev.handler   = dev_pos_access;
    vm_bind_device(d->vm,&d->dev);  
687    
688     d->pci_dev = pci_dev_add(pci_bus,name,0,0,3,0,C7200_NETIO_IRQ,     d->pci_dev = pci_dev_add(pci_bus,name,0,0,3,0,C7200_NETIO_IRQ,
689                              d,NULL,pci_pos_read,pci_pos_write);                              d,NULL,pci_pos_read,pci_pos_write);
# Line 717  int dev_c7200_pa_pos_shutdown(c7200_t *r Line 714  int dev_c7200_pa_pos_shutdown(c7200_t *r
714     vm_object_remove(d->vm,d->tx_obj);     vm_object_remove(d->vm,d->tx_obj);
715     vm_object_remove(d->vm,d->cs_obj);     vm_object_remove(d->vm,d->cs_obj);
716    
717     /* Remove the device from the CPU address space */     /* Remove the devices from the CPU address space */
718       vm_unbind_device(router->vm,&d->rx_dev);
719       vm_unbind_device(router->vm,&d->tx_dev);
720       vm_unbind_device(router->vm,&d->cs_dev);
721    
722     vm_unbind_device(router->vm,&d->dev);     vm_unbind_device(router->vm,&d->dev);
723     cpu_group_rebuild_mts(router->vm->cpu_group);     cpu_group_rebuild_mts(router->vm->cpu_group);
724    

Legend:
Removed from v.3  
changed lines
  Added in v.4

  ViewVC Help
Powered by ViewVC 1.1.26