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

Re: [Xen-devel] Mini-OS and Xenstore


  • To: "Samuel Thibault" <samuel.thibault@xxxxxxxxxxxxx>, "braham othmen" <braham.othmen@xxxxxxxxx>, "Julian Munster" <jmuenster@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "braham othmen" <braham.othmen@xxxxxxxxx>
  • Date: Tue, 5 Aug 2008 17:20:33 +0200
  • Cc:
  • Delivery-date: Tue, 05 Aug 2008 08:20:58 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=b92qD5Ak9gXq3/c93DlTrHk85VmaCWSrq6cAB1Aop14ESiPQYCjoN+wuDHzLSaBDc5 Pq53vlhDFSBDIlnd/9FaxdGYHLJPZSkIlFcjILZu5na2WV5tlssal/7bc4dzGdVit54x ipzR6LtnoRzhhZrjo1qp1v8n7IjOZ5lbdY1Dc=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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

 


Rackspace

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