* [Qemu-devel] [PATCH] vfio/pci: replace 1 with PCI_CAP_LIST_NEXT to make code self-explain
@ 2016-02-11 0:54 Wei Yang
2016-03-16 11:27 ` Michael Tokarev
0 siblings, 1 reply; 4+ messages in thread
From: Wei Yang @ 2016-02-11 0:54 UTC (permalink / raw)
To: alex.williamson; +Cc: qemu-trivial, qemu-devel, Wei Yang
Use the macro PCI_CAP_LIST_NEXT instead of 1, so that the code would be
more self-explain.
This patch makes this change and also fixs one typo in comment.
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
---
hw/vfio/pci.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 1fb868c..17d1462 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -1472,7 +1472,7 @@ static uint8_t vfio_std_cap_max_size(PCIDevice *pdev, uint8_t pos)
uint8_t tmp, next = 0xff;
for (tmp = pdev->config[PCI_CAPABILITY_LIST]; tmp;
- tmp = pdev->config[tmp + 1]) {
+ tmp = pdev->config[tmp + PCI_CAP_LIST_NEXT]) {
if (tmp > pos && tmp < next) {
next = tmp;
}
@@ -1661,7 +1661,7 @@ static int vfio_add_std_cap(VFIOPCIDevice *vdev, uint8_t pos)
int ret;
cap_id = pdev->config[pos];
- next = pdev->config[pos + 1];
+ next = pdev->config[pos + PCI_CAP_LIST_NEXT];
/*
* If it becomes important to configure capabilities to their actual
@@ -1675,7 +1675,7 @@ static int vfio_add_std_cap(VFIOPCIDevice *vdev, uint8_t pos)
* pci_add_capability always inserts the new capability at the head
* of the chain. Therefore to end up with a chain that matches the
* physical device, we insert from the end by making this recursive.
- * This is also why we pre-caclulate size above as cached config space
+ * This is also why we pre-calculate size above as cached config space
* will be changed as we unwind the stack.
*/
if (next) {
@@ -1691,7 +1691,7 @@ static int vfio_add_std_cap(VFIOPCIDevice *vdev, uint8_t pos)
}
/* Use emulated next pointer to allow dropping caps */
- pci_set_byte(vdev->emulated_config_bits + pos + 1, 0xff);
+ pci_set_byte(vdev->emulated_config_bits + pos + PCI_CAP_LIST_NEXT, 0xff);
switch (cap_id) {
case PCI_CAP_ID_MSI:
--
2.5.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] vfio/pci: replace 1 with PCI_CAP_LIST_NEXT to make code self-explain
2016-02-11 0:54 [Qemu-devel] [PATCH] vfio/pci: replace 1 with PCI_CAP_LIST_NEXT to make code self-explain Wei Yang
@ 2016-03-16 11:27 ` Michael Tokarev
2016-03-16 11:52 ` Paolo Bonzini
0 siblings, 1 reply; 4+ messages in thread
From: Michael Tokarev @ 2016-03-16 11:27 UTC (permalink / raw)
To: Wei Yang, alex.williamson; +Cc: qemu-trivial, qemu-devel
11.02.2016 03:54, Wei Yang wrote:
> Use the macro PCI_CAP_LIST_NEXT instead of 1, so that the code would be
> more self-explain.
>
> This patch makes this change and also fixs one typo in comment.
>
> for (tmp = pdev->config[PCI_CAPABILITY_LIST]; tmp;
> - tmp = pdev->config[tmp + 1]) {
> + tmp = pdev->config[tmp + PCI_CAP_LIST_NEXT]) {
> - next = pdev->config[pos + 1];
> + next = pdev->config[pos + PCI_CAP_LIST_NEXT];
Hmm. I'm not sure the new version is better, to me "+1" reads
easier than the new symbolic constant variant.
If it were something like pdev->config[PCI_CAP_LIST_NEXT], that'd be
nice, but not "pos + PCI_CAP_LIST_NEXT".
But again, I'm not pci config space expert and don't understand
the basics :)
Thanks,
/mjt
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] vfio/pci: replace 1 with PCI_CAP_LIST_NEXT to make code self-explain
2016-03-16 11:27 ` Michael Tokarev
@ 2016-03-16 11:52 ` Paolo Bonzini
2016-03-17 15:01 ` Wei Yang
0 siblings, 1 reply; 4+ messages in thread
From: Paolo Bonzini @ 2016-03-16 11:52 UTC (permalink / raw)
To: Michael Tokarev, Wei Yang, alex.williamson; +Cc: qemu-trivial, qemu-devel
On 16/03/2016 12:27, Michael Tokarev wrote:
>> > for (tmp = pdev->config[PCI_CAPABILITY_LIST]; tmp;
>> > - tmp = pdev->config[tmp + 1]) {
>> > + tmp = pdev->config[tmp + PCI_CAP_LIST_NEXT]) {
>> > - next = pdev->config[pos + 1];
>> > + next = pdev->config[pos + PCI_CAP_LIST_NEXT];
> Hmm. I'm not sure the new version is better, to me "+1" reads
> easier than the new symbolic constant variant.
>
> If it were something like pdev->config[PCI_CAP_LIST_NEXT], that'd be
> nice, but not "pos + PCI_CAP_LIST_NEXT".
>
> But again, I'm not pci config space expert and don't understand
> the basics :)
Each capability is a node of a linked list, and the position of the next
capability is at offset 1 inside the capability (here it is at offset 1
from the tmp or pos base). I think the patch is an improvement.
Paolo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] vfio/pci: replace 1 with PCI_CAP_LIST_NEXT to make code self-explain
2016-03-16 11:52 ` Paolo Bonzini
@ 2016-03-17 15:01 ` Wei Yang
0 siblings, 0 replies; 4+ messages in thread
From: Wei Yang @ 2016-03-17 15:01 UTC (permalink / raw)
To: Paolo Bonzini
Cc: qemu-trivial, alex.williamson, Michael Tokarev, qemu-devel, Wei Yang
On Wed, Mar 16, 2016 at 12:52:52PM +0100, Paolo Bonzini wrote:
>
>
>On 16/03/2016 12:27, Michael Tokarev wrote:
>>> > for (tmp = pdev->config[PCI_CAPABILITY_LIST]; tmp;
>>> > - tmp = pdev->config[tmp + 1]) {
>>> > + tmp = pdev->config[tmp + PCI_CAP_LIST_NEXT]) {
>>> > - next = pdev->config[pos + 1];
>>> > + next = pdev->config[pos + PCI_CAP_LIST_NEXT];
>> Hmm. I'm not sure the new version is better, to me "+1" reads
>> easier than the new symbolic constant variant.
>>
>> If it were something like pdev->config[PCI_CAP_LIST_NEXT], that'd be
>> nice, but not "pos + PCI_CAP_LIST_NEXT".
>>
>> But again, I'm not pci config space expert and don't understand
>> the basics :)
Thanks Michael for your comment. By using the macro, audience is more easy to
understand it tries to get the position of next capability.
>
>Each capability is a node of a linked list, and the position of the next
>capability is at offset 1 inside the capability (here it is at offset 1
>from the tmp or pos base). I think the patch is an improvement.
>
Thanks Paolo for your reply. :-)
>Paolo
--
Wei Yang
Help you, Help me
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-03-17 15:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-11 0:54 [Qemu-devel] [PATCH] vfio/pci: replace 1 with PCI_CAP_LIST_NEXT to make code self-explain Wei Yang
2016-03-16 11:27 ` Michael Tokarev
2016-03-16 11:52 ` Paolo Bonzini
2016-03-17 15:01 ` Wei Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).