<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/mips/cpu/mips32, branch v2013.04</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/mips/cpu/mips32?h=v2013.04</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/mips/cpu/mips32?h=v2013.04'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2013-02-12T21:22:13Z</updated>
<entry>
<title>MIPS: add dynamic relocation support</title>
<updated>2013-02-12T21:22:13Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2013-02-12T21:22:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=04380c651a2ff0d1495822321d2b7668dcd02537'/>
<id>urn:sha1:04380c651a2ff0d1495822321d2b7668dcd02537</id>
<content type='text'>
The code handles relocation entries with the
following relocation types only:
  mips32: R_MIPS_REL32
  mips64: R_MIPS_REL+R_MIPS_64
  xburst: R_MIPS_REL32

Other relocation entries are skipped without
processing. The code must be extended if other
relocation types must be supported.

Add -pie to LDFLAGS_FINAL to generate the .rel.dyn
fixup table, which will be applied to the relocated
image before transferring control to it.

The CONFIG_NEEDS_MANUAL_RELOC is not needed
after the patch, so remove that as well.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: use symbol __image_copy_end for U-Boot image relocation</title>
<updated>2013-02-12T21:22:13Z</updated>
<author>
<name>Daniel Schwierzeck</name>
<email>daniel.schwierzeck@gmail.com</email>
</author>
<published>2013-02-12T21:22:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=28875e2c4731296ee7ed645d07f1c28c0301f1c4'/>
<id>urn:sha1:28875e2c4731296ee7ed645d07f1c28c0301f1c4</id>
<content type='text'>
Use the newly introduced symbol __image_copy_end as end address for
relocation of U-Boot image. This is needed for dynamic relocation added
in later patches. This patch obsoletes the symbols uboot_end and
uboot_end_data which are removed.

Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: optimize BSS initialization</title>
<updated>2013-02-12T21:22:13Z</updated>
<author>
<name>Daniel Schwierzeck</name>
<email>daniel.schwierzeck@gmail.com</email>
</author>
<published>2013-02-12T21:22:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=696a3b2a5368360c149335e2a35b8900a78f47fa'/>
<id>urn:sha1:696a3b2a5368360c149335e2a35b8900a78f47fa</id>
<content type='text'>
Get the start and end address for clearing BSS from the newly
introduced symbols __bss_start and __bss_end. After GOT is
relocated, those symbols are already pointing to the correct
addresses.

Also optimize the loop by moving the address incrementation
to the delay slot to avoid the initial sub instruction.

Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: unify and simplify reset vector handling</title>
<updated>2013-02-12T21:22:12Z</updated>
<author>
<name>Daniel Schwierzeck</name>
<email>daniel.schwierzeck@gmail.com</email>
</author>
<published>2013-02-12T21:22:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8b1c7345c6d5ed20b6b5ec8db17a3282e592184d'/>
<id>urn:sha1:8b1c7345c6d5ed20b6b5ec8db17a3282e592184d</id>
<content type='text'>
Adopt reset vector handling from Yamon.

Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: remove obsolete 64 bit handling in setup_c0_status</title>
<updated>2013-02-12T21:22:12Z</updated>
<author>
<name>Daniel Schwierzeck</name>
<email>daniel.schwierzeck@gmail.com</email>
</author>
<published>2013-02-12T21:22:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4dc7412afa4fe47a02805525e415656d67764839'/>
<id>urn:sha1:4dc7412afa4fe47a02805525e415656d67764839</id>
<content type='text'>
Signed-off-by: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: remove OUTPUT_FORMAT from linker scripts</title>
<updated>2013-01-30T22:34:10Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2013-01-30T02:22:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9950b90d3851bf9e850fd3d39f539697b8fca7f5'/>
<id>urn:sha1:9950b90d3851bf9e850fd3d39f539697b8fca7f5</id>
<content type='text'>
The OUTPUT_FORMAT command in linker scripts
was always misused due to some endianess and
toolchain problems.

Use GCC flags to ensure proper output format,
and get rid of the OUTPUT_FORMAT commands in
the board specific u-boot.lds files.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Wolfgang Denk &lt;wd@denx.de&gt;
Cc: Xiangfu Liu &lt;xiangfu@openmobilefree.net&gt;
</content>
</entry>
<entry>
<title>MIPS: simplify relocated _G_O_T_ address calculation</title>
<updated>2013-01-30T22:32:52Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2013-01-30T04:56:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=025f2b338072781cd747bf7365cf43fcf9f40f1a'/>
<id>urn:sha1:025f2b338072781cd747bf7365cf43fcf9f40f1a</id>
<content type='text'>
The difference between the address of the original
and the relocated _GLOBAL_OFFSET_TABLE_ is always
the same as the relocation offset.

The relocation offset is already computed and it is
available in the 's1/t6' register. Use that to adjust
the relocated _G_O_T_ address, instead of calculating
the offset again from the _gp value.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
Cc: Xiangfu Liu &lt;xiangfu@openmobilefree.net&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: don't save flush_cache parameters in advance</title>
<updated>2013-01-27T15:40:15Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2013-01-24T06:27:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=67d80c9f97f1b73d227f64efebf204221a611a70'/>
<id>urn:sha1:67d80c9f97f1b73d227f64efebf204221a611a70</id>
<content type='text'>
Saving the parameters in advance unnecessarily complicates
the code. The destination address is already saved in the
's2' register, and that register is not clobbered by the
copy loop. The size of the copied data can be computed
after the copy loop is done.

Change the code to compute the size parameter right
before calling flush_cache, and set the destination
address parameter in the delay slot of the actuall
call.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: simplify relocation offset calculation</title>
<updated>2013-01-27T15:40:07Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2013-01-24T06:27:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=248fe03f53772a61bb7355a4e45cd055dfdcf7b2'/>
<id>urn:sha1:248fe03f53772a61bb7355a4e45cd055dfdcf7b2</id>
<content type='text'>
The current code uses four instructions and a
temporary register to calculate the relocation
offset and to adjust the gp register.

The relocation offset can be calculated directly
from the CONFIG_SYS_MONITOR_BASE constant and from
the destination address. The resulting offset can
be used to adjust the gp pointer.

This approach makes the code a bit simpler because
it needs two instructions only.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
</content>
</entry>
<entry>
<title>MIPS: start.S: save reused arguments earlier in relocate_code</title>
<updated>2013-01-27T15:39:59Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2013-01-24T06:27:53Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b2fe86f8873088391d77224fb33544bc1e3b2c0a'/>
<id>urn:sha1:b2fe86f8873088391d77224fb33544bc1e3b2c0a</id>
<content type='text'>
Save the reused parameters at the beginning
of the 'relocate_code' function. This makes
the function a bit more readable.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&gt;
Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@googlemail.com&gt;
</content>
</entry>
</feed>
