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

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

revision 35 by dpavlin, Mon Oct 8 16:21:17 2007 UTC revision 36 by dpavlin, Mon Oct 8 16:21:34 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *     *  
27   *   *
28   *  $Id: machine_landisk.c,v 1.3 2006/12/30 13:31:02 debug Exp $   *  $Id: machine_landisk.c,v 1.7 2007/03/08 10:01:50 debug Exp $
29   *   *
30   *  SH4-based LANDISK.   *  I-O DATA LANDISK USL-5P.
31     *
32     *  This machine consists of:
33     *
34     *      o)  An SH4 processor, which includes serial console etc,
35     *      o)  an IDE controller at address 0x14000000,
36     *      o)  and a minimal SH-IPL+G PROM emulation layer (required to make
37     *          OpenBSD/landisk boot).
38   */   */
39    
40  #include <stdio.h>  #include <stdio.h>
# Line 41  Line 48 
48  #include "memory.h"  #include "memory.h"
49  #include "misc.h"  #include "misc.h"
50    
51    #include "sh4_exception.h"
52    
53    
54  MACHINE_SETUP(landisk)  MACHINE_SETUP(landisk)
55  {  {
56          machine->machine_name = "Landisk";          char tmpstr[300];
57    
58            machine->machine_name = "Landisk USL-5P";
59    
60            /*  200 MHz SH4 CPU clock:  */
61          if (machine->emulated_hz == 0)          if (machine->emulated_hz == 0)
62                  machine->emulated_hz = 200000000;                  machine->emulated_hz = 200000000;
63    
64          /*  50 MHz SH4 PCLOCK:  */          /*  50 MHz SH4 PCLOCK:  */
65          machine->cpus[0]->cd.sh.pclock = 50000000;          machine->cpus[machine->bootstrap_cpu]->cd.sh.pclock = 50000000;
66    
67          dev_ram_init(machine, 0x0c000000, 64 * 1048576, DEV_RAM_RAM, 0x0);          dev_ram_init(machine, 0x0c000000, 64 * 1048576, DEV_RAM_RAM, 0x0);
68    
69            /*  wdc0 at obio0 port 0x14000000-0x1400000f irq 10  */
70            snprintf(tmpstr, sizeof(tmpstr), "wdc irq=%s.cpu[%i].irq[0x%x]"
71                " addr_mult=2 addr=0x14000000",
72                machine->path, machine->bootstrap_cpu, SH4_INTEVT_IRQ10);
73            device_add(machine, tmpstr);
74    
75          if (!machine->prom_emulation)          if (!machine->prom_emulation)
76                  return;                  return;
77    
78          /*  TODO?  */          /*
79             *  Ugly hardcoded register contents at bootup:
80             *
81             *  r4 (arg 0) = boot howto flags
82             *  r5 (arg 1) = bootinfo pointer for NetBSD (?) and
83             *               symbol end pointer for OpenBSD (?)
84             *
85             *  TODO: Make nicer.
86             */
87            cpu->cd.sh.r[4] = 0;
88            cpu->cd.sh.r[5] = 0x8c000000 + 8 * 1048576;     /*  Note/TODO:
89                                    Assuming hardcoded 8 MB kernel size!  */
90    
91            sh_ipl_g_emul_init(machine);
92  }  }
93    
94    
95  MACHINE_DEFAULT_CPU(landisk)  MACHINE_DEFAULT_CPU(landisk)
96  {  {
97          /*  Hitachi SH4, 200 MHz  */          /*  Hitachi SH4 7751R, 200 MHz  */
98          machine->cpu_name = strdup("SH7750");          machine->cpu_name = strdup("SH7751R");
99  }  }
100    
101    

Legend:
Removed from v.35  
changed lines
  Added in v.36

  ViewVC Help
Powered by ViewVC 1.1.26