|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/6] xen/x86: Refactor xen/lib/x86 so it can be linked in hvmloader
On 09.01.2024 16:38, Alejandro Vallejo wrote:
> A future patch will use these in hvmloader, which is freestanding, but
> lacks the Xen code. The following changes fix the compilation errors.
>
> * string.h => Remove memset() usages and bzero through assignments
But hvmloader does have memset(). It's just that it doesn't have string.h.
Yet it doesn't have e.g. stdint.h either.
> * inttypes.h => Use stdint.h (it's what it should've been to begin with)
> * errno.h => Use xen/errno.h instead
>
> No functional change intended.
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx>
> ---
> xen/lib/x86/cpuid.c | 12 ++++++------
> xen/lib/x86/private.h | 8 +++++---
> 2 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
> index eb7698dc73..4a138c3a11 100644
> --- a/xen/lib/x86/cpuid.c
> +++ b/xen/lib/x86/cpuid.c
> @@ -5,8 +5,8 @@
> static void zero_leaves(struct cpuid_leaf *l,
> unsigned int first, unsigned int last)
> {
> - if ( first <= last )
> - memset(&l[first], 0, sizeof(*l) * (last - first + 1));
> + for (l = &l[first]; first <= last; first++, l++ )
> + *l = (struct cpuid_leaf){};
> }
Even if memset() was to be replaced here, we already have two instances
of an EMPTY_LEAF #define. Those will want moving to a single header and
hen using here, I expect. Presumably code further down could then use it,
too.
> --- a/xen/lib/x86/private.h
> +++ b/xen/lib/x86/private.h
> @@ -17,12 +17,14 @@
>
> #else
>
> -#include <errno.h>
> -#include <inttypes.h>
> +#include <stdint.h>
> #include <stdbool.h>
> #include <stddef.h>
> -#include <string.h>
>
> +enum {
> +#define XEN_ERRNO(ident, rc) ident = (rc),
> +#include <xen/errno.h>
> +};
> #include <xen/asm/msr-index.h>
> #include <xen/asm/x86-vendors.h>
As to the comment at the top - we're in a block of code conditional upon
!Xen here already. Would there be anything wrong with simply recognizing
hvmloader here, too, and then including its util.h in place of string.h?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |