* 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.