|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 12/14 v4] xen/arm: vpl011: Add a new vuart console type to xenconsole client
On Tue, 6 Jun 2017, Bhupinder Thakur wrote:
> Add a new console type VUART to connect to guest's emualated vuart
> console.
>
> Signed-off-by: Bhupinder Thakur <bhupinder.thakur@xxxxxxxxxx>
> ---
> CC: ij
> CC: wl
> CC: ss
> CC: jg
>
> Changes since v3:
> - The vuart console support is under CONFIG_VUART_CONSOLE option.
> - Since there is a change from last review, I have not included
> reviewed-by tag from Stefano and acked-by tag from Wei.
>
> tools/console/Makefile | 1 +
> tools/console/client/main.c | 25 ++++++++++++++++++++++++-
> 2 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/tools/console/Makefile b/tools/console/Makefile
> index fcee313..49c02d4 100644
> --- a/tools/console/Makefile
> +++ b/tools/console/Makefile
> @@ -34,6 +34,7 @@ xenconsoled: $(patsubst %.c,%.o,$(wildcard daemon/*.c))
> $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_libxenevtchn)
> $(LDLIBS_libxengnttab) $(LDLIBS_xenconsoled) $(APPEND_LDFLAGS)
>
> client/main.o: client/_paths.h
> +client/main.o: CFLAGS += $(VUART_CFLAGS-y)
> xenconsole: $(patsubst %.c,%.o,$(wildcard client/*.c))
> $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsole)
> $(APPEND_LDFLAGS)
>
> diff --git a/tools/console/client/main.c b/tools/console/client/main.c
> index 977779f..8d31fe9 100644
> --- a/tools/console/client/main.c
> +++ b/tools/console/client/main.c
> @@ -76,7 +76,11 @@ static void usage(const char *program) {
> "\n"
> " -h, --help display this help and exit\n"
> " -n, --num N use console number N\n"
> +#ifdef CONFIG_VUART_CONSOLE
> + " --type TYPE console type. must be 'pv', 'serial' or
> 'vuart'\n"
> +#else
> " --type TYPE console type. must be 'pv' or 'serial'\n"
> +#endif
> " --start-notify-fd N file descriptor used to notify parent\n"
> , program);
> }
> @@ -264,6 +268,9 @@ typedef enum {
> CONSOLE_INVAL,
> CONSOLE_PV,
> CONSOLE_SERIAL,
> +#ifdef CONFIG_VUART_CONSOLE
> + CONSOLE_VUART,
> +#endif
> } console_type;
>
> static struct termios stdin_old_attr;
> @@ -343,6 +350,11 @@ int main(int argc, char **argv)
> char *end;
> console_type type = CONSOLE_INVAL;
> bool interactive = 0;
> +#ifdef CONFIG_VUART_CONSOLE
> + char *console_names = "serial, pv, vuart";
> +#else
> + char *console_names = "serial, pv";
> +#endif
>
> if (isatty(STDIN_FILENO) && isatty(STDOUT_FILENO))
> interactive = 1;
> @@ -361,9 +373,14 @@ int main(int argc, char **argv)
> type = CONSOLE_SERIAL;
> else if (!strcmp(optarg, "pv"))
> type = CONSOLE_PV;
> +#ifdef CONFIG_VUART_CONSOLE
> + else if (!strcmp(optarg, "vuart"))
> + type = CONSOLE_VUART;
> +#endif
> else {
> fprintf(stderr, "Invalid type argument\n");
> - fprintf(stderr, "Console types supported are:
> serial, pv\n");
> + fprintf(stderr, "Console types supported are:
> %s\n",
> + console_names);
alignment issue
> exit(EINVAL);
> }
> break;
> @@ -436,6 +453,12 @@ int main(int argc, char **argv)
> else
> snprintf(path, strlen(dom_path) +
> strlen("/device/console/%d/tty") + 5, "%s/device/console/%d/tty", dom_path,
> num);
> }
> +#ifdef CONFIG_VUART_CONSOLE
> + if (type == CONSOLE_VUART) {
> + snprintf(path, strlen(dom_path) + strlen("/vuart/0/tty") + 1,
> + "%s/vuart/0/tty", dom_path);
> + }
> +#endif
I don't think it is worth protecting all this code with
CONFIG_VUART_CONSOLE. It's so small I would compile it always.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |