[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/9] coroutine: add host specific coroutine back
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 4/9] coroutine: add host specific coroutine backend for 64-bit ARM |
Date: |
Thu, 9 May 2019 14:15:59 +0100 |
User-agent: |
Mutt/1.11.4 (2019-03-13) |
On Sat, May 04, 2019 at 06:05:22AM -0600, Paolo Bonzini wrote:
> diff --git a/configure b/configure
> index c01f57a3ae..26e62a4ab1 100755
> --- a/configure
> +++ b/configure
> @@ -5200,7 +5200,7 @@ fi
> if test "$coroutine" = ""; then
> if test "$mingw32" = "yes"; then
> coroutine=win32
> - elif test "$cpu" = "x86_64"; then
> + elif test "$cpu" = "x86_64" || test "$cpu" = "aarch64"; then
> coroutine=asm
> elif test "$ucontext_works" = "yes"; then
> coroutine=ucontext
> diff --git a/scripts/qemugdb/coroutine_asm.py
> b/scripts/qemugdb/coroutine_asm.py
> index b4ac1291db..181b77287b 100644
> --- a/scripts/qemugdb/coroutine_asm.py
> +++ b/scripts/qemugdb/coroutine_asm.py
> @@ -17,4 +17,8 @@ U64_PTR = gdb.lookup_type('uint64_t').pointer()
> def get_coroutine_regs(addr):
> addr = addr.cast(gdb.lookup_type('CoroutineAsm').pointer())
> rsp = addr['sp'].cast(U64_PTR)
> - return {'sp': rsp, 'pc': rsp.dereference()}
> + arch = gdb.selected_frame().architecture.name().split(':'):
> + if arch[0] == 'i386' and arch[1] == 'x86-64':
> + return {'rsp': rsp, 'pc': rsp.dereference()}
Before: sp
After: rsp
Is this a typo? I thought we were using sp everywhere now.
> + else:
> + return {'sp': rsp, 'pc': addr['scratch'].cast(U64_PTR) }
> diff --git a/util/Makefile.objs b/util/Makefile.objs
> index 41a10539cf..2167ffc862 100644
> --- a/util/Makefile.objs
> +++ b/util/Makefile.objs
> @@ -39,7 +39,9 @@ util-obj-$(CONFIG_MEMBARRIER) += sys_membarrier.o
> util-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
> util-obj-y += qemu-coroutine-sleep.o
> util-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
> +ifeq ($(ARCH),x86_64)
> coroutine-asm.o-cflags := -mno-red-zone
> +endif
-mno-red-zone was mentioned in the previous patch. Should this hunk be
moved there?
signature.asc
Description: PGP signature
- [Qemu-devel] [PATCH 0/9] Assembly coroutine backend and x86 CET support, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 1/9] qemugdb: allow adding support for other coroutine backends, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 2/9] qemugdb: allow adding support for other architectures, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 3/9] coroutine: add host specific coroutine backend for 64-bit x86, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 4/9] coroutine: add host specific coroutine backend for 64-bit ARM, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 5/9] coroutine: add host specific coroutine backend for 64-bit s390, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 6/9] configure: add control-flow protection support, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 8/9] tcg/i386: add support for IBT, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 7/9] tcg: add tcg_out_start, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 9/9] linux-user: add IBT support to x86 safe-syscall.S, Paolo Bonzini, 2019/05/04
- [Qemu-devel] [PATCH 10/9] coroutine-asm: add x86 CET shadow stack support, Paolo Bonzini, 2019/05/04
- Re: [Qemu-devel] [PATCH 0/9] Assembly coroutine backend and x86 CET support, Alex Bennée, 2019/05/05