diff options
-rw-r--r-- | BeagleBoardPkg/BeagleBoardPkg.dsc | 6 | ||||
-rw-r--r-- | BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S | 7 | ||||
-rw-r--r-- | BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm | 4 | ||||
-rw-r--r-- | BeagleBoardPkg/Sec/Sec.inf | 3 | ||||
-rw-r--r-- | EmbeddedPkg/EmbeddedPkg.dec | 3 | ||||
-rw-r--r-- | EmbeddedPkg/Include/Protocol/HardwareInterrupt.h | 21 | ||||
-rw-r--r-- | Omap35xxPkg/Omap35xxPkg.dec | 1 | ||||
-rw-r--r-- | Omap35xxPkg/Omap35xxPkg.dsc | 1 |
8 files changed, 36 insertions, 10 deletions
diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc index 189b64dc3f..cf257fb97b 100644 --- a/BeagleBoardPkg/BeagleBoardPkg.dsc +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc @@ -287,7 +287,11 @@ 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 diff --git a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S index 0ae8da6a24..89bcab77ef 100644 --- a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S +++ b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S @@ -81,10 +81,11 @@ stack_pointer_setup: mov r13,r4
// Call C entry point
- mov r0, #0x80000000 /* memory base arg0 */
- mov r1, #0x10000000 /* memory size arg1 */
+ LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1) /* memory size arg1 */
+ LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0 */
+
- bl ASM_PFX(CEntryPoint) /* Assume C code is ARM */
+ blx ASM_PFX(CEntryPoint) /* Assume C code is ARM */
ShouldNeverGetHere:
/* _CEntryPoint should never return */
diff --git a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm index 71e60b707a..52171692b5 100644 --- a/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm +++ b/BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm @@ -59,8 +59,8 @@ stack_pointer_setup mov r13,r4
// Call C entry point
- mov r0, #0x80000000 /* memory base arg0 */
- mov r1, #0x10000000 /* memory size arg1 */
+ LoadConstantToReg (FixedPcdGet32(PcdMemorySize) ,r1) /* memory size arg1 */
+ LoadConstantToReg (FixedPcdGet32(PcdMemoryBase) ,r0) /* memory size arg0 */
blx CEntryPoint /* Assume C code is thumb */
ShouldNeverGetHere
diff --git a/BeagleBoardPkg/Sec/Sec.inf b/BeagleBoardPkg/Sec/Sec.inf index a74dfb6bc3..93ad6e0ebc 100644 --- a/BeagleBoardPkg/Sec/Sec.inf +++ b/BeagleBoardPkg/Sec/Sec.inf @@ -60,8 +60,9 @@ gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize gEmbeddedTokenSpaceGuid.PcdPrePiStackSize gEmbeddedTokenSpaceGuid.PcdPrePiStackBase + gEmbeddedTokenSpaceGuid.PcdMemoryBase + gEmbeddedTokenSpaceGuid.PcdMemorySize gOmap35xxTokenSpaceGuid.PcdBeagleConsoleUart gOmap35xxTokenSpaceGuid.PcdBeagleFreeTimer - gOmap35xxTokenSpaceGuid.PcdBeagleBoardIRAMFullSize diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec index 4532149120..f79512822c 100644 --- a/EmbeddedPkg/EmbeddedPkg.dec +++ b/EmbeddedPkg/EmbeddedPkg.dec @@ -85,6 +85,9 @@ gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32|UINT8|0x00000010
gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0|UINT8|0x00000011
+ gEmbeddedTokenSpaceGuid.PcdMemoryBase|0x0|UINT32|0x0000004e
+ gEmbeddedTokenSpaceGuid.PcdMemorySize|0x0|UINT32|0x0000004f
+
gEmbeddedTokenSpaceGuid.PcdFlashFvMainBase|0x0|UINT32|0x00000043
gEmbeddedTokenSpaceGuid.PcdFlashFvMainOffset|0x0|UINT32|0x00000044
gEmbeddedTokenSpaceGuid.PcdFlashFvMainSize|0x0|UINT32|0x000000045
diff --git a/EmbeddedPkg/Include/Protocol/HardwareInterrupt.h b/EmbeddedPkg/Include/Protocol/HardwareInterrupt.h index a4825832c4..b2c8f0e023 100644 --- a/EmbeddedPkg/Include/Protocol/HardwareInterrupt.h +++ b/EmbeddedPkg/Include/Protocol/HardwareInterrupt.h @@ -133,7 +133,25 @@ EFI_STATUS (EFIAPI *HARDWARE_INTERRUPT_INTERRUPT_STATE) (
IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,
IN HARDWARE_INTERRUPT_SOURCE Source,
- IN BOOLEAN *InterruptState
+ IN BOOLEAN *InterruptState
+ );
+
+/**
+ Signal to the hardware that the End Of Intrrupt state
+ has been reached.
+
+ @param This Instance pointer for this protocol
+ @param Source Hardware source of the interrupt
+
+ @retval EFI_SUCCESS Source interrupt EOI'ed.
+ @retval EFI_DEVICE_ERROR Hardware could not be programmed.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *HARDWARE_INTERRUPT_END_OF_INTERRUPT) (
+ IN EFI_HARDWARE_INTERRUPT_PROTOCOL *This,
+ IN HARDWARE_INTERRUPT_SOURCE Source
);
@@ -142,6 +160,7 @@ struct _EFI_HARDWARE_INTERRUPT_PROTOCOL { HARDWARE_INTERRUPT_ENABLE EnableInterruptSource;
HARDWARE_INTERRUPT_DISABLE DisableInterruptSource;
HARDWARE_INTERRUPT_INTERRUPT_STATE GetInterruptSourceState;
+ HARDWARE_INTERRUPT_END_OF_INTERRUPT EndOfInterrupt;
};
extern EFI_GUID gHardwareInterruptProtocolGuid;
diff --git a/Omap35xxPkg/Omap35xxPkg.dec b/Omap35xxPkg/Omap35xxPkg.dec index 2091ca66d7..413f1be63e 100644 --- a/Omap35xxPkg/Omap35xxPkg.dec +++ b/Omap35xxPkg/Omap35xxPkg.dec @@ -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 diff --git a/Omap35xxPkg/Omap35xxPkg.dsc b/Omap35xxPkg/Omap35xxPkg.dsc index 2efe36f255..c8cc298a89 100644 --- a/Omap35xxPkg/Omap35xxPkg.dsc +++ b/Omap35xxPkg/Omap35xxPkg.dsc @@ -145,7 +145,6 @@ 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 |