Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-23 Thread Roger Pau Monné
On Thu, Nov 23, 2023 at 07:57:21AM -0500, Stewart Hildebrand wrote: > On 11/23/23 03:14, Roger Pau Monné wrote: > > On Wed, Nov 22, 2023 at 03:16:29PM -0500, Stewart Hildebrand wrote: > >> On 11/17/23 07:40, Roger Pau Monné wrote: > >>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand w

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-23 Thread Stewart Hildebrand
On 11/23/23 03:14, Roger Pau Monné wrote: > On Wed, Nov 22, 2023 at 03:16:29PM -0500, Stewart Hildebrand wrote: >> On 11/17/23 07:40, Roger Pau Monné wrote: >>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: r->write(pdev, r->offset, data & (0xU >> (32 - 8 * r

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-23 Thread Roger Pau Monné
On Wed, Nov 22, 2023 at 03:16:29PM -0500, Stewart Hildebrand wrote: > On 11/17/23 07:40, Roger Pau Monné wrote: > > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > >> r->write(pdev, r->offset, data & (0xU >> (32 - 8 * r->size)), > >> r->private); > >

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-22 Thread Stewart Hildebrand
On 11/17/23 08:33, Roger Pau Monné wrote: > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: >> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler, >> + vpci_write_t *write_handler, unsigned int offset, >> +

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-22 Thread Stewart Hildebrand
On 11/17/23 07:40, Roger Pau Monné wrote: > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: >> Introduce a handler for the PCI status register, with ability to mask the >> capabilities bit. The status register contains RsvdZ bits, read-only bits, >> and >> write-1-to-clear bits

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-21 Thread Stewart Hildebrand
On 11/21/23 11:27, Stewart Hildebrand wrote: > On 11/21/23 10:18, Roger Pau Monné wrote: >> On Tue, Nov 21, 2023 at 10:03:01AM -0500, Stewart Hildebrand wrote: >>> On 11/21/23 09:45, Roger Pau Monné wrote: On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > @@ -407,26 +43

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-21 Thread Stewart Hildebrand
On 11/21/23 10:18, Roger Pau Monné wrote: > On Tue, Nov 21, 2023 at 10:03:01AM -0500, Stewart Hildebrand wrote: >> On 11/21/23 09:45, Roger Pau Monné wrote: >>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigne

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-21 Thread Roger Pau Monné
On Tue, Nov 21, 2023 at 10:03:01AM -0500, Stewart Hildebrand wrote: > On 11/21/23 09:45, Roger Pau Monné wrote: > > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > >> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int > >> reg, unsigned int size) > >> >

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-21 Thread Stewart Hildebrand
On 11/21/23 09:45, Roger Pau Monné wrote: > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: >> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, >> unsigned int size) >> >> /* >> * Perform a maybe partial write to a register. >> - * >> - * Note th

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-21 Thread Roger Pau Monné
On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, > unsigned int size) > > /* > * Perform a maybe partial write to a register. > - * > - * Note that this will only work for simple registers, if Xen

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-17 Thread Roger Pau Monné
On Fri, Nov 17, 2023 at 01:40:37PM +0100, Roger Pau Monné wrote: > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > > { > > -uint32_t val; > > - > > val = r->read(pdev, r->offset, r->private); > > +val &= ~r->rw1c_mask; > > data = merge_re

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-17 Thread Roger Pau Monné
On Fri, Nov 17, 2023 at 02:23:42PM +0100, Jan Beulich wrote: > On 17.11.2023 13:40, Roger Pau Monné wrote: > > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > >> --- a/xen/drivers/vpci/vpci.c > >> +++ b/xen/drivers/vpci/vpci.c > >> @@ -29,6 +29,9 @@ struct vpci_register { > >>

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-17 Thread Roger Pau Monné
On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler, > + vpci_write_t *write_handler, unsigned int offset, > + unsigned int size, void *data, uint32_t > rs

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-17 Thread Jan Beulich
On 17.11.2023 13:40, Roger Pau Monné wrote: > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: >> --- a/xen/drivers/vpci/vpci.c >> +++ b/xen/drivers/vpci/vpci.c >> @@ -29,6 +29,9 @@ struct vpci_register { >> unsigned int offset; >> void *private; >> struct list_hea

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-11-17 Thread Roger Pau Monné
On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote: > Introduce a handler for the PCI status register, with ability to mask the > capabilities bit. The status register contains RsvdZ bits, read-only bits, and > write-1-to-clear bits, so introduce bitmasks to handle these in vPCI. If

Re: [PATCH v7 1/2] xen/vpci: header: status register handler

2023-09-14 Thread Jan Beulich
On 13.09.2023 16:35, Stewart Hildebrand wrote: > Introduce a handler for the PCI status register, with ability to mask the > capabilities bit. The status register contains RsvdZ bits, read-only bits, and > write-1-to-clear bits, so introduce bitmasks to handle these in vPCI. If a bit > in the bitma

[PATCH v7 1/2] xen/vpci: header: status register handler

2023-09-13 Thread Stewart Hildebrand
Introduce a handler for the PCI status register, with ability to mask the capabilities bit. The status register contains RsvdZ bits, read-only bits, and write-1-to-clear bits, so introduce bitmasks to handle these in vPCI. If a bit in the bitmask is set, then the special meaning applies: rsvdz_m