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

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

revision 29 by dpavlin, Mon Oct 8 16:19:56 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: dec_prom.c,v 1.9 2006/06/23 11:47:05 debug Exp $   *  $Id: dec_prom.c,v 1.10 2006/07/26 23:21:48 debug Exp $
29   *   *
30   *  DECstation PROM emulation.   *  DECstation PROM emulation.
31   *   *
# Line 105  int dec_jumptable_func(struct cpu *cpu, Line 105  int dec_jumptable_func(struct cpu *cpu,
105                  /*  TODO  */                  /*  TODO  */
106                  cpu->machine->exit_without_entering_debugger = 1;                  cpu->machine->exit_without_entering_debugger = 1;
107                  cpu->running = 0;                  cpu->running = 0;
                 cpu->dead = 1;  
108                  break;                  break;
109          case 0x10:      /*  restart()  */          case 0x10:      /*  restart()  */
110                  /*  TODO  */                  /*  TODO  */
111                  cpu->machine->exit_without_entering_debugger = 1;                  cpu->machine->exit_without_entering_debugger = 1;
112                  cpu->running = 0;                  cpu->running = 0;
                 cpu->dead = 1;  
113                  break;                  break;
114          case 0x18:      /*  reinit()  */          case 0x18:      /*  reinit()  */
115                  /*  TODO  */                  /*  TODO  */
# Line 128  int dec_jumptable_func(struct cpu *cpu, Line 126  int dec_jumptable_func(struct cpu *cpu,
126                          fatal("\ndec_jumptable_func(): opening more than one "                          fatal("\ndec_jumptable_func(): opening more than one "
127                              "file isn't supported yet.\n");                              "file isn't supported yet.\n");
128                          cpu->running = 0;                          cpu->running = 0;
                         cpu->dead = 1;  
129                  }                  }
130                  file_opened = 1;                  file_opened = 1;
131                  cpu->cd.mips.gpr[MIPS_GPR_V0] = 1;                  cpu->cd.mips.gpr[MIPS_GPR_V0] = 1;
# Line 201  int dec_jumptable_func(struct cpu *cpu, Line 198  int dec_jumptable_func(struct cpu *cpu,
198                  fatal("PROM emulation: unimplemented JUMP TABLE vector "                  fatal("PROM emulation: unimplemented JUMP TABLE vector "
199                      "0x%x (decimal function %i)\n", vector, vector/8);                      "0x%x (decimal function %i)\n", vector, vector/8);
200                  cpu->running = 0;                  cpu->running = 0;
                 cpu->dead = 1;  
201          }          }
202    
203          return 0;          return 0;
# Line 613  int decstation_prom_emul(struct cpu *cpu Line 609  int decstation_prom_emul(struct cpu *cpu
609                  debug("[ DEC PROM halt() ]\n");                  debug("[ DEC PROM halt() ]\n");
610                  cpu->machine->exit_without_entering_debugger = 1;                  cpu->machine->exit_without_entering_debugger = 1;
611                  cpu->running = 0;                  cpu->running = 0;
                 cpu->dead = 1;  
612                  break;                  break;
613          case 0xa4:              /*  gettcinfo()  */          case 0xa4:              /*  gettcinfo()  */
614                  /*                  /*
# Line 653  int decstation_prom_emul(struct cpu *cpu Line 648  int decstation_prom_emul(struct cpu *cpu
648                          debug("DEC PROM: rex('h') ==> halt\n");                          debug("DEC PROM: rex('h') ==> halt\n");
649                          cpu->machine->exit_without_entering_debugger = 1;                          cpu->machine->exit_without_entering_debugger = 1;
650                          cpu->running = 0;                          cpu->running = 0;
                         cpu->dead = 1;  
651                          break;                          break;
652                  case 'b':                  case 'b':
653                          debug("DEC PROM: rex('b') ==> reboot: TODO "                          debug("DEC PROM: rex('b') ==> reboot: TODO "
654                              "(halting CPU instead)\n");                              "(halting CPU instead)\n");
655                          cpu->machine->exit_without_entering_debugger = 1;                          cpu->machine->exit_without_entering_debugger = 1;
656                          cpu->running = 0;                          cpu->running = 0;
                         cpu->dead = 1;  
657                          break;                          break;
658                  default:                  default:
659                          fatal("DEC prom emulation: unknown rex() a0=0x%"PRIx64                          fatal("DEC prom emulation: unknown rex() a0=0x%"PRIx64
# Line 668  int decstation_prom_emul(struct cpu *cpu Line 661  int decstation_prom_emul(struct cpu *cpu
661                              (int64_t) cpu->cd.mips.gpr[MIPS_GPR_A0],                              (int64_t) cpu->cd.mips.gpr[MIPS_GPR_A0],
662                              (char) cpu->cd.mips.gpr[MIPS_GPR_A0]);                              (char) cpu->cd.mips.gpr[MIPS_GPR_A0]);
663                          cpu->running = 0;                          cpu->running = 0;
                         cpu->dead = 1;  
664                  }                  }
665                  break;                  break;
666          default:          default:
# Line 688  int decstation_prom_emul(struct cpu *cpu Line 680  int decstation_prom_emul(struct cpu *cpu
680                  fatal("PROM emulation: unimplemented callback vector 0x%x\n",                  fatal("PROM emulation: unimplemented callback vector 0x%x\n",
681                      vector);                      vector);
682                  cpu->running = 0;                  cpu->running = 0;
                 cpu->dead = 1;  
683          }          }
684    
685          return 1;          return 1;

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

  ViewVC Help
Powered by ViewVC 1.1.26