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

Re: [Xen-devel] mini-os under xen 3.0.2



Hello there,

I've been away from the list for little to long I think. Still I hope I can be of help.

The README file is a bit out of date. Mini-OS periodically writes the current time, but the period is extremely long (as you correctly calculated it's about 3 hours). Still the domain should be up and running.

If the domain is responding to the console events (it should print: "No console input handler" every time you press Enter) everything is fine.

The reason why the timer event happens every 10 second is that idle Mini-OS domain is configured to block for periods of 10 seconds. However, if the domain receives console events if will be woken up more frequently (and thus the period between time printouts will be shorter).

The reason why you see pending timer events when using the console is as follows: - Only running domains will respond to timer events. Since Mini-OS is blocked most of the time you will not handle the usual 10ms frequency events.
- As soon as the domain wakes up the timer event is delivered.
- Domain wakes up every time you press a key on the console. If the frequency of your key presses is less then 100 times a second you should see a pending event each time.

If you remove "block_domain(10000);" call from sched.c, the domain will never go to sleep. It will then handle all of the 10ms timer events. You should then see the printouts of the current time roughly every 10 seconds.

Cheers
Gregor



On 17 Jul 2006, at 20:10, Robert Kaiser (FH) wrote:

Hello all,

[My apologies if this question is misplaced here, I initially posted it to xen-users but was told there that it might be better suited for xen- devel..]

I am just setting up Xen test/development environment and I have successfully installed xen 3.0.2 on a dual celeron system. Linux in dom0 works fine. Now, I would like to play with the mini-os (my ultimate goal is to implement a small RTOS as guest in Xen, so mini-os looks like a good starting point). However, I can't seem to get it to run as (I think) it should: It boots up,
but as far as I understand the source code and the  README, it should
continue by printing the current time in regular intervals, which it does
not. Here is the output I receive:


----------------------------------
 Xen Minimal OS!
start_info:   c001d000
  nr_pages:   8192  shared_inf: 00be3000
  pt_base:    c0020000  mod_start:  0x0
  mod_len:    0
  flags:      0x0
  cmd_line:
MM: Init
  _text:        c0000000
  _etext:       c0009577
  _edata:       c000a604
  stack start:  c0011e40
  _end:         c00142a4
  start_pfn:    25
  max_pfn:      2000
Mapping memory range 0xc0400000 - 0xc2000000
MM: Initialise page allocator for c002c000(2c000)-c2000000(2000000)
MM: done
Initialising timer interface
Initialising console ... done.
Initialising scheduler, idle_thread 00000000
Thread "Idle": pointer: 0xc002d00c, stack: 0xc002e000
Thread "init_xs": pointer: 0xc002d034, stack: 0xc0030000
Thread "xenstore": pointer: 0xc002d05c, stack: 0xc0032000
Xenbus initialised.
Thread "init_xs" exited.
--------------------------------

I have inserted some debug printk's into do_hypervisor_callback() to see whether any callbacks are made at all. According to this, a vtimer interrupt does happen, but only every 10 seconds, which -as I guess- is far less frequent than it should be (the timer handler prints out the current time for every 1000th timer event, so it would take almost three hours before the first message is printed). Also interesting is that whenever I hit a key on the console, a timer event is almost always pending along along with the console event. It looks like the timer event bit is properly set by Xen, but
the callback handler is not invoked.

Does anyone have an idea what is wrong?

Cheers

Rob

P.S.: BTW, I have also tried to use the mini-os in from xen- untested. That one
looks very different, but, alas, it does not even compile...


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


_______________________________________________
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®.