From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grzegorz Milos Subject: Re: [PATCH]mini-os: Using new hypercall interfaces Date: Fri, 24 Nov 2006 17:22:29 +0000 Message-ID: <45672A55.5030507@cam.ac.uk> References: <200611221548.00507.dietmar.hahn@fujitsu-siemens.com> <4564CB4F.90907@cam.ac.uk> <200611230909.03457.dietmar.hahn@fujitsu-siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <200611230909.03457.dietmar.hahn@fujitsu-siemens.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Dietmar Hahn Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This patch looks all fine. Tested on both 32 and 64 bit machines. Keir could you apply please. Thanks. Grerog Dietmar Hahn wrote: > Hi Gregor, > >> You've dropped 'data' from bind_evtchn() call in your changes to >> events.c. That breaks our API, where event handler gets void* to some >> piece of data supplied when binding a channel. It looks to me that no >> changes to events.c are required whatsoever. > Sorry, my fault. I overlooked last changes to the > HYPERVISOR_event_channel_op() hypercall :-(. > I resend the patch only with the changed hypercall HYPERVISOR_sched_op(). > Thanks. > > Dietmar. > > > ------------------------------------------------------------------------ > > # HG changeset patch > # User dietmar.hahn@fujitsu-siemens.com > # Date 1164268700 -3600 > # Node ID 85056d526e1496d0f3a2449b51e4ba6a2361baec > # Parent 2ef0f17a9af9b6b3b2f76460e0f9da5112c0bd79 > Switched to new interface for HYPERVISOR_sched_op(). > > Signed-off-by: Dietmar Hahn > > diff -r 2ef0f17a9af9 -r 85056d526e14 extras/mini-os/include/x86/x86_32/hypercall-x86_32.h > --- a/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h Wed Nov 22 18:36:48 2006 +0000 > +++ b/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h Thu Nov 23 08:58:20 2006 +0100 > @@ -167,7 +167,7 @@ HYPERVISOR_fpu_taskswitch( > > static inline int > HYPERVISOR_sched_op( > - int cmd, unsigned long arg) > + int cmd, void *arg) > { > return _hypercall2(int, sched_op, cmd, arg); > } > diff -r 2ef0f17a9af9 -r 85056d526e14 extras/mini-os/include/x86/x86_64/hypercall-x86_64.h > --- a/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h Wed Nov 22 18:36:48 2006 +0000 > +++ b/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h Thu Nov 23 08:58:20 2006 +0100 > @@ -171,7 +171,7 @@ HYPERVISOR_fpu_taskswitch( > > static inline int > HYPERVISOR_sched_op( > - int cmd, unsigned long arg) > + int cmd, void *arg) > { > return _hypercall2(int, sched_op, cmd, arg); > } > diff -r 2ef0f17a9af9 -r 85056d526e14 extras/mini-os/kernel.c > --- a/extras/mini-os/kernel.c Wed Nov 22 18:36:48 2006 +0000 > +++ b/extras/mini-os/kernel.c Thu Nov 23 08:58:20 2006 +0100 > @@ -159,5 +159,9 @@ void do_exit(void) > void do_exit(void) > { > printk("Do_exit called!\n"); > - for ( ;; ) HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_crash); > + for( ;; ) > + { > + struct sched_shutdown sched_shutdown = { .reason = SHUTDOWN_crash }; > + HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown); > + } > }