Commit 48dc41eb8bdccef274172ba8148c324d1ae9782b
1 parent
a891c7a1
sparc user fixes (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1998 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
13 additions
and
3 deletions
linux-user/main.c
... | ... | @@ -598,8 +598,9 @@ void cpu_loop (CPUSPARCState *env) |
598 | 598 | #else |
599 | 599 | // XXX |
600 | 600 | #endif |
601 | - case 0x100: // XXX, why do we get these? | |
602 | - break; | |
601 | + case EXCP_INTERRUPT: | |
602 | + /* just indicate that signals should be handled asap */ | |
603 | + break; | |
603 | 604 | case EXCP_DEBUG: |
604 | 605 | { |
605 | 606 | int sig; | ... | ... |
linux-user/syscall.c
... | ... | @@ -1538,6 +1538,11 @@ int do_fork(CPUState *env, unsigned int flags, unsigned long newsp) |
1538 | 1538 | new_env->regs[13] = newsp; |
1539 | 1539 | new_env->regs[0] = 0; |
1540 | 1540 | #elif defined(TARGET_SPARC) |
1541 | + if (!newsp) | |
1542 | + newsp = env->regwptr[22]; | |
1543 | + new_env->regwptr[22] = newsp; | |
1544 | + new_env->regwptr[0] = 0; | |
1545 | + /* XXXXX */ | |
1541 | 1546 | printf ("HELPME: %s:%d\n", __FILE__, __LINE__); |
1542 | 1547 | #elif defined(TARGET_MIPS) |
1543 | 1548 | printf ("HELPME: %s:%d\n", __FILE__, __LINE__); |
... | ... | @@ -3598,10 +3603,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, |
3598 | 3603 | case TARGET_NR_get_thread_area: |
3599 | 3604 | goto unimplemented_nowarn; |
3600 | 3605 | #endif |
3606 | +#ifdef TARGET_NR_getdomainname | |
3607 | + case TARGET_NR_getdomainname: | |
3608 | + goto unimplemented_nowarn; | |
3609 | +#endif | |
3601 | 3610 | default: |
3602 | 3611 | unimplemented: |
3603 | 3612 | gemu_log("qemu: Unsupported syscall: %d\n", num); |
3604 | -#if defined(TARGET_NR_setxattr) || defined(TARGET_NR_set_thread_area) | |
3613 | +#if defined(TARGET_NR_setxattr) || defined(TARGET_NR_set_thread_area) || defined(TARGET_NR_getdomainname) | |
3605 | 3614 | unimplemented_nowarn: |
3606 | 3615 | #endif |
3607 | 3616 | ret = -ENOSYS; | ... | ... |