Linux: Add stub implementation of ACPICA 64-bit mathematics.

This patch adds default 64-bit mathematics in aclinux.h using do_div(). As
do_div() can be used for all Linux architectures, this can also be used as
stub macros for ACPICA 64-bit mathematics.

But this is not a performance friendly way, as ACPICA's architecture
specific division OSL only requires a dividing 64-bit number with a 32-bit
number implementation, while Linux __div64_32() is not available for all
build environments. So currently, if an architecture really wants to
support ACPICA, it must implement its own division OSL.

This is required by the ACPICA header stub support. ACPICA header stubs are
useful to protect CONFIG_ACPI=n Linux kernel builds where ACPICA headers
are included. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Linux: Add support to exclude <asm/acenv.h> inclusion.

The forthcoming patch will make <acpi/acpi.h> to be visible to all kernel
source code. Thus for the architectures that do not support ACPI and
haven't implemented <asm/acenv.h>, we need to make it excluded. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Linux: Add support to force header inclusion rules for <acpi/acpi.h>.

As there is only CONFIG_ACPI=n processing in the <linux/acpi.h>, it is not
safe to include <acpi/acpi.h> directly for source out of Linux ACPI
subsystems.

This patch adds error messaging to warn developers of such wrong
inclusions. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Executer: Fix a link error for 64-bit division in the Debug object timestamp generation.

ACPICA should not use 64-bit division directly. This triggers the following
build error on Linux i386 kernel builds:
  drivers/built-in.o: In function `acpi_ex_do_debug_object':
  (.text+0x4e1a4): undefined reference to `__udivdi3'

This is introduced by the following commit:
  Commit: a4060d7fcfffff15a3e1d3aee7ccfd5cf00b50a0
  Subject: Debug object: Add current value of Timer() to debug line prefix.

Since the following 2 statements are equivalent as 0x03FFFFFF masking
keeps lower bits of num/12, and num/10 should have contained all valid bits
for 0x03FFFFFF masking no matter whether num is 32-bit or 64-bit:
 (UINT32) (num64 / 10) & 0x03FFFFFF;
 ((UINT32) num64 / 10) & 0x03FFFFFF;
This patch fixes this using the latter form statement to avoid 64-bit
division. Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Merge pull request #45 from zetalog/acpica-1407

Acpica 1407