1. 26 10月, 2005 7 次提交
  2. 24 10月, 2005 6 次提交
  3. 23 10月, 2005 3 次提交
    • P
      powerpc: Make coff boot wrapper load the kernel at 8M · 85e568ea
      Paul Mackerras 提交于
      Previously it claimed 7MB starting at the 9M point and loaded the
      kernel there.  That meant that prom_init put the flattened device
      tree above 16M.  On the 601 that caused the early device tree scan
      to fail, since only 16MB are mapped with BATs on the 601.  Moving
      this down to 8MB allows prom_init to put the flattened device tree
      between 15M and 16M, so it works on the 601.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      85e568ea
    • P
      powerpc: Run on old powermacs. · a575b807
      Paul Mackerras 提交于
      Old powermacs have a number of differences from current machines:
      - there is no interrupt tree in the device tree, just interrupt
        or AAPL,interrupt properties
      - the chosen node in the device tree is called /chosen@0
      - the OF claim method doesn't map the memory, so we have to do
        an explicit map call as well
      - there is no /chosen/cpu property on SMP machines
      - the NVRAM isn't structured as a set of partitions.
      
      This adapts the merged powermac support code to cope with these
      issues.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a575b807
    • P
      powerpc: Fix time code for 601 processors · 96c44507
      Paul Mackerras 提交于
      The 601 doesn't have the timebase register; instead it has an RTCL
      register that counts nanoseconds and wraps at 1000000000, and an
      RTCU register that counts seconds.  This makes the necessary changes
      for the merged time code to use the RTCL/U registers when the kernel
      is running on a 601.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      96c44507
  4. 22 10月, 2005 21 次提交
  5. 21 10月, 2005 3 次提交
    • M
      [PATCH] powerpc: Fix mmap returning 64 bit addresses · 05d84681
      Michael Ellerman 提交于
      The merge of syscalls.c & sys_ppc32.c (30286ef6)
      broke mmap, if the mmap returned a 64 bit address.
      
      do_mmap2 was taking the return value from do_mmap_pgoff (an unsigned long), and
      storing it in an int, before returning it to sys_mmap as an unsigned long. So
      we were losing the high bits of the address.
      
      You would have thought the compiler could catch this for us ...
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      05d84681
    • M
      [PATCH] powerpc: Don't blow away load_addr in start_thread · 90eac727
      Michael Ellerman 提交于
      The patch to make process.c work for 32-bit and 64-bit
      (06d67d54) broke some 64-bit binaries.
      We were blowing away load_addr in gpr[2], so we weren't properly relocating
      the entry point.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      90eac727
    • D
      [PATCH] powerpc: Merge thread_info.h · 6cb7bfeb
      David Gibson 提交于
      Merge ppc32 and ppc64 versions of thread_info.h.  They were pretty
      similar already, the chief changes are:
      
      	- Instead of inline asm to implement current_thread_info(),
      which needs to be different for ppc32 and ppc64, we use C with an
      asm("r1") register variable.  gcc turns it into the same asm as we
      used to have for both platforms.
      	- We replace ppc32's 'local_flags' with the ppc64
      'syscall_noerror' field.  The noerror flag was in fact the only thing
      in the local_flags field anyway, so the ppc64 approach is simpler, and
      means we only need a load-immediate/store instead of load/mask/store
      when clearing the flag.
      	- In readiness for 64k pages, when THREAD_SIZE will be less
      than a page, ppc64 used kmalloc() rather than get_free_pages() to
      allocate the kernel stack.  With this patch we do the same for ppc32,
      since there's no strong reason not to.
      	- For ppc64, we no longer export THREAD_SHIFT and THREAD_SIZE
      via asm-offsets, thread_info.h can now be safely included in asm, as
      on ppc32.
      
      Built and booted on G4 Powerbook (ARCH=ppc and ARCH=powerpc) and
      Power5 (ARCH=ppc64 and ARCH=powerpc).
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      6cb7bfeb