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] Problem with config file

Hi,
I would write a simple program for Xen which print I simple message 
on the screen.
I wrote an assembler procedure to print an helloworld 
message:

        .text
        .globl  _start
_start:
        cld

        # from include/asm-xeno/hypervisor.h

        movl    $2,%
eax                 # __HYPERVISOR_console_write (include/asm-
xeno/hypervisor-ifs/hypervisor-if.h)
        movl    $hello_message,%
ebx     #  arg1 = buffer virtual address
        movl    
$hello_message_len,%ecx #  arg2 = buffer length
        int     $0x82

        # from include/asm-xeno/hypervisor.h

        movl    $8,%
eax                 # __HYPERVISOR_sched_op
        movl    $1,%
ebx                 # SCHEDOP_exit
        int     $0x82

hang:   
jmp     hang                    # shouldn't get here

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

The Xen loader also wants a 12-byte header on the 
image file. So I wrote a little assembler module (xenoguestheader.s) to 
handle that: 
       
        .text
        .globl  _start
_start:
        .ascii  "XenoGues"      # read_kernel_header 
(tools/xc/lib/xc_linux_build.c)
        .long   _start          # - the 
kernel's load address

The final image has to consist of the 12-bytes 
object code from xenoguestheader.s followed the object code from 
helloworld.s. Here is my makefile to accomplish that: 

helloworld.gz: 
helloworld.s xenoguestheader.raw
        as -o helloworld.o -
a=helloworld.l helloworld.s
        ld -Ttext 0x100000 -o helloworld.
elf helloworld.o
        objcopy -O binary -S -g helloworld.elf 
helloworld.raw
        cat xenoguestheader.raw helloworld.raw | gzip > 
helloworld.gz

xenoguestheader.raw: xenoguestheader.s
        as -o 
xenoguestheader.o xenoguestheader.s
        ld -Ttext 0x100000 -o 
xenoguestheader xenoguestheader.o
        objcopy -O binary -S -g 
xenoguestheader xenoguestheader.raw

This makefile produce a helloworld.
elf. The problem is to write a config file to do start this program.
I 
would call 

xm create -c <config_file>

and to see the message on the 
screen. I wrote this option

   kernel = "helloworld.elf"
   memory = 
32
   name = "HelloWorld"
   on_crash = 'destroy'

But when I run this 
command on the screen I read this message

    Error: (22, 'Invalid 
argument')
 

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

<Prev in Thread] Current Thread [Next in Thread>