mirror of
https://github.com/arehnman/yttrium-virtio-gpu.git
synced 2026-10-31 02:05:04 +00:00
20 lines
671 B
C++
20 lines
671 B
C++
#include "ndis56common.h"
|
|
#include "ParaNdis-AbstractPath.h"
|
|
|
|
NDIS_STATUS CParaNdisAbstractPath::SetupMessageIndex(u16 queueCardinal)
|
|
{
|
|
u16 val;
|
|
|
|
WriteVirtIODeviceWord(m_Context->IODevice->addr + VIRTIO_PCI_QUEUE_SEL, (u16)queueCardinal);
|
|
WriteVirtIODeviceWord(m_Context->IODevice->addr + VIRTIO_MSI_QUEUE_VECTOR, (u16)queueCardinal);
|
|
val = ReadVirtIODeviceWord(m_Context->IODevice->addr + VIRTIO_MSI_QUEUE_VECTOR);
|
|
if (val != queueCardinal)
|
|
{
|
|
DPrintf(0, ("[%s] - read/write mismatch, %u vs %u\n", val, queueCardinal));
|
|
return NDIS_STATUS_DEVICE_FAILED;
|
|
}
|
|
|
|
m_messageIndex = queueCardinal;
|
|
return NDIS_STATUS_SUCCESS;
|
|
}
|