qemu-devel
[Top][All Lists]
Advanced

[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?

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]