Re: [Qemu-devel] [PATCH v18 2/6] docs: APEI GHES generation and CPER record description

2019-10-08 Thread Xiang Zheng
Hi Igor,

Thanks for your review!

On 2019/10/4 16:20, Igor Mammedov wrote:
> On Fri, 6 Sep 2019 16:31:48 +0800
> Xiang Zheng  wrote:
> 
>> From: Dongjiu Geng 
>>
> [...]
>> +
>> +(9) When QEMU gets SIGBUS from the kernel, QEMU formats the CPER right into
>> +guest memory, and then injects whatever interrupt (or assert whatever 
>> GPIO
> s/whatever .../platform specific/
> 
> and add concrete impl info like:
>   "in case of arm/virt machine it's ..."

OK, I will add the concrete impl info.

> 
>> +line) as a notification which is necessary for notifying the guest.
> [...]
> 
> .
> 

-- 

Thanks,
Xiang




Re: [Qemu-devel] [PATCH v18 2/6] docs: APEI GHES generation and CPER record description

2019-10-04 Thread Igor Mammedov
On Fri, 6 Sep 2019 16:31:48 +0800
Xiang Zheng  wrote:

> From: Dongjiu Geng 
> 
[...]
> +
> +(9) When QEMU gets SIGBUS from the kernel, QEMU formats the CPER right into
> +guest memory, and then injects whatever interrupt (or assert whatever 
> GPIO
s/whatever .../platform specific/

and add concrete impl info like:
  "in case of arm/virt machine it's ..."

> +line) as a notification which is necessary for notifying the guest.
[...]



Re: [Qemu-devel] [PATCH v18 2/6] docs: APEI GHES generation and CPER record description

2019-09-19 Thread Peter Maydell
On Fri, 6 Sep 2019 at 09:33, Xiang Zheng  wrote:
>
> From: Dongjiu Geng 
>
> Add APEI/GHES detailed design document
>
> Signed-off-by: Dongjiu Geng 
> Signed-off-by: Xiang Zheng 
> ---
>  docs/specs/acpi_hest_ghes.txt | 88 +++
>  1 file changed, 88 insertions(+)
>  create mode 100644 docs/specs/acpi_hest_ghes.txt

Hi; new documentation in docs/specs should be in rst format and
listed in the contents page for the manual at docs/specs/index.rst,
please. Conversion from plain text should hopefully be fairly
straightforward.


I've also provided some minor typo/grammar fixes below.


> diff --git a/docs/specs/acpi_hest_ghes.txt b/docs/specs/acpi_hest_ghes.txt
> new file mode 100644
> index 00..690d4b2bd0
> --- /dev/null
> +++ b/docs/specs/acpi_hest_ghes.txt
> @@ -0,0 +1,88 @@
> +APEI tables generating and CPER record
> +=
> +
> +Copyright (C) 2019 Huawei Corporation.
> +
> +Design Details:
> +---
> +
> +   etc/acpi/tables etc/hardware_errors
> +  
> ==
> ++ +--++---+
> +| | HEST ||address|  
>   +--+
> +| +--+|registers  |  
>   | Error Status |
> +| | GHES1|| +-+  
>   | Data Block 1 |
> +| +--+ +->| |error_block_address1 
> |--->| ++
> +| | .| |  | +-+  
>   | |  CPER  |
> +| | error_status_address-+-+ +--->| |error_block_address2 |+ 
>   | |  CPER  |
> +| | .|   || +-+| 
>   | |    |
> +| | read_ack_register+-+ || |..   || 
>   | |  CPER  |
> +| | read_ack_preserve| | |+---+| 
>   | ++
> +| | read_ack_write   | | | +->| |error_block_addressN |--+ | 
>   | Error Status |
> ++ +--+ | | |  | +-+  | | 
>   | Data Block 2 |
> +| | GHES2| +-+-+->| |read_ack_register1   |  | 
> +-->| ++
> ++ +--+   | |  | +-+  |   
>   | |  CPER  |
> +| | .|   | | +--->| |read_ack_register2   |  |   
>   | |  CPER  |
> +| | error_status_address-+---+ | || +-+  |   
>   | |    |
> +| | .| | || |  .  |  |   
>   | |  CPER  |
> +| | read_ack_register+-+-+| +-+  |   
>   +-++
> +| | read_ack_preserve| |   +->| |read_ack_registerN   |  |   
>   | |..  |
> +| | read_ack_write   | |   |  | +-+  |   
>   | ++
> ++ +--| |   | |   
>   | Error Status |
> +| | ...  | |   | |   
>   | Data Block N |
> ++ +--+ |   | 
> +>| ++
> +| | GHESN| |   | 
>   | |  CPER  |
> ++ +--+ |   | 
>   | |  CPER  |
> +| | .| |   | 
>   | |    |
> +| | error_status_address-+-+   | 
>   | |  CPER  |
> +| | .| | 
>   +-++
> +| | read_ack_register+-+
> +| | read_ack_preserve|
> +| | read_ack_write   |
> ++ +--+
> +
> +(1) QEMU generates the ACPI HEST table. This table goes in the current
> +"etc/acpi/tables" fw_cfg blob. Each error source has different
> +notification types.
> +
> +(2) A new fw_cfg blob called "etc/hardware_errors" is introduced. QEMU
> +also need to populate this blob. The "etc/hardwre_errors" fw_cfg blob

"needs". "hardware_errors".

> +contains an address registers table and an Error Status Data Block table.
> +
> +(3) The address registers table contains N Error Block Address entries
> +and N Read Ack Register entries, the size for each entry is 8-byte.

". The size".

> +The Error Status Data Block table contains N Error Status Data Block
> +entries, the size for each entry is 4096(0x1000) bytes. The total size


". The size"

> +for "etc/hardware_errors" fw_cfg blob is (N * 8 * 2 + N * 4096) bytes.

"f