mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 05:34:31 +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
|
||||
|
||||
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
#include <Base.h>
|
||||
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/SemihostLib.h>
|
||||
|
||||
#include "SemihostPrivate.h"
|
||||
|
||||
BOOLEAN
|
||||
SemihostConnectionSupported (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return SEMIHOST_SUPPORTED;
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileOpen (
|
||||
IN CHAR8 *FileName,
|
||||
IN UINT32 Mode,
|
||||
OUT UINT32 *FileHandle
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_OPEN_BLOCK OpenBlock;
|
||||
INT32 Result;
|
||||
|
||||
if (FileHandle == NULL) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
OpenBlock.FileName = FileName;
|
||||
OpenBlock.Mode = Mode;
|
||||
OpenBlock.NameLength = AsciiStrLen(FileName);
|
||||
|
||||
Result = Semihost_SYS_OPEN(&OpenBlock);
|
||||
|
||||
if (Result == -1) {
|
||||
return RETURN_NOT_FOUND;
|
||||
} else {
|
||||
*FileHandle = Result;
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileSeek (
|
||||
IN UINT32 FileHandle,
|
||||
IN UINT32 Offset
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_SEEK_BLOCK SeekBlock;
|
||||
INT32 Result;
|
||||
|
||||
SeekBlock.Handle = FileHandle;
|
||||
SeekBlock.Location = Offset;
|
||||
|
||||
Result = Semihost_SYS_SEEK(&SeekBlock);
|
||||
|
||||
if (Result == 0) {
|
||||
return RETURN_SUCCESS;
|
||||
} else {
|
||||
return RETURN_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileRead (
|
||||
IN UINT32 FileHandle,
|
||||
IN OUT UINT32 *Length,
|
||||
OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_READ_WRITE_BLOCK ReadBlock;
|
||||
UINT32 Result;
|
||||
|
||||
if ((Length == NULL) || (Buffer == NULL)) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
ReadBlock.Handle = FileHandle;
|
||||
ReadBlock.Buffer = Buffer;
|
||||
ReadBlock.Length = *Length;
|
||||
|
||||
Result = Semihost_SYS_READ(&ReadBlock);
|
||||
|
||||
if (Result == *Length) {
|
||||
return RETURN_ABORTED;
|
||||
} else {
|
||||
*Length -= Result;
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileWrite (
|
||||
IN UINT32 FileHandle,
|
||||
IN OUT UINT32 *Length,
|
||||
IN VOID *Buffer
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_READ_WRITE_BLOCK WriteBlock;
|
||||
|
||||
if ((Length == NULL) || (Buffer == NULL)) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
WriteBlock.Handle = FileHandle;
|
||||
WriteBlock.Buffer = Buffer;
|
||||
WriteBlock.Length = *Length;
|
||||
|
||||
*Length = Semihost_SYS_WRITE(&WriteBlock);
|
||||
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileClose (
|
||||
IN UINT32 FileHandle
|
||||
)
|
||||
{
|
||||
INT32 Result = Semihost_SYS_CLOSE(&FileHandle);
|
||||
|
||||
if (Result == -1) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
} else {
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileLength (
|
||||
IN UINT32 FileHandle,
|
||||
OUT UINT32 *Length
|
||||
)
|
||||
{
|
||||
INT32 Result;
|
||||
|
||||
if (Length == NULL) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
Result = Semihost_SYS_FLEN(&FileHandle);
|
||||
|
||||
if (Result == -1) {
|
||||
return RETURN_ABORTED;
|
||||
} else {
|
||||
*Length = Result;
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileRemove (
|
||||
IN CHAR8 *FileName
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_REMOVE_BLOCK RemoveBlock;
|
||||
UINT32 Result;
|
||||
|
||||
RemoveBlock.FileName = FileName;
|
||||
RemoveBlock.NameLength = AsciiStrLen(FileName);
|
||||
|
||||
Result = Semihost_SYS_REMOVE(&RemoveBlock);
|
||||
|
||||
if (Result == 0) {
|
||||
return RETURN_SUCCESS;
|
||||
} else {
|
||||
return RETURN_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
CHAR8
|
||||
SemihostReadCharacter (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return Semihost_SYS_READC();
|
||||
}
|
||||
|
||||
VOID
|
||||
SemihostWriteCharacter (
|
||||
IN CHAR8 Character
|
||||
)
|
||||
{
|
||||
Semihost_SYS_WRITEC(&Character);
|
||||
}
|
||||
|
||||
VOID
|
||||
SemihostWriteString (
|
||||
IN CHAR8 *String
|
||||
)
|
||||
{
|
||||
Semihost_SYS_WRITE0(String);
|
||||
}
|
||||
|
||||
UINT32
|
||||
SemihostSystem (
|
||||
IN CHAR8 *CommandLine
|
||||
)
|
||||
{
|
||||
SEMIHOST_SYSTEM_BLOCK SystemBlock;
|
||||
|
||||
SystemBlock.CommandLine = CommandLine;
|
||||
SystemBlock.CommandLength = AsciiStrLen(CommandLine);
|
||||
|
||||
return Semihost_SYS_SYSTEM(&SystemBlock);
|
||||
}
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
#include <Base.h>
|
||||
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/SemihostLib.h>
|
||||
|
||||
#include "SemihostPrivate.h"
|
||||
|
||||
BOOLEAN
|
||||
SemihostConnectionSupported (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return SEMIHOST_SUPPORTED;
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileOpen (
|
||||
IN CHAR8 *FileName,
|
||||
IN UINT32 Mode,
|
||||
OUT UINT32 *FileHandle
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_OPEN_BLOCK OpenBlock;
|
||||
INT32 Result;
|
||||
|
||||
if (FileHandle == NULL) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
OpenBlock.FileName = FileName;
|
||||
OpenBlock.Mode = Mode;
|
||||
OpenBlock.NameLength = AsciiStrLen(FileName);
|
||||
|
||||
Result = Semihost_SYS_OPEN(&OpenBlock);
|
||||
|
||||
if (Result == -1) {
|
||||
return RETURN_NOT_FOUND;
|
||||
} else {
|
||||
*FileHandle = Result;
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileSeek (
|
||||
IN UINT32 FileHandle,
|
||||
IN UINT32 Offset
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_SEEK_BLOCK SeekBlock;
|
||||
INT32 Result;
|
||||
|
||||
SeekBlock.Handle = FileHandle;
|
||||
SeekBlock.Location = Offset;
|
||||
|
||||
Result = Semihost_SYS_SEEK(&SeekBlock);
|
||||
|
||||
if (Result == 0) {
|
||||
return RETURN_SUCCESS;
|
||||
} else {
|
||||
return RETURN_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileRead (
|
||||
IN UINT32 FileHandle,
|
||||
IN OUT UINT32 *Length,
|
||||
OUT VOID *Buffer
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_READ_WRITE_BLOCK ReadBlock;
|
||||
UINT32 Result;
|
||||
|
||||
if ((Length == NULL) || (Buffer == NULL)) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
ReadBlock.Handle = FileHandle;
|
||||
ReadBlock.Buffer = Buffer;
|
||||
ReadBlock.Length = *Length;
|
||||
|
||||
Result = Semihost_SYS_READ(&ReadBlock);
|
||||
|
||||
if (Result == *Length) {
|
||||
return RETURN_ABORTED;
|
||||
} else {
|
||||
*Length -= Result;
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileWrite (
|
||||
IN UINT32 FileHandle,
|
||||
IN OUT UINT32 *Length,
|
||||
IN VOID *Buffer
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_READ_WRITE_BLOCK WriteBlock;
|
||||
|
||||
if ((Length == NULL) || (Buffer == NULL)) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
WriteBlock.Handle = FileHandle;
|
||||
WriteBlock.Buffer = Buffer;
|
||||
WriteBlock.Length = *Length;
|
||||
|
||||
*Length = Semihost_SYS_WRITE(&WriteBlock);
|
||||
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileClose (
|
||||
IN UINT32 FileHandle
|
||||
)
|
||||
{
|
||||
INT32 Result = Semihost_SYS_CLOSE(&FileHandle);
|
||||
|
||||
if (Result == -1) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
} else {
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileLength (
|
||||
IN UINT32 FileHandle,
|
||||
OUT UINT32 *Length
|
||||
)
|
||||
{
|
||||
INT32 Result;
|
||||
|
||||
if (Length == NULL) {
|
||||
return RETURN_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
Result = Semihost_SYS_FLEN(&FileHandle);
|
||||
|
||||
if (Result == -1) {
|
||||
return RETURN_ABORTED;
|
||||
} else {
|
||||
*Length = Result;
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_STATUS
|
||||
SemihostFileRemove (
|
||||
IN CHAR8 *FileName
|
||||
)
|
||||
{
|
||||
SEMIHOST_FILE_REMOVE_BLOCK RemoveBlock;
|
||||
UINT32 Result;
|
||||
|
||||
RemoveBlock.FileName = FileName;
|
||||
RemoveBlock.NameLength = AsciiStrLen(FileName);
|
||||
|
||||
Result = Semihost_SYS_REMOVE(&RemoveBlock);
|
||||
|
||||
if (Result == 0) {
|
||||
return RETURN_SUCCESS;
|
||||
} else {
|
||||
return RETURN_ABORTED;
|
||||
}
|
||||
}
|
||||
|
||||
CHAR8
|
||||
SemihostReadCharacter (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return Semihost_SYS_READC();
|
||||
}
|
||||
|
||||
VOID
|
||||
SemihostWriteCharacter (
|
||||
IN CHAR8 Character
|
||||
)
|
||||
{
|
||||
Semihost_SYS_WRITEC(&Character);
|
||||
}
|
||||
|
||||
VOID
|
||||
SemihostWriteString (
|
||||
IN CHAR8 *String
|
||||
)
|
||||
{
|
||||
Semihost_SYS_WRITE0(String);
|
||||
}
|
||||
|
||||
UINT32
|
||||
SemihostSystem (
|
||||
IN CHAR8 *CommandLine
|
||||
)
|
||||
{
|
||||
SEMIHOST_SYSTEM_BLOCK SystemBlock;
|
||||
|
||||
SystemBlock.CommandLine = CommandLine;
|
||||
SystemBlock.CommandLength = AsciiStrLen(CommandLine);
|
||||
|
||||
return Semihost_SYS_SYSTEM(&SystemBlock);
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
#/** @file
|
||||
#
|
||||
# Component description file for ArmVeGraphicsDxe module
|
||||
# Component description file for NorFlashArmRealViewEbLib module
|
||||
#
|
||||
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# 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
|
||||
|
@ -1,51 +1,51 @@
|
||||
#/** @file
|
||||
# Arm Versatile Express package.
|
||||
#
|
||||
# Copyright (c) 2011, ARM Limited. All rights reserved.
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# 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
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
#**/
|
||||
|
||||
[Defines]
|
||||
DEC_SPECIFICATION = 0x00010005
|
||||
PACKAGE_NAME = ArmVExpressPkg
|
||||
PACKAGE_GUID = 9c0aaed4-74c5-4043-b417-a3223814ce76
|
||||
PACKAGE_VERSION = 0.1
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Include Section - list of Include Paths that are provided by this package.
|
||||
# Comments are used for Keywords and 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
|
||||
#
|
||||
################################################################################
|
||||
[Includes.common]
|
||||
Include # Root include for the package
|
||||
|
||||
[Guids.common]
|
||||
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
|
||||
#
|
||||
gVariableRuntimeDxeFileGuid = { 0xcbd2e4d5, 0x7068, 0x4ff5, { 0xb4, 0x62, 0x98, 0x22, 0xb4, 0xad, 0x8d, 0x60 } }
|
||||
|
||||
[PcdsFeatureFlag.common]
|
||||
|
||||
[PcdsFixedAtBuild.common]
|
||||
#
|
||||
# MaxMode must be one number higher than the actual max mode,
|
||||
# i.e. for actual maximum mode 2, set the value to 3.
|
||||
#
|
||||
# For a list of mode numbers look in LcdArmVExpress.c
|
||||
#
|
||||
gArmVExpressTokenSpaceGuid.PcdPL111LcdMaxMode|3|UINT32|0x00000003
|
||||
gArmVExpressTokenSpaceGuid.PcdPL111LcdVideoModeOscId|1|UINT32|0x00000004
|
||||
#/** @file
|
||||
# Arm Versatile Express package.
|
||||
#
|
||||
# Copyright (c) 2012, ARM Limited. All rights reserved.
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# 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
|
||||
# http://opensource.org/licenses/bsd-license.php
|
||||
#
|
||||
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
#**/
|
||||
|
||||
[Defines]
|
||||
DEC_SPECIFICATION = 0x00010005
|
||||
PACKAGE_NAME = ArmVExpressPkg
|
||||
PACKAGE_GUID = 9c0aaed4-74c5-4043-b417-a3223814ce76
|
||||
PACKAGE_VERSION = 0.1
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Include Section - list of Include Paths that are provided by this package.
|
||||
# Comments are used for Keywords and 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
|
||||
#
|
||||
################################################################################
|
||||
[Includes.common]
|
||||
Include # Root include for the package
|
||||
|
||||
[Guids.common]
|
||||
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
|
||||
#
|
||||
gVariableRuntimeDxeFileGuid = { 0xcbd2e4d5, 0x7068, 0x4ff5, { 0xb4, 0x62, 0x98, 0x22, 0xb4, 0xad, 0x8d, 0x60 } }
|
||||
|
||||
[PcdsFeatureFlag.common]
|
||||
|
||||
[PcdsFixedAtBuild.common]
|
||||
#
|
||||
# MaxMode must be one number higher than the actual max mode,
|
||||
# i.e. for actual maximum mode 2, set the value to 3.
|
||||
#
|
||||
# For a list of mode numbers look in LcdArmVExpress.c
|
||||
#
|
||||
gArmVExpressTokenSpaceGuid.PcdPL111LcdMaxMode|3|UINT32|0x00000003
|
||||
gArmVExpressTokenSpaceGuid.PcdPL111LcdVideoModeOscId|1|UINT32|0x00000004
|
||||
|
@ -3,6 +3,7 @@
|
||||
# Component description file for ArmVeGraphicsDxe module
|
||||
#
|
||||
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# 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
|
||||
|
@ -3,6 +3,7 @@
|
||||
# Component description file for Bds module
|
||||
#
|
||||
# Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
# 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
|
||||
|
@ -107,6 +107,7 @@ _GetStackBaseMpCore:
|
||||
// Stack for the primary core = PrimaryCoreStack
|
||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
||||
sub r7, r1, r2
|
||||
|
||||
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
|
||||
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
|
||||
lsl r2, r2, #2
|
||||
@ -118,7 +119,7 @@ _GetStackBaseMpCore:
|
||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), 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
|
||||
|
||||
// Is it the Primary Core ?
|
||||
|
@ -108,6 +108,7 @@ _GetStackBaseMpCore
|
||||
// Stack for the primary core = PrimaryCoreStack
|
||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
|
||||
sub r7, r1, r2
|
||||
|
||||
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
|
||||
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
|
||||
lsl r2, r2, #2
|
||||
@ -119,7 +120,7 @@ _GetStackBaseMpCore
|
||||
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), 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
|
||||
|
||||
// Is it the Primary Core ?
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
#/** @file
|
||||
#
|
||||
# Component discription file for Bds module
|
||||
# Component description file for Bds module
|
||||
#
|
||||
# Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user