summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorPeter Maydell2018-05-25 11:04:36 +0200
committerPeter Maydell2018-05-25 11:04:36 +0200
commit5a5c383b1373aeb6c87a0d6060f6c3dc7c53082b (patch)
tree62bf6efeeeb4e4baae4192d36da17728964acc7e /include/exec
parentMerge remote-tracking branch 'remotes/kraxel/tags/vga-20180524-pull-request' ... (diff)
parentgdbstub: Clarify what gdb_handlesig() is doing (diff)
downloadqemu-5a5c383b1373aeb6c87a0d6060f6c3dc7c53082b.tar.gz
qemu-5a5c383b1373aeb6c87a0d6060f6c3dc7c53082b.tar.xz
qemu-5a5c383b1373aeb6c87a0d6060f6c3dc7c53082b.zip
Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-2.13-pull-request' into staging
This pull request includes: - fixes for some comments - netlink update and fix - rework/cleanup fo socket.h, including fixes for SPARC part. # gpg: Signature made Fri 25 May 2018 09:16:21 BST # gpg: using RSA key F30C38BD3F2FBE3C # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" # gpg: aka "Laurent Vivier <laurent@vivier.eu>" # gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C * remotes/vivier2/tags/linux-user-for-2.13-pull-request: gdbstub: Clarify what gdb_handlesig() is doing linux-user: define TARGET_SO_REUSEPORT linux-user: copy sparc/sockbits.h definitions from linux linux-user: update ARCH_HAS_SOCKET_TYPES use linux-user: move ppc socket.h definitions to ppc/sockbits.h linux-user: move socket.h generic definitions to generic/sockbits.h linux-user: move sparc/sparc64 socket.h definitions to sparc/sockbits.h linux-user: move alpha socket.h definitions to alpha/sockbits.h linux-user: move mips socket.h definitions to mips/sockbits.h linux-user: Fix payload size logic in host_to_target_cmsg() linux-user: update comments to point to tcg_exec_init() linux-user: update netlink emulation linux-user: Assert on bad type in thunk_type_align() and thunk_type_size() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/gdbstub.h15
-rw-r--r--include/exec/user/thunk.h4
2 files changed, 17 insertions, 2 deletions
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index 2e8a4b83b9..08363969c1 100644
--- a/include/exec/gdbstub.h
+++ b/include/exec/gdbstub.h
@@ -48,6 +48,21 @@ int use_gdb_syscalls(void);
void gdb_set_stop_cpu(CPUState *cpu);
void gdb_exit(CPUArchState *, int);
#ifdef CONFIG_USER_ONLY
+/**
+ * gdb_handlesig: yield control to gdb
+ * @cpu: CPU
+ * @sig: if non-zero, the signal number which caused us to stop
+ *
+ * This function yields control to gdb, when a user-mode-only target
+ * needs to stop execution. If @sig is non-zero, then we will send a
+ * stop packet to tell gdb that we have stopped because of this signal.
+ *
+ * This function will block (handling protocol requests from gdb)
+ * until gdb tells us to continue target execution. When it does
+ * return, the return value is a signal to deliver to the target,
+ * or 0 if no signal should be delivered, ie the signal that caused
+ * us to stop should be ignored.
+ */
int gdb_handlesig(CPUState *, int);
void gdb_signalled(CPUArchState *, int);
void gdbserver_fork(CPUState *);
diff --git a/include/exec/user/thunk.h b/include/exec/user/thunk.h
index 8f55b233b3..8d3af5a3be 100644
--- a/include/exec/user/thunk.h
+++ b/include/exec/user/thunk.h
@@ -135,7 +135,7 @@ static inline int thunk_type_size(const argtype *type_ptr, int is_host)
se = struct_entries + type_ptr[1];
return se->size[is_host];
default:
- return -1;
+ g_assert_not_reached();
}
}
@@ -185,7 +185,7 @@ static inline int thunk_type_align(const argtype *type_ptr, int is_host)
se = struct_entries + type_ptr[1];
return se->align[is_host];
default:
- return -1;
+ g_assert_not_reached();
}
}