Revision 6ad02592 target-alpha/op_helper.c

b/target-alpha/op_helper.c
58 58

  
59 59
/*****************************************************************************/
60 60
/* Exceptions processing helpers */
61
void helper_excp (uint32_t excp, uint32_t error)
61
void helper_excp (int excp, int error)
62 62
{
63 63
    env->exception_index = excp;
64 64
    env->error_code = error;
......
80 80
    return arg;
81 81
}
82 82

  
83
void helper_load_pcc (void)
83
uint64_t helper_load_pcc (void)
84 84
{
85 85
    /* XXX: TODO */
86
    T0 = 0;
86
    return 0;
87 87
}
88 88

  
89
void helper_load_implver (void)
89
uint64_t helper_load_implver (void)
90 90
{
91
    T0 = env->implver;
91
    return env->implver;
92 92
}
93 93

  
94 94
void helper_load_fpcr (void)
......
137 137
    }
138 138
}
139 139

  
140
void helper_load_irf (void)
141
{
142
    /* XXX: TODO */
143
    T0 = 0;
144
}
140
spinlock_t intr_cpu_lock = SPIN_LOCK_UNLOCKED;
145 141

  
146
void helper_set_irf (void)
142
uint64_t helper_rs(void)
147 143
{
148
    /* XXX: TODO */
144
    uint64_t tmp;
145

  
146
    spin_lock(&intr_cpu_lock);
147
    tmp = env->intr_flag;
148
    env->intr_flag = 1;
149
    spin_unlock(&intr_cpu_lock);
150

  
151
    return tmp;
149 152
}
150 153

  
151
void helper_clear_irf (void)
154
uint64_t helper_rc(void)
152 155
{
153
    /* XXX: TODO */
156
    uint64_t tmp;
157

  
158
    spin_lock(&intr_cpu_lock);
159
    tmp = env->intr_flag;
160
    env->intr_flag = 0;
161
    spin_unlock(&intr_cpu_lock);
162

  
163
    return tmp;
154 164
}
155 165

  
156 166
void helper_addqv (void)

Also available in: Unified diff