/[dynamips]/upstream/dynamips-0.2.7-RC1/dev_am79c971.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-RC1/dev_am79c971.c

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

upstream/dynamips-0.2.6-RC5/dev_am79c971.c revision 6 by dpavlin, Sat Oct 6 16:09:07 2007 UTC upstream/dynamips-0.2.7-RC1/dev_am79c971.c revision 7 by dpavlin, Sat Oct 6 16:23:47 2007 UTC
# Line 1  Line 1 
1  /*    /*  
2   * Cisco C7200 (Predator) AMD Am79c971 Module.   * Cisco router simulation platform.
3   * Copyright (C) 2006 Christophe Fillot.  All rights reserved.   * Copyright (C) 2006 Christophe Fillot.  All rights reserved.
4   *   *
5   * AMD Am79c971 FastEthernet chip emulation.   * AMD Am79c971 FastEthernet chip emulation.
# Line 15  Line 15 
15  #include <assert.h>  #include <assert.h>
16    
17  #include "utils.h"  #include "utils.h"
18  #include "mips64.h"  #include "cpu.h"
19    #include "vm.h"
20  #include "dynamips.h"  #include "dynamips.h"
21  #include "memory.h"  #include "memory.h"
22  #include "device.h"  #include "device.h"
# Line 334  static int am79c971_fetch_init_block(str Line 335  static int am79c971_fetch_init_block(str
335  }  }
336    
337  /* RDP (Register Data Port) access */  /* RDP (Register Data Port) access */
338  static void am79c971_rdp_access(cpu_mips_t *cpu,struct am79c971_data *d,  static void am79c971_rdp_access(cpu_gen_t *cpu,struct am79c971_data *d,
339                                  u_int op_type,m_uint64_t *data)                                  u_int op_type,m_uint64_t *data)
340  {  {
341     m_uint32_t mask;     m_uint32_t mask;
# Line 442  static void am79c971_rdp_access(cpu_mips Line 443  static void am79c971_rdp_access(cpu_mips
443  }  }
444    
445  /* BDP (BCR Data Port) access */  /* BDP (BCR Data Port) access */
446  static void am79c971_bdp_access(cpu_mips_t *cpu,struct am79c971_data *d,  static void am79c971_bdp_access(cpu_gen_t *cpu,struct am79c971_data *d,
447                                  u_int op_type,m_uint64_t *data)                                  u_int op_type,m_uint64_t *data)
448  {  {
449     u_int mii_phy,mii_reg;     u_int mii_phy,mii_reg;
# Line 492  static void am79c971_bdp_access(cpu_mips Line 493  static void am79c971_bdp_access(cpu_mips
493  /*  /*
494   * dev_am79c971_access()   * dev_am79c971_access()
495   */   */
496  void *dev_am79c971_access(cpu_mips_t *cpu,struct vdevice *dev,  void *dev_am79c971_access(cpu_gen_t *cpu,struct vdevice *dev,
497                            m_uint32_t offset,u_int op_size,u_int op_type,                            m_uint32_t offset,u_int op_size,u_int op_type,
498                            m_uint64_t *data)                            m_uint64_t *data)
499  {  {
# Line 504  void *dev_am79c971_access(cpu_mips_t *cp Line 505  void *dev_am79c971_access(cpu_mips_t *cp
505  #if DEBUG_ACCESS  #if DEBUG_ACCESS
506     if (op_type == MTS_READ) {     if (op_type == MTS_READ) {
507        cpu_log(cpu,d->name,"read  access to offset=0x%x, pc=0x%llx, size=%u\n",        cpu_log(cpu,d->name,"read  access to offset=0x%x, pc=0x%llx, size=%u\n",
508                offset,cpu->pc,op_size);                offset,cpu_get_pc(cpu),op_size);
509     } else {     } else {
510        cpu_log(cpu,d->name,"write access to offset=0x%x, pc=0x%llx, "        cpu_log(cpu,d->name,"write access to offset=0x%x, pc=0x%llx, "
511                "val=0x%llx, size=%u\n",offset,cpu->pc,*data,op_size);                "val=0x%llx, size=%u\n",offset,cpu_get_pc(cpu),*data,op_size);
512     }     }
513  #endif  #endif
514    
# Line 892  static int am79c971_handle_txring(struct Line 893  static int am79c971_handle_txring(struct
893   *   *
894   * Read a PCI register.   * Read a PCI register.
895   */   */
896  static m_uint32_t pci_am79c971_read(cpu_mips_t *cpu,struct pci_device *dev,  static m_uint32_t pci_am79c971_read(cpu_gen_t *cpu,struct pci_device *dev,
897                                      int reg)                                      int reg)
898  {    {  
899     struct am79c971_data *d = dev->priv_data;     struct am79c971_data *d = dev->priv_data;
# Line 918  static m_uint32_t pci_am79c971_read(cpu_ Line 919  static m_uint32_t pci_am79c971_read(cpu_
919   *   *
920   * Write a PCI register.   * Write a PCI register.
921   */   */
922  static void pci_am79c971_write(cpu_mips_t *cpu,struct pci_device *dev,  static void pci_am79c971_write(cpu_gen_t *cpu,struct pci_device *dev,
923                                 int reg,m_uint32_t value)                                 int reg,m_uint32_t value)
924  {  {
925     struct am79c971_data *d = dev->priv_data;     struct am79c971_data *d = dev->priv_data;

Legend:
Removed from v.6  
changed lines
  Added in v.7

  ViewVC Help
Powered by ViewVC 1.1.26