summaryrefslogtreecommitdiff
path: root/drivers/acpi/acpica/uthex.c
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2017-08-03 09:26:50 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-08-04 00:34:16 +0300
commit65082bfcb486ef06f93b7603a9045cdf0c0022e8 (patch)
tree7f2f718062d6c0131afd1e7a58bdefa8860fecd5 /drivers/acpi/acpica/uthex.c
parentd5f23fe192b5b549a85e98ee9f0a3b8a0f9c04c3 (diff)
downloadlinux-65082bfcb486ef06f93b7603a9045cdf0c0022e8.tar.xz
ACPICA: CLib: Add short multiply/shift support
ACPICA commit 01b8f5a2350b9cc329cd8402ac8faec36fc501f5 In order to build ACPICA EFI tools with EDK-II on Windows, 64-bit multiply/shift supports are also required to be implemented. Otherwise, MSVC complains: acpidump.lib(utstrtoul64.obj) : error LNK2001: unresolved external symbol __allmul acpidump.lib(uthex.obj) : error LNK2001: unresolved external symbol __aullshr Note: 1. This patch also splits _EDK2_EFI from _GNU_EFI as they might have different math64 supports. 2. Support of gcc math64 is not included in this patch. 3. Support of EDK2 arch independent math64 is done via linking to base_lib. This patch fixes this issue. Reported by Shao Ming, fixed by Lv Zheng. For Linux kernel, this patch is a functional no-op. Link: https://github.com/acpica/acpica/commit/01b8f5a2 Tested-by: "Shao, Ming" <smbest163@163.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/uthex.c')
-rw-r--r--drivers/acpi/acpica/uthex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/uthex.c b/drivers/acpi/acpica/uthex.c
index 6600bc257516..fb406daf47fa 100644
--- a/drivers/acpi/acpica/uthex.c
+++ b/drivers/acpi/acpica/uthex.c
@@ -69,8 +69,10 @@ static const char acpi_gbl_hex_to_ascii[] = {
char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
{
+ u64 index;
- return (acpi_gbl_hex_to_ascii[(integer >> position) & 0xF]);
+ acpi_ut_short_shift_right(integer, position, &index);
+ return (acpi_gbl_hex_to_ascii[index & 0xF]);
}
/*******************************************************************************