#include <Library/DxeServicesTableLib.h>\r
#include <Library/IoLib.h>\r
#include <Library/TimerLib.h>\r
+#include <Library/DebugAgentLib.h>\r
\r
#define AP_STACK_SIZE 0x8000\r
#define MAX_CPU_NUMBER 256\r
#define APIC_REGISTER_SPURIOUS_VECTOR_OFFSET 0xF0\r
#define APIC_REGISTER_ICR_LOW_OFFSET 0x300\r
#define APIC_REGISTER_ICR_HIGH_OFFSET 0x310\r
+#define APIC_REGISTER_LVT_TIMER 0x320\r
+#define APIC_REGISTER_TIMER_INIT_COUNT 0x380\r
#define APIC_REGISTER_LINT0_VECTOR_OFFSET 0x350\r
#define APIC_REGISTER_LINT1_VECTOR_OFFSET 0x360\r
+#define APIC_REGISTER_TIMER_COUNT 0x390\r
+#define APIC_REGISTER_TIMER_DIVIDE 0x3E0\r
+\r
+//\r
+// Definition for MSR address\r
+//\r
+#define MSR_IA32_TIME_STAMP_COUNTER 0x10\r
+#define MSR_IA32_APIC_BASE 0x1B\r
\r
typedef struct {\r
UINTN Lock;\r