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

Re: [Xen-devel] Setting up hypervisor_callback and testing



At Wed, 15 Feb 2006 11:49:05 +0000,
Ivan Kelly wrote:
> 
> im setting up my hypervisor callback with:
> hypervisor_set_callbacks(CS_SELECTOR, (unsigned long)hypervisor_callback,
>                        CS_SELECTOR, (unsigned long)failsafe_callback);
> hypervisor_callback and failsafe_callback are as yet very simple assembly
> funcations that just shutdown the domain.
> <SNIP>
> _hypervisor_callback:
> [...]
> </SNIP>
> 
> The callback doesn't seem to be getting called at all. At the moment im only
> trying to get very basic callback stuff working, so i've left out the save and
> iret stuff. Could anyone point out where im going wrong?

Have you enabled event delivery? Look in the Mini-OS source kernel.c
and os.h, where "__sti" is defined:

#define __sti()                                                         \
do {                                                                    \
        vcpu_info_t *_vcpu;                                             \
        barrier();                                                      \
        _vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; \
        _vcpu->evtchn_upcall_mask = 0;                                  \
        barrier(); /* unmask then check (avoid races) */                \
        if ( unlikely(_vcpu->evtchn_upcall_pending) )                   \
                force_evtchn_callback();                                \
} while (0)

the events should be masked on startup I think, so maybe that's your
problem.

// Simon

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.