Home | History | Annotate | Download | only in Xen
      1 The headers in this directory have been imported from the Xen Project with few
      2 modification that are described in this README.
      3 
      4 The modifications that needed to be done are:
      5 - Use of ZeroMem() or SetMem() instead of memset().
      6 - If a struct is using a 64bit field, then a #pragma(4) might be needed
      7   for IA32, like in io/blkif.h.
      8 - Replace the types with the ones used in UEFI.
      9 
     10 
     11 * Command to run to change types:
     12 find OvmfPkg/Include/IndustryStandard/Xen -type f -name '*.h' -exec sed --regexp-extended --file=fix_type_in_xen_includes.sed --in-place {} \;
     13 
     14 $ cat fix_type_in_xen_includes.sed
     15 # Avoid changing the 'long' that is not a type.
     16 /as long as/b
     17 
     18 s/([^a-zA-Z0-9_]|^)uint8_t([^a-zA-Z0-9_]|$)/\1UINT8\2/g
     19 s/([^a-zA-Z0-9_]|^)uint16_t([^a-zA-Z0-9_]|$)/\1UINT16\2/g
     20 s/([^a-zA-Z0-9_]|^)uint32_t([^a-zA-Z0-9_]|$)/\1UINT32\2/g
     21 s/([^a-zA-Z0-9_]|^)uint64_t([^a-zA-Z0-9_]|$)/\1UINT64\2/g
     22 
     23 s/([^a-zA-Z0-9_]|^)int8_t([^a-zA-Z0-9_]|$)/\1INT8\2/g
     24 s/([^a-zA-Z0-9_]|^)int16_t([^a-zA-Z0-9_]|$)/\1INT16\2/g
     25 s/([^a-zA-Z0-9_]|^)int32_t([^a-zA-Z0-9_]|$)/\1INT32\2/g
     26 s/([^a-zA-Z0-9_]|^)int64_t([^a-zA-Z0-9_]|$)/\1INT64\2/g
     27 
     28 s/([^a-zA-Z0-9_]|^)void([^a-zA-Z0-9_]|$)/\1VOID\2/g
     29 s/([^a-zA-Z0-9_]|^)unsigned int([^a-zA-Z0-9_]|$)/\1UINT32\2/g
     30 s/([^a-zA-Z0-9_]|^)int([^a-zA-Z0-9_]|$)/\1INT32\2/g
     31 s/([^a-zA-Z0-9_]|^)unsigned char([^a-zA-Z0-9_]|$)/\1UINT8\2/g
     32 s/([^a-zA-Z0-9_]|^)char([^a-zA-Z0-9_]|$)/\1CHAR8\2/g
     33 s/([^a-zA-Z0-9_]|^)unsigned long([^a-zA-Z0-9_]|$)/\1UINTN\2/g
     34 s/([^a-zA-Z0-9_]|^)long([^a-zA-Z0-9_]|$)/\1INTN\2/g
     35 
     36 s/__i386__/MDE_CPU_IA32/g
     37 s/__x86_64__/MDE_CPU_X64/g
     38