WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Os port on xen

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Os port on xen
From: nicowisamu <nicowisamu@xxxxxxxxx>
Date: Mon, 16 Jan 2006 17:18:06 +0900
Delivery-date: Mon, 16 Jan 2006 08:25:33 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=tMvMSJNQUzDs2B3j1mXhHC0yVFIPT+l5NR2YVbdJJXVzmZGEllCCCVt7IZDE6BwvRbvWqsCPRihLnQDcopEGCdESvGlQXIuiMeacyg6Xo+/dsJ7qRSQsgCI1GDo4M2WkpUI4hFrNLbJyDBNyn/cZ0nV7/QQKtSaIIAuxHCZNz3s=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
hello,
I'm trying to run an os named toppers (japanese) as guest on xen.
I'm currently using xen 2.0.7 unstable from november. I'm using the libraries of mini-os which I kind of included in toppers.

I have a bug I can't solve when booting after starting domain and  initializing some things and I would appreciate some help ^^
the domain crashes before executing any code of toppers. it crashes during initilizing memory management with the function init_mm() from mm.c of mini-os.
 here is the prints I have from the boot :

xenbr0: port 2(vif2.0) entering learning state
xenbr0: topology change detected, propagating
xenbr0: port 2(vif2.0) entering forwarding state
Bootstrapping...
Copying the start_info struct to a globally-accessible area OK
Grabbing the shared_info pointer OK
Setting up event and failsafe callback OK
Initializing traps OK
Enabling event delivery OK
Toppers Real-Time OS on Xen !
start_info:   00128000
  nr_pages:   8192  shared_inf: 00bdd000
  pt_base:    0012b000  mod_start:  0x0
  mod_len:    0
  flags:      0x0
  cmd_line:    root=/dev/sda1 ro 4
Initializing memory managementMM: Init
  _etext:       0010dbbd
  _edata:       001111e8
  stack start:  0011d8c0
  _end:         0011ff1c
  start_pfn:    40130
  max_pfn:      2000
start_pfn=262448, first pfn_to_map 1024, max_pfn=8192Max_mach_ptd 0xc20ERROR: Not even a single emp ty, mapped page
Page fault at linear address 00000000
FIXME: proper register dump (with the stack dump)
GPF 0011b6e0, error_code=0



after some loops the domains stops and prints this :



GPF 0010eb60, errFIXME: proper register dump (with the stack dump)
GPF 0010ea4c, errFIXME: proper register dump (with the stack dump)
GPF 0010e938RSTUVWXYZFIXME: proper register dump (with th\uffffFIXME: proper register dump (with th\uffff 4[\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff\uffff \uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff \uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff \uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff\uffff\uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff  \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff  \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff \uffff(XEN) Domain  2 (vcpu#0) crashed on cpu#0:
(XEN) CPU:    0
(XEN) EIP:    e019:[<0010218a>]
(XEN) EFLAGS: 00010246   CONTEXT: guest
(XEN) eax: 000000a9   ebx: 02dde90b   ecx: 0011940a   edx: 00000000
(XEN) esi: 00128216   edi: 0000e021   ebp: 0010220b   esp: 0010000b
(XEN) cr0: 80050033   cr3: 05503000
(XEN) ds: e021   es: e021   fs: e021   gs: e021   ss: e021   cs: e019
(XEN) Guest stack trace from esp=0010000b:
(XEN)    00000002 0010218a 0001e019 00010006 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010046 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010046 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010046 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010086
(XEN)    00000002 0010218a 0001e019 00010006 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010046 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010086 00000002 0010218a 0001e019 00010082
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010086 00000002 0010218a 0001e019 00010082
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010082
(XEN)    00000002 0010218a 0001e019 00010006 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010086 00000002 0010218a 0001e019 00010006
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010086 00000002 0010218a 0001e019 00010082
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010002 00000002 0010218a 0001e019 00010046
(XEN)    00000002 0010218a 0001e019 00010046 00000002 0010218a 0001e019 00010046
device vif2.0 left promiscuous mode
xenbr0: port 2(vif2.0) entering disabled state
xenbr0: port 2(vif2.0) entering disabled state





this error seems to occurs cause pt_frame is superior or equal to pfn_to_page  when building page table in the mm.c file of mini-os library

    /* Should not happen - no empty, mapped pages */
    if(pt_frame >= pfn_to_map)
    {
        printk("ERROR: Not even a single empty, mapped page\n");
        *(int*)0=0;
    }






here is a piece of the code of the startup.c :

kernel_start(start_info_t *si)
{
    /*
     *  ¥¿¡Œ¥²¥Ã¥È°Íž€ÎœéŽü²œ
     */

    static char   buf[]="Bootstrapping...\n";
    (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(buf), buf);

   


   
    printk("Copying the start_info struct to a globally-accessible area");
    /* Copy the start_info struct to a globally-accessible area. */
        memcpy(&start_info, si, sizeof(*si));

    printk(" OK\nGrabbing the shared_info pointer");
      /* Grab the shared_info pointer and put it in a safe place. */
      HYPERVISOR_shared_info = map_shared_info(start_info.shared_info);

    printk(" OK\nSetting up event and failsafe callback");
    /* Set up event and failsafe callback addresses. */
#ifdef __i386__
        HYPERVISOR_set_callbacks(
        __KERNEL_CS, (unsigned long)hypervisor_callback,
        __KERNEL_CS, (unsigned long)failsafe_callback);
#else
        HYPERVISOR_set_callbacks(
        (unsigned long)hypervisor_callback,
        (unsigned long)failsafe_callback, 0);
#endif
    printk(" OK\nInitializing traps");

    xen_init_traps();

    printk(" OK\nEnabling event delivery");
       /* ENABLE EVENT DELIVERY. This is disabled at start of day. */
       __sti();

    printk(" OK\n");

    printk("Toppers Real-Time OS on Xen !\n");
       printk("start_info:   %p\n",    si);
        printk("  nr_pages:   %lu",     si->nr_pages);
        printk("  shared_inf: %08lx\n", si->shared_info);
        printk("  pt_base:    %p",      (void *)si->pt_base);
        printk("  mod_start:  0x%lx\n", si->mod_start);
        printk("  mod_len:    %lu\n",   si->mod_len);
        printk("  flags:      0x%x\n",  (unsigned int)si->flags);
        printk("  cmd_line:   %s\n", 
           si->cmd_line ? (const char *)si->cmd_line : "NULL");

    /* init memory management */
   
    printk("Initializing memory management");
        init_mm();
    /* here starts toppers*/
    printk(" OK\nStarting Toppers\n");
    cpu_initialize();

    sys_initialize();


I would appreciate some help. thank you in advance.



--
Claverie nicolas

Real-time and embedded systems lab
tsukuba university
japan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>