mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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


  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