/[gxemul]/trunk/src/devices/dev_sn.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 /trunk/src/devices/dev_sn.c

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

revision 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC revision 34 by dpavlin, Mon Oct 8 16:21:17 2007 UTC
# Line 1  Line 1 
1  /*  /*
2   *  Copyright (C) 2004-2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2004-2007  Anders Gavare.  All rights reserved.
3   *   *
4   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
5   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *     *  
27   *   *
28   *  $Id: dev_sn.c,v 1.11 2005/06/26 11:43:48 debug Exp $   *  $Id: dev_sn.c,v 1.16 2006/12/30 13:30:59 debug Exp $
29   *     *  
30   *  National Semiconductor SONIC ("sn") DP83932 ethernet.   *  National Semiconductor SONIC ("sn") DP83932 ethernet.
31   *   *
# Line 60  struct sn_data { Line 60  struct sn_data {
60  /*  /*
61   *  dev_sn_access():   *  dev_sn_access():
62   */   */
63  int dev_sn_access(struct cpu *cpu, struct memory *mem,  DEVICE_ACCESS(sn)
         uint64_t relative_addr, unsigned char *data, size_t len,  
         int writeflag, void *extra)  
64  {  {
65          struct sn_data *d = (struct sn_data *) extra;          struct sn_data *d = (struct sn_data *) extra;
66          uint64_t idata = 0, odata = 0;          uint64_t idata = 0, odata = 0;
67          int regnr;          int regnr;
68    
69          idata = memory_readmax64(cpu, data, len);          if (writeflag == MEM_WRITE)
70                    idata = memory_readmax64(cpu, data, len);
71    
72          regnr = relative_addr / sizeof(uint32_t);          regnr = relative_addr / sizeof(uint32_t);
73    
74          if (regnr < SONIC_NREGS) {          if (regnr < SONIC_NREGS) {
# Line 97  int dev_sn_access(struct cpu *cpu, struc Line 97  int dev_sn_access(struct cpu *cpu, struc
97  }  }
98    
99    
100  /*  DEVINIT(sn)
  *  devinit_sn():  
  */  
 int devinit_sn(struct devinit *devinit)  
101  {  {
102          char *name2;          char *name2;
103          size_t nlen = 55;          size_t nlen = 55;
# Line 126  int devinit_sn(struct devinit *devinit) Line 123  int devinit_sn(struct devinit *devinit)
123    
124          memory_device_register(devinit->machine->memory, name2,          memory_device_register(devinit->machine->memory, name2,
125              devinit->addr, DEV_SN_LENGTH,              devinit->addr, DEV_SN_LENGTH,
126              dev_sn_access, (void *)d, MEM_DEFAULT, NULL);              dev_sn_access, (void *)d, DM_DEFAULT, NULL);
127    
128          net_add_nic(devinit->machine->emul->net, d, d->macaddr);          net_add_nic(devinit->machine->emul->net, d, d->macaddr);
129    

Legend:
Removed from v.10  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.26