mirror of
https://github.com/NVIDIA/open-gpu-kernel-modules.git
synced 2026-02-09 17:50:00 +00:00
141 lines
2.6 KiB
C
141 lines
2.6 KiB
C
// This file is automatically generated by rmconfig - DO NOT EDIT!
|
|
//
|
|
// Profile: shipping-gpus-openrm
|
|
// Template: templates/gt_eng_iom.c
|
|
//
|
|
#include "nvstatus.h"
|
|
#include "nvport/inline/util_valist.h"
|
|
#include "nvport/nvport.h"
|
|
#include "core/core.h"
|
|
#include "nvoc/rtti.h"
|
|
#include "os/os.h"
|
|
#include "gpu/gpu.h"
|
|
|
|
#include "objrpc.h"
|
|
|
|
#include "g_rpc_private.h"
|
|
|
|
//
|
|
// RPC's object-level _STUB, _MISSING, _VGPUSTUB interface routines
|
|
// (if any)
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
// Initialize RPC's object-level interfaces
|
|
//
|
|
void rpcObjIfacesSetup(OBJRPC *pRpc)
|
|
{
|
|
RPC_OBJ_IFACES *pRpcMethods = &pRpc->obj;
|
|
pRpcMethods->__rpcConstruct__ = rpcConstruct_IMPL;
|
|
pRpcMethods->__rpcDestroy__ = rpcDestroy_IMPL;
|
|
pRpcMethods->__rpcSendMessage__ = rpcSendMessage_IMPL;
|
|
pRpcMethods->__rpcRecvPoll__ = rpcRecvPoll_IMPL;
|
|
// pRpcMethods->__rpcSendMessageUvm__ = rpcSendMessageUvm_IMPL; # ONLY_IF => VIRTUALIZATION
|
|
// pRpcMethods->__rpcRecvPollUvm__ = rpcRecvPollUvm_IMPL; # ONLY_IF => VIRTUALIZATION
|
|
}
|
|
|
|
static void
|
|
rpcSetPropertiesSpecial
|
|
(
|
|
POBJRPC pRpc
|
|
)
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
// RPC's run-time type information
|
|
//
|
|
|
|
extern const struct NVOC_CLASS_DEF __iom_class_def_OBJRPC;
|
|
|
|
void __iom_dtor_OBJRPC(POBJRPC);
|
|
|
|
const struct NVOC_RTTI __iom_rtti_OBJRPC_OBJRPC =
|
|
{
|
|
&__iom_class_def_OBJRPC,
|
|
(NVOC_DYNAMIC_DTOR)&__iom_dtor_OBJRPC,
|
|
0,
|
|
};
|
|
|
|
static const struct NVOC_CASTINFO __iom_castinfo_OBJRPC =
|
|
{
|
|
1,
|
|
{
|
|
&__iom_rtti_OBJRPC_OBJRPC
|
|
}
|
|
};
|
|
|
|
extern const NVOC_RTTI_PROVIDER __iom_rtti_provider;
|
|
const struct NVOC_CLASS_DEF __iom_class_def_OBJRPC =
|
|
{
|
|
{
|
|
sizeof(OBJRPC),
|
|
classId(OBJRPC),
|
|
&__iom_rtti_provider,
|
|
#if NV_PRINTF_STRINGS_ALLOWED
|
|
"OBJRPC",
|
|
#endif
|
|
},
|
|
NULL,
|
|
&__iom_castinfo_OBJRPC,
|
|
};
|
|
|
|
|
|
|
|
|
|
//
|
|
// RPC's object infrastructure boilerplate
|
|
//
|
|
|
|
// initializers, constructors, and destructors for RPC's base classes
|
|
|
|
NV_STATUS __iom_ctor_OBJRPC(POBJRPC pRpc)
|
|
{
|
|
RMCFG_MODULE_ENABLED_OR_ASSERT_AND_BAIL(RPC);
|
|
return NV_OK;
|
|
}
|
|
|
|
NV_STATUS __iom_vctor_OBJRPC(Dynamic *pDynamic, va_list args)
|
|
{
|
|
NV_STATUS status;
|
|
POBJRPC pThis = dynamicCast(pDynamic, OBJRPC);
|
|
if (pThis != NULL)
|
|
{
|
|
status = __iom_ctor_OBJRPC(pThis);
|
|
}
|
|
else
|
|
{
|
|
status = NV_ERR_INVALID_OBJECT;
|
|
}
|
|
return status;
|
|
}
|
|
|
|
void __iom_dtor_OBJRPC(POBJRPC pRpc)
|
|
{
|
|
}
|
|
|
|
// RPC's object initializer function to set up vtables and RTTI
|
|
void __iom_init_OBJRPC(POBJRPC pRpc)
|
|
{
|
|
rpcObjIfacesSetup(pRpc);
|
|
rpcSetPropertiesSpecial(pRpc);
|
|
}
|
|
|
|
|
|
//
|
|
// RPC's object creation routine
|
|
//
|
|
|