I have been trying to get mini-os to run on i386 architecture, (xen-unstable.hg, 9325:1ecb7f1ddc79) but have hit problems: -- header file extras/mini-os/include/console.h is missing, -- type mismatch in extras/mini-os/xenbus/xenbus_xs.c causes compile to fail, and -- page fault occurs in extras/mini-os/mm.c because page directory table entries are set up incorrectly. The array mmu_updates in new_pt_frame() has zero entries, but should have at least 1 entry. I wonder if whoever is actively working on mini-os could review these patches, and merge them in to the sources. The header file console.h contains the minimum amount needed to get mini-os to compile -- the writer of console.c may have intended it to contain more. Regards, Melvin Anderson. diff -r 1ecb7f1ddc79 extras/mini-os/mm.c --- a/extras/mini-os/mm.c Sun Mar 19 17:55:46 2006 +++ b/extras/mini-os/mm.c Mon Mar 20 14:28:01 2006 @@ -373,7 +373,7 @@ unsigned long *tab = (unsigned long *)start_info.pt_base; unsigned long pt_page = (unsigned long)pfn_to_virt(*pt_pfn); unsigned long prot_e, prot_t, pincmd; - mmu_update_t mmu_updates[0]; + mmu_update_t mmu_updates[1]; struct mmuext_op pin_request; DEBUG("Allocating new L%d pt frame for pt_pfn=%lx, " diff -r 1ecb7f1ddc79 extras/mini-os/xenbus/xenbus_xs.c --- a/extras/mini-os/xenbus/xenbus_xs.c Sun Mar 19 17:55:46 2006 +++ b/extras/mini-os/xenbus/xenbus_xs.c Mon Mar 20 14:28:01 2006 @@ -335,7 +335,7 @@ const char *dir, const char *node) { char **d; - int dir_n; + unsigned int dir_n; d = xenbus_directory(t, dir, node, &dir_n); if (IS_ERR(d)) diff -r 1ecb7f1ddc79 extras/mini-os/include/console.h --- /dev/null Sun Mar 19 17:55:46 2006 +++ b/extras/mini-os/include/console.h Mon Mar 20 14:28:01 2006 @@ -0,0 +1,15 @@ +/* -*- Mode:C; c-basic-offset:4; tab-width:4 -*- */ + +#ifndef _CONSOLE_H_ +#define _CONSOLE_H_ + +#include <stdarg.h> +#include <traps.h> + +void printk(const char *fmt, ...); +void xencons_rx(char *, unsigned, struct pt_regs *); +void xencons_tx(void); + + + +#endif /* _CONSOLE_H_ */ -- Melvin Anderson, Trusted Systems Laboratory, HPLabs, Bristol. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Puthiyaparambil, Aravindh
2006-Mar-21 21:27 UTC
RE: [Xen-devel] Bugs in mini-os on i386 architecture
I am finding the same issues with x86_64 too. So I think this patch needs to go in. Gregor, do you agree? I am also found that minios i386 and x86_64, now does not complete console_init() with the latest changeset 9364:22f1618cf57c. Any idea why this is happening? Cheers, Aravindh xenbox:~/xen/xen-unstable/extras/mini-os # xm create -c domain_config Using config file "domain_config". Started domain Mini-OS xenconsole: Could not read tty from store: No such file or directory Bootstrapping... Xen Minimal OS! start_info: ffffffff00028000 nr_pages: 8192 shared_inf: 00faf000 pt_base: ffffffff0002b000 mod_start: 0x0 mod_len: 0 flags: 0x0 cmd_line: MM: Init _text: ffffffff00000000 _etext: ffffffff0000c67a _edata: ffffffff0000de78 stack start: ffffffff00014be0 _end: ffffffff00017088 start_pfn: 33 max_pfn: 2000 Mapping memory range 0xffffffff00400000 - 0xffffffff02000000 MM: Initialise page allocator for ffffffff00041000(41000)-ffffffff02000000(2000000) MM: done Initialising timer interface Initialising console ...> -----Original Message----- > From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel- > bounces@lists.xensource.com] On Behalf Of Melvin Anderson > Sent: Monday, March 20, 2006 10:18 AM > To: xen-devel@lists.xensource.com > Subject: [Xen-devel] Bugs in mini-os on i386 architecture > > I have been trying to get mini-os to run on i386 architecture, > (xen-unstable.hg, 9325:1ecb7f1ddc79) but have hit problems: > > -- header file extras/mini-os/include/console.h is missing, > > -- type mismatch in extras/mini-os/xenbus/xenbus_xs.c causes compile > to fail, and > > -- page fault occurs in extras/mini-os/mm.c because page directorytable> entries are set up incorrectly. The array mmu_updates in > new_pt_frame() > has zero entries, but should have at least 1 entry. >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> I have been trying to get mini-os to run on i386 architecture, > (xen-unstable.hg, 9325:1ecb7f1ddc79) but have hit problems: > > -- header file extras/mini-os/include/console.h is missing,A patch has just been sent out to the list. Thanks for pointing that out.> -- type mismatch in extras/mini-os/xenbus/xenbus_xs.c causes compile > to fail, andXenBus implementation got replaced with a new one by Steven Smith. This should therefore not be an issue any more.> -- page fault occurs in extras/mini-os/mm.c because page directory table > entries are set up incorrectly. The array mmu_updates in new_pt_frame() > has zero entries, but should have at least 1 entry.The last patch fixes that as well.> I wonder if whoever is actively working on mini-os could review these > patches, and merge them in to the sources. The header file console.h > contains the minimum amount needed to get mini-os to compile -- the > writer of console.c may have intended it to contain more.What you''ve put there is almost everything (only relevant change was addition of the license). Thanks for help Malvin! Cheers Gregor _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
This is not a bug (it''s a feature :) ). As soon as console is initialised the output is no longer printed to the emergency console. It is available through the usual: xm console <dom_name>. If you want to print something to the emergency console use newly defined function: xprintk. Cheers Gregor> I am finding the same issues with x86_64 too. So I think this patch > needs to go in. > > Gregor, do you agree? I am also found that minios i386 and x86_64, now > does not complete console_init() with the latest changeset > 9364:22f1618cf57c. Any idea why this is happening? > > Cheers, > Aravindh > > xenbox:~/xen/xen-unstable/extras/mini-os # xm create -c domain_config > Using config file "domain_config". > Started domain Mini-OS > xenconsole: Could not read tty from store: No such file or directory > Bootstrapping... > Xen Minimal OS! > start_info: ffffffff00028000 > nr_pages: 8192 shared_inf: 00faf000 > pt_base: ffffffff0002b000 mod_start: 0x0 > mod_len: 0 > flags: 0x0 > cmd_line: > MM: Init > _text: ffffffff00000000 > _etext: ffffffff0000c67a > _edata: ffffffff0000de78 > stack start: ffffffff00014be0 > _end: ffffffff00017088 > start_pfn: 33 > max_pfn: 2000 > Mapping memory range 0xffffffff00400000 - 0xffffffff02000000 > MM: Initialise page allocator for > ffffffff00041000(41000)-ffffffff02000000(2000000) > MM: done > Initialising timer interface > Initialising console ... > > > >> -----Original Message----- >> From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel- >> bounces@lists.xensource.com] On Behalf Of Melvin Anderson >> Sent: Monday, March 20, 2006 10:18 AM >> To: xen-devel@lists.xensource.com >> Subject: [Xen-devel] Bugs in mini-os on i386 architecture >> >> I have been trying to get mini-os to run on i386 architecture, >> (xen-unstable.hg, 9325:1ecb7f1ddc79) but have hit problems: >> >> -- header file extras/mini-os/include/console.h is missing, >> >> -- type mismatch in extras/mini-os/xenbus/xenbus_xs.c causes compile >> to fail, and >> >> -- page fault occurs in extras/mini-os/mm.c because page directory > table >> entries are set up incorrectly. The array mmu_updates in >> new_pt_frame() >> has zero entries, but should have at least 1 entry. >>_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel