diff options
author | AJFISH <AJFISH@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-01-14 03:25:08 +0000 |
---|---|---|
committer | AJFISH <AJFISH@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-01-14 03:25:08 +0000 |
commit | f659880bfa42ded20a00d3e371c998b42dcdd0fd (patch) | |
tree | 1f5c258cb3169db81493b2b0d43a2bae347d5417 /ArmPkg/Drivers/CpuDxe/CpuDxe.h | |
parent | 66b631f5e0beb4792a0f54c31aab5b08b97dc329 (diff) | |
download | edk2-platforms-f659880bfa42ded20a00d3e371c998b42dcdd0fd.tar.xz |
Added support for L2 (4K) page tables and made the CPU driver change cachability attributes on request. Also got the DebugUncache infrastructure working for the first time. Looks like it works for the simple case. Checking in so we can get more eyes looking at the code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9734 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg/Drivers/CpuDxe/CpuDxe.h')
-rw-r--r-- | ArmPkg/Drivers/CpuDxe/CpuDxe.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/ArmPkg/Drivers/CpuDxe/CpuDxe.h b/ArmPkg/Drivers/CpuDxe/CpuDxe.h index 36133e11c3..8a71075c65 100644 --- a/ArmPkg/Drivers/CpuDxe/CpuDxe.h +++ b/ArmPkg/Drivers/CpuDxe/CpuDxe.h @@ -19,14 +19,29 @@ #include <Library/ArmLib.h>
#include <Library/BaseMemoryLib.h>
-#include <Library/CacheMaintenanceLib.h>
#include <Library/DebugLib.h>
#include <Library/PcdLib.h>
#include <Library/UefiBootServicesTableLib.h>
+#include <Library/DxeServicesTableLib.h>
+#include <Library/CacheMaintenanceLib.h>
+#include <Library/PeCoffGetEntryPointLib.h>
+#include <Library/UefiLib.h>
+#include <Library/CpuLib.h>
+#include <Guid/DebugImageInfoTable.h>
#include <Protocol/Cpu.h>
#include <Protocol/DebugSupport.h>
#include <Protocol/DebugSupportPeriodicCallback.h>
+#include <Protocol/VirtualUncachedPages.h>
+#include <Protocol/LoadedImage.h>
+
+
+#define EFI_MEMORY_CACHETYPE_MASK (EFI_MEMORY_UC | \
+ EFI_MEMORY_WC | \
+ EFI_MEMORY_WT | \
+ EFI_MEMORY_WB | \
+ EFI_MEMORY_UCE \
+ )
/**
@@ -84,8 +99,30 @@ RegisterDebuggerInterruptHandler ( EFI_STATUS
+EFIAPI
+CpuSetMemoryAttributes (
+ IN EFI_CPU_ARCH_PROTOCOL *This,
+ IN EFI_PHYSICAL_ADDRESS BaseAddress,
+ IN UINT64 Length,
+ IN UINT64 Attributes
+ );
+
+EFI_STATUS
InitializeExceptions (
IN EFI_CPU_ARCH_PROTOCOL *Cpu
);
+EFI_STATUS
+SyncCacheConfig (
+ IN EFI_CPU_ARCH_PROTOCOL *CpuProtocol
+ );
+
+EFI_STATUS
+ConvertSectionToPages (
+ IN EFI_PHYSICAL_ADDRESS BaseAddress
+ );
+
+
+extern VIRTUAL_UNCACHED_PAGES_PROTOCOL gVirtualUncachedPages;
+
#endif // __CPU_DXE_ARM_EXCEPTION_H__
|