/[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 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 25  Line 25 
25   *  SUCH DAMAGE.   *  SUCH DAMAGE.
26   *     *  
27   *   *
28   *  $Id: machine_test.c,v 1.13 2006/06/12 10:21:12 debug Exp $   *  $Id: machine_test.c,v 1.22 2006/10/25 09:24:06 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 46  Line 46 
46  #include "testmachine/dev_ether.h"  #include "testmachine/dev_ether.h"
47  #include "testmachine/dev_fb.h"  #include "testmachine/dev_fb.h"
48  #include "testmachine/dev_mp.h"  #include "testmachine/dev_mp.h"
49    #include "testmachine/dev_rtc.h"
50    
51    
52  static void default_test(struct machine *machine, struct cpu *cpu)  static void default_test(struct machine *machine, struct cpu *cpu)
# Line 60  static void default_test(struct machine Line 61  static void default_test(struct machine
61              (uint64_t) DEV_MP_ADDRESS);              (uint64_t) DEV_MP_ADDRESS);
62          device_add(machine, tmpstr);          device_add(machine, tmpstr);
63    
64          dev_fb_init(machine, machine->memory, DEV_FB_ADDRESS, VFB_GENERIC,          snprintf(tmpstr, sizeof(tmpstr), "fbctrl addr=0x%"PRIx64,
65              640,480, 640,480, 24, "generic");              (uint64_t) DEV_FBCTRL_ADDRESS);
66            device_add(machine, tmpstr);
67    
68          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%"PRIx64,          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%"PRIx64,
69              (uint64_t) DEV_DISK_ADDRESS);              (uint64_t) DEV_DISK_ADDRESS);
# Line 70  static void default_test(struct machine Line 72  static void default_test(struct machine
72          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%"PRIx64" irq=0",          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%"PRIx64" irq=0",
73              (uint64_t) DEV_ETHER_ADDRESS);              (uint64_t) DEV_ETHER_ADDRESS);
74          device_add(machine, tmpstr);          device_add(machine, tmpstr);
75    
76            snprintf(tmpstr, sizeof(tmpstr), "rtc addr=0x%"PRIx64" irq=0",
77                (uint64_t) DEV_RTC_ADDRESS);
78            device_add(machine, tmpstr);
79  }  }
80    
81    
# Line 106  MACHINE_DEFAULT_CPU(testalpha) Line 112  MACHINE_DEFAULT_CPU(testalpha)
112  MACHINE_REGISTER(barealpha)  MACHINE_REGISTER(barealpha)
113  {  {
114          MR_DEFAULT(barealpha, "Generic \"bare\" Alpha machine",          MR_DEFAULT(barealpha, "Generic \"bare\" Alpha machine",
115              ARCH_ALPHA, MACHINE_BAREALPHA, 1, 0);              ARCH_ALPHA, MACHINE_BAREALPHA);
116          me->aliases[0] = "barealpha";  
117          machine_entry_add(me, ARCH_ALPHA);          machine_entry_add_alias(me, "barealpha");
118  }  }
119    
120    
121  MACHINE_REGISTER(testalpha)  MACHINE_REGISTER(testalpha)
122  {  {
123          MR_DEFAULT(testalpha, "Test-machine for Alpha",          MR_DEFAULT(testalpha, "Test-machine for Alpha",
124              ARCH_ALPHA, MACHINE_TESTALPHA, 1, 0);              ARCH_ALPHA, MACHINE_TESTALPHA);
125          me->aliases[0] = "testalpha";  
126          machine_entry_add(me, ARCH_ALPHA);          machine_entry_add_alias(me, "testalpha");
127  }  }
128    
129    
# Line 165  MACHINE_DEFAULT_CPU(testarm) Line 171  MACHINE_DEFAULT_CPU(testarm)
171  MACHINE_REGISTER(barearm)  MACHINE_REGISTER(barearm)
172  {  {
173          MR_DEFAULT(barearm, "Generic \"bare\" ARM machine",          MR_DEFAULT(barearm, "Generic \"bare\" ARM machine",
174              ARCH_ARM, MACHINE_BAREARM, 1, 0);              ARCH_ARM, MACHINE_BAREARM);
175          me->aliases[0] = "barearm";  
176          machine_entry_add(me, ARCH_ARM);          machine_entry_add_alias(me, "barearm");
177  }  }
178    
179    
180  MACHINE_REGISTER(testarm)  MACHINE_REGISTER(testarm)
181  {  {
182          MR_DEFAULT(testarm, "Test-machine for ARM",          MR_DEFAULT(testarm, "Test-machine for ARM", ARCH_ARM, MACHINE_TESTARM);
183              ARCH_ARM, MACHINE_TESTARM, 1, 0);  
184          me->aliases[0] = "testarm";          machine_entry_add_alias(me, "testarm");
185          machine_entry_add(me, ARCH_ARM);  }
186    
187    
188    
189    MACHINE_SETUP(bareavr32)
190    {
191            machine->machine_name = "Generic \"bare\" AVR32 machine";
192            machine->stable = 1;
193    }
194    
195    
196    MACHINE_SETUP(testavr32)
197    {
198            machine->machine_name = "AVR32 test machine";
199            machine->stable = 1;
200    
201            /*  TODO: interrupts  */
202    
203            default_test(machine, cpu);
204    }
205    
206    
207    MACHINE_DEFAULT_CPU(bareavr32)
208    {
209            machine->cpu_name = strdup("AVR32A");
210    }
211    
212    
213    MACHINE_DEFAULT_CPU(testavr32)
214    {
215            machine->cpu_name = strdup("AVR32A");
216  }  }
217    
218    
219    MACHINE_REGISTER(bareavr32)
220    {
221            MR_DEFAULT(bareavr32, "Generic \"bare\" AVR32 machine",
222                ARCH_AVR32, MACHINE_BAREAVR32);
223    
224            machine_entry_add_alias(me, "bareavr32");
225    }
226    
227    
228    MACHINE_REGISTER(testavr32)
229    {
230            MR_DEFAULT(testavr32, "Test-machine for AVR32",
231                ARCH_AVR32, MACHINE_TESTAVR32);
232    
233            machine_entry_add_alias(me, "testavr32");
234    }
235    
236    
237  MACHINE_SETUP(barehppa)  MACHINE_SETUP(barehppa)
238  {  {
# Line 214  MACHINE_DEFAULT_CPU(testhppa) Line 267  MACHINE_DEFAULT_CPU(testhppa)
267  MACHINE_REGISTER(barehppa)  MACHINE_REGISTER(barehppa)
268  {  {
269          MR_DEFAULT(barehppa, "Generic \"bare\" HPPA machine",          MR_DEFAULT(barehppa, "Generic \"bare\" HPPA machine",
270              ARCH_HPPA, MACHINE_BAREHPPA, 1, 0);              ARCH_HPPA, MACHINE_BAREHPPA);
271          me->aliases[0] = "barehppa";  
272          machine_entry_add(me, ARCH_HPPA);          machine_entry_add_alias(me, "barehppa");
273  }  }
274    
275    
276  MACHINE_REGISTER(testhppa)  MACHINE_REGISTER(testhppa)
277  {  {
278          MR_DEFAULT(testhppa, "Test-machine for HPPA",          MR_DEFAULT(testhppa, "Test-machine for HPPA",
279              ARCH_HPPA, MACHINE_TESTHPPA, 1, 0);              ARCH_HPPA, MACHINE_TESTHPPA);
280          me->aliases[0] = "testhppa";  
281          machine_entry_add(me, ARCH_HPPA);          machine_entry_add_alias(me, "testhppa");
282  }  }
283    
284    
# Line 262  MACHINE_DEFAULT_CPU(testi960) Line 315  MACHINE_DEFAULT_CPU(testi960)
315  MACHINE_REGISTER(barei960)  MACHINE_REGISTER(barei960)
316  {  {
317          MR_DEFAULT(barei960, "Generic \"bare\" i960 machine",          MR_DEFAULT(barei960, "Generic \"bare\" i960 machine",
318              ARCH_I960, MACHINE_BAREI960, 1, 0);              ARCH_I960, MACHINE_BAREI960);
319          me->aliases[0] = "barei960";  
320          machine_entry_add(me, ARCH_I960);          machine_entry_add_alias(me, "barei960");
321  }  }
322    
323    
324  MACHINE_REGISTER(testi960)  MACHINE_REGISTER(testi960)
325  {  {
326          MR_DEFAULT(testi960, "Test-machine for i960",          MR_DEFAULT(testi960, "Test-machine for i960",
327              ARCH_I960, MACHINE_TESTI960, 1, 0);              ARCH_I960, MACHINE_TESTI960);
328          me->aliases[0] = "testi960";  
329          machine_entry_add(me, ARCH_I960);          machine_entry_add_alias(me, "testi960");
330  }  }
331    
332    
# Line 310  MACHINE_DEFAULT_CPU(testia64) Line 363  MACHINE_DEFAULT_CPU(testia64)
363  MACHINE_REGISTER(bareia64)  MACHINE_REGISTER(bareia64)
364  {  {
365          MR_DEFAULT(bareia64, "Generic \"bare\" IA64 machine",          MR_DEFAULT(bareia64, "Generic \"bare\" IA64 machine",
366              ARCH_IA64, MACHINE_BAREIA64, 1, 0);              ARCH_IA64, MACHINE_BAREIA64);
367          me->aliases[0] = "bareia64";  
368          machine_entry_add(me, ARCH_IA64);          machine_entry_add_alias(me, "bareia64");
369  }  }
370    
371    
372  MACHINE_REGISTER(testia64)  MACHINE_REGISTER(testia64)
373  {  {
374          MR_DEFAULT(testia64, "Test-machine for IA64",          MR_DEFAULT(testia64, "Test-machine for IA64",
375              ARCH_IA64, MACHINE_TESTIA64, 1, 0);              ARCH_IA64, MACHINE_TESTIA64);
376          me->aliases[0] = "testia64";  
377          machine_entry_add(me, ARCH_IA64);          machine_entry_add_alias(me, "testia64");
378  }  }
379    
380    
# Line 358  MACHINE_DEFAULT_CPU(testm68k) Line 411  MACHINE_DEFAULT_CPU(testm68k)
411  MACHINE_REGISTER(barem68k)  MACHINE_REGISTER(barem68k)
412  {  {
413          MR_DEFAULT(barem68k, "Generic \"bare\" M68K machine",          MR_DEFAULT(barem68k, "Generic \"bare\" M68K machine",
414              ARCH_M68K, MACHINE_BAREM68K, 1, 0);              ARCH_M68K, MACHINE_BAREM68K);
415          me->aliases[0] = "barem68k";  
416          machine_entry_add(me, ARCH_M68K);          machine_entry_add_alias(me, "barem68k");
417  }  }
418    
419    
420  MACHINE_REGISTER(testm68k)  MACHINE_REGISTER(testm68k)
421  {  {
422          MR_DEFAULT(testm68k, "Test-machine for M68K",          MR_DEFAULT(testm68k, "Test-machine for M68K",
423              ARCH_M68K, MACHINE_TESTM68K, 1, 0);              ARCH_M68K, MACHINE_TESTM68K);
424          me->aliases[0] = "testm68k";  
425          machine_entry_add(me, ARCH_M68K);          machine_entry_add_alias(me, "testm68k");
426  }  }
427    
428    
# Line 391  MACHINE_SETUP(testmips) Line 444  MACHINE_SETUP(testmips)
444           *      7       CPU counter           *      7       CPU counter
445           *      6       SMP IPIs           *      6       SMP IPIs
446           *      5       not used yet           *      5       not used yet
447           *      4       not used yet           *      4       rtc
448           *      3       ethernet             *      3       ethernet  
449           *      2       serial console           *      2       serial console
450           */           */
# Line 410  MACHINE_SETUP(testmips) Line 463  MACHINE_SETUP(testmips)
463              (uint64_t) DEV_MP_ADDRESS);              (uint64_t) DEV_MP_ADDRESS);
464          device_add(machine, tmpstr);          device_add(machine, tmpstr);
465    
466          dev_fb_init(machine, machine->memory, DEV_FB_ADDRESS, VFB_GENERIC,          snprintf(tmpstr, sizeof(tmpstr), "fbctrl addr=0x%"PRIx64,
467              640,480, 640,480, 24, "testmips generic");              (uint64_t) DEV_FBCTRL_ADDRESS);
468            device_add(machine, tmpstr);
469    
470          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%"PRIx64,          snprintf(tmpstr, sizeof(tmpstr), "disk addr=0x%"PRIx64,
471              (uint64_t) DEV_DISK_ADDRESS);              (uint64_t) DEV_DISK_ADDRESS);
# Line 420  MACHINE_SETUP(testmips) Line 474  MACHINE_SETUP(testmips)
474          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%"PRIx64" irq=3",          snprintf(tmpstr, sizeof(tmpstr), "ether addr=0x%"PRIx64" irq=3",
475              (uint64_t) DEV_ETHER_ADDRESS);              (uint64_t) DEV_ETHER_ADDRESS);
476          device_add(machine, tmpstr);          device_add(machine, tmpstr);
477    
478            snprintf(tmpstr, sizeof(tmpstr), "rtc addr=0x%"PRIx64" irq=4",
479                (uint64_t) DEV_RTC_ADDRESS);
480            device_add(machine, tmpstr);
481  }  }
482    
483    
# Line 438  MACHINE_DEFAULT_CPU(testmips) Line 496  MACHINE_DEFAULT_CPU(testmips)
496  MACHINE_REGISTER(baremips)  MACHINE_REGISTER(baremips)
497  {  {
498          MR_DEFAULT(baremips, "Generic \"bare\" MIPS machine",          MR_DEFAULT(baremips, "Generic \"bare\" MIPS machine",
499              ARCH_MIPS, MACHINE_BAREMIPS, 1, 0);              ARCH_MIPS, MACHINE_BAREMIPS);
500          me->aliases[0] = "baremips";  
501          machine_entry_add(me, ARCH_MIPS);          machine_entry_add_alias(me, "baremips");
502  }  }
503    
504    
505  MACHINE_REGISTER(testmips)  MACHINE_REGISTER(testmips)
506  {  {
507          MR_DEFAULT(testmips, "Test-machine for MIPS",          MR_DEFAULT(testmips, "Test-machine for MIPS",
508              ARCH_MIPS, MACHINE_TESTMIPS, 1, 0);              ARCH_MIPS, MACHINE_TESTMIPS);
509          me->aliases[0] = "testmips";  
510          machine_entry_add(me, ARCH_MIPS);          machine_entry_add_alias(me, "testmips");
511  }  }
512    
513    
# Line 486  MACHINE_DEFAULT_CPU(testppc) Line 544  MACHINE_DEFAULT_CPU(testppc)
544  MACHINE_REGISTER(bareppc)  MACHINE_REGISTER(bareppc)
545  {  {
546          MR_DEFAULT(bareppc, "Generic \"bare\" PPC machine",          MR_DEFAULT(bareppc, "Generic \"bare\" PPC machine",
547              ARCH_PPC, MACHINE_BAREPPC, 1, 0);              ARCH_PPC, MACHINE_BAREPPC);
548          me->aliases[0] = "bareppc";  
549          machine_entry_add(me, ARCH_PPC);          machine_entry_add_alias(me, "bareppc");
550  }  }
551    
552    
553  MACHINE_REGISTER(testppc)  MACHINE_REGISTER(testppc)
554  {  {
555          MR_DEFAULT(testppc, "Test-machine for PPC",          MR_DEFAULT(testppc, "Test-machine for PPC", ARCH_PPC, MACHINE_TESTPPC);
556              ARCH_PPC, MACHINE_TESTPPC, 1, 0);  
557          me->aliases[0] = "testppc";          machine_entry_add_alias(me, "testppc");
         machine_entry_add(me, ARCH_PPC);  
558  }  }
559    
560    
# Line 521  MACHINE_SETUP(testsh) Line 578  MACHINE_SETUP(testsh)
578    
579  MACHINE_DEFAULT_CPU(baresh)  MACHINE_DEFAULT_CPU(baresh)
580  {  {
581          machine->cpu_name = strdup("SH");          machine->cpu_name = strdup("SH7750");
582  }  }
583    
584    
585  MACHINE_DEFAULT_CPU(testsh)  MACHINE_DEFAULT_CPU(testsh)
586  {  {
587          machine->cpu_name = strdup("SH");          machine->cpu_name = strdup("SH7750");
588  }  }
589    
590    
591  MACHINE_REGISTER(baresh)  MACHINE_REGISTER(baresh)
592  {  {
593          MR_DEFAULT(baresh, "Generic \"bare\" SH machine",          MR_DEFAULT(baresh, "Generic \"bare\" SH machine",
594              ARCH_SH, MACHINE_BARESH, 1, 0);              ARCH_SH, MACHINE_BARESH);
595          me->aliases[0] = "baresh";  
596          machine_entry_add(me, ARCH_SH);          machine_entry_add_alias(me, "baresh");
597  }  }
598    
599    
600  MACHINE_REGISTER(testsh)  MACHINE_REGISTER(testsh)
601  {  {
602          MR_DEFAULT(testsh, "Test-machine for SH",          MR_DEFAULT(testsh, "Test-machine for SH", ARCH_SH, MACHINE_TESTSH);
603              ARCH_SH, MACHINE_TESTSH, 1, 0);  
604          me->aliases[0] = "testsh";          machine_entry_add_alias(me, "testsh");
         machine_entry_add(me, ARCH_SH);  
605  }  }
606    
607    
# Line 582  MACHINE_DEFAULT_CPU(testsparc) Line 638  MACHINE_DEFAULT_CPU(testsparc)
638  MACHINE_REGISTER(baresparc)  MACHINE_REGISTER(baresparc)
639  {  {
640          MR_DEFAULT(baresparc, "Generic \"bare\" SPARC machine",          MR_DEFAULT(baresparc, "Generic \"bare\" SPARC machine",
641              ARCH_SPARC, MACHINE_BARESPARC, 1, 0);              ARCH_SPARC, MACHINE_BARESPARC);
642          me->aliases[0] = "baresparc";  
643          machine_entry_add(me, ARCH_SPARC);          machine_entry_add_alias(me, "baresparc");
644  }  }
645    
646    
647  MACHINE_REGISTER(testsparc)  MACHINE_REGISTER(testsparc)
648  {  {
649          MR_DEFAULT(testsparc, "Test-machine for SPARC",          MR_DEFAULT(testsparc, "Test-machine for SPARC",
650              ARCH_SPARC, MACHINE_TESTSPARC, 1, 0);              ARCH_SPARC, MACHINE_TESTSPARC);
651          me->aliases[0] = "testsparc";  
652          machine_entry_add(me, ARCH_SPARC);          machine_entry_add_alias(me, "testsparc");
653    }
654    
655    
656    MACHINE_SETUP(baretransputer)
657    {
658            machine->machine_name = "Generic \"bare\" Transputer machine";
659            machine->stable = 1;
660    }
661    
662    
663    MACHINE_DEFAULT_CPU(baretransputer)
664    {
665            machine->cpu_name = strdup("T800");
666    }
667    
668    
669    MACHINE_REGISTER(baretransputer)
670    {
671            MR_DEFAULT(baretransputer, "Generic \"bare\" Transputer machine",
672                ARCH_TRANSPUTER, MACHINE_BARETRANSPUTER);
673    
674            machine_entry_add_alias(me, "baretransputer");
675  }  }
676    

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

  ViewVC Help
Powered by ViewVC 1.1.26