[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/vpci: fix memory type in guest_mem_bar_read()
On Tue, Dec 10, 2024 at 11:25:44AM -0500, Stewart Hildebrand wrote: > Currently, if bar->type is anything other than VPCI_BAR_MEM32, the > memory type bits get set to PCI_BASE_ADDRESS_MEM_TYPE_64 in the returned > value. This leads to the wrong memory type for, e.g. VPCI_BAR_EMPTY. > Only set PCI_BASE_ADDRESS_MEM_TYPE_64 when the bar type is > VPCI_BAR_MEM64_LO. I'm confused, VPCI_BAR_EMPTY shouldn't use guest_mem_bar_read() in the first place, as its read handler should be vpci_read_val() instead. Is there something I'm missing from init_header()? if ( size == 0 ) { bars[i].type = VPCI_BAR_EMPTY; if ( !is_hwdom ) { rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, reg, 4, (void *)0); if ( rc ) goto fail; } continue; } AFAICT guest_mem_bar_read() should only handle BAR types that are either VPCI_BAR_MEM32, VPCI_BAR_MEM64_HI or VPCI_BAR_MEM64_LO, and that seems to be correctly handled? Thanks, Roger.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |