alder_lake_bios/Intel/AlderLake/AlderLakeChipsetPkg/Library/BaseTraceHubDebugLib/PatchHowTo.txt

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