Alpha update (Falk Hueffner)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@203 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard
2003-06-02 20:38:09 +00:00
parent 03bfca946a
commit 2f87c60799
5 changed files with 37 additions and 7 deletions

View File

@@ -447,6 +447,34 @@ int cpu_x86_signal_handler(int host_signum, struct siginfo *info,
is_write, &uc->uc_sigmask);
}
#elif defined(__alpha__)
int cpu_x86_signal_handler(int host_signum, struct siginfo *info,
void *puc)
{
struct ucontext *uc = puc;
uint32_t *pc = uc->uc_mcontext.sc_pc;
uint32_t insn = *pc;
int is_write = 0;
switch (insn >> 26) {
case 0x0d: // stw
case 0x0e: // stb
case 0x0f: // stq_u
case 0x24: // stf
case 0x25: // stg
case 0x26: // sts
case 0x27: // stt
case 0x2c: // stl
case 0x2d: // stq
case 0x2e: // stl_c
case 0x2f: // stq_c
is_write = 1;
}
return handle_cpu_signal(pc, (unsigned long)info->si_addr,
is_write, &uc->uc_sigmask);
}
#else
#error CPU specific signal handler needed