Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751848AbdIALvd (ORCPT ); Fri, 1 Sep 2017 07:51:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46530 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751499AbdIALvb (ORCPT ); Fri, 1 Sep 2017 07:51:31 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com DC939883D2 Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=imammedo@redhat.com Date: Fri, 1 Sep 2017 13:51:21 +0200 From: Igor Mammedov To: gengdongjiu Cc: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [Qemu-devel] [PATCH v11 2/6] ACPI: Add APEI GHES Table Generation support Message-ID: <20170901135121.57ca6a04@nial.brq.redhat.com> In-Reply-To: References: <1503066227-18251-1-git-send-email-gengdongjiu@huawei.com> <1503066227-18251-3-git-send-email-gengdongjiu@huawei.com> <20170829122053.36cf550c@nial.brq.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 01 Sep 2017 11:51:31 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2004 Lines: 49 On Fri, 1 Sep 2017 17:58:55 +0800 gengdongjiu wrote: > Hi Igor, > > On 2017/8/29 18:20, Igor Mammedov wrote: > > On Fri, 18 Aug 2017 22:23:43 +0800 > > Dongjiu Geng wrote: [...] > > > >> +void ghes_build_acpi(GArray *table_data, GArray *hardware_error, > >> + BIOSLinker *linker) > >> +{ > >> + uint32_t ghes_start = table_data->len; > >> + uint32_t address_size, error_status_address_offset; > >> + uint32_t read_ack_register_offset, i; > >> + > >> + address_size = sizeof(struct AcpiGenericAddress) - > >> + offsetof(struct AcpiGenericAddress, address); > > it's confusing name for var, > > AcpiGenericAddress::address is fixed unsigned 64 bit integer per spec > > also, I'm not sure why it's needed at all. > it is because other people have concern about where does the "unsigned 64 bit integer" > come from, they are confused about the "unsigned 64 bit integer" > so they suggested use sizeof. anyway I will directly use unsigned 64 bit integer. Maybe properly named macro instead of sizeof(foo) would do the job [...] > >> + > >> + /* Build error status address*/ > >> + build_address(table_data, linker, error_status_address_offset + i * > >> + sizeof(AcpiGenericHardwareErrorSourceV2), i * address_size, > >> + AML_SYSTEM_MEMORY, 0x40, 0, 4 /* QWord access */); > > just do something like this instead of build_address(): > > build_append_gas() > > bios_linker_loader_add_pointer() > Thanks for the suggestion. > > > > > also register width 0x40 looks suspicious, where does it come from? > > While at it do you have a real hardware which has HEST table that you re trying to model after? > > I'd like to see HEST and other related tables from it. > > Igor, what is your suspicious point? The register width 0x40 come from our host BIOS record to the System Memory space. maybe s/0x40/ERROR_STATUS_BLOCK_POINTER_SIZE/ [...]