[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140903035811.GA954@roeck-us.net>
Date: Tue, 2 Sep 2014 20:58:11 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Xuetao Guan <gxt@....edu.cn>
Cc: linux-kernel@...r.kernel.org, Guan Xuetao <gxt@...c.pku.edu.cn>,
Chen Gang <gang.chen.5i5j@...il.com>,
Grant Likely <grant.likely@...aro.org>
Subject: Re: 回复: Re: 回复: Status
of 'unicore32' architecture in Linux kernel
On Wed, Sep 03, 2014 at 08:09:28AM +0800, Xuetao Guan wrote:
>
> [...]
> > >
> > > >
> > > > unicore32: Add ocd console and qemu-defconfig to support qemu simulator
> > > > This patch adds a primitive OCD console to communicate with qemu.
> > > > The same code is already used for early console support.
> > >
> > > Do you mean there's the same/similar code in QEMU.
> > >
> > No, I mean that the ocd functions in the linux kernel (such as ocd_putc) are
> > used by both earlyprintk and the ocd console code.
> Yes. By the way, it's only for qemu and fpga debug.
>
> >
> > > >
> > > > With this patch added, and with qemu_defconfig as provided by the same patch,
> > > > it is possible to build and load a unicore32 image in qemu using the following
> > > > qemu command line.
> > > >
> > > > qemu-system-unicore32 -curses -M puv3 -m 512 -kernel arch/unicore32/boot/zImage
> > > >
> > > > Caveats:
> > > > - The use of -nographic instead of -curses causes a qemu crash
> > > Yes, since qemu curses code was modified to meet the simple OCD console requirement.
> > >
> > The lack of support for -nographic is a problem for scripted testing.
> > The issue is that we have to interpret console output for scripted testing,
> > and having to go through curses makes that a bit difficult.
> >
> > Wonder if '-nographic' can be modeled as '-curses' with no available terminal
> > configuration. At least in theory that should work, but executing the above
> > command with TERM=dumb yields no output. Wonder how difficult it would be to
> > change that.
>
> I see. I'll try to make -nographic work anyway.
>
Please try the following patch. That seems to do it.
I am sure it can be improved, but it is a start.
Thanks,
Guenter
---
>From a7c89177b3c00e4c16bea25a0b4b2f9dc511e07b Mon Sep 17 00:00:00 2001
From: Guenter Roeck <linux@...ck-us.net>
Date: Tue, 2 Sep 2014 20:55:02 -0700
Subject: [PATCH] qemu: unicore32: Add support for non-curses display
Add basic support for DT_NONE and DT_NOGRAPHIC display types.
Signed-off-by: Guenter Roeck <linux@...ck-us.net>
---
target-unicore32/helper.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/target-unicore32/helper.c b/target-unicore32/helper.c
index e5ebbf4..dda3772 100644
--- a/target-unicore32/helper.c
+++ b/target-unicore32/helper.c
@@ -13,6 +13,7 @@
#include "exec/gdbstub.h"
#include "exec/helper-proto.h"
#include "qemu/host-utils.h"
+#include "sysemu/sysemu.h"
#ifndef CONFIG_USER_ONLY
#include "ui/console.h"
#endif
@@ -223,7 +224,18 @@ static void putc_on_screen(unsigned char ch)
void helper_cp1_putc(target_ulong x)
{
- putc_on_screen((unsigned char)x); /* Output to screen */
+ switch(display_type) {
+ case DT_CURSES:
+ putc_on_screen((unsigned char)x); /* Output to screen */
+ break;
+ case DT_NOGRAPHIC:
+ case DT_NONE:
+ putchar((int)x);
+ break;
+ default:
+ break;
+ }
+
DPRINTF("%c", x); /* Output to stdout */
}
#endif
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists