Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel c6d2972645 OvmfPkg: XenConsoleSerialPortLib: deal with output overflow
It is the responsibility of the SerialPortLib implementation
to deal with flow control if the underlying medium cannot keep
up with the inflow of data.

So in our SerialPortWrite () function, we should spin as long
as we need to in order to deliver all the data instead of giving
up and returning a smaller value than the number of bytes we were
given. Also, remove the 'if (Sent > 0)' condition on the signalling
of the event channel: if the buffer is full and we haven't been able
to add any more data, it makes perfect sense to signal the event
channel again, even if we have done so before when we did write
the data.

Also, this patch brings the implementation of XenSerialPortLib
in sync with the library class documentation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
[lersek@redhat.com: replace DebugLib dependency with open-coded ASSERT()]

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17079 6f19259b-4bc3-4df7-8a09-765794883524
2015-03-27 21:25:16 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg: DebugPeCoffExtraActionLib: debugger commands are not errors 2015-03-02 16:19:26 +00:00
ArmPlatformPkg ArmPlatformPkg: fix two instances of FreePool () on NULL value 2015-03-27 17:27:24 +00:00
BaseTools NT32Pkg: Fix build errors from building secure boot with NT32 X64 2015-03-23 05:39:51 +00:00
BeagleBoardPkg ArmPlatformPkg/Bds: Remove any use of the "Fdt" UEFI variable 2015-02-26 11:02:39 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg Pkg-Module: Add Coreboot module Package 2015-03-25 21:11:34 +00:00
CorebootPayloadPkg Pkg-Module: Add Coreboot Payload Package 2015-03-25 21:13:26 +00:00
CryptoPkg Upgrade to OpenSSL-0.9.8zf (released on 19-MAR-2015). 2015-03-25 08:13:32 +00:00
DuetPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Fix 32bit build failure. 2015-03-19 02:09:49 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg ArmVirtualizationPkg: use a HOB to store device tree blob 2015-02-28 20:26:00 +00:00
EmulatorPkg EmulatorPkg: Update web page and wiki urls 2015-02-05 18:25:01 +00:00
FatBinPkg FatBinPkg: Update ARM and AArch64 binaries 2015-02-27 17:27:42 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Remove a duplicated hardcode string 2015-03-18 00:45:50 +00:00
IntelFrameworkPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
IntelFspPkg Add UINT16/32/64 array and DSC include support. 2015-03-04 01:03:20 +00:00
IntelFspWrapperPkg Fix comments format error.Fsp1.1 update. 2015-02-12 15:13:37 +00:00
MdeModulePkg MdeModulePkg BootScriptExecutorDxe: Fix 32bit build failure. 2015-03-19 02:08:27 +00:00
MdePkg MdePkg: fix ARM version of InternalMathSwapBytes64 () 2015-03-27 17:27:14 +00:00
NetworkPkg PXE driver bug fix. 2015-03-26 04:49:30 +00:00
Nt32Pkg NT32Pkg: Fix build errors from building secure boot with NT32 X64 2015-03-23 05:39:51 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg OptionRomPkg: Update UndiRuntimeDxe driver. 2015-03-11 05:34:18 +00:00
OvmfPkg OvmfPkg: XenConsoleSerialPortLib: deal with output overflow 2015-03-27 21:25:16 +00:00
PcAtChipsetPkg PcAtChipsetPkg: Update BaseAcpiTimerLib 2015-02-28 05:34:38 +00:00
PerformancePkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
SecurityPkg SecurityPkg Variable: Reuse scratch data area(at the end of volatile variable store) 2015-03-17 06:41:40 +00:00
ShellBinPkg ShellBinPkg: Arm/AArch64 Shell binary update. 2015-02-27 17:54:29 +00:00
ShellPkg ShellPkg: update smbiosview for SMBIOS 3.0. 2015-03-17 08:12:59 +00:00
SourceLevelDebugPkg PeCoffExtraActionLibDebug: Restore debug registers in PeCoffExtraActionLibDebug 2015-03-25 01:51:23 +00:00
StdLib */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg/MpSerivce: add volatile qualifiers 2015-03-09 06:45:26 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Add code to identify D0 stepping ValleyView SoC. 2015-03-10 03:16:48 +00:00
Vlv2TbltDevicePkg Add patch-able PCD to support binary modification of MRC module. 2015-03-10 06:50:16 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Updated version, missed the last two commits and to add the SVN Revision property (last part of the version value). 2014-08-22 16:08:47 +00:00
Maintainers.txt Maintainers.txt: http://tianocore.github.io => http://www.tianocore.org 2015-02-05 18:24:33 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00