singrdk/base/Kernel/testpe.cpp

113 lines
3.2 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//
// testpe.cpp - Singularity Hardware Abstraction Layer
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
typedef unsigned short bartok_char;
typedef signed short int16;
typedef signed int int32;
typedef __int64 int64;
typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned int uint32;
typedef unsigned __int64 uint64;
struct Struct_System_ObjectHeader
{
int32 syncBlockValue;
};
struct Class_System_Object
{
void * f_vtable;
};
struct Class_System_VTable : Class_System_Object
{
};
struct Struct_Microsoft_Singularity_V1_Services_DebugService
{
static void g_Break();
static void g_Print(bool);
static void g_Print(bartok_char);
static void g_Print(int32);
static void g_Print(int64);
static void g_Print(uint32);
static void g_Print(uint64);
static void g_Print(uint8);
};
struct Struct_Microsoft_Singularity_V1_Services_ProcessService
{
static void g_Waypoint(int32);
};
//////////////////////////////////////////////////////////////////////////////
//
uint8 __fastcall test8()
{
return 0;
}
uint16 __fastcall test16()
{
return 0;
}
uint32 __fastcall test32()
{
return 0;
}
uint64 __fastcall test64()
{
return 0;
}
struct Struct_Microsoft_Singularity_V1_Services_StackService
{
static void g_GetUnlinkStackRange(uint64 *unlinkBegin, uint64 *unlinkLimit);
static void g_WalkStack();
};
extern "C" int32 __fastcall entry(int32 threadIndex)
{
if (threadIndex == -1) {
#if MAXIMUM
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('-');
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('H');
uint64 unlinkBegin = 0;
uint64 unlinkLimit = 0;
Struct_Microsoft_Singularity_V1_Services_StackService::g_GetUnlinkStackRange
(&unlinkBegin, &unlinkLimit);
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print(unlinkBegin);
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print(' ');
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print(unlinkLimit);
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('\n');
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('-');
Struct_Microsoft_Singularity_V1_Services_StackService::g_WalkStack();
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('-');
#else
Struct_Microsoft_Singularity_V1_Services_ProcessService::g_Waypoint(999);
#endif
}
else {
#if MAXIMUM
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('T');
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print(threadIndex);
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('\n');
#else
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('T');
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print(threadIndex);
Struct_Microsoft_Singularity_V1_Services_DebugService::g_Print('\n');
#endif
}
return 0;
}