On Sun, Aug 07, 2022, Michal Luczaj wrote:
diff --git a/lib/x86/processor.h b/lib/x86/processor.h index 0324220..30e2de8 100644 --- a/lib/x86/processor.h +++ b/lib/x86/processor.h @@ -19,6 +19,18 @@ # define S "4" #endif +#ifdef __ASSEMBLY__ +#define __ASM_FORM(x, ...) x,## __VA_ARGS__ +#else +#define __ASM_FORM(x, ...) " " xstr(x,##__VA_ARGS__) " " +#endif
+#ifndef __x86_64__ +#define __ASM_SEL(a,b) __ASM_FORM(a) +#else +#define __ASM_SEL(a,b) __ASM_FORM(b) +#endif
Argh, this can't go in processor.h, because processor.h includes desc.h (to use ASM_TRY). This patch "works" because emulator.c includes both process.or and desc.h, but things go sideways if ASM_TRY_FEP() is moved into desc.h.
I'll post a new version of the entire series, the KVM_FEP macro and a helper to check for FEP availability should really go in a common location, e.g. the PMU test can use the common helper instead of requiring a separate unittest.cfg entry.