Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Samuel Thibault 5cce852404 OvmfPkg/XenPvBlkDxe: Add BlockFront client.
This is the code that will do the actual communication between OVMF and
a PV block backend, where the block device lives. The protocol used is
describe in the blkif.h header.

This implementation originally comes from Mini-OS, a part of the Xen
Project.

Change in V4:
- add file header to BlockFront.h (license, copyright, brief desc)

Change in V3:
- Improve comment of XenBusReadUint64.
- Moving blkif.h to this patch
  with the necessary #pragma pack(4) applied for Ia32.
- Add a note about the license in the commit message
- Add "The protocol used is describe in the blkif.h header." in the
  commit message
- Have a mandatory sector-size multiple of 512 or fail to initialize.
- use Sector instead of Offset for IO request.
  with Sector been 512-byte unit.
- print something if EventChannelNotify return an error.

Change in V2:
- trigger CoW is probably not needed on OVMF (as opposed to Mini-OS),
  removed the test.
- comments
- renamed XenbusReadInteger to XenBusReadUint64
- remove callback from IoData, use simple status instead
- return a status from the synchronus io
- Close protocol if blockfront init fail.
- fix few debug print
- Rename XenbusIo to XenBusIo
- XenPvBlkWaitForBackendState will return an error if the new backend
  states is not the expected state.
- Add the license

License: This patch adds some files which are under the MIT license.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16273 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-29 06:51:58 +00:00
AppPkg StdLib: Produce DevMedia as a library class alternative to DevShell. 2014-09-18 19:13:22 +00:00
ArmPkg ArmPkg/ArmLib: Removed duplicated invalidate TLB function 2014-10-27 15:38:55 +00:00
ArmPlatformPkg ArmPkg/ArmLib: Removed duplicated invalidate TLB function 2014-10-27 15:38:55 +00:00
BaseTools BaseTools/UPT: Remove Macro Expend for UserExtension section 2014-10-22 06:44:45 +00:00
BeagleBoardPkg ARM Packages: Replace tabs by spaces for indentation 2014-08-26 10:14:17 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CryptoPkg Users of the LP64 data model should declare SIXTY_FOUR_BIT_LONG, not SIXTY_FOUR_BIT when building OpenSSL. 2014-09-24 07:48:26 +00:00
DuetPkg Add comments for FSVariable driver which used by Duet platform only, trust all meta data for this platform. 2014-10-15 06:20:09 +00:00
EdkCompatibilityPkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
EdkShellBinPkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
EdkShellPkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
EmbeddedPkg EmbeddedPkg: Clarify the declaration of SerialPortGetControl() 2014-10-27 15:38:20 +00:00
EmulatorPkg EmulatorPkg/MpService: remove redundant switch-case statement 2014-09-28 06:22:10 +00:00
FatBinPkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
IntelFrameworkModulePkg MdeModulePkg/IntelFrameworkModulePkg FwVol: 2014-10-29 03:31:46 +00:00
IntelFrameworkPkg MdePkg/IntelFrameworkPkg HobLib: Add BuildResourceDescriptorWithOwnerHob() API. 2014-10-27 00:42:57 +00:00
IntelFspPkg Fix an issue on FixedMtreProgramming - AND/OR mask incorrect. 2014-09-28 01:07:13 +00:00
IntelFspWrapperPkg IntelFspPkg/IntelFspWrapperPkg: Fix some typos. 2014-09-03 06:48:38 +00:00
MdeModulePkg MdeModulePkg/IntelFrameworkModulePkg FwVol: 2014-10-29 03:31:46 +00:00
MdePkg MdePkg/IntelFrameworkPkg HobLib: Add BuildResourceDescriptorWithOwnerHob() API. 2014-10-27 00:42:57 +00:00
NetworkPkg Clean up the code. Action statement should not have text two opcode. 2014-10-21 05:48:00 +00:00
Nt32Pkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
Omap35xxPkg ARM Packages: Replace tabs by spaces for indentation 2014-08-26 10:14:17 +00:00
OptionRomPkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
OvmfPkg OvmfPkg/XenPvBlkDxe: Add BlockFront client. 2014-10-29 06:51:58 +00:00
PcAtChipsetPkg PcAtChipsetPkg: Convert non DOS format files to DOS format and rename the same module name. 2014-09-03 08:48:29 +00:00
PerformancePkg EDK II Contributions.txt: Note acceptable contribution licenses 2014-08-25 23:10:18 +00:00
SecurityPkg Add comments to clarify mPubKeyStore buffer MemCopy. There is no memory overflow issue. 2014-10-22 07:30:22 +00:00
ShellBinPkg The binaries of ShellBinPkg are generated with ShellPkg project 16163. The binaries are built with no debug information by building with "RELEASE" target. 2014-09-24 07:49:20 +00:00
ShellPkg ShellPkg: Comments update and code refine. 2014-10-14 01:16:38 +00:00
SourceLevelDebugPkg Add DebugCommunicationLibUsb3 for USB3.0 source level debug support. 2014-10-22 05:01:58 +00:00
StdLib StdLib: Some deployed versions of the Simple Text Input Protocol randomly return either NUL characters or Scan Codes when just typing normal text. These changes filter out NUL characters and make Scan Code and error handling more robust. 2014-10-28 19:20:48 +00:00
StdLibPrivateInternalFiles StdLib: Some deployed versions of the Simple Text Input Protocol randomly return either NUL characters or Scan Codes when just typing normal text. These changes filter out NUL characters and make Scan Code and error handling more robust. 2014-10-28 19:20:48 +00:00
UefiCpuPkg UefiCpuPkg: error: invalid instruction mnemonic 'retf' 2014-09-12 08:38:23 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +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 Update some package owners 2014-10-23 01:35:44 +00:00
edksetup.bat Contributed-under: TianoCore Contribution Agreement 1.0 2014-06-18 09:01:33 +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