mirror of https://github.com/acidanthera/audk.git
Use Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10014 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
300240b62b
commit
d3308de7f5
|
@ -2,7 +2,7 @@
|
|||
Report Status Code Router Driver which produces SMM Report Stataus Code Handler Protocol
|
||||
and SMM Status Code Protocol.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 -2010, Intel Corporation
|
||||
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
|
||||
|
@ -54,9 +54,8 @@ Register (
|
|||
IN EFI_SMM_RSC_HANDLER_CALLBACK Callback
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
LIST_ENTRY *Link;
|
||||
SMM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
|
||||
LIST_ENTRY *Link;
|
||||
SMM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
|
||||
|
||||
if (Callback == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
|
@ -72,13 +71,7 @@ Register (
|
|||
}
|
||||
}
|
||||
|
||||
Status = gSmst->SmmAllocatePool (
|
||||
EfiRuntimeServicesData,
|
||||
sizeof (SMM_RSC_HANDLER_CALLBACK_ENTRY),
|
||||
(VOID**)&CallbackEntry
|
||||
);
|
||||
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
CallbackEntry = (SMM_RSC_HANDLER_CALLBACK_ENTRY *)AllocatePool (sizeof (SMM_RSC_HANDLER_CALLBACK_ENTRY));
|
||||
ASSERT (CallbackEntry != NULL);
|
||||
|
||||
CallbackEntry->Signature = SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE;
|
||||
|
@ -122,7 +115,7 @@ Unregister (
|
|||
// If the function is found in list, delete it and return.
|
||||
//
|
||||
RemoveEntryList (&CallbackEntry->Node);
|
||||
gSmst->SmmFreePool (CallbackEntry);
|
||||
FreePool (CallbackEntry);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Internal include file for Report Status Code Router Driver.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, Intel Corporation
|
||||
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
|
||||
|
@ -25,6 +25,7 @@
|
|||
#include <Library/PcdLib.h>
|
||||
#include <Library/UefiDriverEntryPoint.h>
|
||||
#include <Library/SmmServicesTableLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
|
||||
#define SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE SIGNATURE_32 ('s', 'h', 'c', 'e')
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
FILE_GUID = A6885402-D022-4b0e-A509-4711B90F2A39
|
||||
MODULE_TYPE = DXE_SMM_DRIVER
|
||||
PI_SPECIFICATION_VERSION = 0x0001000A
|
||||
|
||||
ENTRY_POINT = GenericStatusCodeSmmEntry
|
||||
|
||||
#
|
||||
|
@ -29,11 +28,10 @@
|
|||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources.common]
|
||||
[Sources]
|
||||
ReportStatusCodeRouterSmm.c
|
||||
ReportStatusCodeRouterSmm.h
|
||||
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
|
@ -44,6 +42,7 @@
|
|||
DebugLib
|
||||
BaseLib
|
||||
SynchronizationLib
|
||||
MemoryAllocationLib
|
||||
|
||||
[Protocols]
|
||||
gEfiSmmRscHandlerProtocolGuid ## PRODUCES
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Runtime memory status code worker.
|
||||
|
||||
Copyright (c) 2006 - 2009, Intel Corporation
|
||||
Copyright (c) 2006 - 2010, Intel Corporation
|
||||
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
|
||||
|
@ -27,24 +27,13 @@ MemoryStatusCodeInitializeWorker (
|
|||
VOID
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
//
|
||||
// Allocate SMM memory status code pool.
|
||||
//
|
||||
Status = gSmst->SmmAllocatePool (
|
||||
EfiRuntimeServicesData,
|
||||
sizeof (RUNTIME_MEMORY_STATUSCODE_HEADER) + PcdGet16 (PcdStatusCodeMemorySize) * 1024,
|
||||
(VOID**)&mSmmMemoryStatusCodeTable
|
||||
);
|
||||
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
mSmmMemoryStatusCodeTable = (RUNTIME_MEMORY_STATUSCODE_HEADER *)AllocateZeroPool (sizeof (RUNTIME_MEMORY_STATUSCODE_HEADER) + PcdGet16 (PcdStatusCodeMemorySize) * 1024);
|
||||
ASSERT (mSmmMemoryStatusCodeTable != NULL);
|
||||
|
||||
mSmmMemoryStatusCodeTable->RecordIndex = 0;
|
||||
mSmmMemoryStatusCodeTable->NumberOfRecords = 0;
|
||||
mSmmMemoryStatusCodeTable->MaxRecordsNumber =
|
||||
(PcdGet16 (PcdStatusCodeMemorySize) * 1024) / sizeof (MEMORY_STATUSCODE_RECORD);
|
||||
|
||||
mSmmMemoryStatusCodeTable->MaxRecordsNumber = (PcdGet16 (PcdStatusCodeMemorySize) * 1024) / sizeof (MEMORY_STATUSCODE_RECORD);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Internal include file for Status Code Handler Driver.
|
||||
|
||||
Copyright (c) 2009, Intel Corporation
|
||||
Copyright (c) 2009 - 2010, Intel Corporation
|
||||
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
|
||||
|
@ -29,6 +29,7 @@
|
|||
#include <Library/UefiDriverEntryPoint.h>
|
||||
#include <Library/SmmServicesTableLib.h>
|
||||
#include <Library/SerialPortLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
|
||||
//
|
||||
// Runtime memory status code worker definition
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Status Code Handler Driver which produces general handlers and hook them
|
||||
# onto the SMM status code router.
|
||||
#
|
||||
# Copyright (c) 2009, Intel Corporation.
|
||||
# Copyright (c) 2009 - 2010, Intel Corporation.
|
||||
#
|
||||
# All rights reserved. This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
|
@ -20,7 +20,6 @@
|
|||
FILE_GUID = 79CD78D8-6EDC-4978-BD02-3299C387AB17
|
||||
MODULE_TYPE = DXE_SMM_DRIVER
|
||||
PI_SPECIFICATION_VERSION = 0x0001000A
|
||||
|
||||
ENTRY_POINT = StatusCodeHandlerSmmEntry
|
||||
|
||||
#
|
||||
|
@ -29,7 +28,7 @@
|
|||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources.common]
|
||||
[Sources]
|
||||
StatusCodeHandlerSmm.c
|
||||
StatusCodeHandlerSmm.h
|
||||
SerialStatusCodeWorker.c
|
||||
|
@ -48,6 +47,7 @@
|
|||
ReportStatusCodeLib
|
||||
DebugLib
|
||||
SynchronizationLib
|
||||
MemoryAllocationLib
|
||||
|
||||
[Guids]
|
||||
gMemoryStatusCodeRecordGuid ## CONSUMES ## HOB
|
||||
|
|
Loading…
Reference in New Issue