|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Mini-OS and Xenstore
Thank you, I now
understand why it wouldn't work because of the order of
initialization action in start_kernel() function. I make some
permitting and like it used to do, it compiles correctly but
the virtual machine don't start at all. I think that the order must
respect some chronologies, did any one know some document explaining
more about that?
/* Set up events. */
init_events(); /* ENABLE
EVENT DELIVERY. This is disabled at start of day. */
__sti();
arch_print_info();
setup_xen_features();
/* Init memory
management. */ init_mm();
/* Init time and timers. */ init_time();
/* Init grant tables */ init_gnttab();
/* Init scheduler. */
init_sched(); /* Init XenBus */
init_xenbus();
/* Init the console driver.
*/ init_console(); /* Call
(possibly overridden) app_main() */
I write this example for
those who want to write to xenstore from Mini-OS, I included in
periodic_thread of the kernel.c. the value are updated peridicaly. It
depends also on the activity of virtual machine. But I want if there
a possibility to write to any part of xenstore like the third case
??:
xenbus_write(XBT_NIL,"/local/count_example3",buf); after
loading the virtual machine, i did not found what i wrote.
thanks
a lot,
static void periodic_thread(void *p) {
struct timeval tv; unsigned int count = 0;
char * buf; printk("Periodic thread
started.\n"); for(;;)
{ //########### counter
########### count++;
sprintf(buf, "%u", count);
/* write to /local/domain/number_of_domain */
xenbus_write(XBT_NIL,"count_example1",buf);
/* write to /local/domain/number_of_domain/domain
*/
xenbus_write(XBT_NIL,"domain/count_example2",buf);
/* do not write any thing !! and do not invoke error !!!!! */
xenbus_write(XBT_NIL,"/local/count_example3",buf);
//######### end counter ##########
gettimeofday(&tv);
printk("T(s=%ld us=%ld)\n", tv.tv_sec, tv.tv_usec);
sleep(1000); } }
best regards Braham
Othmen
2008/8/5 Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
braham othmen, le Tue 05 Aug 2008 12:29:17 +0200, a �it :
> this code
> xenbus_write(XBT_NIL,"/local/example","val_example");
> which is included in events.c
Where did you add that code in events.c? Take care that the xenbus
stuff may not be initialized at that point... See the initialization
steps in kernel.c's start_kernel.
Samuel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|