summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-25 19:25:44 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-02-25 19:25:44 +0000
commit753816a324525096dbe83672190bbf4b2d7eefaf (patch)
treee2c8cc9c5a0fb43b2d5471c77273e23017a9345e
parenta495774f6982581e9591fe9995f2e0a4bf1854fa (diff)
downloadedk2-platforms-753816a324525096dbe83672190bbf4b2d7eefaf.tar.xz
Add EOI API to hardware interrupt. Add PCD setting form DRAM base and size. Remove bogus PCD
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10088 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--BeagleBoardPkg/BeagleBoardPkg.dsc6
-rw-r--r--BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.S7
-rw-r--r--BeagleBoardPkg/Sec/Arm/ModuleEntryPoint.asm4
-rw-r--r--BeagleBoardPkg/Sec/Sec.inf3
-rw-r--r--EmbeddedPkg/EmbeddedPkg.dec3
-rw-r--r--EmbeddedPkg/Include/Protocol/HardwareInterrupt.h21
-rw-r--r--Omap35xxPkg/Omap35xxPkg.dec1
-rw-r--r--Omap35xxPkg/Omap35xxPkg.dsc1
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