qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] RFC: [PATCH 0/5] Explicitly annotating coroutine_fn fun


From: Kevin Wolf
Subject: Re: [Qemu-devel] RFC: [PATCH 0/5] Explicitly annotating coroutine_fn functions
Date: Thu, 8 Aug 2013 09:15:53 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 08.08.2013 um 03:22 hat Charlie Shepherd geschrieben:
> On 06/08/2013 10:37, Kevin Wolf wrote:
> >Am 05.08.2013 um 20:44 hat Charlie Shepherd geschrieben:
> >>This patch series is a follow up to a previous RFC about converting 
> >>functions
> >>that dynamically yield execution depending on whether they are in executing 
> >>in
> >>a coroutine context or not to be explicitly statically annotated. This 
> >>change
> >>is necessary for the GSoC CPC project, but was also agreed in an IRC
> >>conversation on #qemu to be benefical overall if it can be upstream before 
> >>the
> >>end of the project. This is an update to see if the approach I'm taking to
> >>implementing this conversion is correct.
> >>
> >>In order to statically check the tree to ensure the annotations are correct,
> >>I've been using CPC to compile the QEMU tree. This does a source to source
> >>translation to convert coroutine code to continuation-passing style (the
> >>purpose of the GSoC project), but as a side benefit statically checks
> >>annotations (any functions annotated with coroutine_fn are transformed into
> >>CPS, so have a different "calling style" to the standard C convention).
> >>
> >>In order to compile the tree with CPC:
> >>  $ git clone git://github.com/kerneis/cpc.git
> >>  $ cd cpc
> >>  $ make
> >>  $ ./configure
> >>  $ make
> >>  $ cd ..
> >>  $ export CPC=$(pwd)/cpc/bin/cpc
> >>  $ cd qemu
> >>  $ mkdir -p bin/cpc
> >>  $ cd bin/cpc
> >>  $ ../../configure --enable-debug --disable-werror  
> >> --target-list=x86_64-softmmu     --cc="$CPC"     
> >> --extra-cflags="--noMakeStaticGlobal --useLogicalOperators --useCaseRange 
> >> --save-temps -U__SSE2__ -w -Dcoroutine_fn='__attribute__((__cps__))' 
> >> --docpsInference  --warnall "
> >>  $ make
> >Against which tree is this? It didn't apply on top of qemu-git master,
> >nor on my block branch.
> 
> Sorry, just to clarify, this isn't based on QEMU but is a repository
> containing the CPC tool, which can then be used to statically check
> QEMU; you'll need to clone it into its own repo. In this example it
> should be a sibling directory to whichever QEMU checkout you're
> testing it on.

Sorry, the quoted cover letter text was probably more confusing than
helpful. I meant what qemu tree your patch series is against.

Kevin



reply via email to

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