From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Warfield Subject: Re: console driver - How domain0 processes console messages ? Date: Wed, 16 Feb 2005 09:35:39 +0000 Message-ID: References: Reply-To: andrew.warfield@cl.cam.ac.uk Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-Reply-To: Sender: xen-devel-admin@lists.sourceforge.net Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Richard Cc: xen-devel@lists.sourceforge.net List-Id: xen-devel@lists.xenproject.org > Whenever I try to output to the console of mini-os I get some garbage > (non ascii characters). In XenoLinux, the communication ring is found > at 2048 bytes offset from the > shared_info structure. I am refering to the following macro found in ctrl_if.c > > ************************************************************************ > #define get_ctrl_if() ((control_if_t *)((char *)HYPERVISOR_shared_info + 2048)) > ************************************************************************ > > Are the control rings found at the same location if I boot something > else than Linux like for example the mini-os ? I am concern that my > console driver in mini-os is sending event notification to domain0 but > is however not writing the messages in the correct location of the > communication ring and that is why I am getting some bogus output on > my console. The domain build tools tell a gues linux where its shared_info page is at start of day. Take a look at tools/libxc/xc_linux_build.c:xc_linux_build() to see this in action -- the code doeas a GETDOMAININFO hypercall to find out the location of the shared page for the newly created comain, and then passes this on the start_info page to the new linux VM. The startup code is all called from tools/python/xen/xend/XendDomainInfo.py, which is a bit convoluted. Anthony's c-based tools may be an easier reference for what actually happens during domain startup -- it's effectively just a series of calls to libxc. > Next, I am going to look at tools/python/xen/lowlevel/xu/xu.c to see > if domain0 is receiving the actual data being sent from mini-os > console driver. Sounds like a plan. I'd thing that you should be able to pull most of the control ring interaction code straight out of the console driver. good luck! a. ------------------------------------------------------- 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