[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 |