MdePkg:simplify Fifo API in BaseIoLibIntrinsic

Simplify IoRead/WriteFifo implement by repeatedly
calling IoRead/Write in the C code.
This can avoid calling assembly code to use string
I/O instructions. With this change Ia32/IoFifo.nasm
and X64/IoFifo.nasm can be removed. Then the source
files for IA32 and X64 are the same.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Dun Tan <dun.tan@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Dun Tan
2023-11-08 18:49:58 -08:00
committed by mergify[bot]
parent 3c73532a8a
commit 1d50544aa2
4 changed files with 222 additions and 259 deletions

View File

@@ -38,17 +38,11 @@
IoLibInternalTdxNull.c
IoLibTdx.h
[Sources.IA32]
[Sources.IA32, Sources.X64]
IoLibGcc.c | GCC
IoLibMsc.c | MSFT
IoLib.c
Ia32/IoFifo.nasm
[Sources.X64]
IoLibGcc.c | GCC
IoLibMsc.c | MSFT
IoLib.c
X64/IoFifo.nasm
IoLibFifo.c
[Sources.EBC]
IoLibEbc.c