mirror of https://github.com/acidanthera/audk.git
MdeModulePkg: Fix constructor invocation ordering
The BaseSerialPortLib16550 library does not implement a constructor. This prevents the correct constructor invocation order for dependent libraries. e.g. A PlatformHookLib (for the Serial Port) may have a dependency on retrieving data from a Hob. A Hob library implementation may configure its initial state in the HobLib constructor. Since BaseSerialPortLib16550 does not implement a constructor, the Basetools do not resolve the correct order for constructor invocation. To fix this, add an empty constructor to the serial port library BaseSerialPortLib16550. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <Ard.Biesheuvel@arm.com> Acked-by: Hao A Wu <hao.a.wu@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
69f8ef04a8
commit
1c03498a25
|
@ -4,6 +4,7 @@
|
|||
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||
Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2018, AMD Incorporated. All rights reserved.<BR>
|
||||
Copyright (c) 2020, ARM Limited. All rights reserved.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
|
@ -1102,3 +1103,18 @@ SerialPortSetAttributes (
|
|||
return RETURN_SUCCESS;
|
||||
}
|
||||
|
||||
/** Base Serial Port 16550 Library Constructor
|
||||
|
||||
@retval RETURN_SUCCESS Success.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
BaseSerialPortLib16550 (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
// Nothing to do here. This constructor is added to
|
||||
// enable the chain of constructor invocation for
|
||||
// dependent libraries.
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
# SerialPortLib instance for 16550 UART.
|
||||
#
|
||||
# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2020, ARM Limited. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
|
@ -14,6 +16,7 @@
|
|||
MODULE_TYPE = BASE
|
||||
VERSION_STRING = 1.1
|
||||
LIBRARY_CLASS = SerialPortLib
|
||||
CONSTRUCTOR = BaseSerialPortLib16550
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
|
|
Loading…
Reference in New Issue