audk/OvmfPkg/Include/IndustryStandard/Xen
Anthony PERARD 6ed258d89d OvmfPkg/XenHypercallLib: Add SchedOp hypercall
Add a new function to allow to make an hypercall to shutdown the
machine.

This import "sched.h" public header from Xen Project's repo. Some
changes have been made to be closer to EDK2's coding style.

Add the entire OvmfPkg/Include/IndustryStandard/Xen/ directory to
LicenseCheck ignore.  All the existing header files, as well as the new
sched.h, are MIT licensed.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
2024-08-30 16:55:41 +00:00
..
arch-arm OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
arch-x86 OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
hvm OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
io OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
README OvmfPkg/Include/...Xen: Convert __i386__/__x86_64__ to MDE_CPU_IA32/MDE_CPU_X64. 2014-10-31 21:25:11 +00:00
event_channel.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
grant_table.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
memory.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
sched.h OvmfPkg/XenHypercallLib: Add SchedOp hypercall 2024-08-30 16:55:41 +00:00
xen-compat.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
xen.h OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

The headers in this directory have been imported from the Xen Project with few
modification that are described in this README.

The modifications that needed to be done are:
- Use of ZeroMem() or SetMem() instead of memset().
- If a struct is using a 64bit field, then a #pragma(4) might be needed
  for IA32, like in io/blkif.h.
- Replace the types with the ones used in UEFI.


* Command to run to change types:
find OvmfPkg/Include/IndustryStandard/Xen -type f -name '*.h' -exec sed --regexp-extended --file=fix_type_in_xen_includes.sed --in-place {} \;

$ cat fix_type_in_xen_includes.sed
# Avoid changing the 'long' that is not a type.
/as long as/b

s/([^a-zA-Z0-9_]|^)uint8_t([^a-zA-Z0-9_]|$)/\1UINT8\2/g
s/([^a-zA-Z0-9_]|^)uint16_t([^a-zA-Z0-9_]|$)/\1UINT16\2/g
s/([^a-zA-Z0-9_]|^)uint32_t([^a-zA-Z0-9_]|$)/\1UINT32\2/g
s/([^a-zA-Z0-9_]|^)uint64_t([^a-zA-Z0-9_]|$)/\1UINT64\2/g

s/([^a-zA-Z0-9_]|^)int8_t([^a-zA-Z0-9_]|$)/\1INT8\2/g
s/([^a-zA-Z0-9_]|^)int16_t([^a-zA-Z0-9_]|$)/\1INT16\2/g
s/([^a-zA-Z0-9_]|^)int32_t([^a-zA-Z0-9_]|$)/\1INT32\2/g
s/([^a-zA-Z0-9_]|^)int64_t([^a-zA-Z0-9_]|$)/\1INT64\2/g

s/([^a-zA-Z0-9_]|^)void([^a-zA-Z0-9_]|$)/\1VOID\2/g
s/([^a-zA-Z0-9_]|^)unsigned int([^a-zA-Z0-9_]|$)/\1UINT32\2/g
s/([^a-zA-Z0-9_]|^)int([^a-zA-Z0-9_]|$)/\1INT32\2/g
s/([^a-zA-Z0-9_]|^)unsigned char([^a-zA-Z0-9_]|$)/\1UINT8\2/g
s/([^a-zA-Z0-9_]|^)char([^a-zA-Z0-9_]|$)/\1CHAR8\2/g
s/([^a-zA-Z0-9_]|^)unsigned long([^a-zA-Z0-9_]|$)/\1UINTN\2/g
s/([^a-zA-Z0-9_]|^)long([^a-zA-Z0-9_]|$)/\1INTN\2/g

s/__i386__/MDE_CPU_IA32/g
s/__x86_64__/MDE_CPU_X64/g