From: Tim Deegan <tim@xen.org>
To: Paul Durrant <paul.durrant@citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: [PATCH 2 of 5] Add 'ctype' infrastructure to hvmloader
Date: Mon, 28 Nov 2011 12:28:17 +0000 [thread overview]
Message-ID: <20111128122817.GA79829@ocelot.phlegethon.org> (raw)
In-Reply-To: <b383a1053d1d5e598bb3.1322482534@cosworth.uk.xensource.com>
At 12:15 +0000 on 28 Nov (1322482534), Paul Durrant wrote:
> # HG changeset patch
> # User Paul Durrant <paul.durrant@citrix.com>
> # Date 1322482488 0
> # Node ID b383a1053d1d5e598bb39923eee8cec57e5666e9
> # Parent 346b54217c4c3fcdebfde41d636d0ec1c11a7672
> Add 'ctype' infrastructure to hvmloader.
Where did this ctype code come from? Is it appropriately licensed?
Cheers,
Tim
> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
>
> diff -r 346b54217c4c -r b383a1053d1d tools/firmware/hvmloader/Makefile
> --- a/tools/firmware/hvmloader/Makefile Mon Nov 28 12:14:48 2011 +0000
> +++ b/tools/firmware/hvmloader/Makefile Mon Nov 28 12:14:48 2011 +0000
> @@ -30,7 +30,7 @@ CFLAGS += $(CFLAGS_xeninclude)
>
> OBJS = hvmloader.o mp_tables.o util.o smbios.o
> OBJS += 32bitbios_support.o smp.o cacheattr.o xenbus.o
> -OBJS += e820.o pci.o pir.o
> +OBJS += e820.o pci.o pir.o ctype.o
> ifeq ($(debug),y)
> OBJS += tests.o
> endif
> diff -r 346b54217c4c -r b383a1053d1d tools/firmware/hvmloader/ctype.c
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/firmware/hvmloader/ctype.c Mon Nov 28 12:14:48 2011 +0000
> @@ -0,0 +1,27 @@
> +#include "ctype.h"
> +
> +const unsigned char _ctype[] = {
> +_C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */
> +_C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */
> +_C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */
> +_C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */
> +_S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */
> +_P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */
> +_D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */
> +_D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */
> +_P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */
> +_U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */
> +_U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */
> +_U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */
> +_P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */
> +_L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */
> +_L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */
> +_L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */
> +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */
> +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */
> +_S|_SP,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P, /* 160-175 */
> +_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P,_P, /* 176-191 */
> +_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U, /* 192-207 */
> +_U,_U,_U,_U,_U,_U,_U,_P,_U,_U,_U,_U,_U,_U,_U,_L, /* 208-223 */
> +_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L, /* 224-239 */
> +_L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L}; /* 240-255 */
> diff -r 346b54217c4c -r b383a1053d1d tools/firmware/hvmloader/ctype.h
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/tools/firmware/hvmloader/ctype.h Mon Nov 28 12:14:48 2011 +0000
> @@ -0,0 +1,30 @@
> +#ifndef __HVMLOADER_CTYPE_H__
> +#define __HVMLOADER_CTYPE_H__
> +
> +#define _U 0x01 /* upper */
> +#define _L 0x02 /* lower */
> +#define _D 0x04 /* digit */
> +#define _C 0x08 /* cntrl */
> +#define _P 0x10 /* punct */
> +#define _S 0x20 /* white space (space/lf/tab) */
> +#define _X 0x40 /* hex digit */
> +#define _SP 0x80 /* hard space (0x20) */
> +
> +extern const unsigned char _ctype[];
> +
> +#define __ismask(x) (_ctype[(int)(unsigned char)(x)])
> +
> +#define isalnum(c) ((__ismask(c)&(_U|_L|_D)) != 0)
> +#define isalpha(c) ((__ismask(c)&(_U|_L)) != 0)
> +#define iscntrl(c) ((__ismask(c)&(_C)) != 0)
> +#define isdigit(c) ((__ismask(c)&(_D)) != 0)
> +#define isgraph(c) ((__ismask(c)&(_P|_U|_L|_D)) != 0)
> +#define islower(c) ((__ismask(c)&(_L)) != 0)
> +#define isprint(c) ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
> +#define ispunct(c) ((__ismask(c)&(_P)) != 0)
> +#define isspace(c) ((__ismask(c)&(_S)) != 0)
> +#define isupper(c) ((__ismask(c)&(_U)) != 0)
> +#define isxdigit(c) ((__ismask(c)&(_D|_X)) != 0)
> +
> +#endif /* __HVMLOADER_CTYPE_H__ */
> +
> diff -r 346b54217c4c -r b383a1053d1d tools/firmware/hvmloader/util.c
> --- a/tools/firmware/hvmloader/util.c Mon Nov 28 12:14:48 2011 +0000
> +++ b/tools/firmware/hvmloader/util.c Mon Nov 28 12:14:48 2011 +0000
> @@ -21,6 +21,7 @@
> #include "util.h"
> #include "config.h"
> #include "hypercall.h"
> +#include "ctype.h"
> #include <stdint.h>
> #include <xen/xen.h>
> #include <xen/memory.h>
> diff -r 346b54217c4c -r b383a1053d1d tools/firmware/hvmloader/util.h
> --- a/tools/firmware/hvmloader/util.h Mon Nov 28 12:14:48 2011 +0000
> +++ b/tools/firmware/hvmloader/util.h Mon Nov 28 12:14:48 2011 +0000
> @@ -225,8 +225,6 @@ void perform_tests(void);
> #define perform_tests() ((void)0)
> #endif
>
> -#define isdigit(c) ((c) >= '0' && (c) <= '9')
> -
> extern char _start[], _end[];
>
> #endif /* __HVMLOADER_UTIL_H__ */
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2011-11-28 12:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-28 12:15 [PATCH 0 of 5] Add support for a VM generation ID virtual device Paul Durrant
2011-11-28 12:15 ` [PATCH 1 of 5] Add an ACPI device exposing a package called ADDR, evaluating to two Paul Durrant
2011-11-28 12:15 ` [PATCH 2 of 5] Add 'ctype' infrastructure to hvmloader Paul Durrant
2011-11-28 12:28 ` Tim Deegan [this message]
2011-11-28 13:21 ` Paul Durrant
2011-11-28 12:15 ` [PATCH 3 of 5] Allocate an 8 byte buffer to contain the VM generation id and populate it Paul Durrant
2011-11-28 12:15 ` [PATCH 4 of 5] Add code to track the address of the VM generation id buffer across a Paul Durrant
2011-11-28 12:32 ` Tim Deegan
2011-11-28 13:26 ` Paul Durrant
2011-11-28 13:48 ` Tim Deegan
2011-11-28 14:36 ` Paul Durrant
2011-11-28 12:15 ` [PATCH 5 of 5] Modify init_vm86_tss() to take advantage of the new set_param() function Paul Durrant
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=20111128122817.GA79829@ocelot.phlegethon.org \
--to=tim@xen.org \
--cc=paul.durrant@citrix.com \
--cc=xen-devel@lists.xensource.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.