1. 07 11月, 2013 1 次提交
  2. 09 5月, 2013 1 次提交
  3. 04 10月, 2012 1 次提交
  4. 23 3月, 2012 4 次提交
    • M
      microblaze: Handle TLB skip size dynamically · e02db0aa
      Michal Simek 提交于
      This patch fix the problem with rootfs on JFFS2 with early printk
      console turned on.
      
      The origin version used TLB63 for temporary early printk mapping.
      The code expect that kernel is not able to use all 64 TLB entries
      till early printk console is remapped by ioremap. After that
      temporary mapping on TLB63 is silently lost.
      This expectation give the opportunity to have early console pretty
      early.
      
      Microblaze systems with JFFS2 rootfs with early printk console turned on
      used more than 64 TLB entries before kernel can remap early console.
      Based on that kernel does access to bad area because early printk mapping
      is rewritten.
      
      This patch introduces tlb_skip variable which dynamically stores number
      of skipped TLB entries from the TLB0. skip_tlb=2 means that TLB0 and TLB1
      should be skipped.
      
      MICROBLAZE_TLB_SKIP defines how many TLB is skipped at the kernel start.
      They can be used for user purpose.
      
      TLB 63 is used for temporary LMB mapping (MICROBLAZE_LMB_TLB_ID).
      
      Also clean TLBLO when kernel starts.
      
      For specific kernel sizes kernel can use just one TLB. Detect this case
      and use the second TLB for general purpose.
      
      Change _tlbia function to flush TLB entries from tlb_skip to TLB_SIZE.
      
      Export tlb_skip size through debugfs.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      e02db0aa
    • M
      microblaze: Improve TLB calculation for small systems · 95b0f9ea
      Michal Simek 提交于
      Systems with small amount of memory need to be handled
      differently. Linux can't allocate the whole 32MB with two TLBs
      because then there is no MMU protection.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      95b0f9ea
    • M
      microblaze: Extend space for compiled-in FDT to 32kB · 3a1d2676
      Michal Simek 提交于
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      3a1d2676
    • M
      microblaze: Clear all MSR flags on the first kernel instruction · 173701d7
      Michal Simek 提交于
      The main reason is bug because of dynamic TLB allocation.
      U-BOOT didn't disable dcache and then writing to physical address
      from ASM wan't visible for reading through MMU.
      Disabling caches and clearing all flags from previous code
      is good to do so.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      173701d7
  5. 09 3月, 2011 2 次提交
  6. 08 2月, 2011 1 次提交
    • M
      microblaze: Fix msr instruction detection · 0eb6aaf5
      Michal Simek 提交于
      Fix msr instructions detection. The current code
      just use msrclr for loading msr content and compare
      it with proper MSR content. If msrclr is not implemented
      r8 contains pc address.
      Previous code wanted to use MSR carry bit but if msrclr
      wasn't implemented carry wasn't cleared.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      0eb6aaf5
  7. 28 1月, 2011 1 次提交
    • M
      microblaze: Fix DTB passing from bootloader · 026a2078
      Michal Simek 提交于
      Little endian system needs to check OF_DT_HEADER
      but it is swapped because it is in big-endian.
      Microblaze LE provides lwr instruction which loads
      magic number in BIG endian format which can be compared.
      
      There is used the fact that if you write 0x1 as word
      and load it as byte then you get for big-endian zero
      and 1 for little-endian.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      026a2078
  8. 04 8月, 2010 1 次提交
  9. 06 5月, 2010 1 次提交
  10. 01 4月, 2010 3 次提交
  11. 11 3月, 2010 1 次提交
  12. 16 10月, 2009 1 次提交
  13. 21 9月, 2009 2 次提交
  14. 27 7月, 2009 3 次提交
  15. 26 5月, 2009 1 次提交
  16. 27 3月, 2009 1 次提交