From: gengdongjiu@huawei.com (gengdongjiu)
To: linux-arm-kernel@lists.infradead.org
Subject: [Qemu-devel] [PATCH v3 1/4] ACPI: Add APEI GHES Table Generation support
Date: Fri, 7 Jul 2017 16:32:09 +0800 [thread overview]
Message-ID: <dbbab7f6-18c4-9b6c-799e-8267797a31bd@huawei.com> (raw)
In-Reply-To: <e90c5fb8-e68b-a620-9023-f4fcfdd68e97@redhat.com>
Hi Laszlo,
sorry for my late response.
On 2017/6/3 20:01, Laszlo Ersek wrote:
> On 05/22/17 16:23, Laszlo Ersek wrote:
>> Keeping some context:
>>
>> On 05/12/17 23:00, Laszlo Ersek wrote:
>>> On 04/30/17 07:35, Dongjiu Geng wrote:
>
>> (68) In the code below, you are not taking an "OVMF header probe
>> suppressor" into account.
>>
>> But, we have already planned to replace that quirk with a separate,
>> dedicated allocation hint or command, so I'm not going to describe what
>> an "OVMF header probe suppressor" is; instead, I'll describe the
>> replacement for it.
>>
>> [...]
>
> So, the NOACPI allocation hint is a no-go at the moment, based on the
> discussion in the following threads:
>
> http://mid.mail-archive.com/20170601112241.2580-1-ard.biesheuvel at linaro.org
>
> http://mid.mail-archive.com/c76b36de-ebf9-c662-d454-0a95b43901e8 at redhat.com
>
> Therefore the header probe suppression remains necessary.
>
> In this case, it is not hard to do, you just have to reorder the
> following two ADD_POINTER additions a bit:
Ok, it is no problem.
>
>>>> +
>>>> + bios_linker_loader_add_pointer(linker, GHES_ERRORS_FW_CFG_FILE,
>>>> + sizeof(uint64_t) * i, sizeof(uint64_t),
>>>> + GHES_ERRORS_FW_CFG_FILE,
>>>> + MAX_ERROR_SOURCE_COUNT_V6 * sizeof(uint64_t) +
>>>> + i * MAX_RAW_DATA_LENGTH);
>
> This one should be moved out to a separate loop, after the current loop.
>
>>>> + bios_linker_loader_add_pointer(linker, ACPI_BUILD_TABLE_FILE,
>>>> + address_registers_offset
>>>> + + i * sizeof(AcpiGenericHardwareErrorSource),
>>>> + sizeof(uint32_t), GHES_ERRORS_FW_CFG_FILE,
>>>> + i * sizeof(uint64_t));
>
> This one should be kept in the first (i.e., current) loop.
>
> The idea is, when you first point the HEST/GHES_n entries in
> ACPI_BUILD_TABLE_FILE to the "address registers" in
> GHES_ERRORS_FW_CFG_FILE, all those address registers will still be
> zero-filled. This will fail the ACPI table header probe in
> OvmfPkg/AcpiPlatformDxe, which is what we want.
>
> After this is done, the address registers in GHES_ERRORS_FW_CFG_FILE
> should be pointed to the error status data blocks in the same fw_cfg
> blob, in a separate loop. (Those error status data blocks will again be
> zero-filled, so no ACPI table headers will be mistakenly recognized in
> them.)
I understand your idear. but I have a question:
how about we exchange the two function's place, such as shown below:
then it still meets ours needs, the change is easy.
For every loop:
(1)when patch address in ACPI_BUILD_TABLE_FILE to the "address registers", the address register is zero-filed.
(2)when patch address in GHES_ERRORS_FW_CFG_FILE to the error status data blocks, the error status data block is still zero-filed.
for (i = 0; i < GHES_ACPI_HEST_NOTIFY_RESERVED; i++) {
.....................................
bios_linker_loader_add_pointer(linker, ACPI_BUILD_TABLE_FILE,
address_registers_offset
+ i * sizeof(AcpiGenericHardwareErrorSource),
sizeof(uint32_t), GHES_ERRORS_FW_CFG_FILE,
i * sizeof(uint64_t));
bios_linker_loader_add_pointer(linker, GHES_ERRORS_FW_CFG_FILE,
sizeof(uint64_t) * i, sizeof(uint64_t),
GHES_ERRORS_FW_CFG_FILE,
MAX_ERROR_SOURCE_COUNT_V6 * sizeof(uint64_t) +
i * MAX_RAW_DATA_LENGTH);
.........................................
}
thanks
>
> Thanks
> Laszlo
>
>
> .
>
next prev parent reply other threads:[~2017-07-07 8:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-30 5:35 [PATCH v3 1/4] ACPI: Add APEI GHES Table Generation support Dongjiu Geng
2017-04-30 5:35 ` [PATCH v3 2/4] target-arm: kvm64: detect guest RAS EXTENSION feature Dongjiu Geng
2017-04-30 5:35 ` [PATCH v3 3/4] target-arm: kvm64: handle SIGBUS signal for synchronous External Abort Dongjiu Geng
2017-04-30 5:35 ` [PATCH v3 4/4] target-arm: kvm64: handle SError interrupt for RAS extension Dongjiu Geng
2017-05-12 21:00 ` [Qemu-devel] [PATCH v3 1/4] ACPI: Add APEI GHES Table Generation support Laszlo Ersek
2017-05-20 5:35 ` gengdongjiu
2017-05-22 14:23 ` Laszlo Ersek
2017-06-03 12:01 ` Laszlo Ersek
2017-06-24 14:20 ` gengdongjiu
2017-07-07 8:32 ` gengdongjiu [this message]
2017-07-07 9:43 ` Laszlo Ersek
2017-07-09 3:41 ` gengdongjiu
2017-05-12 23:59 ` Michael S. Tsirkin
2017-05-20 5:47 ` gengdongjiu
[not found] <0184EA26B2509940AA629AE1405DD7F2014105CD@DGGEMA503-MBS.china.huawei.com>
2017-05-29 16:03 ` [Qemu-devel] " Laszlo Ersek
2017-05-31 2:13 ` gengdongjiu
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=dbbab7f6-18c4-9b6c-799e-8267797a31bd@huawei.com \
--to=gengdongjiu@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 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).