You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the following code snippet in gpuSetupVirtualGuestOwnedHW, driver assume the bar0 is a 32-bit bar and then read the NV_CONFIG_PCI_NV_5 to determine whether the bar1 is a 64-bit bar or not.
But I know some gpu like H20/H100/GB200 have a 64-bit bar0, is it a bug for the implementation ?
if (!IS_VIRTUAL_WITH_SRIOV(pGpu) && !IS_VIRTUAL(pGpu))
{
cfgBaseAddressLow = osPciReadDword(handle, NV_CONFIG_PCI_NV_5);
if (!IS_BAR_64(cfgBaseAddressLow))
{
if (osPciReadDword(handle, NV_CONFIG_PCI_NV_6) != 0)
{
// We can access the BAR2 from 0x18, so the BAR2 is moved by host.
pGpu->bBar2MovedByVtd = NV_TRUE;
NV_PRINTF(LEVEL_WARNING, "VT-d moved BAR2 to 0x18!\n");
}
else
{
NV_PRINTF(LEVEL_WARNING, "VT-d still keeps BAR2 at 0x1C!\n");
}
}
else
{
pGpu->bBar1Is64Bit = NV_TRUE;
NV_PRINTF(LEVEL_WARNING, "VT-d is using a 64bit BAR1!\n");
}
pGpu->bIsPassthru = NV_TRUE;
NV_PRINTF(LEVEL_WARNING,
"GPU at domain: %d bus: %d, device: %d is virtual (HW passthrough mode).\n",
domain, bus, device);
}
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
In the following code snippet in
gpuSetupVirtualGuestOwnedHW
, driver assume the bar0 is a 32-bit bar and then read theNV_CONFIG_PCI_NV_5
to determine whether the bar1 is a 64-bit bar or not.But I know some gpu like H20/H100/GB200 have a 64-bit bar0, is it a bug for the implementation ?
Beta Was this translation helpful? Give feedback.
All reactions