summaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-12 20:39:29 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-04-12 20:39:29 +0000
commita541f297a37e64673aac52abc858e0904e316b48 (patch)
treef0de0d033bf3ed8b6e29a507b1e5c4fc540e575f /linux-user
parentdf475d18d890572b8456ebff327bb9debee6289a (diff)
downloadqemu-a541f297a37e64673aac52abc858e0904e316b48.tar.gz
qemu-a541f297a37e64673aac52abc858e0904e316b48.tar.bz2
qemu-a541f297a37e64673aac52abc858e0904e316b48.zip
PowerPC system emulation fixes (Jocelyn Mayer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@722 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/main.c13
-rw-r--r--linux-user/syscall.c2
2 files changed, 9 insertions, 6 deletions
diff --git a/linux-user/main.c b/linux-user/main.c
index 21ddf7aeb9..6018292304 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -94,15 +94,15 @@ int cpu_inl(CPUState *env, int addr)
return 0;
}
-#ifdef TARGET_I386
-/***********************************************************/
-/* CPUX86 core interface */
-
-int cpu_x86_get_pic_interrupt(CPUState *env)
+int cpu_get_pic_interrupt(CPUState *env)
{
return -1;
}
+#ifdef TARGET_I386
+/***********************************************************/
+/* CPUX86 core interface */
+
static void write_dt(void *ptr, unsigned long addr, unsigned long limit,
int flags)
{
@@ -441,7 +441,6 @@ void cpu_loop (CPUSPARCState *env)
#endif
#ifdef TARGET_PPC
-
void cpu_loop(CPUPPCState *env)
{
target_siginfo_t info;
@@ -769,6 +768,8 @@ void cpu_loop(CPUPPCState *env)
case EXCP_INTERRUPT:
/* Don't know why this should ever happen... */
break;
+ case EXCP_DEBUG:
+ break;
default:
fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",
trapnr);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f8b48d588a..95806454d7 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2475,6 +2475,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
}
#endif
break;
+#ifdef TARGET_NR_getdents64
case TARGET_NR_getdents64:
{
struct dirent64 *dirp = (void *)arg2;
@@ -2498,6 +2499,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
}
}
break;
+#endif /* TARGET_NR_getdents64 */
case TARGET_NR__newselect:
ret = do_select(arg1, (void *)arg2, (void *)arg3, (void *)arg4,
(void *)arg5);