libx86: Introduce lib/x86/cpuid.h

Begin to untangle the header dependency tangle by moving definition of
struct cpuid_leaf out of x86_emulate.h into the new cpuid.h.

Additionally, plumb the header through to libxc.  This is technically a
redundant include at this point, but it helps build-test the later changes,
and will be used eventually.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2018-07-19 19:31:31 +01:00
1 parent 3cdac28056
commit 0e96f3d52e
5 files changed
+29 -6

No files matched your search

+2
View File
@@ -23,6 +23,8 @@ xen/.dir:
ln -sf $(XEN_ROOT)/xen/include/acpi acpi
ifeq ($(CONFIG_X86),y)
ln -sf $(XEN_ROOT)/xen/include/asm-x86 xen/asm
mkdir -p xen/lib
ln -sf $(XEN_ROOT)/xen/include/xen/lib/x86 xen/lib/x86
endif
touch $@
+2
View File
@@ -33,6 +33,8 @@ enum {
};
#include "_xc_cpuid_autogen.h"
#include <xen/lib/x86/cpuid.h>
#define bitmaskof(idx) (1u << ((idx) & 31))
#define featureword_of(idx) ((idx) >> 5)
#define clear_feature(idx, dst) ((dst) &= ~bitmaskof(idx))
+2 -5
View File
@@ -23,6 +23,8 @@
#ifndef __X86_EMULATE_H__
#define __X86_EMULATE_H__
#include <xen/lib/x86/cpuid.h>
#define MAX_INST_LEN 15
#if defined(__i386__)
@@ -172,11 +174,6 @@ enum x86_emulate_fpu_type {
X86EMUL_FPU_none
};
struct cpuid_leaf
{
uint32_t a, b, c, d;
};
struct x86_emulate_state;
/*
+3 -1
View File
@@ -18,7 +18,9 @@
#ifndef __ASSEMBLY__
#include <xen/types.h>
#include <xen/kernel.h>
#include <asm/x86_emulate.h>
#include <xen/lib/x86/cpuid.h>
#include <public/sysctl.h>
extern const uint32_t known_features[FSCAPINTS];
+20
View File
@@ -0,0 +1,20 @@
/* Common data structures and functions consumed by hypervisor and toolstack */
#ifndef XEN_LIB_X86_CPUID_H
#define XEN_LIB_X86_CPUID_H
struct cpuid_leaf
{
uint32_t a, b, c, d;
};
#endif /* !XEN_LIB_X86_CPUID_H */
/*
* Local variables:
* mode: C
* c-file-style: "BSD"
* c-basic-offset: 4
* tab-width: 4
* indent-tabs-mode: nil
* End:
*/
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.