================================================================================ Introduction ================================================================================ SvenTX is a source delivery API for TraceHub support. ================================================================================ SvenTX-Version ================================================================================ 0.4.2333 ================================================================================ HOW to Install SvenTx for UEFI Building ================================================================================ 1. Download TraceHub from website: https://wiki.ith.intel.com/display/npksdk/Download+NPK+SW+Tools+Releases 2. Copy SvenTx files into UEFI source tree 2.a npksdk0.4/device/sventx/include/sventx/* -> ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/ 2.b npksdk0.4/device/sventx/include/sventx.h -> ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/sventx.h 2.c npksdk0.4/device/sventx/platform/example/include/* -> ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/ 2.d npksdk0.4/device/sventx/platform/example/src/sventx_platform.c -> ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/platform/UEFI/src/sventx_platform.c 2.e npksdk0.4/device/sventx/src/* -> ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/src/* 3. Apply following modification to SvenTX core 3.a ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/compiler.h Ln94 #undef SVEN_EXPORT <- Add #define SVEN_EXPORT <- Add #define SVEN_CALLCONV __stdcall 3.b ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/src/sventx_api.c Ln64 #include "sventx/event.h" #include <- Add 3.c ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/src/sventx_api.c Ln368 while( len < SVEN_EVENT_PAYLOADSIZE) <- Remove { <- Remove desc.ed_pld.data_u8[len++] = 0; <- Remove } <- Remove if (len < SVEN_EVENT_PAYLOADSIZE) { <- Add ZeroMem (&(desc.ed_pld.data_u8[len]), (SVEN_EVENT_PAYLOADSIZE - 1) - len + 1); <- Add } <- Add 3.d ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/src/sventx_api.c Ln415 Ln474 Ln588 sven_u16_t paramlen = svh->svh_param_count * (sven_u16_t)sizeof(sven_u32_t); <- Remove sven_u16_t paramlen = (sven_u16_t)(svh->svh_param_count * (sven_u16_t)sizeof(sven_u32_t)); <- Add 3.e ClientCommonPkg/Library/BaseTraceHubDebugLib/sventx/src/sventx_compiler.c Ln69 #include <- Remove 4. Implement platform specific functions 4.a Implement SVEN_HEAP_MALLOC and SVEN_HEAP_FREE 4.b Implement sventx_platform.c