[v2,8/8] nvdimm docs: add nvdimm Read FIT function
diff mbox

Message ID 1470984850-66891-9-git-send-email-guangrong.xiao@linux.intel.com
State New
Headers show

Commit Message

Xiao Guangrong Aug. 12, 2016, 6:54 a.m. UTC
Add the specification of Read FIT function

Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
---
 docs/specs/acpi_nvdimm.txt | 38 +++++++++++++++++++++++++++++++++++---
 1 file changed, 35 insertions(+), 3 deletions(-)

Comments

Igor Mammedov Sept. 30, 2016, 2:03 p.m. UTC | #1
On Fri, 12 Aug 2016 14:54:10 +0800
Xiao Guangrong <guangrong.xiao@linux.intel.com> wrote:

> Add the specification of Read FIT function
should be squashed into 3/8

> 
> Signed-off-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
> ---
>  docs/specs/acpi_nvdimm.txt | 38 +++++++++++++++++++++++++++++++++++---
>  1 file changed, 35 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/specs/acpi_nvdimm.txt b/docs/specs/acpi_nvdimm.txt
> index 0fdd251..1a31b19 100644
> --- a/docs/specs/acpi_nvdimm.txt
> +++ b/docs/specs/acpi_nvdimm.txt
> @@ -127,6 +127,38 @@ _DSM process diagram:
>   | result from the page     |      |              |
>   +--------------------------+      +--------------+
>  
> - _FIT implementation
> - -------------------
> - TODO (will fill it when nvdimm hotplug is introduced)
> + QEMU internal use only _DSM function
> + ------------------------------------
> + There is the function introduced by QEMU and only used by QEMU internal.
> +
> + 1) Read FIT
> + As we only reserved one page for NVDIMM ACPI it is impossible to map the
> + whole FIT data to guest's address space. This function is for NVDIMM root
> + device and is used by _FIT method to read a piece of FIT data from QEMU.
> +
> + Input parameters:
> + Arg0 – UUID {set to 2f10e7a4-9e91-11e4-89d3-123b93f75cba}
> + Arg1 – Revision ID (set to 1)
> + Arg2 - 0xFFFFFFFF
> + Arg3 - A package containing a buffer whose layout is as follows:
> +
> + +----------+-------------+-------------+-----------------------------------+
> + |  Filed   | Byte Length | Byte Offset | Description                       |
> + +----------+-------------+-------------+-----------------------------------+
> + | offset   | 4           | 0           | the offset of FIT buffer          |
> + +----------+-------------+-------------+-----------------------------------+
> +
> + Output:
> + +----------+-------------+-------------+-----------------------------------+
> + |  Filed   | Byte Length | Byte Offset | Description                       |
> + +----------+-------------+-------------+-----------------------------------+
> + | status   | 4           | 0           | return status codes following     |
> + |          |             |             | Chapter 3 in DSM Spec Rev1        |
> + +----------+-------------+-------------+-----------------------------------+
> + | fit data | Varies      | 8           | FIT data                          |
> + |          |             |             |                                   |
> + +----------+-------------+-------------+-----------------------------------+
> +
> + The FIT offset is maintained by the caller itself, current offset plugs
> + the length returned by the function is the next offset we should read.
> + When all the FIT data has been read out, zero length is returned.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Xiao Guangrong Oct. 8, 2016, 7:18 a.m. UTC | #2
On 09/30/2016 10:03 PM, Igor Mammedov wrote:
> On Fri, 12 Aug 2016 14:54:10 +0800
> Xiao Guangrong <guangrong.xiao@linux.intel.com> wrote:
>
>> Add the specification of Read FIT function
> should be squashed into 3/8

Okay.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/docs/specs/acpi_nvdimm.txt b/docs/specs/acpi_nvdimm.txt
index 0fdd251..1a31b19 100644
--- a/docs/specs/acpi_nvdimm.txt
+++ b/docs/specs/acpi_nvdimm.txt
@@ -127,6 +127,38 @@  _DSM process diagram:
  | result from the page     |      |              |
  +--------------------------+      +--------------+
 
- _FIT implementation
- -------------------
- TODO (will fill it when nvdimm hotplug is introduced)
+ QEMU internal use only _DSM function
+ ------------------------------------
+ There is the function introduced by QEMU and only used by QEMU internal.
+
+ 1) Read FIT
+ As we only reserved one page for NVDIMM ACPI it is impossible to map the
+ whole FIT data to guest's address space. This function is for NVDIMM root
+ device and is used by _FIT method to read a piece of FIT data from QEMU.
+
+ Input parameters:
+ Arg0 – UUID {set to 2f10e7a4-9e91-11e4-89d3-123b93f75cba}
+ Arg1 – Revision ID (set to 1)
+ Arg2 - 0xFFFFFFFF
+ Arg3 - A package containing a buffer whose layout is as follows:
+
+ +----------+-------------+-------------+-----------------------------------+
+ |  Filed   | Byte Length | Byte Offset | Description                       |
+ +----------+-------------+-------------+-----------------------------------+
+ | offset   | 4           | 0           | the offset of FIT buffer          |
+ +----------+-------------+-------------+-----------------------------------+
+
+ Output:
+ +----------+-------------+-------------+-----------------------------------+
+ |  Filed   | Byte Length | Byte Offset | Description                       |
+ +----------+-------------+-------------+-----------------------------------+
+ | status   | 4           | 0           | return status codes following     |
+ |          |             |             | Chapter 3 in DSM Spec Rev1        |
+ +----------+-------------+-------------+-----------------------------------+
+ | fit data | Varies      | 8           | FIT data                          |
+ |          |             |             |                                   |
+ +----------+-------------+-------------+-----------------------------------+
+
+ The FIT offset is maintained by the caller itself, current offset plugs
+ the length returned by the function is the next offset we should read.
+ When all the FIT data has been read out, zero length is returned.