From b83e2500ef0f7a3bc315205ce0ea4d03288bbc93 Mon Sep 17 00:00:00 2001 From: AJFISH Date: Thu, 16 Aug 2007 21:29:09 +0000 Subject: [PATCH 1/1] Added support for UART and Terminal PCD settings git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3662 6f19259b-4bc3-4df7-8a09-765794883524 --- Nt32Pkg/Nt32Pkg.dsc | 7 +++- Nt32Pkg/WinNtSerialIoDxe/ComponentName.c | 24 -------------- Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c | 33 +++---------------- Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.h | 26 +++++++++++++++ Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf | 6 ++++ 5 files changed, 42 insertions(+), 54 deletions(-) diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc index 2e5e3278cd..bca4092023 100644 --- a/Nt32Pkg/Nt32Pkg.dsc +++ b/Nt32Pkg/Nt32Pkg.dsc @@ -272,6 +272,11 @@ PcdStatusCodeValueSetVirtualAddressMap|gEfiMdePkgTokenSpaceGuid|0x03101004 PcdStatusCodeValueUncorrectableMemoryError|gEfiMdePkgTokenSpaceGuid|0x00051003 PcdUefiLibMaxPrintBufferSize|gEfiMdePkgTokenSpaceGuid|320 + PcdUartDefaultBaudRate|gEfiMdePkgTokenSpaceGuid|115200 + PcdUartDefaultDataBits|gEfiMdePkgTokenSpaceGuid|8 + PcdUartDefaultParity|gEfiMdePkgTokenSpaceGuid|1 + PcdUartDefaultStopBits|gEfiMdePkgTokenSpaceGuid|1 + PcdDefaultTerminalType|gEfiMdePkgTokenSpaceGuid|0 PcdWinNtFirmwareFdSize|gEfiNt32PkgTokenSpaceGuid|0x2a0000 PcdWinNtFirmwareBlockSize|gEfiNt32PkgTokenSpaceGuid|0x10000 @@ -342,7 +347,7 @@ PcdWinNtCpuModel|gEfiNt32PkgTokenSpaceGuid|L"NT32 Processor Emulation"|52 PcdWinNtCpuSpeed|gEfiNt32PkgTokenSpaceGuid|L"1234"|8 PcdWinNtMemorySize|gEfiNt32PkgTokenSpaceGuid|L"64!64"|10 - PcdWinNtPhysicalDisk|gEfiNt32PkgTokenSpaceGuid|L"a:RW;2880;512!e:RW;262144;512"|58 + PcdWinNtPhysicalDisk|gEfiNt32PkgTokenSpaceGuid|L"a:RW;2880;512!d:RO;307200;2048!j:RW;262144;512"|100 PcdWinNtUga|gEfiNt32PkgTokenSpaceGuid|L"UGA Window 1!UGA Window 2"|50 PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid|0 diff --git a/Nt32Pkg/WinNtSerialIoDxe/ComponentName.c b/Nt32Pkg/WinNtSerialIoDxe/ComponentName.c index 5454291070..d22f030f4b 100644 --- a/Nt32Pkg/WinNtSerialIoDxe/ComponentName.c +++ b/Nt32Pkg/WinNtSerialIoDxe/ComponentName.c @@ -16,30 +16,6 @@ Module Name: Abstract: --*/ -// -// The package level header files this module uses -// -#include -#include -// -// The protocols, PPI and GUID defintions for this module -// -#include -#include -#include -#include -#include -// -// The Library classes this module consumes -// -#include -#include -#include -#include -#include -#include -#include -#include #include "WinNtSerialIo.h" diff --git a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c index 85001404e0..44bbf5765c 100644 --- a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c +++ b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.c @@ -45,31 +45,6 @@ Abstract: --*/ -// -// The package level header files this module uses -// -#include -#include -// -// The protocols, PPI and GUID defintions for this module -// -#include -#include -#include -#include -#include -// -// The Library classes this module consumes -// -#include -#include -#include -#include -#include -#include -#include -#include - #include "WinNtSerialIo.h" EFI_DRIVER_BINDING_PROTOCOL gWinNtSerialIoDriverBinding = { @@ -780,7 +755,7 @@ Returns: // we must set the default values if a null argument is passed in. // if (BaudRate == 0) { - BaudRate = SERIAL_BAUD_DEFAULT; + BaudRate = FixedPcdGet64 (PcdUartDefaultBaudRate); } if (ReceiveFifoDepth == 0) { @@ -792,15 +767,15 @@ Returns: } if (Parity == DefaultParity) { - Parity = NoParity; + Parity = FixedPcdGet8 (PcdUartDefaultParity); } if (DataBits == 0) { - DataBits = SERIAL_DATABITS_DEFAULT; + DataBits = FixedPcdGet8 (PcdUartDefaultDataBits); } if (StopBits == DefaultStopBits) { - StopBits = OneStopBit; + StopBits = (EFI_STOP_BITS_TYPE) FixedPcdGet8 (PcdUartDefaultStopBits); } // // See if the new attributes already match the current attributes diff --git a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.h b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.h index c53d2e3fec..affc392b51 100644 --- a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.h +++ b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIo.h @@ -21,6 +21,32 @@ Abstract: #ifndef _WIN_NT_SERIAL_IO_ #define _WIN_NT_SERIAL_IO_ +// +// The package level header files this module uses +// +#include +#include +// +// The protocols, PPI and GUID defintions for this module +// +#include +#include +#include +#include +#include +// +// The Library classes this module consumes +// +#include +#include +#include +#include +#include +#include +#include +#include +#include + #define SERIAL_MAX_BUFFER_SIZE 256 #define TIMEOUT_STALL_INTERVAL 10 diff --git a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf index 503c225ad2..9638baa57d 100644 --- a/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf +++ b/Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf @@ -66,3 +66,9 @@ gEfiDevicePathProtocolGuid # PROTOCOL TO_START gEfiWinNtIoProtocolGuid # PROTOCOL TO_START +[PcdsFixedAtBuild.common] + PcdUartDefaultBaudRate|gEfiMdePkgTokenSpaceGuid|115200 + PcdUartDefaultDataBits|gEfiMdePkgTokenSpaceGuid|8 + PcdUartDefaultParity|gEfiMdePkgTokenSpaceGuid|1 + PcdUartDefaultStopBits|gEfiMdePkgTokenSpaceGuid|1 + -- 2.39.2