From: Guenter Roeck <linux@roeck-us.net>
To: Xuetao Guan <gxt@pku.edu.cn>
Cc: linux-kernel@vger.kernel.org, Guan Xuetao <gxt@mprc.pku.edu.cn>,
Chen Gang <gang.chen.5i5j@gmail.com>,
Grant Likely <grant.likely@linaro.org>
Subject: Re: 回复: Re: 回复: Status of 'unicore32' architecture in Linux kernel
Date: Tue, 2 Sep 2014 20:58:11 -0700 [thread overview]
Message-ID: <20140903035811.GA954@roeck-us.net> (raw)
In-Reply-To: <717685015.32253.1409702968099.JavaMail.root@bj-mail03.pku.edu.cn>
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@roeck-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@roeck-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
next prev parent reply other threads:[~2014-09-03 3:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-31 23:51 Guenter Roeck
2014-09-01 4:00 ` Chen Gang
2014-09-02 14:03 ` 回复: " Xuetao Guan
2014-09-02 15:58 ` Guenter Roeck
2014-09-03 0:09 ` 回复: " Xuetao Guan
2014-09-03 1:52 ` Guenter Roeck
2014-09-03 3:58 ` Guenter Roeck [this message]
2014-09-03 8:32 ` 回复: " Xuetao Guan
2014-09-05 5:52 ` Guenter Roeck
2014-09-05 6:13 ` 回复: " Xuetao Guan
2014-09-06 17:25 ` Guenter Roeck
2014-09-08 12:57 ` 回复: " Xuetao Guan
2014-09-08 13:35 ` Guenter Roeck
2014-09-09 0:58 ` 回复: " Xuetao Guan
2014-09-09 2:06 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140903035811.GA954@roeck-us.net \
--to=linux@roeck-us.net \
--cc=gang.chen.5i5j@gmail.com \
--cc=grant.likely@linaro.org \
--cc=gxt@mprc.pku.edu.cn \
--cc=gxt@pku.edu.cn \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome