x86, NUMA: Enable emulation on 32bit too
authorTejun Heo <tj@kernel.org>
Mon, 2 May 2011 15:24:48 +0000 (17:24 +0200)
committerTejun Heo <tj@kernel.org>
Mon, 2 May 2011 15:24:48 +0000 (17:24 +0200)
commit1b7e03ef7570568d2fb9e6640d7006a0edd728f6
treeb973610ee8a1c6af939be90656b7c4c73ace4c03
parent2706a0bf7b02693ed88752df877f10c2206292ff
x86, NUMA: Enable emulation on 32bit too

Now that NUMA init path is unified, NUMA emulation can be enabled on
32bit.  Make numa_emluation.c safe on 32bit by doing the followings.

* Define MAX_DMA32_PFN on 32bit too.

* Include bootmem.h for max_pfn declaration.

* Use u64 explicitly and always use PFN_PHYS() when converting page
  number to address.

* Avoid __udivdi3() generation on 32bit by doing number of pages
  calculation instead in split_nodes_interleave().

And drop X86_64 dependency from Kconfig.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
arch/x86/Kconfig
arch/x86/include/asm/dma.h
arch/x86/mm/numa_emulation.c