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

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

revision 22 by dpavlin, Mon Oct 8 16:19:37 2007 UTC revision 30 by dpavlin, Mon Oct 8 16:20:40 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *     *  
27   *   *
28   *  $Id: machine_test.c,v 1.1 2006/01/01 20:41:25 debug Exp $   *  $Id: machine_test.c,v 1.18 2006/07/25 19:35:28 debug Exp $
29   *   *
30   *  Various "test" machines (bare machines with just a CPU, or a bare machine   *  Various "test" machines (bare machines with just a CPU, or a bare machine
31   *  plus some experimental devices).   *  plus some experimental devices).
# Line 40  Line 40 
40  #include "machine.h"  #include "machine.h"
41  #include "memory.h"  #include "memory.h"
42  #include "misc.h"  #include "misc.h"
43  #include "mp.h"  
44    #include "testmachine/dev_cons.h"
45    #include "testmachine/dev_disk.h"
46    #include "testmachine/dev_ether.h"
47    #include "testmachine/dev_fb.h"
48    #include "testmachine/dev_mp.h"
49    
50    
51  static void default_test(struct machine *machine, struct cpu *cpu)  static void default_test(struct machine *machine, struct cpu *cpu)
52  {  {
53          char tmpstr[1000];          char tmpstr[1000];
54          snprintf(tmpstr, sizeof(tmpstr), "cons addr=0x%llx irq=0",  
55              (long long)DEV_CONS_ADDRESS);          snprintf(tmpstr, sizeof(tmpstr), "cons addr=0x%"PRIx64" irq=0",
56                (uint64_t) DEV_CONS_ADDRESS);
57          machine->main_console_handle = (size_t)device_add(machine, tmpstr);          machine->main_console_handle = (size_t)device_add(machine, tmpstr);
58    
59          snprintf(tmpstr, sizeof(tmpstr), "mp addr=0x%llx",          snprintf(tmpstr, sizeof(tmpstr), "mp addr=0x%"PRIx64,
60              (long long)DEV_MP_ADDRESS);              (uint64_t) DEV_MP_ADDRESS);
61          device_add(machine, tmpstr);          device_add(machine, tmpstr);
62    
63          dev_fb_init(machine, machine->memory, DEV_FB_ADDRESS, VFB_GENERIC,          snprintf(tmpstr, sizeof(tmpstr), "fbctrl addr=0x%"PRIx64,
64              640,480, 640,480, 24, "testalpha generic");              (uint64_t) DEV_FBCTRL_ADDRESS);
65            device_add(machine, tmpstr);
66    
67          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%llx",          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%"PRIx64,
68              (long long)DEV_DISK_ADDRESS);              (uint64_t) DEV_DISK_ADDRESS);
69          device_add(machine, tmpstr);          device_add(machine, tmpstr);
70    
71          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%llx irq=0",          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%"PRIx64" irq=0",
72              (long long)DEV_ETHER_ADDRESS);              (uint64_t) DEV_ETHER_ADDRESS);
73          device_add(machine, tmpstr);          device_add(machine, tmpstr);
74  }  }
75    
# Line 87  MACHINE_SETUP(testalpha) Line 94  MACHINE_SETUP(testalpha)
94    
95  MACHINE_DEFAULT_CPU(barealpha)  MACHINE_DEFAULT_CPU(barealpha)
96  {  {
97          machine->cpu_name = strdup("Alpha");          machine->cpu_name = strdup("21264");
98  }  }
99    
100    
101  MACHINE_DEFAULT_CPU(testalpha)  MACHINE_DEFAULT_CPU(testalpha)
102  {  {
103          machine->cpu_name = strdup("Alpha");          machine->cpu_name = strdup("21264");
104  }  }
105    
106    
107  MACHINE_REGISTER(barealpha)  MACHINE_REGISTER(barealpha)
108  {  {
109          MR_DEFAULT(barealpha, "Generic \"bare\" Alpha machine",          MR_DEFAULT(barealpha, "Generic \"bare\" Alpha machine",
110              ARCH_ALPHA, MACHINE_BAREALPHA, 1, 0);              ARCH_ALPHA, MACHINE_BAREALPHA);
111          me->aliases[0] = "barealpha";  
112          machine_entry_add(me, ARCH_ALPHA);          machine_entry_add_alias(me, "barealpha");
113  }  }
114    
115    
116  MACHINE_REGISTER(testalpha)  MACHINE_REGISTER(testalpha)
117  {  {
118          MR_DEFAULT(testalpha, "Test-machine for Alpha",          MR_DEFAULT(testalpha, "Test-machine for Alpha",
119              ARCH_ALPHA, MACHINE_TESTALPHA, 1, 0);              ARCH_ALPHA, MACHINE_TESTALPHA);
120          me->aliases[0] = "testalpha";  
121          machine_entry_add(me, ARCH_ALPHA);          machine_entry_add_alias(me, "testalpha");
122  }  }
123    
124    
# Line 159  MACHINE_DEFAULT_CPU(testarm) Line 166  MACHINE_DEFAULT_CPU(testarm)
166  MACHINE_REGISTER(barearm)  MACHINE_REGISTER(barearm)
167  {  {
168          MR_DEFAULT(barearm, "Generic \"bare\" ARM machine",          MR_DEFAULT(barearm, "Generic \"bare\" ARM machine",
169              ARCH_ARM, MACHINE_BAREARM, 1, 0);              ARCH_ARM, MACHINE_BAREARM);
170          me->aliases[0] = "barearm";  
171          machine_entry_add(me, ARCH_ARM);          machine_entry_add_alias(me, "barearm");
172  }  }
173    
174    
175  MACHINE_REGISTER(testarm)  MACHINE_REGISTER(testarm)
176  {  {
177          MR_DEFAULT(testarm, "Test-machine for ARM",          MR_DEFAULT(testarm, "Test-machine for ARM", ARCH_ARM, MACHINE_TESTARM);
             ARCH_ARM, MACHINE_TESTARM, 1, 0);  
         me->aliases[0] = "testarm";  
         machine_entry_add(me, ARCH_ARM);  
 }  
178    
179            machine_entry_add_alias(me, "testarm");
   
 MACHINE_SETUP(bareavr)  
 {  
         machine->machine_name = "Generic \"bare\" AVR machine";  
         machine->stable = 1;  
180  }  }
181    
182    
 MACHINE_DEFAULT_CPU(bareavr)  
 {  
         machine->cpu_name = strdup("AVR");  
 }  
   
   
 MACHINE_REGISTER(bareavr)  
 {  
         MR_DEFAULT(bareavr, "Generic \"bare\" AVR machine",  
             ARCH_AVR, MACHINE_BAREAVR, 1, 0);  
         me->aliases[0] = "bareavr";  
         machine_entry_add(me, ARCH_AVR);  
 }  
   
183    
184  MACHINE_SETUP(barehppa)  MACHINE_SETUP(barehppa)
185  {  {
# Line 230  MACHINE_DEFAULT_CPU(testhppa) Line 214  MACHINE_DEFAULT_CPU(testhppa)
214  MACHINE_REGISTER(barehppa)  MACHINE_REGISTER(barehppa)
215  {  {
216          MR_DEFAULT(barehppa, "Generic \"bare\" HPPA machine",          MR_DEFAULT(barehppa, "Generic \"bare\" HPPA machine",
217              ARCH_HPPA, MACHINE_BAREHPPA, 1, 0);              ARCH_HPPA, MACHINE_BAREHPPA);
218          me->aliases[0] = "barehppa";  
219          machine_entry_add(me, ARCH_HPPA);          machine_entry_add_alias(me, "barehppa");
220  }  }
221    
222    
223  MACHINE_REGISTER(testhppa)  MACHINE_REGISTER(testhppa)
224  {  {
225          MR_DEFAULT(testhppa, "Test-machine for HPPA",          MR_DEFAULT(testhppa, "Test-machine for HPPA",
226              ARCH_HPPA, MACHINE_TESTHPPA, 1, 0);              ARCH_HPPA, MACHINE_TESTHPPA);
227          me->aliases[0] = "testhppa";  
228          machine_entry_add(me, ARCH_HPPA);          machine_entry_add_alias(me, "testhppa");
229  }  }
230    
231    
# Line 278  MACHINE_DEFAULT_CPU(testi960) Line 262  MACHINE_DEFAULT_CPU(testi960)
262  MACHINE_REGISTER(barei960)  MACHINE_REGISTER(barei960)
263  {  {
264          MR_DEFAULT(barei960, "Generic \"bare\" i960 machine",          MR_DEFAULT(barei960, "Generic \"bare\" i960 machine",
265              ARCH_I960, MACHINE_BAREI960, 1, 0);              ARCH_I960, MACHINE_BAREI960);
266          me->aliases[0] = "barei960";  
267          machine_entry_add(me, ARCH_I960);          machine_entry_add_alias(me, "barei960");
268  }  }
269    
270    
271  MACHINE_REGISTER(testi960)  MACHINE_REGISTER(testi960)
272  {  {
273          MR_DEFAULT(testi960, "Test-machine for i960",          MR_DEFAULT(testi960, "Test-machine for i960",
274              ARCH_I960, MACHINE_TESTI960, 1, 0);              ARCH_I960, MACHINE_TESTI960);
275          me->aliases[0] = "testi960";  
276          machine_entry_add(me, ARCH_I960);          machine_entry_add_alias(me, "testi960");
277  }  }
278    
279    
# Line 326  MACHINE_DEFAULT_CPU(testia64) Line 310  MACHINE_DEFAULT_CPU(testia64)
310  MACHINE_REGISTER(bareia64)  MACHINE_REGISTER(bareia64)
311  {  {
312          MR_DEFAULT(bareia64, "Generic \"bare\" IA64 machine",          MR_DEFAULT(bareia64, "Generic \"bare\" IA64 machine",
313              ARCH_IA64, MACHINE_BAREIA64, 1, 0);              ARCH_IA64, MACHINE_BAREIA64);
314          me->aliases[0] = "bareia64";  
315          machine_entry_add(me, ARCH_IA64);          machine_entry_add_alias(me, "bareia64");
316  }  }
317    
318    
319  MACHINE_REGISTER(testia64)  MACHINE_REGISTER(testia64)
320  {  {
321          MR_DEFAULT(testia64, "Test-machine for IA64",          MR_DEFAULT(testia64, "Test-machine for IA64",
322              ARCH_IA64, MACHINE_TESTIA64, 1, 0);              ARCH_IA64, MACHINE_TESTIA64);
323          me->aliases[0] = "testia64";  
324          machine_entry_add(me, ARCH_IA64);          machine_entry_add_alias(me, "testia64");
325  }  }
326    
327    
# Line 374  MACHINE_DEFAULT_CPU(testm68k) Line 358  MACHINE_DEFAULT_CPU(testm68k)
358  MACHINE_REGISTER(barem68k)  MACHINE_REGISTER(barem68k)
359  {  {
360          MR_DEFAULT(barem68k, "Generic \"bare\" M68K machine",          MR_DEFAULT(barem68k, "Generic \"bare\" M68K machine",
361              ARCH_M68K, MACHINE_BAREM68K, 1, 0);              ARCH_M68K, MACHINE_BAREM68K);
362          me->aliases[0] = "barem68k";  
363          machine_entry_add(me, ARCH_M68K);          machine_entry_add_alias(me, "barem68k");
364  }  }
365    
366    
367  MACHINE_REGISTER(testm68k)  MACHINE_REGISTER(testm68k)
368  {  {
369          MR_DEFAULT(testm68k, "Test-machine for M68K",          MR_DEFAULT(testm68k, "Test-machine for M68K",
370              ARCH_M68K, MACHINE_TESTM68K, 1, 0);              ARCH_M68K, MACHINE_TESTM68K);
371          me->aliases[0] = "testm68k";  
372          machine_entry_add(me, ARCH_M68K);          machine_entry_add_alias(me, "testm68k");
373  }  }
374    
375    
# Line 418  MACHINE_SETUP(testmips) Line 402  MACHINE_SETUP(testmips)
402          machine->stable = 1;          machine->stable = 1;
403          cpu->byte_order = EMUL_BIG_ENDIAN;          cpu->byte_order = EMUL_BIG_ENDIAN;
404    
405          snprintf(tmpstr, sizeof(tmpstr), "cons addr=0x%llx irq=2",          snprintf(tmpstr, sizeof(tmpstr), "cons addr=0x%"PRIx64" irq=2",
406              (long long)DEV_CONS_ADDRESS);              (uint64_t) DEV_CONS_ADDRESS);
407          machine->main_console_handle = (size_t)device_add(machine, tmpstr);          machine->main_console_handle = (size_t)device_add(machine, tmpstr);
408    
409          snprintf(tmpstr, sizeof(tmpstr), "mp addr=0x%llx",          snprintf(tmpstr, sizeof(tmpstr), "mp addr=0x%"PRIx64,
410              (long long)DEV_MP_ADDRESS);              (uint64_t) DEV_MP_ADDRESS);
411          device_add(machine, tmpstr);          device_add(machine, tmpstr);
412    
413          dev_fb_init(machine, machine->memory, DEV_FB_ADDRESS, VFB_GENERIC,          snprintf(tmpstr, sizeof(tmpstr), "fbctrl addr=0x%"PRIx64,
414              640,480, 640,480, 24, "testmips generic");              (uint64_t) DEV_FBCTRL_ADDRESS);
415            device_add(machine, tmpstr);
416    
417          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%llx",          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%"PRIx64,
418              (long long)DEV_DISK_ADDRESS);              (uint64_t) DEV_DISK_ADDRESS);
419          device_add(machine, tmpstr);          device_add(machine, tmpstr);
420    
421          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%llx irq=3",          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%"PRIx64" irq=3",
422              (long long)DEV_ETHER_ADDRESS);              (uint64_t) DEV_ETHER_ADDRESS);
423          device_add(machine, tmpstr);          device_add(machine, tmpstr);
424  }  }
425    
426    
427  MACHINE_DEFAULT_CPU(baremips)  MACHINE_DEFAULT_CPU(baremips)
428  {  {
429          machine->cpu_name = strdup("R4000");          machine->cpu_name = strdup("5Kc");
430  }  }
431    
432    
433  MACHINE_DEFAULT_CPU(testmips)  MACHINE_DEFAULT_CPU(testmips)
434  {  {
435          machine->cpu_name = strdup("R4000");          machine->cpu_name = strdup("5Kc");
436  }  }
437    
438    
439  MACHINE_REGISTER(baremips)  MACHINE_REGISTER(baremips)
440  {  {
441          MR_DEFAULT(baremips, "Generic \"bare\" MIPS machine",          MR_DEFAULT(baremips, "Generic \"bare\" MIPS machine",
442              ARCH_MIPS, MACHINE_BAREMIPS, 1, 0);              ARCH_MIPS, MACHINE_BAREMIPS);
443          me->aliases[0] = "baremips";  
444          machine_entry_add(me, ARCH_MIPS);          machine_entry_add_alias(me, "baremips");
445  }  }
446    
447    
448  MACHINE_REGISTER(testmips)  MACHINE_REGISTER(testmips)
449  {  {
450          MR_DEFAULT(testmips, "Test-machine for MIPS",          MR_DEFAULT(testmips, "Test-machine for MIPS",
451              ARCH_MIPS, MACHINE_TESTMIPS, 1, 0);              ARCH_MIPS, MACHINE_TESTMIPS);
452          me->aliases[0] = "testmips";  
453          machine_entry_add(me, ARCH_MIPS);          machine_entry_add_alias(me, "testmips");
454  }  }
455    
456    
# Line 502  MACHINE_DEFAULT_CPU(testppc) Line 487  MACHINE_DEFAULT_CPU(testppc)
487  MACHINE_REGISTER(bareppc)  MACHINE_REGISTER(bareppc)
488  {  {
489          MR_DEFAULT(bareppc, "Generic \"bare\" PPC machine",          MR_DEFAULT(bareppc, "Generic \"bare\" PPC machine",
490              ARCH_PPC, MACHINE_BAREPPC, 1, 0);              ARCH_PPC, MACHINE_BAREPPC);
491          me->aliases[0] = "bareppc";  
492          machine_entry_add(me, ARCH_PPC);          machine_entry_add_alias(me, "bareppc");
493  }  }
494    
495    
496  MACHINE_REGISTER(testppc)  MACHINE_REGISTER(testppc)
497  {  {
498          MR_DEFAULT(testppc, "Test-machine for PPC",          MR_DEFAULT(testppc, "Test-machine for PPC", ARCH_PPC, MACHINE_TESTPPC);
499              ARCH_PPC, MACHINE_TESTPPC, 1, 0);  
500          me->aliases[0] = "testppc";          machine_entry_add_alias(me, "testppc");
         machine_entry_add(me, ARCH_PPC);  
501  }  }
502    
503    
# Line 537  MACHINE_SETUP(testsh) Line 521  MACHINE_SETUP(testsh)
521    
522  MACHINE_DEFAULT_CPU(baresh)  MACHINE_DEFAULT_CPU(baresh)
523  {  {
524          machine->cpu_name = strdup("SH");          machine->cpu_name = strdup("SH5");
525  }  }
526    
527    
528  MACHINE_DEFAULT_CPU(testsh)  MACHINE_DEFAULT_CPU(testsh)
529  {  {
530          machine->cpu_name = strdup("SH");          machine->cpu_name = strdup("SH5");
531  }  }
532    
533    
534  MACHINE_REGISTER(baresh)  MACHINE_REGISTER(baresh)
535  {  {
536          MR_DEFAULT(baresh, "Generic \"bare\" SH machine",          MR_DEFAULT(baresh, "Generic \"bare\" SH machine",
537              ARCH_SH, MACHINE_BARESH, 1, 0);              ARCH_SH, MACHINE_BARESH);
538          me->aliases[0] = "baresh";  
539          machine_entry_add(me, ARCH_SH);          machine_entry_add_alias(me, "baresh");
540  }  }
541    
542    
543  MACHINE_REGISTER(testsh)  MACHINE_REGISTER(testsh)
544  {  {
545          MR_DEFAULT(testsh, "Test-machine for SH",          MR_DEFAULT(testsh, "Test-machine for SH", ARCH_SH, MACHINE_TESTSH);
546              ARCH_SH, MACHINE_TESTSH, 1, 0);  
547          me->aliases[0] = "testsh";          machine_entry_add_alias(me, "testsh");
         machine_entry_add(me, ARCH_SH);  
548  }  }
549    
550    
# Line 585  MACHINE_SETUP(testsparc) Line 568  MACHINE_SETUP(testsparc)
568    
569  MACHINE_DEFAULT_CPU(baresparc)  MACHINE_DEFAULT_CPU(baresparc)
570  {  {
571          machine->cpu_name = strdup("SPARCv9");          machine->cpu_name = strdup("UltraSPARC");
572  }  }
573    
574    
575  MACHINE_DEFAULT_CPU(testsparc)  MACHINE_DEFAULT_CPU(testsparc)
576  {  {
577          machine->cpu_name = strdup("SPARCv9");          machine->cpu_name = strdup("UltraSPARC");
578  }  }
579    
580    
581  MACHINE_REGISTER(baresparc)  MACHINE_REGISTER(baresparc)
582  {  {
583          MR_DEFAULT(baresparc, "Generic \"bare\" SPARC machine",          MR_DEFAULT(baresparc, "Generic \"bare\" SPARC machine",
584              ARCH_SPARC, MACHINE_BARESPARC, 1, 0);              ARCH_SPARC, MACHINE_BARESPARC);
585          me->aliases[0] = "baresparc";  
586          machine_entry_add(me, ARCH_SPARC);          machine_entry_add_alias(me, "baresparc");
587  }  }
588    
589    
590  MACHINE_REGISTER(testsparc)  MACHINE_REGISTER(testsparc)
591  {  {
592          MR_DEFAULT(testsparc, "Test-machine for SPARC",          MR_DEFAULT(testsparc, "Test-machine for SPARC",
593              ARCH_SPARC, MACHINE_TESTSPARC, 1, 0);              ARCH_SPARC, MACHINE_TESTSPARC);
594          me->aliases[0] = "testsparc";  
595          machine_entry_add(me, ARCH_SPARC);          machine_entry_add_alias(me, "testsparc");
596    }
597    
598    
599    MACHINE_SETUP(baretransputer)
600    {
601            machine->machine_name = "Generic \"bare\" Transputer machine";
602            machine->stable = 1;
603    }
604    
605    
606    MACHINE_DEFAULT_CPU(baretransputer)
607    {
608            machine->cpu_name = strdup("T800");
609    }
610    
611    
612    MACHINE_REGISTER(baretransputer)
613    {
614            MR_DEFAULT(baretransputer, "Generic \"bare\" Transputer machine",
615                ARCH_TRANSPUTER, MACHINE_BARETRANSPUTER);
616    
617            machine_entry_add_alias(me, "baretransputer");
618  }  }
619    

Legend:
Removed from v.22  
changed lines
  Added in v.30

  ViewVC Help
Powered by ViewVC 1.1.26