// /** @file
// DXE runtime Debug library instance based on Serial Port library.
// It takes care not to call into SerialPortLib after ExitBootServices() has
// been called, to prevent touching hardware that is no longer owned by the
// firmware.
//
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "DXE runtime Debug library instance based on Serial Port library"

#string STR_MODULE_DESCRIPTION          #language en-US "It takes care not to call into SerialPortLib after ExitBootServices() has been called."
