Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 20 Oct 2008 20:21:24 +0000 (13:21 -0700)]
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  m32r: fix build due to notify_cpu_starting() change
  powerpc: fix linux-next build failure

1  2 
arch/powerpc/include/asm/page.h

   * 2 of the License, or (at your option) any later version.
   */
  
+ #ifndef __ASSEMBLY__
+ #include <linux/types.h>
+ #else
+ #include <asm/types.h>
+ #endif
  #include <asm/asm-compat.h>
  #include <asm/kdump.h>
- #include <asm/types.h>
  
  /*
   * On PPC32 page size is 4K. For PPC64 we support either 4K or 64K software
  #define PAGE_OFFSET   ASM_CONST(CONFIG_PAGE_OFFSET)
  #define LOAD_OFFSET   ASM_CONST((CONFIG_KERNEL_START-CONFIG_PHYSICAL_START))
  
 -#if defined(CONFIG_RELOCATABLE) && defined(CONFIG_FLATMEM)
 +#if defined(CONFIG_RELOCATABLE)
  #ifndef __ASSEMBLY__
  extern phys_addr_t memstart_addr;
  extern phys_addr_t kernstart_addr;
  #endif
  #define PHYSICAL_START        kernstart_addr
 -#define MEMORY_START  memstart_addr
  #else
  #define PHYSICAL_START        ASM_CONST(CONFIG_PHYSICAL_START)
 +#endif
 +
 +#ifdef CONFIG_PPC64
 +#define MEMORY_START  0UL
 +#elif defined(CONFIG_RELOCATABLE)
 +#define MEMORY_START  memstart_addr
 +#else
  #define MEMORY_START  (PHYSICAL_START + PAGE_OFFSET - KERNELBASE)
  #endif
  
  #define pfn_to_kaddr(pfn)     __va((pfn) << PAGE_SHIFT)
  #define virt_addr_valid(kaddr)        pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
  
 -#define __va(x) ((void *)((unsigned long)(x) - PHYSICAL_START + KERNELBASE))
 -#define __pa(x) ((unsigned long)(x) + PHYSICAL_START - KERNELBASE)
 +#define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - MEMORY_START))
 +#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET + MEMORY_START)
  
  /*
   * Unfortunately the PLT is in the BSS in the PPC32 ELF ABI,