ArmPkg/BdsLib: Linux kernel supports either FDT or ATAG

If a FDT blob is passed to the kernel it is required we can load it.
If we fail to load the binary then we must abort the Linux booting
process.


ArmPkg/CpuDxe: Ensure the reset vector passed to the CP15 VBAR register is aligned on the right boundary





git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11968 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin
2011-07-04 10:02:49 +00:00
parent f3de0a607d
commit 1c1e70fa6e
2 changed files with 16 additions and 9 deletions

View File

@@ -206,10 +206,13 @@ InitializeExceptions (
//Note: On ARM processor with the Security Extension, the Vector Table can be located anywhere in the memory.
// The Vector Base Address Register defines the location
ArmWriteVBar(PcdGet32(PcdCpuVectorBaseAddress));
ArmWriteVBar (PcdGet32(PcdCpuVectorBaseAddress));
} else {
// The Vector table must be 32-byte aligned
ASSERT(((UINT32)ExceptionHandlersStart & ((1 << 5)-1)) == 0);
// We do not copy the Exception Table at PcdGet32(PcdCpuVectorBaseAddress). We just set Vector Base Address to point into CpuDxe code.
ArmWriteVBar((UINT32)ExceptionHandlersStart);
ArmWriteVBar ((UINT32)ExceptionHandlersStart);
}
if (FiqEnabled) {