Example #1
0
def cmd_skip_to(poly):
    if SIM_simics_is_running():
        raise CliError, "Simics is already running"
    if not VT_hindsight_license_check():
        print "Command requires hindsight license."
        SIM_command_has_problem()
        return
    cpu, steps = poly_to_pair(poly)
    backer.rewind(steps, cpu)
    blurb()
Example #2
0
def cmd_unstep(count):
    if SIM_simics_is_running():
        raise CliError, "Simics is already running"
    if not VT_hindsight_license_check():
        print "Command requires hindsight license."
        SIM_command_has_problem()
        return

    pt = ptime()
    backer.rewind(pt - count, current_processor())
    output.divert(re.obj.state_level)
    VT_save_micro_checkpoint("<unstep-mark>", Sim_MC_ID_Tmp | Sim_MC_Persistent)
    output.undivert()

    output.separator()
    count = pt - ptime()
    if count > 0:
        eval_cli_line("si %d" % count)
    output.undivert()

    output.divert(re.obj.state_level)
    restore_state_with_id(Sim_MC_ID_Tmp)
    delete_state(0)
    output.undivert()