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

[Xen-devel] [PATCH] getting mini-os to compile again


I've created a patch to get the mini-os to compile in Xen-unstable. The patch
is pretty big, but this is mostly because I've replaced hypervisor.h with the
hypercalls.h header file from Linux (which seems easier to maintain
anyway). I've ignored X86_64.

I also had to disable some code in mini-os/xenbus/xenbus_xs.c since
XS_WATCH_ACK is no longer available, I'm not sure what the proper fix would

With the patch, the mini-os is possible to compile, but unfortunately crashes
during startup. Specifically, __sti() called from kernel.c:105 causes a page
fault in os.h:83

#define __sti()                                                    \
do {                                                               \
   vcpu_info_t *_vcpu;                                             \
   barrier();                                                      \
   _vcpu = &HYPERVISOR_shared_info->vcpu_data[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 problem is the access _vcpu->evtchn_upcall_mask = 0;. (smp_processor_id is
defined to 0).

// Simon

Attachment: mini-os-compile_unstable.patch
Description: Text document

Xen-devel mailing list



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