mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +02:00
ARM Packages: Minor changes (fixed mispelling, line endings, incorrect comments)
Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13243 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5e10caa1c1
commit
82325f95c5
@ -1,219 +1,219 @@
|
|||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
http://opensource.org/licenses/bsd-license.php
|
http://opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
#include <Base.h>
|
#include <Base.h>
|
||||||
|
|
||||||
#include <Library/BaseLib.h>
|
#include <Library/BaseLib.h>
|
||||||
#include <Library/SemihostLib.h>
|
#include <Library/SemihostLib.h>
|
||||||
|
|
||||||
#include "SemihostPrivate.h"
|
#include "SemihostPrivate.h"
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
SemihostConnectionSupported (
|
SemihostConnectionSupported (
|
||||||
VOID
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return SEMIHOST_SUPPORTED;
|
return SEMIHOST_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileOpen (
|
SemihostFileOpen (
|
||||||
IN CHAR8 *FileName,
|
IN CHAR8 *FileName,
|
||||||
IN UINT32 Mode,
|
IN UINT32 Mode,
|
||||||
OUT UINT32 *FileHandle
|
OUT UINT32 *FileHandle
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SEMIHOST_FILE_OPEN_BLOCK OpenBlock;
|
SEMIHOST_FILE_OPEN_BLOCK OpenBlock;
|
||||||
INT32 Result;
|
INT32 Result;
|
||||||
|
|
||||||
if (FileHandle == NULL) {
|
if (FileHandle == NULL) {
|
||||||
return RETURN_INVALID_PARAMETER;
|
return RETURN_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
OpenBlock.FileName = FileName;
|
OpenBlock.FileName = FileName;
|
||||||
OpenBlock.Mode = Mode;
|
OpenBlock.Mode = Mode;
|
||||||
OpenBlock.NameLength = AsciiStrLen(FileName);
|
OpenBlock.NameLength = AsciiStrLen(FileName);
|
||||||
|
|
||||||
Result = Semihost_SYS_OPEN(&OpenBlock);
|
Result = Semihost_SYS_OPEN(&OpenBlock);
|
||||||
|
|
||||||
if (Result == -1) {
|
if (Result == -1) {
|
||||||
return RETURN_NOT_FOUND;
|
return RETURN_NOT_FOUND;
|
||||||
} else {
|
} else {
|
||||||
*FileHandle = Result;
|
*FileHandle = Result;
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileSeek (
|
SemihostFileSeek (
|
||||||
IN UINT32 FileHandle,
|
IN UINT32 FileHandle,
|
||||||
IN UINT32 Offset
|
IN UINT32 Offset
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SEMIHOST_FILE_SEEK_BLOCK SeekBlock;
|
SEMIHOST_FILE_SEEK_BLOCK SeekBlock;
|
||||||
INT32 Result;
|
INT32 Result;
|
||||||
|
|
||||||
SeekBlock.Handle = FileHandle;
|
SeekBlock.Handle = FileHandle;
|
||||||
SeekBlock.Location = Offset;
|
SeekBlock.Location = Offset;
|
||||||
|
|
||||||
Result = Semihost_SYS_SEEK(&SeekBlock);
|
Result = Semihost_SYS_SEEK(&SeekBlock);
|
||||||
|
|
||||||
if (Result == 0) {
|
if (Result == 0) {
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
return RETURN_ABORTED;
|
return RETURN_ABORTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileRead (
|
SemihostFileRead (
|
||||||
IN UINT32 FileHandle,
|
IN UINT32 FileHandle,
|
||||||
IN OUT UINT32 *Length,
|
IN OUT UINT32 *Length,
|
||||||
OUT VOID *Buffer
|
OUT VOID *Buffer
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SEMIHOST_FILE_READ_WRITE_BLOCK ReadBlock;
|
SEMIHOST_FILE_READ_WRITE_BLOCK ReadBlock;
|
||||||
UINT32 Result;
|
UINT32 Result;
|
||||||
|
|
||||||
if ((Length == NULL) || (Buffer == NULL)) {
|
if ((Length == NULL) || (Buffer == NULL)) {
|
||||||
return RETURN_INVALID_PARAMETER;
|
return RETURN_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReadBlock.Handle = FileHandle;
|
ReadBlock.Handle = FileHandle;
|
||||||
ReadBlock.Buffer = Buffer;
|
ReadBlock.Buffer = Buffer;
|
||||||
ReadBlock.Length = *Length;
|
ReadBlock.Length = *Length;
|
||||||
|
|
||||||
Result = Semihost_SYS_READ(&ReadBlock);
|
Result = Semihost_SYS_READ(&ReadBlock);
|
||||||
|
|
||||||
if (Result == *Length) {
|
if (Result == *Length) {
|
||||||
return RETURN_ABORTED;
|
return RETURN_ABORTED;
|
||||||
} else {
|
} else {
|
||||||
*Length -= Result;
|
*Length -= Result;
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileWrite (
|
SemihostFileWrite (
|
||||||
IN UINT32 FileHandle,
|
IN UINT32 FileHandle,
|
||||||
IN OUT UINT32 *Length,
|
IN OUT UINT32 *Length,
|
||||||
IN VOID *Buffer
|
IN VOID *Buffer
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SEMIHOST_FILE_READ_WRITE_BLOCK WriteBlock;
|
SEMIHOST_FILE_READ_WRITE_BLOCK WriteBlock;
|
||||||
|
|
||||||
if ((Length == NULL) || (Buffer == NULL)) {
|
if ((Length == NULL) || (Buffer == NULL)) {
|
||||||
return RETURN_INVALID_PARAMETER;
|
return RETURN_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
WriteBlock.Handle = FileHandle;
|
WriteBlock.Handle = FileHandle;
|
||||||
WriteBlock.Buffer = Buffer;
|
WriteBlock.Buffer = Buffer;
|
||||||
WriteBlock.Length = *Length;
|
WriteBlock.Length = *Length;
|
||||||
|
|
||||||
*Length = Semihost_SYS_WRITE(&WriteBlock);
|
*Length = Semihost_SYS_WRITE(&WriteBlock);
|
||||||
|
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileClose (
|
SemihostFileClose (
|
||||||
IN UINT32 FileHandle
|
IN UINT32 FileHandle
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
INT32 Result = Semihost_SYS_CLOSE(&FileHandle);
|
INT32 Result = Semihost_SYS_CLOSE(&FileHandle);
|
||||||
|
|
||||||
if (Result == -1) {
|
if (Result == -1) {
|
||||||
return RETURN_INVALID_PARAMETER;
|
return RETURN_INVALID_PARAMETER;
|
||||||
} else {
|
} else {
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileLength (
|
SemihostFileLength (
|
||||||
IN UINT32 FileHandle,
|
IN UINT32 FileHandle,
|
||||||
OUT UINT32 *Length
|
OUT UINT32 *Length
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
INT32 Result;
|
INT32 Result;
|
||||||
|
|
||||||
if (Length == NULL) {
|
if (Length == NULL) {
|
||||||
return RETURN_INVALID_PARAMETER;
|
return RETURN_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
Result = Semihost_SYS_FLEN(&FileHandle);
|
Result = Semihost_SYS_FLEN(&FileHandle);
|
||||||
|
|
||||||
if (Result == -1) {
|
if (Result == -1) {
|
||||||
return RETURN_ABORTED;
|
return RETURN_ABORTED;
|
||||||
} else {
|
} else {
|
||||||
*Length = Result;
|
*Length = Result;
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_STATUS
|
RETURN_STATUS
|
||||||
SemihostFileRemove (
|
SemihostFileRemove (
|
||||||
IN CHAR8 *FileName
|
IN CHAR8 *FileName
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SEMIHOST_FILE_REMOVE_BLOCK RemoveBlock;
|
SEMIHOST_FILE_REMOVE_BLOCK RemoveBlock;
|
||||||
UINT32 Result;
|
UINT32 Result;
|
||||||
|
|
||||||
RemoveBlock.FileName = FileName;
|
RemoveBlock.FileName = FileName;
|
||||||
RemoveBlock.NameLength = AsciiStrLen(FileName);
|
RemoveBlock.NameLength = AsciiStrLen(FileName);
|
||||||
|
|
||||||
Result = Semihost_SYS_REMOVE(&RemoveBlock);
|
Result = Semihost_SYS_REMOVE(&RemoveBlock);
|
||||||
|
|
||||||
if (Result == 0) {
|
if (Result == 0) {
|
||||||
return RETURN_SUCCESS;
|
return RETURN_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
return RETURN_ABORTED;
|
return RETURN_ABORTED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CHAR8
|
CHAR8
|
||||||
SemihostReadCharacter (
|
SemihostReadCharacter (
|
||||||
VOID
|
VOID
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return Semihost_SYS_READC();
|
return Semihost_SYS_READC();
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
SemihostWriteCharacter (
|
SemihostWriteCharacter (
|
||||||
IN CHAR8 Character
|
IN CHAR8 Character
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
Semihost_SYS_WRITEC(&Character);
|
Semihost_SYS_WRITEC(&Character);
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
SemihostWriteString (
|
SemihostWriteString (
|
||||||
IN CHAR8 *String
|
IN CHAR8 *String
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
Semihost_SYS_WRITE0(String);
|
Semihost_SYS_WRITE0(String);
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT32
|
UINT32
|
||||||
SemihostSystem (
|
SemihostSystem (
|
||||||
IN CHAR8 *CommandLine
|
IN CHAR8 *CommandLine
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SEMIHOST_SYSTEM_BLOCK SystemBlock;
|
SEMIHOST_SYSTEM_BLOCK SystemBlock;
|
||||||
|
|
||||||
SystemBlock.CommandLine = CommandLine;
|
SystemBlock.CommandLine = CommandLine;
|
||||||
SystemBlock.CommandLength = AsciiStrLen(CommandLine);
|
SystemBlock.CommandLength = AsciiStrLen(CommandLine);
|
||||||
|
|
||||||
return Semihost_SYS_SYSTEM(&SystemBlock);
|
return Semihost_SYS_SYSTEM(&SystemBlock);
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
#/** @file
|
#/** @file
|
||||||
#
|
#
|
||||||
# Component description file for ArmVeGraphicsDxe module
|
# Component description file for NorFlashArmRealViewEbLib module
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
||||||
|
#
|
||||||
# This program and the accompanying materials
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -1,51 +1,51 @@
|
|||||||
#/** @file
|
#/** @file
|
||||||
# Arm Versatile Express package.
|
# Arm Versatile Express package.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011, ARM Limited. All rights reserved.
|
# Copyright (c) 2012, ARM Limited. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program and the accompanying materials
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
# http://opensource.org/licenses/bsd-license.php
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
#
|
#
|
||||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#
|
#
|
||||||
#**/
|
#**/
|
||||||
|
|
||||||
[Defines]
|
[Defines]
|
||||||
DEC_SPECIFICATION = 0x00010005
|
DEC_SPECIFICATION = 0x00010005
|
||||||
PACKAGE_NAME = ArmVExpressPkg
|
PACKAGE_NAME = ArmVExpressPkg
|
||||||
PACKAGE_GUID = 9c0aaed4-74c5-4043-b417-a3223814ce76
|
PACKAGE_GUID = 9c0aaed4-74c5-4043-b417-a3223814ce76
|
||||||
PACKAGE_VERSION = 0.1
|
PACKAGE_VERSION = 0.1
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Include Section - list of Include Paths that are provided by this package.
|
# Include Section - list of Include Paths that are provided by this package.
|
||||||
# Comments are used for Keywords and Module Types.
|
# Comments are used for Keywords and Module Types.
|
||||||
#
|
#
|
||||||
# Supported Module Types:
|
# Supported Module Types:
|
||||||
# BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
|
# BASE SEC PEI_CORE PEIM DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER DXE_SAL_DRIVER UEFI_DRIVER UEFI_APPLICATION
|
||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
[Includes.common]
|
[Includes.common]
|
||||||
Include # Root include for the package
|
Include # Root include for the package
|
||||||
|
|
||||||
[Guids.common]
|
[Guids.common]
|
||||||
gArmVExpressTokenSpaceGuid = { 0x9c0aaed4, 0x74c5, 0x4043, { 0xb4, 0x17, 0xa3, 0x22, 0x38, 0x14, 0xce, 0x76 } }
|
gArmVExpressTokenSpaceGuid = { 0x9c0aaed4, 0x74c5, 0x4043, { 0xb4, 0x17, 0xa3, 0x22, 0x38, 0x14, 0xce, 0x76 } }
|
||||||
#
|
#
|
||||||
# Following Guid must match FILE_GUID in MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
# Following Guid must match FILE_GUID in MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
#
|
#
|
||||||
gVariableRuntimeDxeFileGuid = { 0xcbd2e4d5, 0x7068, 0x4ff5, { 0xb4, 0x62, 0x98, 0x22, 0xb4, 0xad, 0x8d, 0x60 } }
|
gVariableRuntimeDxeFileGuid = { 0xcbd2e4d5, 0x7068, 0x4ff5, { 0xb4, 0x62, 0x98, 0x22, 0xb4, 0xad, 0x8d, 0x60 } }
|
||||||
|
|
||||||
[PcdsFeatureFlag.common]
|
[PcdsFeatureFlag.common]
|
||||||
|
|
||||||
[PcdsFixedAtBuild.common]
|
[PcdsFixedAtBuild.common]
|
||||||
#
|
#
|
||||||
# MaxMode must be one number higher than the actual max mode,
|
# MaxMode must be one number higher than the actual max mode,
|
||||||
# i.e. for actual maximum mode 2, set the value to 3.
|
# i.e. for actual maximum mode 2, set the value to 3.
|
||||||
#
|
#
|
||||||
# For a list of mode numbers look in LcdArmVExpress.c
|
# For a list of mode numbers look in LcdArmVExpress.c
|
||||||
#
|
#
|
||||||
gArmVExpressTokenSpaceGuid.PcdPL111LcdMaxMode|3|UINT32|0x00000003
|
gArmVExpressTokenSpaceGuid.PcdPL111LcdMaxMode|3|UINT32|0x00000003
|
||||||
gArmVExpressTokenSpaceGuid.PcdPL111LcdVideoModeOscId|1|UINT32|0x00000004
|
gArmVExpressTokenSpaceGuid.PcdPL111LcdVideoModeOscId|1|UINT32|0x00000004
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
# Component description file for ArmVeGraphicsDxe module
|
# Component description file for ArmVeGraphicsDxe module
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
||||||
|
#
|
||||||
# This program and the accompanying materials
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
# Component description file for Bds module
|
# Component description file for Bds module
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
||||||
|
#
|
||||||
# This program and the accompanying materials
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
# which accompanies this distribution. The full text of the license may be found at
|
# which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -107,6 +107,7 @@ _GetStackBaseMpCore:
|
|||||||
// Stack for the primary core = PrimaryCoreStack
|
// Stack for the primary core = PrimaryCoreStack
|
||||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
||||||
sub r7, r1, r2
|
sub r7, r1, r2
|
||||||
|
|
||||||
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
|
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
|
||||||
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
|
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
|
||||||
lsl r2, r2, #2
|
lsl r2, r2, #2
|
||||||
@ -118,7 +119,7 @@ _GetStackBaseMpCore:
|
|||||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
||||||
add r1, r7, r2
|
add r1, r7, r2
|
||||||
|
|
||||||
// r7 = The base of the MpCore Stacks
|
// r7 = The base of the MpCore Stacks (primary stack + cluster_count * 4 * secondary stacks)
|
||||||
// r1 = The base of the secondary Stacks = Top of the Primary stack
|
// r1 = The base of the secondary Stacks = Top of the Primary stack
|
||||||
|
|
||||||
// Is it the Primary Core ?
|
// Is it the Primary Core ?
|
||||||
|
@ -108,6 +108,7 @@ _GetStackBaseMpCore
|
|||||||
// Stack for the primary core = PrimaryCoreStack
|
// Stack for the primary core = PrimaryCoreStack
|
||||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
||||||
sub r7, r1, r2
|
sub r7, r1, r2
|
||||||
|
|
||||||
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
|
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
|
||||||
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
|
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
|
||||||
lsl r2, r2, #2
|
lsl r2, r2, #2
|
||||||
@ -119,7 +120,7 @@ _GetStackBaseMpCore
|
|||||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
||||||
add r1, r7, r2
|
add r1, r7, r2
|
||||||
|
|
||||||
// r7 = The base of the MpCore Stacks
|
// r7 = The base of the MpCore Stacks (primary stack + cluster_count * 4 * secondary stacks)
|
||||||
// r1 = The base of the secondary Stacks = Top of the Primary stack
|
// r1 = The base of the secondary Stacks = Top of the Primary stack
|
||||||
|
|
||||||
// Is it the Primary Core ?
|
// Is it the Primary Core ?
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
#/** @file
|
#/** @file
|
||||||
#
|
#
|
||||||
# Component discription file for Bds module
|
# Component description file for Bds module
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
|
# Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user