<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/microblaze/kernel, branch v3.4.84</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/microblaze/kernel?h=v3.4.84</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/microblaze/kernel?h=v3.4.84'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-05T00:13:43Z</updated>
<entry>
<title>Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping</title>
<updated>2012-04-05T00:13:43Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-04-05T00:13:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=58bca4a8fa90fcf9069379653b396b2cec642f7f'/>
<id>urn:sha1:58bca4a8fa90fcf9069379653b396b2cec642f7f</id>
<content type='text'>
Pull DMA mapping branch from Marek Szyprowski:
 "Short summary for the whole series:

  A few limitations have been identified in the current dma-mapping
  design and its implementations for various architectures.  There exist
  more than one function for allocating and freeing the buffers:
  currently these 3 are used dma_{alloc, free}_coherent,
  dma_{alloc,free}_writecombine, dma_{alloc,free}_noncoherent.

  For most of the systems these calls are almost equivalent and can be
  interchanged.  For others, especially the truly non-coherent ones
  (like ARM), the difference can be easily noticed in overall driver
  performance.  Sadly not all architectures provide implementations for
  all of them, so the drivers might need to be adapted and cannot be
  easily shared between different architectures.  The provided patches
  unify all these functions and hide the differences under the already
  existing dma attributes concept.  The thread with more references is
  available here:

    http://www.spinics.net/lists/linux-sh/msg09777.html

  These patches are also a prerequisite for unifying DMA-mapping
  implementation on ARM architecture with the common one provided by
  dma_map_ops structure and extending it with IOMMU support.  More
  information is available in the following thread:

    http://thread.gmane.org/gmane.linux.kernel.cross-arch/12819

  More works on dma-mapping framework are planned, especially in the
  area of buffer sharing and managing the shared mappings (together with
  the recently introduced dma_buf interface: commit d15bd7ee445d
  "dma-buf: Introduce dma buffer sharing mechanism").

  The patches in the current set introduce a new alloc/free methods
  (with support for memory attributes) in dma_map_ops structure, which
  will later replace dma_alloc_coherent and dma_alloc_writecombine
  functions."

People finally started piping up with support for merging this, so I'm
merging it as the last of the pending stuff from the merge window.
Looks like pohmelfs is going to wait for 3.5 and more external support
for merging.

* 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
  common: DMA-mapping: add NON-CONSISTENT attribute
  common: DMA-mapping: add WRITE_COMBINE attribute
  common: dma-mapping: introduce mmap method
  common: dma-mapping: remove old alloc_coherent and free_coherent methods
  Hexagon: adapt for dma_map_ops changes
  Unicore32: adapt for dma_map_ops changes
  Microblaze: adapt for dma_map_ops changes
  SH: adapt for dma_map_ops changes
  Alpha: adapt for dma_map_ops changes
  SPARC: adapt for dma_map_ops changes
  PowerPC: adapt for dma_map_ops changes
  MIPS: adapt for dma_map_ops changes
  X86 &amp; IA64: adapt for dma_map_ops changes
  common: dma-mapping: introduce generic alloc() and free() methods
</content>
</entry>
<entry>
<title>microblaze: Do not use tlb_skip in early_printk</title>
<updated>2012-04-02T11:00:22Z</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2012-04-02T10:50:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0fc7374bb5df938ef3d386e48ac9797d7651e9cc'/>
<id>urn:sha1:0fc7374bb5df938ef3d386e48ac9797d7651e9cc</id>
<content type='text'>
tlb_skip is valid only for MMU system.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
</entry>
<entry>
<title>microblaze: Add missing headers caused by disintegration asm/system.h</title>
<updated>2012-03-30T10:11:46Z</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2012-03-30T09:29:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=90c0d80daa82fa9cbaa85d1a787375b33877d2d4'/>
<id>urn:sha1:90c0d80daa82fa9cbaa85d1a787375b33877d2d4</id>
<content type='text'>
It should be the part of patch
"Disintegrate asm/system.h for Microblaze"
(sha1: c40d04df152a1111c5bbcb632278394dabd2b73d)

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next</title>
<updated>2012-03-30T10:10:03Z</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2012-03-30T10:10:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6a4770e335bd4df0a4577146f76e116ab6e23f40'/>
<id>urn:sha1:6a4770e335bd4df0a4577146f76e116ab6e23f40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system</title>
<updated>2012-03-28T22:58:21Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-28T22:58:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0195c00244dc2e9f522475868fa278c473ba7339'/>
<id>urn:sha1:0195c00244dc2e9f522475868fa278c473ba7339</id>
<content type='text'>
Pull "Disintegrate and delete asm/system.h" from David Howells:
 "Here are a bunch of patches to disintegrate asm/system.h into a set of
  separate bits to relieve the problem of circular inclusion
  dependencies.

  I've built all the working defconfigs from all the arches that I can
  and made sure that they don't break.

  The reason for these patches is that I recently encountered a circular
  dependency problem that came about when I produced some patches to
  optimise get_order() by rewriting it to use ilog2().

  This uses bitops - and on the SH arch asm/bitops.h drags in
  asm-generic/get_order.h by a circuituous route involving asm/system.h.

  The main difficulty seems to be asm/system.h.  It holds a number of
  low level bits with no/few dependencies that are commonly used (eg.
  memory barriers) and a number of bits with more dependencies that
  aren't used in many places (eg.  switch_to()).

  These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

        Move memory barriers here.  This already done for MIPS and Alpha.

    (2) asm/switch_to.h

        Move switch_to() and related stuff here.

    (3) asm/exec.h

        Move arch_align_stack() here.  Other process execution related bits
        could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

        Move xchg() and cmpxchg() here as they're full word atomic ops and
        frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

        Move die() and related bits.

    (6) asm/auxvec.h

        Move AT_VECTOR_SIZE_ARCH here.

  Other arch headers are created as needed on a per-arch basis."

Fixed up some conflicts from other header file cleanups and moving code
around that has happened in the meantime, so David's testing is somewhat
weakened by that.  We'll find out anything that got broken and fix it..

* tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
  Delete all instances of asm/system.h
  Remove all #inclusions of asm/system.h
  Add #includes needed to permit the removal of asm/system.h
  Move all declarations of free_initmem() to linux/mm.h
  Disintegrate asm/system.h for OpenRISC
  Split arch_align_stack() out from asm-generic/system.h
  Split the switch_to() wrapper out of asm-generic/system.h
  Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
  Create asm-generic/barrier.h
  Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
  Disintegrate asm/system.h for Xtensa
  Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
  Disintegrate asm/system.h for Tile
  Disintegrate asm/system.h for Sparc
  Disintegrate asm/system.h for SH
  Disintegrate asm/system.h for Score
  Disintegrate asm/system.h for S390
  Disintegrate asm/system.h for PowerPC
  Disintegrate asm/system.h for PA-RISC
  Disintegrate asm/system.h for MN10300
  ...
</content>
</entry>
<entry>
<title>Disintegrate asm/system.h for Microblaze</title>
<updated>2012-03-28T17:30:02Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2012-03-28T17:30:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c40d04df152a1111c5bbcb632278394dabd2b73d'/>
<id>urn:sha1:c40d04df152a1111c5bbcb632278394dabd2b73d</id>
<content type='text'>
Disintegrate asm/system.h for Microblaze.  Not compiled.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
cc: microblaze-uclinux@itee.uq.edu.au
</content>
</entry>
<entry>
<title>Microblaze: adapt for dma_map_ops changes</title>
<updated>2012-03-28T14:36:38Z</updated>
<author>
<name>Andrzej Pietrasiewicz</name>
<email>andrzej.p@samsung.com</email>
</author>
<published>2012-03-27T12:56:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=988624ec13e87680eb3eaa0f1e921fedd48b4ac4'/>
<id>urn:sha1:988624ec13e87680eb3eaa0f1e921fedd48b4ac4</id>
<content type='text'>
Adapt core Microblaze architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.

Signed-off-by: Andrzej Pietrasiewicz &lt;andrzej.p@samsung.com&gt;
Acked-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
[fixed coding style issues]
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>microblaze: Fix tlb_skip variable on noMMU system</title>
<updated>2012-03-28T08:31:36Z</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2012-03-28T08:31:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a28d73ca3ac7fffff317e62167ef26310b951ca0'/>
<id>urn:sha1:a28d73ca3ac7fffff317e62167ef26310b951ca0</id>
<content type='text'>
TLBs are available only for MMU systems.

Error log:
arch/microblaze/kernel/setup.c: In function 'debugfs_tlb':
arch/microblaze/kernel/setup.c:217: error: 'tlb_skip' undeclared (first use in this function)
arch/microblaze/kernel/setup.c:217: error: (Each undeclared identifier is reported only once
arch/microblaze/kernel/setup.c:217: error: for each function it appears in.)
make[1]: *** [arch/microblaze/kernel/setup.o] Error 1

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze</title>
<updated>2012-03-28T01:20:56Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-28T01:20:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=30eebb54b13ef198a3f1a143ee9dd68f295c60de'/>
<id>urn:sha1:30eebb54b13ef198a3f1a143ee9dd68f295c60de</id>
<content type='text'>
Pull arch/microblaze fixes from Michal Simek

* 'next' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: Handle TLB skip size dynamically
  microblaze: Introduce TLB skip size
  microblaze: Improve TLB calculation for small systems
  microblaze: Extend space for compiled-in FDT to 32kB
  microblaze: Clear all MSR flags on the first kernel instruction
  microblaze: Use node name instead of compatible string
  microblaze: Fix mapin_ram function
  microblaze: Highmem support
  microblaze: Use active regions
  microblaze: Show more detailed information about memory
  microblaze: Introduce fixmap
  microblaze: mm: Fix lowmem max memory size limits
  microblaze: mm: Use ZONE_DMA instead of ZONE_NORMAL
  microblaze: trivial: Fix typo fault in timer.c
  microblaze: Use vsprintf extention %pf with builtin_return_address
  microblaze: Add PVR version string for MB 8.20.b and 8.30.a
  microblaze: Fix makefile to work with latest toolchain
  microblaze: Fix typo in early_printk.c
</content>
</entry>
<entry>
<title>microblaze: Handle TLB skip size dynamically</title>
<updated>2012-03-23T08:28:19Z</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2010-02-08T15:41:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e02db0aa3e1976ae4e23a66077d252a2f3ba74c7'/>
<id>urn:sha1:e02db0aa3e1976ae4e23a66077d252a2f3ba74c7</id>
<content type='text'>
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: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
</entry>
</feed>
