/[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 39 by dpavlin, Mon Oct 8 16:21:53 2007 UTC revision 40 by dpavlin, Mon Oct 8 16:22:11 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *     *  
27   *   *
28   *  $Id: machine_landisk.c,v 1.8 2007/04/13 16:07:26 debug Exp $   *  $Id: machine_landisk.c,v 1.15 2007/04/22 03:57:38 debug Exp $
29   *   *
30   *  I-O DATA LANDISK USL-5P.   *  I-O DATA LANDISK USL-5P.
31   *   *
32   *  This machine consists of:   *  This machine consists of:
33   *   *
34   *      o)  An SH4 processor, which includes serial console etc,   *      o)  An SH4 processor, which includes serial console etc,
35   *      o)  an IDE controller at address 0x14000000,   *      o)  64 MB RAM (at 0x0c000000),
36     *      o)  an IDE controller at address 0x14000000 (irq 10),
37     *      o)  a RS5C313 real time clock, connected to the SH4 SCI port,
38     *      o)  a PCI controller (PCIC),
39   *      o)  and a minimal SH-IPL+G PROM emulation layer (required to make   *      o)  and a minimal SH-IPL+G PROM emulation layer (required to make
40   *          OpenBSD/landisk boot).   *          OpenBSD/landisk boot).
41     *
42     *  TODO:
43     *      Realtek NIC (irq 5), PCIIDE (irq 6), USB controllers, etc.
44   */   */
45    
46  #include <stdio.h>  #include <stdio.h>
# Line 52  Line 58 
58  #include "sh4_scireg.h"  #include "sh4_scireg.h"
59    
60    
61    /*  This is not really implemented yet: (experimental)  */
62    /*  #define INCLUDE_LANDISK_NIC  */
63    
64    
65  MACHINE_SETUP(landisk)  MACHINE_SETUP(landisk)
66  {  {
67    #ifdef INCLUDE_LANDISK_NIC
68            struct pci_data *pcibus =
69                machine->cpus[machine->bootstrap_cpu]->cd.sh.pcic_pcibus;
70    #endif
71          char tmpstr[300];          char tmpstr[300];
72    
73          machine->machine_name = "Landisk USL-5P";          machine->machine_name = "Landisk USL-5P";
74            machine->stable = 1;
75    
76          /*  200 MHz SH4 CPU clock:  */          /*  266.67 MHz SH4 CPU clock:  */
77          if (machine->emulated_hz == 0)          if (machine->emulated_hz == 0)
78                  machine->emulated_hz = 200000000;                  machine->emulated_hz = 266666666;
79    
80          /*  50 MHz SH4 PCLOCK:  */          /*  33.33 MHz SH4 PCLOCK:  */
81          machine->cpus[machine->bootstrap_cpu]->cd.sh.pclock = 50000000;          machine->cpus[machine->bootstrap_cpu]->cd.sh.pclock = 33333333;
82    
83            /*  Note: 64 MB RAM at 0x0c000000, not at 0x00000000.  */
84          dev_ram_init(machine, 0x0c000000, 64 * 1048576, DEV_RAM_RAM, 0x0);          dev_ram_init(machine, 0x0c000000, 64 * 1048576, DEV_RAM_RAM, 0x0);
85    
86          /*  wdc0 at obio0 port 0x14000000-0x1400000f irq 10  */          /*  wdc0 at obio0 port 0x14000000-0x1400000f irq 10  */
# Line 78  MACHINE_SETUP(landisk) Line 94  MACHINE_SETUP(landisk)
94              (uint64_t) SCI_DEVICE_BASE);              (uint64_t) SCI_DEVICE_BASE);
95          device_add(machine, tmpstr);          device_add(machine, tmpstr);
96    
97    #ifdef INCLUDE_LANDISK_NIC
98            /*  Realtek PCI NIC:  */
99            bus_pci_add(machine, pcibus, machine->memory, 0, 0, 0, "rtl8139c");
100    #endif
101    
102          if (!machine->prom_emulation)          if (!machine->prom_emulation)
103                  return;                  return;
104    
# Line 91  MACHINE_SETUP(landisk) Line 112  MACHINE_SETUP(landisk)
112           *  TODO: Make nicer.           *  TODO: Make nicer.
113           */           */
114          cpu->cd.sh.r[4] = 0;          cpu->cd.sh.r[4] = 0;
115          cpu->cd.sh.r[5] = 0x8c000000 + 8 * 1048576;     /*  Note/TODO:          cpu->cd.sh.r[5] = 0x8c000000 + 10 * 1048576;    /*  Note/TODO:
116                                  Assuming hardcoded 8 MB kernel size!  */                                  Assuming hardcoded 10 MB kernel size!  */
117    
118          sh_ipl_g_emul_init(machine);          sh_ipl_g_emul_init(machine);
119  }  }
# Line 100  MACHINE_SETUP(landisk) Line 121  MACHINE_SETUP(landisk)
121    
122  MACHINE_DEFAULT_CPU(landisk)  MACHINE_DEFAULT_CPU(landisk)
123  {  {
124          /*  Hitachi SH4 7751R, 200 MHz  */          /*  Hitachi SH4 7751R, 266.67 MHz  */
125          machine->cpu_name = strdup("SH7751R");          machine->cpu_name = strdup("SH7751R");
126  }  }
127    
# Line 117  MACHINE_REGISTER(landisk) Line 138  MACHINE_REGISTER(landisk)
138  {  {
139          MR_DEFAULT(landisk, "Landisk", ARCH_SH, MACHINE_LANDISK);          MR_DEFAULT(landisk, "Landisk", ARCH_SH, MACHINE_LANDISK);
140          me->set_default_ram = machine_default_ram_landisk;          me->set_default_ram = machine_default_ram_landisk;
141    
142          machine_entry_add_alias(me, "landisk");          machine_entry_add_alias(me, "landisk");
143            machine_entry_add_alias(me, "usl-5p");
144  }  }
145    

Legend:
Removed from v.39  
changed lines
  Added in v.40

  ViewVC Help
Powered by ViewVC 1.1.26