|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [v8][PATCH 06/16] hvmloader/pci: disable all pci devices conflicting with rdm
>>> On 16.07.15 at 15:48, <tiejun.chen@xxxxxxxxx> wrote:
>> Except that this isn't valid C (no statement following the label). I can
>> accept goto-s for some error handling cases where the alternatives
>> might be considered even more ugly than using goto. But the way
>> this or your original proposal look, I'd rather not have goto-s used
>> like this.
>>
>
> What about this?
Looks reasonable (but don't forget that I continue to be unconvinced
that the patch as a whole makes sense).
Jan
> + bool is_conflict = false;
>
> for ( devfn = 0; devfn < 256; devfn++ )
> {
> @@ -60,7 +61,7 @@ static void disable_conflicting_devices(void)
> continue;
>
> /* Check all bars */
> - for ( bar = 0; bar < 7; bar++ )
> + for ( bar = 0; bar < 7 && !is_conflict; bar++ )
> {
> bar_reg = PCI_BASE_ADDRESS_0 + 4*bar;
> if ( bar == 6 )
> @@ -89,7 +90,7 @@ static void disable_conflicting_devices(void)
> bar_sz = pci_readl(devfn, bar_reg);
> bar_sz &= PCI_BASE_ADDRESS_MEM_MASK;
>
> - for ( i = 0; i < memory_map.nr_map ; i++ )
> + for ( i = 0; i < memory_map.nr_map && !is_conflict; i++ )
> {
> if ( memory_map.map[i].type == E820_RESERVED )
> {
> @@ -105,13 +106,13 @@ static void disable_conflicting_devices(void)
> devfn>>3, devfn&7, bar_reg, bar_data);
> cmd = pci_readw(devfn, PCI_COMMAND);
> pci_writew(devfn, PCI_COMMAND, ~cmd);
> - /* Jump next device. */
> - goto check_next_device;
> + /* So need to jump next device. */
> + is_conflict = true;
> }
> }
> }
> }
> - check_next_device:
> + is_conflict = false;
> }
> }
>
> Thanks
> Tiejun
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |