/** @file\r
\r
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
+ Copyright (c) 2014, ARM Limited. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
//Note: On ARM processor with the Security Extension, the Vector Table can be located anywhere in the memory.\r
// The Vector Base Address Register defines the location\r
ArmWriteVBar (PcdGet32(PcdCpuVectorBaseAddress));\r
- } else {\r
+ } else {
// The Vector table must be 32-byte aligned\r
- ASSERT(((UINT32)ExceptionHandlersStart & ARM_VECTOR_TABLE_ALIGNMENT) == 0);\r
+ if (((UINT32)ExceptionHandlersStart & ARM_VECTOR_TABLE_ALIGNMENT) != 0) {\r
+ ASSERT (0);\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
\r
// We do not copy the Exception Table at PcdGet32(PcdCpuVectorBaseAddress). We just set Vector Base Address to point into CpuDxe code.\r
ArmWriteVBar ((UINT32)ExceptionHandlersStart);\r