1. 27 5月, 2014 1 次提交
    • M
      m68k/atari - stram: alloc ST-RAM pool even if kernel not in ST-RAM · fded332b
      Michael Schmitz 提交于
      With the kernel loaded to FastRAM (TT-RAM), none of the ST-RAM
      address range is mapped by init_mem, and ST-RAM is not accessible
      through the normal allocation pathways as a result.
      
      Implement ST-RAM pool allocation to be based on physical addresses
      always (it already was when the kernel was loaded in ST-RAM).
      Return kernel virtual addresses as per normal.
      
      The current test for the kernel residing in ST-RAM always returns
      true. Use the bootinfo memory chunk order instead - with the kernel
      in FastRAM, ST-RAM (phys. 0x0) is not the first chunk.
      
      In case the kernel is running from FastRAM, delay mapping of ST-RAM
      pool until after mem_init.
      
      Provide helper functions for those users of ST-RAM that need
      to be aware of the backing physical addresses.
      
      Kudos to Geert for his hints on getting this started.
      Signed-off-by: NMichael Schmitz <schmitz@debian.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      fded332b
  2. 31 7月, 2011 1 次提交
    • M
      m68k/atari: Reserve some ST-RAM early on for device buffer use · 217bbd81
      Michael Schmitz 提交于
      Based on an original patch from Michael Schmitz:
      
      Because mem_init() is now called before device init, devices that rely on
      ST-RAM may find all ST-RAM already allocated to other users by the time
      device init happens. In particular, a large initrd RAM disk may use up
      enough of ST-RAM to cause atari_stram_alloc() to resort to
      __get_dma_pages() allocation.
      
      In the current state of Atari memory management, all of RAM is marked
      DMA capable, so __get_dma_pages() may well return RAM that is not in actual
      fact DMA capable. Using this for frame buffer or SCSI DMA buffer causes
      subtle failure.
      
      The ST-RAM allocator has been changed to allocate memory from a pool of
      reserved ST-RAM of configurable size, set aside on ST-RAM init (i.e.
      before mem_init()). As long as this pool is not exhausted, allocation of
      real ST-RAM can be guaranteed.
      
      Other changes:
        - Replace the custom allocator in the ST-RAM pool by the existing allocator
          in the resource subsystem,
        - Remove mem_init_done and its hook, as memory init is now done before
          device init,
        - Remove /proc/stram, as ST-RAM usage now shows up under /proc/iomem, e.g.
      
      	005f2000-006f1fff : ST-RAM Pool
      	  005f2000-0063dfff : atafb
      	  0063e000-00641fff : ataflop
      	  00642000-00642fff : SCSI
      Signed-off-by: NMichael Schmitz <schmitz@debian.org>
      [Andreas Schwab <schwab@linux-m68k.org>: Use memparse()]
      [Geert: Use the resource subsystem instead of a custom allocator]
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      217bbd81
  3. 16 1月, 2009 1 次提交
    • S
      m68k,m68knommu: merge header files · 49148020
      Sam Ravnborg 提交于
      Merge header files for m68k and m68knommu to the single location:
      
          arch/m68k/include/asm
      
      The majority of this patch was the result of the
      script that is included in the changelog below.
      
      The script was originally written by Arnd Bergman and
      exten by me to cover a few more files.
      
      When the header files differed the script uses the following:
      
      The original m68k file is named <file>_mm.h  [mm for memory manager]
      The m68knommu file is named <file>_no.h [no for no memory manager]
      
      The files uses the following include guard:
      
      This include gaurd works as the m68knommu toolchain set
      the __uClinux__ symbol - so this should work in userspace too.
      
      Merging the header files for m68k and m68knommu exposes the
      (unexpected?) ABI differences thus it is easier to actually
      identify these and thus to fix them.
      
      The commit has been build tested with both a m68k and
      a m68knommu toolchain - with success.
      
      The commit has also been tested with "make headers_check"
      and this patch fixes make headers_check for m68knommu.
      
      The script used:
      TARGET=arch/m68k/include/asm
      SOURCE=arch/m68knommu/include/asm
      
      INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \
      linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \
      oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \
      shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \
      termbits.h termios.h tlb.h types.h user.h"
      
      EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \
      ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \
      sections.h topology.h"
      
      NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \
      elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \
      m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \
      m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \
      m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \
      mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \
      mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \
      nettel.h quicc_simple.h smp.h"
      
      FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \
      cacheflush.h checksum.h current.h delay.h div64.h \
      dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \
      irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \
      module.h page.h page_offset.h param.h pci.h pgalloc.h \
      pgtable.h processor.h ptrace.h scatterlist.h segment.h \
      setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \
      thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \
      unaligned.h unistd.h"
      
      mergefile() {
      	BASE=${1%.h}
      	git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h
      	git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h
      
      cat << EOF > ${TARGET}/$1
      EOF
      
      	git add ${TARGET}/$1
      }
      
      set -e
      
      mkdir -p ${TARGET}
      
      git mv include/asm-m68k/* ${TARGET}
      rmdir include/asm-m68k
      
      git rm ${SOURCE}/Kbuild
      for F in $INCLUDE $EQUAL; do
      	git rm ${SOURCE}/$F
      done
      
      for F in $NOMUUFILES; do
      	git mv ${SOURCE}/$F ${TARGET}/$F
      done
      
      for F in $FILES ; do
      	mergefile $F
      done
      
      rmdir arch/m68knommu/include/asm
      rmdir arch/m68knommu/include
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      49148020
  4. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4