4 #include "config.h" // CONFIG_*
5 #include "biosvar.h" // GET_GLOBAL
7 // Types of paravirtualized platforms.
13 extern u64 RamSizeOver4G;
14 extern int PlatformRunningOn;
16 static inline int runningOnQEMU(void) {
17 return CONFIG_QEMU || (
18 CONFIG_QEMU_HARDWARE && GET_GLOBAL(PlatformRunningOn) & PF_QEMU);
20 static inline int runningOnXen(void) {
21 return CONFIG_XEN && GET_GLOBAL(PlatformRunningOn) & PF_XEN;
23 static inline int runningOnKVM(void) {
24 return CONFIG_QEMU && GET_GLOBAL(PlatformRunningOn) & PF_KVM;
27 // Common paravirt ports.
28 #define PORT_SMI_CMD 0x00b2
29 #define PORT_SMI_STATUS 0x00b3
30 #define PORT_QEMU_CFG_CTL 0x0510
31 #define PORT_QEMU_CFG_DATA 0x0511
33 void qemu_preinit(void);
34 void qemu_platform_setup(void);
35 void qemu_cfg_init(void);