/[gxemul]/trunk/src/devices/dev_random.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_random.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 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_random.c,v 1.1 2005/02/25 06:14:30 debug Exp $   *  $Id: dev_random.c,v 1.7 2006/12/30 13:30:59 debug Exp $
29   *     *  
30   *  A simple device which returns random data for all reads, and discards all   *  A simple device which returns random data for all reads, and discards all
31   *  writes.   *  writes.
# Line 41  Line 41 
41  #include "misc.h"  #include "misc.h"
42    
43    
44  /*  DEVICE_ACCESS(random)
  *  dev_random_access():  
  *  
  *  Returns 1 if ok, 0 on error.  
  */  
 int dev_random_access(struct cpu *cpu, struct memory *mem,  
         uint64_t relative_addr, unsigned char *data, size_t len,  
         int writeflag, void *extra)  
45  {  {
46          if (writeflag == MEM_READ) {          if (writeflag == MEM_READ) {
47                  int i;                  unsigned int i;
48                  for (i=0; i<len; i++)                  for (i=0; i<len; i++)
49                          data[i] = random();                          data[i] = random();
50          }          }
# Line 60  int dev_random_access(struct cpu *cpu, s Line 53  int dev_random_access(struct cpu *cpu, s
53  }  }
54    
55    
56  /*  DEVINIT(random)
  *  devinit_random():  
  */  
 int devinit_random(struct devinit *devinit)  
57  {  {
58          memory_device_register(devinit->machine->memory,          memory_device_register(devinit->machine->memory,
59              devinit->name, devinit->addr, devinit->len,              devinit->name, devinit->addr, devinit->len,
60              dev_random_access, NULL, MEM_DEFAULT, NULL);              dev_random_access, NULL, DM_DEFAULT, NULL);
61    
62          return 1;          return 1;
63  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.26