<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/arc/lib, branch v2015.04-rc2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/arc/lib?h=v2015.04-rc2</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/arc/lib?h=v2015.04-rc2'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2015-02-09T13:41:20Z</updated>
<entry>
<title>arc: build libgcc in U-Boot</title>
<updated>2015-02-09T13:41:20Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>abrodkin@synopsys.com</email>
</author>
<published>2015-02-03T10:58:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a67ef280f46803e319639f5380ff8da6c6b7fbe7'/>
<id>urn:sha1:a67ef280f46803e319639f5380ff8da6c6b7fbe7</id>
<content type='text'>
This way we may have very limited set of functions implemented so we
save some space.

Also it allows us to build U-Boot for any ARC core with the same one
toolchain because we don't rely on pre-built libgcc.

For example:
 * we may use little-endian toolchain but build U-Boot for ether
endianess
 * we may use non-multilibbed uClibc toolchain but build U-Boot for
whatever ARC CPU flavour that current GCC supports

Private libgcc built from generic C implementation contributes only 144
bytes to .text section so we don't see significant degradation of size:
---&gt;8---
$ arc-linux-size u-boot.libgcc-prebuilt
   text	   data	    bss	    dec	    hex	filename
 222217	  24912	 214820	 461949	  70c7d	u-boot.libgcc-prebuilt

$ arc-linux-size u-boot.libgcc-private
   text	   data	    bss	    dec	    hex	filename
 222361	  24912	 214820	 462093	  70d0d	u-boot.libgcc-private
---&gt;8---

Also I don't notice visible performance degradation compared to
pre-built libgcc (where at least "*div*" functions are had-written in
assembly) on typical operations of downloading 10Mb uImage over TFTP and
bootm.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: select cache settings via menuconfig</title>
<updated>2015-02-09T13:41:20Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>abrodkin@synopsys.com</email>
</author>
<published>2015-02-03T10:58:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=205e7a7b77726abeff57576e2ecf2c6d4dc07ccf'/>
<id>urn:sha1:205e7a7b77726abeff57576e2ecf2c6d4dc07ccf</id>
<content type='text'>
This change allows to keep board description clean and minimalistic.
This is especially helpful if one board may house different CPUs with
different features.

It is applicable to both FPGA-based boards or those that have CPUs
mounted on interchnagable daughter-boards.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: define and use PTAG AUX regs for MMUv3 only</title>
<updated>2015-02-09T13:41:20Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>abrodkin@synopsys.com</email>
</author>
<published>2015-02-03T10:58:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5ff40f3d4226d45c78f3bb9db276f6685b24a89a'/>
<id>urn:sha1:5ff40f3d4226d45c78f3bb9db276f6685b24a89a</id>
<content type='text'>
DC_PTAG and IC_PTAG registers only exist in MMUv3.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: memcmp - fix zero-delay loop utilization</title>
<updated>2015-02-09T13:41:20Z</updated>
<author>
<name>Igor Guryanov</name>
<email>guryanov@synopsys.com</email>
</author>
<published>2015-02-03T10:58:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f958a91fa5cefd0cda76c887ee0488fb9158496e'/>
<id>urn:sha1:f958a91fa5cefd0cda76c887ee0488fb9158496e</id>
<content type='text'>
It's prohibited to put branch instruction in the very end of zero-delay
loop. On execution this causes "Illegal instruction" exception.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Signed-off-by: Igor Guryanov &lt;guryanov@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: move common sources in library</title>
<updated>2015-01-15T19:40:49Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>abrodkin@synopsys.com</email>
</author>
<published>2014-12-27T23:42:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=660d5f0d495197b4057bc1b3bdd201e500b03f1a'/>
<id>urn:sha1:660d5f0d495197b4057bc1b3bdd201e500b03f1a</id>
<content type='text'>
"reset.c" and "cpu.c" have no architecture-specific code at all.
Others are applicable to either ARC CPU.

This change is a preparation to submission of ARCv2 architecture port.

Even though ARCv1 and ARCv2 ISAs are not binary compatible most of
built-in modules still have the same programming model - AUX registers
are mapped in the same addresses and hold the same data (new featues
extend existing ones).

So only low-level assembly code (start-up, interrupt handlers) is left
as CPU(actually ISA)-specific. This significantyl simplifies maintenance
of multiple CPUs/ISAs.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Signed-off-by: Igor Guryanov &lt;guryanov@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: relocate - minor refactoring and clean-up</title>
<updated>2015-01-15T19:38:42Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>abrodkin@synopsys.com</email>
</author>
<published>2014-12-26T16:36:30Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1c91a3d9790c6d8f4bcb0d896936672509a1439d'/>
<id>urn:sha1:1c91a3d9790c6d8f4bcb0d896936672509a1439d</id>
<content type='text'>
 * use better symbols for relocatable region boundaries
("__image_copy_start" instead of "CONFIG_SYS_TEXT_BASE")
 * remove useless debug messages because they will only show up in case
of both problem (when normal "if" branch won't be taken) and DEBUG take
place which is pretty rare situation.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: introduce separate section for interrupt vector table</title>
<updated>2015-01-15T19:38:42Z</updated>
<author>
<name>Igor Guryanov</name>
<email>guryanov@synopsys.com</email>
</author>
<published>2014-12-24T14:17:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=20a58ac0d8e09d0bf1a74c6b68fea22784512b51'/>
<id>urn:sha1:20a58ac0d8e09d0bf1a74c6b68fea22784512b51</id>
<content type='text'>
Even though existing implementation works fine in preparation to
submission of ARCv2 architecture we need this change.

In case of ARCv2 interrupt vector table consists of just addresses
of corresponding handlers. And if those addresses will be in .text
section then assembler will encode them as everything in .text section
as middle-endian and then on real execution CPU will read swapped
addresses and will jump into the wild.

Once introduced new section is situated so .text section remains the
first which allows us to use common linker option for linking everything
to a specified CONFIG_SYS_TEXT_BASE.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Signed-off-by: Igor Guryanov &lt;guryanov@synopsys.com&gt;
</content>
</entry>
<entry>
<title>arc: fix relocation for big-endian target</title>
<updated>2014-02-21T12:56:42Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>Alexey.Brodkin@synopsys.com</email>
</author>
<published>2014-02-18T11:10:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=36ae5cd2a824597b4c53b045ac0f4c1e3b4eaf65'/>
<id>urn:sha1:36ae5cd2a824597b4c53b045ac0f4c1e3b4eaf65</id>
<content type='text'>
In case of little-endian ARC700 instructions (which may include target
address) are encoded as middle-endian. That's why it's required to swap
bytes after read and ten right before write back.

But in case of big-endian ARC700 instructions are encoded as a plain
big-endian. Thus no need for byte swapping.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;

Cc: Francois Bedard &lt;fbedard@synopsys.com&gt;
Cc: Tom Rini &lt;trini@ti.com&gt;
cc: Noam Camus &lt;noamc@ezchip.com&gt;
</content>
</entry>
<entry>
<title>arc: add library functions</title>
<updated>2014-02-07T13:14:32Z</updated>
<author>
<name>Alexey Brodkin</name>
<email>Alexey.Brodkin@synopsys.com</email>
</author>
<published>2014-02-04T08:56:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2272382879d93d37e7964554cea5b0583c94c247'/>
<id>urn:sha1:2272382879d93d37e7964554cea5b0583c94c247</id>
<content type='text'>
These are library functions used by ARC700 architecture.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;

Cc: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Francois Bedard &lt;fbedard@synopsys.com&gt;
Cc: Wolfgang Denk &lt;wd@denx.de&gt;
Cc: Heiko Schocher &lt;hs@denx.de&gt;
</content>
</entry>
</feed>
