-/*++\r
+/**@file\r
\r
Copyright (c) 2006, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
\r
NT Emulation Architectural Protocol Driver as defined in Tiano.\r
\r
---*/\r
+**/\r
\r
#ifndef _CPU_ARCHITECTURAL_PROTOCOL_DRIVER_H_\r
#define _CPU_ARCHITECTURAL_PROTOCOL_DRIVER_H_\r
#include <FrameworkDxe.h>\r
#include <Protocol/Cpu.h>\r
#include <Protocol/DataHub.h>\r
-#include <Protocol/HiiFramework.h>\r
+#include <Protocol/FrameworkHii.h>\r
#include <Guid/DataHubRecords.h>\r
+#include <Guid/DataHubProducer.h>\r
#include <Protocol/CpuIo.h>\r
#include <Protocol/WinNtIo.h>\r
+#include <Library/BaseLib.h>\r
#include <Library/DebugLib.h>\r
-#include <Library/HiiLibFramework.h>\r
+#include <Library/HiiLib.h>\r
#include <Library/UefiDriverEntryPoint.h>\r
#include <Library/BaseMemoryLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/PcdLib.h>\r
\r
\r
extern UINT8 CpuStrings[];\r
//\r
// Internal Data Structures\r
//\r
-#define CPU_ARCH_PROT_PRIVATE_SIGNATURE EFI_SIGNATURE_32 ('c', 'a', 'p', 'd')\r
+#define CPU_ARCH_PROT_PRIVATE_SIGNATURE SIGNATURE_32 ('c', 'a', 'p', 'd')\r
\r
typedef struct {\r
UINTN Signature;\r
);\r
\r
\r
+EFI_STATUS\r
+EFIAPI\r
+InitializeCpu (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtFlushCpuDataCache (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This,\r
+ IN EFI_PHYSICAL_ADDRESS Start,\r
+ IN UINT64 Length,\r
+ IN EFI_CPU_FLUSH_TYPE FlushType\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtEnableInterrupt (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtDisableInterrupt (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtGetInterruptState (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This,\r
+ OUT BOOLEAN *State\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtInit (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This,\r
+ IN EFI_CPU_INIT_TYPE InitType\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtRegisterInterruptHandler (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This,\r
+ IN EFI_EXCEPTION_TYPE InterruptType,\r
+ IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtGetTimerValue (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This,\r
+ IN UINT32 TimerIndex,\r
+ OUT UINT64 *TimerValue,\r
+ OUT UINT64 *TimerPeriod OPTIONAL\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+WinNtSetMemoryAttributes (\r
+ IN EFI_CPU_ARCH_PROTOCOL *This,\r
+ IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
+ IN UINT64 Length,\r
+ IN UINT64 Attributes\r
+ );\r
+\r
+\r
+\r
+\r
+\r
+\r
#endif\r