Checking if gSmmCorePrivate->CommunicationBuffer is in supported physical address scope.

If CommunicationBuffer is not in valid address scope, return EFI_INVALID_PARAMETER.

(Sync patch r16486 from main trunk.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <Jeff.fan@intel.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2014.SP1@16489 6f19259b-4bc3-4df7-8a09-765794883524
Add HobLib DXE instance for SMM_CORE.

(Sync patch r16488 from main trunk.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <Jeff.fan@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2014.SP1@16490 6f19259b-4bc3-4df7-8a09-765794883524
Add gEfiShellDynamicCommandProtocolGuid to pass build.

(Sync part of patch r16445 from main trunk.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud <elhaj@hp.com>
Reviewed-by: jaben carsey <jaben.carsey@intel.com> 

git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2014.SP1@16491 6f19259b-4bc3-4df7-8a09-765794883524