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

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

revision 4 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC
# Line 1  Line 1 
1  /*  /*
2   *  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2003-2006  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_sii.c,v 1.13 2005/02/11 09:53:48 debug Exp $   *  $Id: dev_sii.c,v 1.17 2006/03/04 12:38:48 debug Exp $
29   *     *  
30   *  SII SCSI controller, used in some DECstation systems.   *  SII SCSI controller, used in some DECstation systems.
31   *   *
# Line 179  void dev_sii_tick(struct cpu *cpu, void Line 179  void dev_sii_tick(struct cpu *cpu, void
179  /*  /*
180   *  dev_sii_access():   *  dev_sii_access():
181   */   */
182  int dev_sii_access(struct cpu *cpu, struct memory *mem,  DEVICE_ACCESS(sii)
         uint64_t relative_addr, unsigned char *data, size_t len,  
         int writeflag, void *extra)  
183  {  {
184          uint64_t idata = 0, odata = 0;          uint64_t idata = 0, odata = 0;
185          int regnr;          int regnr;
# Line 194  int dev_sii_access(struct cpu *cpu, stru Line 192  int dev_sii_access(struct cpu *cpu, stru
192          }          }
193    
194          dev_sii_tick(cpu, extra);          dev_sii_tick(cpu, extra);
195          idata = memory_readmax64(cpu, data, len);  
196            if (writeflag == MEM_WRITE)
197                    idata = memory_readmax64(cpu, data, len);
198    
199          regnr = relative_addr / 2;          regnr = relative_addr / 2;
200          odata = d->regs[regnr];          odata = d->regs[regnr];
201    
# Line 462  void dev_sii_init(struct machine *machin Line 463  void dev_sii_init(struct machine *machin
463          d->regs = (uint16_t *) &d->siiregs;          d->regs = (uint16_t *) &d->siiregs;
464    
465          memory_device_register(mem, "sii", baseaddr, DEV_SII_LENGTH,          memory_device_register(mem, "sii", baseaddr, DEV_SII_LENGTH,
466              dev_sii_access, (void *)d, MEM_DEFAULT, NULL);              dev_sii_access, (void *)d, DM_DEFAULT, NULL);
467    
468          machine_add_tickfunction(machine, dev_sii_tick, d, SII_TICK_SHIFT);          machine_add_tickfunction(machine, dev_sii_tick, d,
469                SII_TICK_SHIFT, 0.0);
470  }  }
471    

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

  ViewVC Help
Powered by ViewVC 1.1.26