RE: [PATCH v2 07/18] x86, acpi: Also initialize signature and length when parsing root table.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: linux-acpi-owner@xxxxxxxxxxxxxxx
> Sent: Friday, August 02, 2013 8:11 AM
> 
> On Thu, 2013-08-01 at 15:06 +0800, Tang Chen wrote:
> > Besides the phys addr of the acpi tables, it will be very convenient if
> > we also have the signature of each table in acpi_gbl_root_table_list at
> > early time. We can find SRAT easily by comparing the signature.
> >
> > This patch alse record signature and some other info in
> > acpi_gbl_root_table_list at early time.

If you have addressed my comments against PATCH 05, you needn't this patch at all.

Thanks and best regards
-Lv

> >
> > Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx>
> > Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx>
> > ---
> >  drivers/acpi/acpica/tbutils.c |   22 ++++++++++++++++++++++
> >  1 files changed, 22 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
> 
> Same as patch 5/18.  Please change the title to "x86, ACPICA:".
> Added
> Bob.
> 
> Thanks,
> -Toshi
> 
> 
> > index 9d68ffc..5d31887 100644
> > --- a/drivers/acpi/acpica/tbutils.c
> > +++ b/drivers/acpi/acpica/tbutils.c
> > @@ -627,6 +627,7 @@
> acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
> >  	u32 i;
> >  	u32 table_count;
> >  	struct acpi_table_header *table;
> > +	struct acpi_table_desc *table_desc;
> >  	acpi_physical_address address;
> >  	acpi_physical_address uninitialized_var(rsdt_address);
> >  	u32 length;
> > @@ -766,6 +767,27 @@
> acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
> >  	 */
> >  	acpi_os_unmap_memory(table, length);
> >
> > +	/*
> > +	 * Also initialize the table entries here, so that later we can use
> them
> > +	 * to find SRAT at very eraly time to reserve hotpluggable memory.
> > +	 */
> > +	for (i = 2; i < acpi_gbl_root_table_list.current_table_count; i++) {
> > +		table = acpi_os_map_memory(
> > +				acpi_gbl_root_table_list.tables[i].address,
> > +				sizeof(struct acpi_table_header));
> > +		if (!table)
> > +			return_ACPI_STATUS(AE_NO_MEMORY);
> > +
> > +		table_desc = &acpi_gbl_root_table_list.tables[i];
> > +
> > +		table_desc->pointer = NULL;
> > +		table_desc->length = table->length;
> > +		table_desc->flags = ACPI_TABLE_ORIGIN_MAPPED;
> > +		ACPI_MOVE_32_TO_32(table_desc->signature.ascii,
> table->signature);
> > +
> > +		acpi_os_unmap_memory(table, sizeof(struct
> acpi_table_header));
> > +	}
> > +
> >  	return_ACPI_STATUS(AE_OK);
> >  }
> >
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
��.n������g����a����&ޖ)���)��h���&������梷�����Ǟ�m������)������^�����������v���O��zf������





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]