All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>
Cc: gregkh@linuxfoundation.org, robh+dt@kernel.org,
	pawel.moll@arm.com, mark.rutland@arm.com,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	arnd@arndb.de, lersek@redhat.com, ralf@linux-mips.org,
	rmk+kernel@arm.linux.org.uk, eric@anholt.net,
	hanjun.guo@linaro.org, zajec5@gmail.com, sudeep.holla@arm.com,
	agross@codeaurora.org, linux-api@vger.kernel.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	qemu-devel@nongnu.org, imammedo@redhat.com,
	peter.maydell@linaro.org, leif.lindholm@linaro.org,
	ard.biesheuvel@linaro.org, pbonzini@redhat.com,
	kraxel@redhat.com, ehabkost@redhat.com, luto@amacapital.net,
	stefanha@gmail.com, revol@free.fr, matt@codeblueprint.co.uk,
	rth@twiddle.net
Subject: Re: [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device
Date: Tue, 23 Feb 2016 16:14:46 +0200	[thread overview]
Message-ID: <20160223160555-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <20160223134700.GL16357@HEDWIG.INI.CMU.EDU>

On Tue, Feb 23, 2016 at 08:47:00AM -0500, Gabriel L. Somlo wrote:
> On Tue, Feb 23, 2016 at 07:07:36AM +0200, Michael S. Tsirkin wrote:
> > On Mon, Feb 22, 2016 at 03:26:23PM -0500, Gabriel L. Somlo wrote:
> > > On Mon, Feb 22, 2016 at 10:14:50PM +0200, Michael S. Tsirkin wrote:
> > > > On Sun, Feb 21, 2016 at 08:06:17AM -0500, Gabriel L. Somlo wrote:
> > > > > > > +static void fw_cfg_io_cleanup(void)
> > > > > > > +{
> > > > > > > +	if (fw_cfg_is_mmio) {
> > > > > > > +		iounmap(fw_cfg_dev_base);
> > > > > > > +		release_mem_region(fw_cfg_p_base, fw_cfg_p_size);
> > > > > > > +	} else {
> > > > > > > +		ioport_unmap(fw_cfg_dev_base);
> > > > > > > +		release_region(fw_cfg_p_base, fw_cfg_p_size);
> > > > > > > +	}
> > > > > > > +}
> > > > > > > +
> > > > > > > +/* arch-specific ctrl & data register offsets are not available in ACPI, DT */
> > > > > > 
> > > > > > So for all arches which support ACPI, I think this driver
> > > > > > should just rely on ACPI.
> > > > > 
> > > > > There was a discussion about that a few versions ago, and IIRC the
> > > > > conclusion was not to expect the firmware to contend for fw_cfg access
> > > > > after the guest kernel boots:
> > > > > 
> > > > > https://lkml.org/lkml/2015/10/5/283
> > > > > 
> > > > 
> > > > So it looks like NVDIMM at least wants to pass label data to guest -
> > > > for which fw cfg might be a reasonable choice.
> > > > 
> > > > I suspect things changed - fw cfg used to be very slow but we now have
> > > > DMA interface which makes it useful for a range of applications.
> > 
> > Comment on this? I'm really worried we'll release linux
> > without a way to access fw cfg from aml.
> > How about taking acpi lock around all accesses?
> 
> You mean something like this (haven't tried compiling it yet, so it
> might be a bit more complicated, but just for the purpose of this
> conversation):
> 
> diff --git a/drivers/firmware/qemu_fw_cfg.c
> b/drivers/firmware/qemu_fw_cfg.c
> index fedbff5..3462a2c 100644
> --- a/drivers/firmware/qemu_fw_cfg.c
> +++ b/drivers/firmware/qemu_fw_cfg.c
> @@ -77,12 +77,18 @@ static inline u16 fw_cfg_sel_endianness(u16 key)
>  static inline void fw_cfg_read_blob(u16 key,
>                                     void *buf, loff_t pos, size_t
> count)
>  {
> +#ifdef CONFIG_ACPI
> +       acpi_os_acquire_mutex(acpi_gbl_osi_mutex, ACPI_WAIT_FOREVER);
> +#endif
>         mutex_lock(&fw_cfg_dev_lock);
>         iowrite16(fw_cfg_sel_endianness(key), fw_cfg_reg_ctrl);
>         while (pos-- > 0)
>                 ioread8(fw_cfg_reg_data);
>         ioread8_rep(fw_cfg_reg_data, buf, count);
>         mutex_unlock(&fw_cfg_dev_lock);
> +#ifdef CONFIG_ACPI
> +       acpi_os_release_mutex(acpi_gbl_osi_mutex);
> +#endif
>  }
>  
>  /* clean up fw_cfg device i/o */

Fundamentally yes.

> I wouldn't particularly *mind* doing that, but I'd still like to hear
> from other QEMU devs on whether it's really necessary.

It seems like a prudent thing to do IMHO, before this
goes out to users.

> > > > > (I even had a prototype version doing what you suggested, but per the above
> > > > > reference decided to drop it -- which IMHO is for the better, since otherwise
> > > > > I'd have had to ifdef between ACPI and non-ACPI versions of the driver --
> > > > > see https://lkml.org/lkml/2015/11/4/534 )
> > > > 
> > > > I'm not sure why you have these ifdefs - they are on the host, are they
> > > > not?
> > > 
> > > Think of those as "pseudocode" ifdefs, they're there to distinguish
> > > between AML that would be generated on MMIO vs. IOPORT systems
> > > (specifically, arm vs. x86, respectively)
> > > 
> > > Some of the AML is the same, but obviously the _CRS, and
> > > OperationRegion + Field are different, and I wanted to point that out
> > > somehow :)
> > > 
> > > Cheers,
> > > --Gabriel
> > 
> > You can do ifs as well.
> 
> Yeah, but the AML is generated from arch-specific locations in QEMU,
> so we'd be doing MMIO-only from e.g. hw/arm/virt-acpi-build.c, and
> IOPORT-only from hw/i386/acpi-build.c, etc. I wouldnt need to write a
> generic AML blob with 'if' statements and insert it the same way on
> all architectures, or would I ? Not sure what the best practice would
> be for that :)

Just regular C, put common code in a common function.

> Speaking of AML, if we were to implement a "RDBL" (read-blob) method
> for fw_cfg in AML, and call it from the guest-side kernel module,
> we'll never be able to make it use DMA on ACPI systems. The way
> fw_cfg_read_blob is written now, we could patch that in at some later
> point. So that's an argument in favor of *at most* wrapping
> acpi_os_acquire_mutex() around the current fw_cfg_read_blob, rather
> than including an acpi-specific version implemented on top of an
> AML call.
> 
> Thanks,
> --Gabriel

On balance, I think locking ACPI solves most problems so
if we just do that, I think what you did here is fine.

-- 
MST

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>
Cc: mark.rutland@arm.com, peter.maydell@linaro.org,
	matt@codeblueprint.co.uk, stefanha@gmail.com,
	qemu-devel@nongnu.org, eric@anholt.net, kraxel@redhat.com,
	linux-api@vger.kernel.org, agross@codeaurora.org,
	pawel.moll@arm.com, zajec5@gmail.com,
	rmk+kernel@arm.linux.org.uk, lersek@redhat.com,
	devicetree@vger.kernel.org, ehabkost@redhat.com, arnd@arndb.de,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	leif.lindholm@linaro.org, robh+dt@kernel.org,
	pbonzini@redhat.com, rth@twiddle.net, ard.biesheuvel@linaro.org,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	luto@amacapital.net, hanjun.guo@linaro.org, sudeep.holla@arm.com,
	imammedo@redhat.com, revol@free.fr
Subject: Re: [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device
Date: Tue, 23 Feb 2016 16:14:46 +0200	[thread overview]
Message-ID: <20160223160555-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <20160223134700.GL16357@HEDWIG.INI.CMU.EDU>

On Tue, Feb 23, 2016 at 08:47:00AM -0500, Gabriel L. Somlo wrote:
> On Tue, Feb 23, 2016 at 07:07:36AM +0200, Michael S. Tsirkin wrote:
> > On Mon, Feb 22, 2016 at 03:26:23PM -0500, Gabriel L. Somlo wrote:
> > > On Mon, Feb 22, 2016 at 10:14:50PM +0200, Michael S. Tsirkin wrote:
> > > > On Sun, Feb 21, 2016 at 08:06:17AM -0500, Gabriel L. Somlo wrote:
> > > > > > > +static void fw_cfg_io_cleanup(void)
> > > > > > > +{
> > > > > > > +	if (fw_cfg_is_mmio) {
> > > > > > > +		iounmap(fw_cfg_dev_base);
> > > > > > > +		release_mem_region(fw_cfg_p_base, fw_cfg_p_size);
> > > > > > > +	} else {
> > > > > > > +		ioport_unmap(fw_cfg_dev_base);
> > > > > > > +		release_region(fw_cfg_p_base, fw_cfg_p_size);
> > > > > > > +	}
> > > > > > > +}
> > > > > > > +
> > > > > > > +/* arch-specific ctrl & data register offsets are not available in ACPI, DT */
> > > > > > 
> > > > > > So for all arches which support ACPI, I think this driver
> > > > > > should just rely on ACPI.
> > > > > 
> > > > > There was a discussion about that a few versions ago, and IIRC the
> > > > > conclusion was not to expect the firmware to contend for fw_cfg access
> > > > > after the guest kernel boots:
> > > > > 
> > > > > https://lkml.org/lkml/2015/10/5/283
> > > > > 
> > > > 
> > > > So it looks like NVDIMM at least wants to pass label data to guest -
> > > > for which fw cfg might be a reasonable choice.
> > > > 
> > > > I suspect things changed - fw cfg used to be very slow but we now have
> > > > DMA interface which makes it useful for a range of applications.
> > 
> > Comment on this? I'm really worried we'll release linux
> > without a way to access fw cfg from aml.
> > How about taking acpi lock around all accesses?
> 
> You mean something like this (haven't tried compiling it yet, so it
> might be a bit more complicated, but just for the purpose of this
> conversation):
> 
> diff --git a/drivers/firmware/qemu_fw_cfg.c
> b/drivers/firmware/qemu_fw_cfg.c
> index fedbff5..3462a2c 100644
> --- a/drivers/firmware/qemu_fw_cfg.c
> +++ b/drivers/firmware/qemu_fw_cfg.c
> @@ -77,12 +77,18 @@ static inline u16 fw_cfg_sel_endianness(u16 key)
>  static inline void fw_cfg_read_blob(u16 key,
>                                     void *buf, loff_t pos, size_t
> count)
>  {
> +#ifdef CONFIG_ACPI
> +       acpi_os_acquire_mutex(acpi_gbl_osi_mutex, ACPI_WAIT_FOREVER);
> +#endif
>         mutex_lock(&fw_cfg_dev_lock);
>         iowrite16(fw_cfg_sel_endianness(key), fw_cfg_reg_ctrl);
>         while (pos-- > 0)
>                 ioread8(fw_cfg_reg_data);
>         ioread8_rep(fw_cfg_reg_data, buf, count);
>         mutex_unlock(&fw_cfg_dev_lock);
> +#ifdef CONFIG_ACPI
> +       acpi_os_release_mutex(acpi_gbl_osi_mutex);
> +#endif
>  }
>  
>  /* clean up fw_cfg device i/o */

Fundamentally yes.

> I wouldn't particularly *mind* doing that, but I'd still like to hear
> from other QEMU devs on whether it's really necessary.

It seems like a prudent thing to do IMHO, before this
goes out to users.

> > > > > (I even had a prototype version doing what you suggested, but per the above
> > > > > reference decided to drop it -- which IMHO is for the better, since otherwise
> > > > > I'd have had to ifdef between ACPI and non-ACPI versions of the driver --
> > > > > see https://lkml.org/lkml/2015/11/4/534 )
> > > > 
> > > > I'm not sure why you have these ifdefs - they are on the host, are they
> > > > not?
> > > 
> > > Think of those as "pseudocode" ifdefs, they're there to distinguish
> > > between AML that would be generated on MMIO vs. IOPORT systems
> > > (specifically, arm vs. x86, respectively)
> > > 
> > > Some of the AML is the same, but obviously the _CRS, and
> > > OperationRegion + Field are different, and I wanted to point that out
> > > somehow :)
> > > 
> > > Cheers,
> > > --Gabriel
> > 
> > You can do ifs as well.
> 
> Yeah, but the AML is generated from arch-specific locations in QEMU,
> so we'd be doing MMIO-only from e.g. hw/arm/virt-acpi-build.c, and
> IOPORT-only from hw/i386/acpi-build.c, etc. I wouldnt need to write a
> generic AML blob with 'if' statements and insert it the same way on
> all architectures, or would I ? Not sure what the best practice would
> be for that :)

Just regular C, put common code in a common function.

> Speaking of AML, if we were to implement a "RDBL" (read-blob) method
> for fw_cfg in AML, and call it from the guest-side kernel module,
> we'll never be able to make it use DMA on ACPI systems. The way
> fw_cfg_read_blob is written now, we could patch that in at some later
> point. So that's an argument in favor of *at most* wrapping
> acpi_os_acquire_mutex() around the current fw_cfg_read_blob, rather
> than including an acpi-specific version implemented on top of an
> AML call.
> 
> Thanks,
> --Gabriel

On balance, I think locking ACPI solves most problems so
if we just do that, I think what you did here is fine.

-- 
MST

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>
Cc: mark.rutland@arm.com, peter.maydell@linaro.org,
	matt@codeblueprint.co.uk, stefanha@gmail.com,
	qemu-devel@nongnu.org, eric@anholt.net, kraxel@redhat.com,
	linux-api@vger.kernel.org, agross@codeaurora.org,
	pawel.moll@arm.com, zajec5@gmail.com,
	rmk+kernel@arm.linux.org.uk, lersek@redhat.com,
	devicetree@vger.kernel.org, ehabkost@redhat.com, arnd@arndb.de,
	ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
	leif.lindholm@linaro.org, robh+dt@kernel.org,
	pbonzini@redhat.com, rth@twiddle.net, ard.biesheuvel@linaro.org,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	luto@amacapital.net, hanjun.guo@linaro.org, sudeep.holla@arm.com,
	imammedo@redhat.com, revol@free.fr
Subject: Re: [Qemu-devel] [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device
Date: Tue, 23 Feb 2016 16:14:46 +0200	[thread overview]
Message-ID: <20160223160555-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <20160223134700.GL16357@HEDWIG.INI.CMU.EDU>

On Tue, Feb 23, 2016 at 08:47:00AM -0500, Gabriel L. Somlo wrote:
> On Tue, Feb 23, 2016 at 07:07:36AM +0200, Michael S. Tsirkin wrote:
> > On Mon, Feb 22, 2016 at 03:26:23PM -0500, Gabriel L. Somlo wrote:
> > > On Mon, Feb 22, 2016 at 10:14:50PM +0200, Michael S. Tsirkin wrote:
> > > > On Sun, Feb 21, 2016 at 08:06:17AM -0500, Gabriel L. Somlo wrote:
> > > > > > > +static void fw_cfg_io_cleanup(void)
> > > > > > > +{
> > > > > > > +	if (fw_cfg_is_mmio) {
> > > > > > > +		iounmap(fw_cfg_dev_base);
> > > > > > > +		release_mem_region(fw_cfg_p_base, fw_cfg_p_size);
> > > > > > > +	} else {
> > > > > > > +		ioport_unmap(fw_cfg_dev_base);
> > > > > > > +		release_region(fw_cfg_p_base, fw_cfg_p_size);
> > > > > > > +	}
> > > > > > > +}
> > > > > > > +
> > > > > > > +/* arch-specific ctrl & data register offsets are not available in ACPI, DT */
> > > > > > 
> > > > > > So for all arches which support ACPI, I think this driver
> > > > > > should just rely on ACPI.
> > > > > 
> > > > > There was a discussion about that a few versions ago, and IIRC the
> > > > > conclusion was not to expect the firmware to contend for fw_cfg access
> > > > > after the guest kernel boots:
> > > > > 
> > > > > https://lkml.org/lkml/2015/10/5/283
> > > > > 
> > > > 
> > > > So it looks like NVDIMM at least wants to pass label data to guest -
> > > > for which fw cfg might be a reasonable choice.
> > > > 
> > > > I suspect things changed - fw cfg used to be very slow but we now have
> > > > DMA interface which makes it useful for a range of applications.
> > 
> > Comment on this? I'm really worried we'll release linux
> > without a way to access fw cfg from aml.
> > How about taking acpi lock around all accesses?
> 
> You mean something like this (haven't tried compiling it yet, so it
> might be a bit more complicated, but just for the purpose of this
> conversation):
> 
> diff --git a/drivers/firmware/qemu_fw_cfg.c
> b/drivers/firmware/qemu_fw_cfg.c
> index fedbff5..3462a2c 100644
> --- a/drivers/firmware/qemu_fw_cfg.c
> +++ b/drivers/firmware/qemu_fw_cfg.c
> @@ -77,12 +77,18 @@ static inline u16 fw_cfg_sel_endianness(u16 key)
>  static inline void fw_cfg_read_blob(u16 key,
>                                     void *buf, loff_t pos, size_t
> count)
>  {
> +#ifdef CONFIG_ACPI
> +       acpi_os_acquire_mutex(acpi_gbl_osi_mutex, ACPI_WAIT_FOREVER);
> +#endif
>         mutex_lock(&fw_cfg_dev_lock);
>         iowrite16(fw_cfg_sel_endianness(key), fw_cfg_reg_ctrl);
>         while (pos-- > 0)
>                 ioread8(fw_cfg_reg_data);
>         ioread8_rep(fw_cfg_reg_data, buf, count);
>         mutex_unlock(&fw_cfg_dev_lock);
> +#ifdef CONFIG_ACPI
> +       acpi_os_release_mutex(acpi_gbl_osi_mutex);
> +#endif
>  }
>  
>  /* clean up fw_cfg device i/o */

Fundamentally yes.

> I wouldn't particularly *mind* doing that, but I'd still like to hear
> from other QEMU devs on whether it's really necessary.

It seems like a prudent thing to do IMHO, before this
goes out to users.

> > > > > (I even had a prototype version doing what you suggested, but per the above
> > > > > reference decided to drop it -- which IMHO is for the better, since otherwise
> > > > > I'd have had to ifdef between ACPI and non-ACPI versions of the driver --
> > > > > see https://lkml.org/lkml/2015/11/4/534 )
> > > > 
> > > > I'm not sure why you have these ifdefs - they are on the host, are they
> > > > not?
> > > 
> > > Think of those as "pseudocode" ifdefs, they're there to distinguish
> > > between AML that would be generated on MMIO vs. IOPORT systems
> > > (specifically, arm vs. x86, respectively)
> > > 
> > > Some of the AML is the same, but obviously the _CRS, and
> > > OperationRegion + Field are different, and I wanted to point that out
> > > somehow :)
> > > 
> > > Cheers,
> > > --Gabriel
> > 
> > You can do ifs as well.
> 
> Yeah, but the AML is generated from arch-specific locations in QEMU,
> so we'd be doing MMIO-only from e.g. hw/arm/virt-acpi-build.c, and
> IOPORT-only from hw/i386/acpi-build.c, etc. I wouldnt need to write a
> generic AML blob with 'if' statements and insert it the same way on
> all architectures, or would I ? Not sure what the best practice would
> be for that :)

Just regular C, put common code in a common function.

> Speaking of AML, if we were to implement a "RDBL" (read-blob) method
> for fw_cfg in AML, and call it from the guest-side kernel module,
> we'll never be able to make it use DMA on ACPI systems. The way
> fw_cfg_read_blob is written now, we could patch that in at some later
> point. So that's an argument in favor of *at most* wrapping
> acpi_os_acquire_mutex() around the current fw_cfg_read_blob, rather
> than including an acpi-specific version implemented on top of an
> AML call.
> 
> Thanks,
> --Gabriel

On balance, I think locking ACPI solves most problems so
if we just do that, I think what you did here is fine.

-- 
MST

  reply	other threads:[~2016-02-23 14:14 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-28 14:23 [PATCH v8 0/4] SysFS driver for QEMU fw_cfg device Gabriel L. Somlo
2016-01-28 14:23 ` [Qemu-devel] " Gabriel L. Somlo
2016-01-28 14:23 ` [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's " Gabriel L. Somlo
2016-01-28 14:23   ` [Qemu-devel] " Gabriel L. Somlo
2016-02-21  8:30   ` Michael S. Tsirkin
2016-02-21  8:30     ` [Qemu-devel] " Michael S. Tsirkin
2016-02-21  8:30     ` Michael S. Tsirkin
2016-02-21 13:06     ` Gabriel L. Somlo
2016-02-21 13:06       ` [Qemu-devel] " Gabriel L. Somlo
2016-02-21 13:06       ` Gabriel L. Somlo
2016-02-21 13:10       ` Michael S. Tsirkin
2016-02-21 13:10         ` [Qemu-devel] " Michael S. Tsirkin
2016-02-21 13:10         ` Michael S. Tsirkin
2016-02-21 17:20         ` Gabriel L. Somlo
2016-02-21 17:20           ` [Qemu-devel] " Gabriel L. Somlo
2016-02-21 17:20           ` Gabriel L. Somlo
2016-02-21 13:14       ` Michael S. Tsirkin
2016-02-21 13:14         ` [Qemu-devel] " Michael S. Tsirkin
2016-02-21 13:14         ` Michael S. Tsirkin
2016-02-22 20:14       ` Michael S. Tsirkin
2016-02-22 20:14         ` [Qemu-devel] " Michael S. Tsirkin
2016-02-22 20:14         ` Michael S. Tsirkin
2016-02-22 20:26         ` Gabriel L. Somlo
2016-02-22 20:26           ` [Qemu-devel] " Gabriel L. Somlo
2016-02-22 20:26           ` Gabriel L. Somlo
2016-02-23  5:07           ` Michael S. Tsirkin
2016-02-23  5:07             ` [Qemu-devel] " Michael S. Tsirkin
2016-02-23  5:07             ` Michael S. Tsirkin
2016-02-23 13:47             ` Gabriel L. Somlo
2016-02-23 13:47               ` [Qemu-devel] " Gabriel L. Somlo
2016-02-23 13:47               ` Gabriel L. Somlo
2016-02-23 14:14               ` Michael S. Tsirkin [this message]
2016-02-23 14:14                 ` [Qemu-devel] " Michael S. Tsirkin
2016-02-23 14:14                 ` Michael S. Tsirkin
2016-02-24  0:03                 ` Gabriel L. Somlo
2016-02-24  0:03                   ` [Qemu-devel] " Gabriel L. Somlo
2016-02-24  0:03                   ` Gabriel L. Somlo
2016-01-28 14:23 ` [PATCH v8 2/4] kobject: export kset_find_obj() for module use Gabriel L. Somlo
2016-01-28 14:23   ` [Qemu-devel] " Gabriel L. Somlo
2016-02-07  7:24   ` Greg KH
2016-02-07  7:24     ` [Qemu-devel] " Greg KH
2016-02-07  7:24     ` Greg KH
2016-02-07 14:27     ` Gabriel L. Somlo
2016-02-07 14:27       ` [Qemu-devel] " Gabriel L. Somlo
2016-02-07 14:27       ` Gabriel L. Somlo
2016-01-28 14:23 ` [PATCH v8 3/4] firmware: create directory hierarchy for sysfs fw_cfg entries Gabriel L. Somlo
2016-01-28 14:23   ` [Qemu-devel] " Gabriel L. Somlo
2016-01-28 14:23   ` Gabriel L. Somlo
2016-01-28 14:23 ` [PATCH v8 4/4] devicetree: update documentation for fw_cfg ARM bindings Gabriel L. Somlo
2016-01-28 14:23   ` [Qemu-devel] " Gabriel L. Somlo
2016-01-28 14:23   ` Gabriel L. Somlo
2016-02-03 22:47 ` [PATCH v8 0/4] SysFS driver for QEMU fw_cfg device Matt Fleming
2016-02-03 22:47   ` [Qemu-devel] " Matt Fleming
2016-02-03 22:47   ` Matt Fleming
2016-02-10  1:38   ` Greg KH
2016-02-10  1:38     ` [Qemu-devel] " Greg KH
2016-02-10  1:38     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160223160555-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=agross@codeaurora.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=ehabkost@redhat.com \
    --cc=eric@anholt.net \
    --cc=galak@codeaurora.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hanjun.guo@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=leif.lindholm@linaro.org \
    --cc=lersek@redhat.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mark.rutland@arm.com \
    --cc=matt@codeblueprint.co.uk \
    --cc=pawel.moll@arm.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=ralf@linux-mips.org \
    --cc=revol@free.fr \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=robh+dt@kernel.org \
    --cc=rth@twiddle.net \
    --cc=somlo@cmu.edu \
    --cc=stefanha@gmail.com \
    --cc=sudeep.holla@arm.com \
    --cc=zajec5@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.