|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/2] hvmloader: do not include system headers for type declarations
On 24.02.2021 11:26, Roger Pau Monne wrote:
> --- /dev/null
> +++ b/tools/firmware/hvmloader/types.h
> @@ -0,0 +1,47 @@
> +#ifndef _HVMLOADER_TYPES_H_
> +#define _HVMLOADER_TYPES_H_
> +
> +typedef unsigned char uint8_t;
> +typedef signed char int8_t;
> +
> +typedef unsigned short uint16_t;
> +typedef signed short int16_t;
> +
> +typedef unsigned int uint32_t;
> +typedef signed int int32_t;
> +
> +typedef unsigned long long uint64_t;
> +typedef signed long long int64_t;
I wonder if we weren't better of not making assumptions on
short / int / long long, and instead use
__attribute__((__mode__(...))) or, if available, the compiler
provided __{,U}INT*_TYPE__.
> +#define INT8_MIN (-0x7f-1)
> +#define INT16_MIN (-0x7fff-1)
> +#define INT32_MIN (-0x7fffffff-1)
> +#define INT64_MIN (-0x7fffffffffffffffll-1)
> +
> +#define INT8_MAX 0x7f
> +#define INT16_MAX 0x7fff
> +#define INT32_MAX 0x7fffffff
> +#define INT64_MAX 0x7fffffffffffffffll
> +
> +#define UINT8_MAX 0xff
> +#define UINT16_MAX 0xffff
> +#define UINT32_MAX 0xffffffffu
> +#define UINT64_MAX 0xffffffffffffffffull
At least if going the above outlined route, I think we'd then
also be better off not #define-ing any of these which we don't
really use. Afaics it's really only UINTPTR_MAX which needs
providing.
> +typedef uint32_t size_t;
Like the hypervisor, we should prefer using __SIZE_TYPE__
when available.
> +typedef uint32_t uintptr_t;
Again - use __UINTPTR_TYPE__ or, like Xen,
__attribute__((__mode__(__pointer__))).
> +#define bool _Bool
> +#define true 1
> +#define false 0
> +#define __bool_true_false_are_defined 1
> +
> +typedef __builtin_va_list va_list;
> +#define va_copy(dest, src) __builtin_va_copy((dest), (src))
> +#define va_start(ap, last) __builtin_va_start((ap), (last))
Nit: Perhaps better omit the unnecessary inner parentheses?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |