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

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

upstream/dynamips-0.2.6-RC5/dev_rom.c revision 6 by dpavlin, Sat Oct 6 16:09:07 2007 UTC upstream/dynamips-0.2.7-RC1/dev_rom.c revision 7 by dpavlin, Sat Oct 6 16:23:47 2007 UTC
# Line 1  Line 1 
1  /*  /*
2   * Cisco C7200 (Predator) ROM emulation   * Cisco router simulation platform.
3   * Copyright (c) 2006 Christophe Fillot.  All rights reserved.   * Copyright (c) 2006 Christophe Fillot.  All rights reserved.
4     *
5     * ROM Emulation.
6   */   */
7    
8  #include <stdio.h>  #include <stdio.h>
# Line 9  Line 11 
11  #include <time.h>  #include <time.h>
12  #include <errno.h>  #include <errno.h>
13    
14  #include "mips64.h"  #include "cpu.h"
15    #include "vm.h"
16  #include "dynamips.h"  #include "dynamips.h"
17  #include "memory.h"  #include "memory.h"
18  #include "device.h"  #include "device.h"
19    
20  /* Embedded ROM */  /* Embedded MIPS64 ROM */
21  m_uint8_t microcode[] = {  m_uint8_t mips64_microcode[] = {
22  #include "microcode_dump.inc"  #include "mips64_microcode_dump.inc"
23  };  };
24    
25  ssize_t microcode_len = sizeof(microcode);  ssize_t mips64_microcode_len = sizeof(mips64_microcode);
26    
27    /* Embedded PPC32 ROM */
28    m_uint8_t ppc32_microcode[] = {
29    #include "ppc32_microcode_dump.inc"
30    };
31    
32    ssize_t ppc32_microcode_len = sizeof(ppc32_microcode);
33    
34  /* ROM private data */  /* ROM private data */
35  struct rom_data {  struct rom_data {
# Line 32  struct rom_data { Line 42  struct rom_data {
42  /*  /*
43   * dev_rom_access()   * dev_rom_access()
44   */   */
45  void *dev_rom_access(cpu_mips_t *cpu,struct vdevice *dev,  void *dev_rom_access(cpu_gen_t *cpu,struct vdevice *dev,
46                       m_uint32_t offset,u_int op_size,u_int op_type,                       m_uint32_t offset,u_int op_size,u_int op_type,
47                       m_uint64_t *data)                       m_uint64_t *data)
48  {  {
# Line 65  void dev_rom_shutdown(vm_instance_t *vm, Line 75  void dev_rom_shutdown(vm_instance_t *vm,
75  }  }
76    
77  /* Initialize a ROM zone */  /* Initialize a ROM zone */
78  int dev_rom_init(vm_instance_t *vm,char *name,m_uint64_t paddr,m_uint32_t len)  int dev_rom_init(vm_instance_t *vm,char *name,m_uint64_t paddr,m_uint32_t len,
79                     m_uint8_t *rom_data,ssize_t rom_data_size)
80  {  {
81     struct rom_data *d;     struct rom_data *d;
82    
# Line 76  int dev_rom_init(vm_instance_t *vm,char Line 87  int dev_rom_init(vm_instance_t *vm,char
87     }     }
88    
89     memset(d,0,sizeof(*d));     memset(d,0,sizeof(*d));
90     d->rom_ptr  = microcode;     d->rom_ptr  = rom_data;
91     d->rom_size = sizeof(microcode);     d->rom_size = rom_data_size;
92    
93     vm_object_init(&d->vm_obj);     vm_object_init(&d->vm_obj);
94     d->vm_obj.name = name;     d->vm_obj.name = name;

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

  ViewVC Help
Powered by ViewVC 1.1.26