OvmfPkg/PlatformPei: emulated NV storage must be EfiRuntimeServicesData

SVN r14770 ("OvmfPkg/PlatformPei: correctly align emulated NV storage")
made sure the emulated NV storage was allocated with correct alignment.

However, the AllocateRuntimePool() -> AllocateAlignedPages() change
flipped the memory type from EfiRuntimeServicesData to
EfiBootServicesData. This causes variable services to access freed storage
at runtime. It crashes Windows 2008 R2 early at boot, for example.

Keep the alignment, but restore the memory type to EfiRuntimeServicesData,
by calling AllocateAlignedRuntimePages().

These helper functions are implemeted and documented in
"MdePkg/Library/PeiMemoryAllocationLib/MemoryAllocationLib.c".

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/OvmfPkg@14806 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/Virtio.h: Added the macros that define the Device Specific Configuration Offset

The Device Specific Configuration region is located at different locations
for the VirtIo devices over PCI, PCI with MSI-X capability, MMIO.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>



git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/OvmfPkg@14807 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/Virtio.h: Added PCI/MMIO Virtio Headers Offsets

Offsets are different between the PCI and MMIO transport layer.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>



git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/OvmfPkg@14808 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/Virtio.h: Added the Virtio Vendor and MMIO IDs

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>



git-svn-id: svn://svn.code.sf.net/p/edk2/code/trunk/edk2/OvmfPkg@14809 6f19259b-4bc3-4df7-8a09-765794883524