66 lines
3.2 KiB
Plaintext
66 lines
3.2 KiB
Plaintext
|
|
================================================================================
|
|
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 <Library/BaseMemoryLib.h> <- 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 <intrin.h> <- Remove
|
|
|
|
4. Implement platform specific functions
|
|
4.a Implement SVEN_HEAP_MALLOC and SVEN_HEAP_FREE
|
|
|
|
4.b Implement sventx_platform.c
|