XVtc_Config Py_XVtc_LookupConfig(unsigned int vtc_baseaddr){ XVtc_Config config = { 0, getVirtualAddress(vtc_baseaddr) }; return config; }
/* * ======== Memory_getBufferVirtualAddress ======== * Converts physical address to user virtual address. */ Ptr Memory_getBufferVirtualAddress( UInt32 physicalAddress, Int sizeInBytes) { /* * Do the reverse mapping by looking at our list of buffers; if not found, * result will be 0. */ UInt32 virtualAddress = 0; Lock_acquire( moduleLock ); Log_print2(Diags_ENTRY, "[+E] Memory_getBufferVirtualAddress> " "Enter(physAddr=0x%x, size=0x%x)", (IArg)physicalAddress, (IArg)sizeInBytes); if (Memory_skipVirtualAddressTranslation == TRUE) { virtualAddress = physicalAddress; goto Memory_getBufferVirtualAddress_return; } if (sizeInBytes == 0) { Log_print0(Diags_USER6, "[+6] Memory_getBufferVirtualAddress> " "invalid buffer size provided (0)"); /* Note that virtualAddress is already initialized to zero */ goto Memory_getBufferVirtualAddress_return; } virtualAddress = getVirtualAddress(physicalAddress, sizeInBytes); Memory_getBufferVirtualAddress_return: Log_print1(Diags_EXIT, "[+X] Memory_getBufferVirtualAddress> " "return (0x%x)", (IArg)virtualAddress); Lock_release( moduleLock ); return (Ptr)virtualAddress; }
virtual u64 getPhysicalAddress() { return getVirtualAddress(); };