All of lore.kernel.org
 help / color / mirror / Atom feed
* mini-os for Xen2
@ 2005-02-11 23:56 Rick
  2005-02-12 11:01 ` Rick
  0 siblings, 1 reply; 5+ messages in thread
From: Rick @ 2005-02-11 23:56 UTC (permalink / raw)
  To: xen-devel

Hello,

I am trying to compile the mini-os under xen2
I am getting lot's of errors and I guess mini-os was written for a
much earlier version of xen. Is there an updated version of mini-os
somewhere ? Do you stop supporting mini-os ?

Rick


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: mini-os for Xen2
  2005-02-11 23:56 mini-os for Xen2 Rick
@ 2005-02-12 11:01 ` Rick
  2005-02-12 12:56   ` Keir Fraser
  0 siblings, 1 reply; 5+ messages in thread
From: Rick @ 2005-02-12 11:01 UTC (permalink / raw)
  To: xen-devel

Hi,

I am trying to get a program to load and run directly on XEN. I've
been looking at mini-os but I have not been able to compile it.
Anyhow, right now I am just trying to get a program to load and print
"Hello World". So I've modified mini-os and removed everything from
the compilation except for the files head.S and the function
start_kernel() in kernel.c.

my start_kernel() function looks like this:
===========================================================
void start_kernel(start_info_t *si)
{

   HYPERVISOR_console_io (CONSOLEIO_write, 11, "Hello World");
   HYPERVISOR_shutdown();
}
===========================================================

my head.S file looks like this:
===========================================================
#include <os.h>

.globl _start, shared_info

_start:
        cld
        lss stack_start,%esp
        push $shared_info
        call start_kernel

stack_start:
        .long stack_start+8192, __KERNEL_DS

        /* Unpleasant -- the PTE that maps this page is actually overwritten */
        /* to map the real shared-info page! :-)                             */
        .org 0x1000
shared_info:
        .org 0x2000
===========================================================

In head.S I changed 

=================================
stack_start:
        .long stack+8192, __KERNEL_DS
=================================
to 
=================================
stack_start:
        .long stack_start+8192, __KERNEL_DS
=================================
because there were no symbols called "stack"

When I try to load this program with XEN using "xm create" I get the
following error:

Error: Error creating domain: (0, 'Error')

Is there something wrong with the Makefile and linking process that
comes with mini-os ?

Any help will be much appreciated.

Thanks
Rick





On Fri, 11 Feb 2005 18:56:19 -0500, Rick <judicator3@gmail.com> wrote:
> Hello,
> 
> I am trying to compile the mini-os under xen2
> I am getting lot's of errors and I guess mini-os was written for a
> much earlier version of xen. Is there an updated version of mini-os
> somewhere ? Do you stop supporting mini-os ?
> 
> Rick
>


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: mini-os for Xen2
  2005-02-12 11:01 ` Rick
@ 2005-02-12 12:56   ` Keir Fraser
  2005-02-13  2:39     ` Jacob Gorm Hansen
  0 siblings, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2005-02-12 12:56 UTC (permalink / raw)
  To: Rick; +Cc: xen-devel


xm gives the world's most unhelpful error messages. You may well find
a more useful message hidden away in /var/log/xend[-debug].log as
comes straight from the domain builder in libxc.

My guess woul dbe that you do not have a '__xen_guest' section in your
Elf image. Look at the top of
linux-2.6.10-xen-sparse/arch/xen/i386/kernel/head.S for an example of
how to specify one.

 -- Keir

> Hi,
> 
> I am trying to get a program to load and run directly on XEN. I've
> been looking at mini-os but I have not been able to compile it.
> Anyhow, right now I am just trying to get a program to load and print
> "Hello World". So I've modified mini-os and removed everything from
> the compilation except for the files head.S and the function
> start_kernel() in kernel.c.
> 
> my start_kernel() function looks like this:
> ===========================================================
> void start_kernel(start_info_t *si)
> {
> 
>    HYPERVISOR_console_io (CONSOLEIO_write, 11, "Hello World");
>    HYPERVISOR_shutdown();
> }
> ===========================================================
> 
> my head.S file looks like this:
> ===========================================================
> #include <os.h>
> 
> .globl _start, shared_info
> 
> _start:
>         cld
>         lss stack_start,%esp
>         push $shared_info
>         call start_kernel
> 
> stack_start:
>         .long stack_start+8192, __KERNEL_DS
> 
>         /* Unpleasant -- the PTE that maps this page is actually overwritten */
>         /* to map the real shared-info page! :-)                             */
>         .org 0x1000
> shared_info:
>         .org 0x2000
> ===========================================================
> 
> In head.S I changed 
> 
> =================================
> stack_start:
>         .long stack+8192, __KERNEL_DS
> =================================
> to 
> =================================
> stack_start:
>         .long stack_start+8192, __KERNEL_DS
> =================================
> because there were no symbols called "stack"
> 
> When I try to load this program with XEN using "xm create" I get the
> following error:
> 
> Error: Error creating domain: (0, 'Error')
> 
> Is there something wrong with the Makefile and linking process that
> comes with mini-os ?
> 
> Any help will be much appreciated.
> 
> Thanks
> Rick
> 
> 
> 
> 
> 
> On Fri, 11 Feb 2005 18:56:19 -0500, Rick <judicator3@gmail.com> wrote:
> > Hello,
> > 
> > I am trying to compile the mini-os under xen2
> > I am getting lot's of errors and I guess mini-os was written for a
> > much earlier version of xen. Is there an updated version of mini-os
> > somewhere ? Do you stop supporting mini-os ?
> > 
> > Rick
> >
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xen-devel
> 



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: mini-os for Xen2
  2005-02-12 12:56   ` Keir Fraser
@ 2005-02-13  2:39     ` Jacob Gorm Hansen
  2005-02-14  1:37       ` Rick
  0 siblings, 1 reply; 5+ messages in thread
From: Jacob Gorm Hansen @ 2005-02-13  2:39 UTC (permalink / raw)
  To: Keir Fraser; +Cc: Rick, xen-devel

Keir Fraser wrote:
> xm gives the world's most unhelpful error messages. You may well find
> a more useful message hidden away in /var/log/xend[-debug].log as
> comes straight from the domain builder in libxc.
> 
> My guess woul dbe that you do not have a '__xen_guest' section in your
> Elf image. Look at the top of
> linux-2.6.10-xen-sparse/arch/xen/i386/kernel/head.S for an example of
> how to specify one.
> 

The new vm-tools that were just announced will probably be easier to use 
for this kind of debugging than xn/xend. Also, I used to re-create the 
HYPERVISOR_console_write syscall, and configure Xen to allow unpriv 
domains to write to the serial console. I think the new 
HYPERVISOR_console_io syscall can be convinced to do the same thing.

In my xen tarball at http://www.diku.dk/~jacobg/self-migration/ you can 
find the source of 'mstrap' which is very much like mini-os, but perhaps 
a little more up to date. The network driver is not working in Xen2, but 
the elf-image should at least load using the recent tools.

Jacob


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: mini-os for Xen2
  2005-02-13  2:39     ` Jacob Gorm Hansen
@ 2005-02-14  1:37       ` Rick
  0 siblings, 0 replies; 5+ messages in thread
From: Rick @ 2005-02-14  1:37 UTC (permalink / raw)
  To: xen-devel

Hi Keir,

You were right, I was missing the section __xen_guest.
So now when I create the domain I do not get any error message and I
do get a console.
So the 1st thing I am doing is just trying to write something on the
console with the hypervisor call "console_io". However, I do not see
anything on the console. In order to use the hypervisor calls, do I
have to first set up the trap tables, page tables and parse the shared
struct info etc ... ?  Also, is it important where I load the image ?
Right now my lds script specifies "0xC0000000" as the starting
address. I also tried "0xC0000000 + 0x100000" which I saw in the linux
lds script.

My head.S file is very simple and I invoke the hypervisor calls by
issuing the interrupts directly:

#define ENTRY(X) .globl X ; X :

.section __xen_guest
	.ascii"GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=2.0,VIRT_BASE=0xC0000000"
	.ascii	",LOADER=generic"
	.ascii	",PT_MODE_WRITABLE"
	.byte	0

.text

/*
 * References to members of the new_cpu_data structure.
 */

	.globl _start
_start:
	cld


	movl    $18,%eax                        # __HYPERVISOR_console_io
        movl	$0, %ebx		         #  arg1 = 0 for write	
	movl    $hello_message_len,%ecx #  arg2 = buffer length
	movl    $hello_message,%edx       #  arg3 = buffer virtual address
        int     $0x82

        
        movl    $6,%eax                 # __HYPERVISOR_sched_op
        movl    $2,%ebx                 # shutdown
        int     $0x82

hang:   jmp     hang                    # shouldn't get here


hello_message:  .ascii  "This is the hello world program\n"
hello_message_len = . - hello_message


Thanks
Richard



On Sat, 12 Feb 2005 18:39:07 -0800, Jacob Gorm Hansen <jacobg@diku.dk> wrote:
> Keir Fraser wrote:
> > xm gives the world's most unhelpful error messages. You may well find
> > a more useful message hidden away in /var/log/xend[-debug].log as
> > comes straight from the domain builder in libxc.
> >
> > My guess woul dbe that you do not have a '__xen_guest' section in your
> > Elf image. Look at the top of
> > linux-2.6.10-xen-sparse/arch/xen/i386/kernel/head.S for an example of
> > how to specify one.
> >
> 
> The new vm-tools that were just announced will probably be easier to use
> for this kind of debugging than xn/xend. Also, I used to re-create the
> HYPERVISOR_console_write syscall, and configure Xen to allow unpriv
> domains to write to the serial console. I think the new
> HYPERVISOR_console_io syscall can be convinced to do the same thing.
> 
> In my xen tarball at http://www.diku.dk/~jacobg/self-migration/ you can
> find the source of 'mstrap' which is very much like mini-os, but perhaps
> a little more up to date. The network driver is not working in Xen2, but
> the elf-image should at least load using the recent tools.
> 
> Jacob
>


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-02-14  1:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-11 23:56 mini-os for Xen2 Rick
2005-02-12 11:01 ` Rick
2005-02-12 12:56   ` Keir Fraser
2005-02-13  2:39     ` Jacob Gorm Hansen
2005-02-14  1:37       ` Rick

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.