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

Re: [Xen-devel] Re: mini-os for Xen2

  • To: xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • From: Rick <judicator3@xxxxxxxxx>
  • Date: Sun, 13 Feb 2005 20:37:41 -0500
  • Delivery-date: Mon, 14 Feb 2005 01:41:01 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=KBgbSX52NEkft+nkshNbH60vzkV2mcY5Byx+YPmEmX447xvgVZtQWSSUPBe4/YGgD6BAIfZ7tSuWd6mzgqSUcszEYZFSrkiycocRKUJro/6J3nb6+ZAl+X/N9ACTPamuLPBM1wZsTB7EEBT9YU9KQKvfsie1bkWE+LuJ11KZivk=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>

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  ",LOADER=generic"
        .ascii  ",PT_MODE_WRITABLE"
        .byte   0


 * References to members of the new_cpu_data structure.

        .globl _start

        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


On Sat, 12 Feb 2005 18:39:07 -0800, Jacob Gorm Hansen <jacobg@xxxxxxx> 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.
Xen-devel mailing list



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