MdePkg/BaseIoLibIntrinsic: Add EBC support

The EBC instruction set supports memory and MMIO access, but not
I/O port access.  Add EBC support to BaseIoLibIntrinsic that
generates an ASSERT() if the IoReadXX()/IoWriteXX() APIs are used.
This matches the implementation for other CPU types that do not
support I/O port access.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19234 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Michael Kinney
2015-12-14 06:11:17 +00:00
committed by mdkinney
parent f87b742ab4
commit d910a704f8
3 changed files with 180 additions and 3 deletions

View File

@@ -3,9 +3,10 @@
#
# I/O Library that uses compiler intrinsics to perform IN and OUT instructions
# for IA-32 and x64. On IPF, I/O port requests are translated into MMIO requests.
# MMIO requests are forwarded directly to memory.
# MMIO requests are forwarded directly to memory. For EBC, I/O port requests
# ASSERT().
#
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#
# This program and the accompanying materials
@@ -29,7 +30,7 @@
#
# VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64
# VALID_ARCHITECTURES = IA32 X64 EBC IPF ARM AARCH64
#
[Sources]
@@ -49,6 +50,10 @@
IoLibIcc.c | INTEL
IoLib.c
[Sources.EBC]
IoLibEbc.c
IoLib.c
[Sources.IPF]
IoLibIpf.c