From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: Xen on Arndale with SSD Date: Mon, 22 Apr 2013 11:42:47 +0100 Message-ID: <51751427.9010702@linaro.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Sander Bogaert Cc: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 04/19/2013 10:11 AM, Sander Bogaert wrote: > Hi, > > I was wondering if anyone managed to use an ssd in this setup yet? I > gave it a try: > > - Julien's xen / dom0 / domU branches > - Comay Venus 3S SSD drive > - Changed the dts compiled in Xen to have root=/dev/sda1 for dom0 > kernel parameter. > - The bootloader is on the SD card, the kernel and xen are loaded > using PXE, the dom0 rootfs is on the ssd disk. > > Xen hangs on (complete log attached): > (XEN) 3... 2... 1... > (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch > input to Xen) > (XEN) Freed 204kB init memory. I think linux hangs before hvc console is initialized. Could you try to apply this hackish patch and resent the log? This patch will directly call the console hypercall instead of buffering messages. diff --git a/kernel/printk.c b/kernel/printk.c index abbdd9e..6975215 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -1652,6 +1652,8 @@ asmlinkage int printk_emit(int facility, int level, } EXPORT_SYMBOL(printk_emit); +void xen_raw_console_write(const char *buf); + /** * printk - print a kernel message * @fmt: format string @@ -1677,6 +1679,7 @@ asmlinkage int printk(const char *fmt, ...) { va_list args; int r; + static char buf[512]; #ifdef CONFIG_KGDB_KDB if (unlikely(kdb_trap_printk)) { @@ -1687,9 +1690,12 @@ asmlinkage int printk(const char *fmt, ...) } #endif va_start(args, fmt); - r = vprintk_emit(0, -1, NULL, 0, fmt, args); +// r = vprintk_emit(0, -1, NULL, 0, fmt, args); + r = vsnprintf(buf, sizeof(buf), fmt, args); va_end(args); + xen_raw_console_write(buf); + return r; } EXPORT_SYMBOL(printk);