RE: [PATCH 2/2] ACPICA: acpidump: Remove translation protection on integer types.

From: Zheng, Lv
Date: Mon Feb 17 2014 - 19:58:00 EST


Hi, Tony

> From: Luck, Tony
> Sent: Friday, February 14, 2014 7:35 AM
>
> > All definitions are equal except ACPI_UINT64_MAX for CONFIG_IA64. It
> > is changed from sizeof(unsigned long) to sizeof(unsigned long long).
> > By investigation, 64bit Linux kernel build is LP64 compliant, i.e.,
> > sizeof(long) and (pointer) are 64. As sizeof(unsigned long) equals to
> > sizeof(unsigned long long) on IA64 platform where CONFIG_64BIT cannot be
> > disabled, this change actually will not affect the value of
> > ACPI_UINT64_MAX on IA64 platforms.
>
> This all looks correct to me - it really shouldn't make any difference
> to ia64 whether we use "long" or "long long" ... both are 8-byte entities.
> The compiler would complain in some places if you mixed & matched
> incorrectly (e.g. printk("val = %ld\n", val); will give a warning if val has
> been switched from "long" to "long long" and the format would need
> to change to "%lld"). But it looks like nothing like that happens as a
> result of this patch. All my ia64 configs build with no new warnings.
>
> Boots OK too.

It looked scary to me that without applying this patch, Linux ACPICA was using the u64 defined by Linux but defining ACPI_UINT64_MAX to the value that could be different from sizeof(u64).
This patch can make them converged. I was worrying about the regressions that could be triggered by this fix if there was something already dependent on this divergence.
Great to hear that there is no such dependency. :-)

Thanks and best regards
-Lv

>
> -Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/