Add EOI API to hardware interrupt. Add PCD setting form DRAM base and size. Remove...
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 25 Feb 2010 19:25:44 +0000 (19:25 +0000)
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 25 Feb 2010 19:25:44 +0000 (19:25 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10088 6f19259b-4bc3-4df7-8a09-765794883524

BeagleBoardPkg/BeagleBoardPkg.dsc
BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S
BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm
BeagleBoardPkg/Sec/Sec.inf
EmbeddedPkg/EmbeddedPkg.dec
EmbeddedPkg/Include/Protocol/HardwareInterrupt.h
Omap35xxPkg/Omap35xxPkg.dec
Omap35xxPkg/Omap35xxPkg.dsc

index 189b64dc3fa3898362ab059b6b41ee43077e50be..cf257fb97b1ed500cbb825d66f240342e83be239 100644 (file)
   gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
   gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
   gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack
-  gBeagleBoardTokenSpaceGuid.PcdBeagleBoardIRAMFullSize|0x00000000
+  
+  gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x80000000
+  gEmbeddedTokenSpaceGuid.PcdMemorySize|0x10000000
+
+
   gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000
   gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
   
index 0ae8da6a24b5a1829d4f0de974a9f4a2fda30e34..89bcab77ef9f52a15e122245cf7072453558174d 100644 (file)
@@ -81,10 +81,11 @@ stack_pointer_setup:
   mov     r13,r4\r
 \r
   // Call C entry point\r
-  mov     r0, #0x80000000   /* memory base arg0          */\r
-  mov     r1, #0x10000000   /* memory size arg1          */\r
+  LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1)    /* memory size arg1          */\r
+  LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0)    /* memory size arg0         */\r
+  \r
 \r
-  bl      ASM_PFX(CEntryPoint) /* Assume C code is ARM      */\r
+  blx      ASM_PFX(CEntryPoint) /* Assume C code is ARM      */\r
 \r
 ShouldNeverGetHere:\r
   /* _CEntryPoint should never return */\r
index 71e60b707af9c3c7bfc3ce48eb45e68a8e753b7d..52171692b5d319511ecc5971d30266846385106c 100644 (file)
@@ -59,8 +59,8 @@ stack_pointer_setup
   mov     r13,r4\r
 \r
   // Call C entry point\r
-  mov     r0, #0x80000000   /* memory base arg0          */\r
-  mov     r1, #0x10000000   /* memory size arg1          */\r
+  LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1)    /* memory size arg1          */\r
+  LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0)    /* memory size arg0         */\r
   blx     CEntryPoint       /* Assume C code is thumb    */\r
 \r
 ShouldNeverGetHere\r
index a74dfb6bc3ca1768435a77c6659a1e72b513df66..93ad6e0ebc4eaa865a97c164bd55f2b1b5d907be 100644 (file)
@@ -60,8 +60,9 @@
   gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize
   gEmbeddedTokenSpaceGuid.PcdPrePiStackSize
   gEmbeddedTokenSpaceGuid.PcdPrePiStackBase
+  gEmbeddedTokenSpaceGuid.PcdMemoryBase
+  gEmbeddedTokenSpaceGuid.PcdMemorySize
   
   gOmap35xxTokenSpaceGuid.PcdBeagleConsoleUart
   gOmap35xxTokenSpaceGuid.PcdBeagleFreeTimer
-  gOmap35xxTokenSpaceGuid.PcdBeagleBoardIRAMFullSize
 
index 45321491201e579d188e00b1911e16486a63f110..f79512822c90f000f2d8466ee71ca8018c70bb65 100644 (file)
@@ -85,6 +85,9 @@
   gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32|UINT8|0x00000010\r
   gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0|UINT8|0x00000011\r
   \r
+  gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x0|UINT32|0x0000004e\r
+  gEmbeddedTokenSpaceGuid.PcdMemorySize|0x0|UINT32|0x0000004f\r
+\r
   gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0x0|UINT32|0x00000043\r
   gEmbeddedTokenSpaceGuid.PcdFlashFvMainOffset|0x0|UINT32|0x00000044\r
   gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0x0|UINT32|0x000000045\r
index a4825832c4ec476116b8ce9f1b2ef80c31056596..b2c8f0e0230f58139d785cedfa939c275a6bdc64 100644 (file)
@@ -133,7 +133,25 @@ EFI_STATUS
 (EFIAPI *HARDWARE_INTERRUPT_INTERRUPT_STATE) (\r
   IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,\r
   IN HARDWARE_INTERRUPT_SOURCE          Source,\r
-  IN BOOLEAN                            *InterruptState\r
+  IN BOOLEAN                            *InterruptState  \r
+  );\r
+\r
+/**\r
+  Signal to the hardware that the End Of Intrrupt state \r
+  has been reached.\r
+\r
+  @param This     Instance pointer for this protocol\r
+  @param Source   Hardware source of the interrupt\r
+\r
+  @retval EFI_SUCCESS       Source interrupt EOI'ed.\r
+  @retval EFI_DEVICE_ERROR  Hardware could not be programmed.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *HARDWARE_INTERRUPT_END_OF_INTERRUPT) (\r
+  IN EFI_HARDWARE_INTERRUPT_PROTOCOL    *This,\r
+  IN HARDWARE_INTERRUPT_SOURCE          Source\r
   );\r
 \r
 \r
@@ -142,6 +160,7 @@ struct _EFI_HARDWARE_INTERRUPT_PROTOCOL {
   HARDWARE_INTERRUPT_ENABLE           EnableInterruptSource;\r
   HARDWARE_INTERRUPT_DISABLE          DisableInterruptSource;\r
   HARDWARE_INTERRUPT_INTERRUPT_STATE  GetInterruptSourceState;\r
+  HARDWARE_INTERRUPT_END_OF_INTERRUPT EndOfInterrupt;\r
 };\r
 \r
 extern EFI_GUID gHardwareInterruptProtocolGuid;\r
index 2091ca66d7fd41b687767de1671c44b6188b8a56..413f1be63ea4b7f5acbcaae905fdaf780e19e7d6 100644 (file)
@@ -38,7 +38,6 @@
 [PcdsFeatureFlag.common]
 
 [PcdsFixedAtBuild.common]
-  gOmap35xxTokenSpaceGuid.PcdBeagleBoardIRAMFullSize|0x00000000|UINT32|0x00000201
   gOmap35xxTokenSpaceGuid.PcdBeagleConsoleUart|3|UINT32|0x00000202
   gOmap35xxTokenSpaceGuid.PcdBeagleGpmcOffset|0x00000000|UINT32|0x00000203
   gOmap35xxTokenSpaceGuid.PcdBeagleMMCHS1Base|0x00000000|UINT32|0x00000204
index 2efe36f2550bf71407dd97015a7027dd5d1127ff..c8cc298a89bf8da4bc37b6fd61bad2c97b9a702a 100644 (file)
   gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0x80001000
   gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0x87FE0000 # stack at top of memory
   gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0x20000  # 128K stack
-  gOmap35xxTokenSpaceGuid.PcdBeagleBoardIRAMFullSize|0x00000000
   gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80000000
   gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000