<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/nios2, branch v2010.09</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/nios2?h=v2010.09</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/nios2?h=v2010.09'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2010-08-20T02:15:49Z</updated>
<entry>
<title>nios2: fix out of reach case for do_reset</title>
<updated>2010-08-20T02:15:49Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-08-16T02:49:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7a6a7d10e6b96ab4a5c0d8852802ec52be2b582e'/>
<id>urn:sha1:7a6a7d10e6b96ab4a5c0d8852802ec52be2b582e</id>
<content type='text'>
There is a limitation (or bug?) of nios2 toolchain. The nios2 gcc
didn't generate correct code when the reset vector is passed as a
constant. It just generated a direct "call", which was wrong when
the reset vector was not located in the same 256MB span as u-boot.

The "Nios II Processor Reference Handbook" said,
"call can transfer execution anywhere within the 256 MByte range
determined by PC31..28. The Nios II GNU linker does not automatically
handle cases in which the address is out of this range."

So we have to use registered "callr" instruction to do the job.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: fix bootm error on fdt args</title>
<updated>2010-08-20T02:15:49Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-07-30T06:12:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=62a05573822fc253a1ad5037482511347d6abaa5'/>
<id>urn:sha1:62a05573822fc253a1ad5037482511347d6abaa5</id>
<content type='text'>
We should check argv[3] only if there are enough args. Otherwise,
it might cause invalid memory access fault.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: add gpio_request</title>
<updated>2010-07-12T15:30:51Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-06-09T01:51:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6db6c18b5074f959882bb199c850359ded54778f'/>
<id>urn:sha1:6db6c18b5074f959882bb199c850359ded54778f</id>
<content type='text'>
This will be used by nand_plat.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: add fdt support</title>
<updated>2010-07-12T15:30:51Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-05-31T03:58:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=06c5d30dc358a41efa3a27e1c7f602e7b3e8a6f5'/>
<id>urn:sha1:06c5d30dc358a41efa3a27e1c7f602e7b3e8a6f5</id>
<content type='text'>
This patch adds fdt support to boot linux, followed Michal's
work on microblaze.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: use gc sections to reduce image size</title>
<updated>2010-07-12T15:30:51Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-05-28T04:08:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cb2da50f0f7b62f2ef806bdc61ec34d103542fbb'/>
<id>urn:sha1:cb2da50f0f7b62f2ef806bdc61ec34d103542fbb</id>
<content type='text'>
Follow the discussion of Charles Manning and Mike Frysinger.
Using gc_sections helps reduce image size.

Configuring for nios2-generic board...
Before,
   text    data     bss     dec     hex filename
 123979    3724   22892  150595   24c43 /tmp/u-boot/u-boot
After,
   text    data     bss     dec     hex filename
 115983    3800   22732  142515   22cb3 /tmp/u-boot/u-boot

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>Make sure that argv[] argument pointers are not modified.</title>
<updated>2010-07-04T21:55:42Z</updated>
<author>
<name>Wolfgang Denk</name>
<email>wd@denx.de</email>
</author>
<published>2010-06-28T20:00:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=54841ab50c20d6fa6c9cc3eb826989da3a22d934'/>
<id>urn:sha1:54841ab50c20d6fa6c9cc3eb826989da3a22d934</id>
<content type='text'>
The hush shell dynamically allocates (and re-allocates) memory for the
argument strings in the "char *argv[]" argument vector passed to
commands.  Any code that modifies these pointers will cause serious
corruption of the malloc data structures and crash U-Boot, so make
sure the compiler can check that no such modifications are being done
by changing the code into "char * const argv[]".

This modification is the result of debugging a strange crash caused
after adding a new command, which used the following argument
processing code which has been working perfectly fine in all Unix
systems since version 6 - but not so in U-Boot:

int main (int argc, char **argv)
{
	while (--argc &gt; 0 &amp;&amp; **++argv == '-') {
/* ====&gt; */	while (*++*argv) {
			switch (**argv) {
			case 'd':
				debug++;
				break;
			...
			default:
				usage ();
			}
		}
	}
	...
}

The line marked "====&gt;" will corrupt the malloc data structures and
usually cause U-Boot to crash when the next command gets executed by
the shell.  With the modification, the compiler will prevent this with
an
	error: increment of read-only location '*argv'

N.B.: The code above can be trivially rewritten like this:

	while (--argc &gt; 0 &amp;&amp; **++argv == '-') {
		char *arg = *argv;
		while (*++arg) {
			switch (*arg) {
			...

Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
</content>
</entry>
<entry>
<title>nios2: allow STANDALONE_LOAD_ADDR overriding</title>
<updated>2010-05-28T14:56:04Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-05-21T03:08:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6803336c9f21ba428f5c1b1cf825bbbac0a762e5'/>
<id>urn:sha1:6803336c9f21ba428f5c1b1cf825bbbac0a762e5</id>
<content type='text'>
This patch allows users to override default STANDALONE_LOAD_ADDR.
The gcclibdir path was duplicated in the standalone Makefile and
can be removed.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: fix div64 issue for gcc4</title>
<updated>2010-05-28T14:56:03Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-05-14T22:00:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8d52ea6db484c689a75ef8a36a4e525753b8f078'/>
<id>urn:sha1:8d52ea6db484c689a75ef8a36a4e525753b8f078</id>
<content type='text'>
This patch fixes the run-time error on div64 when built with
gcc4, which was reported by jhwu0625 on nios forum. It merges
math support from libgcc of gcc4. This patch is copied from
nios2-linux.

It works with both gcc3 and gcc4. The old mult.c, divmod.c and
math.h are removed.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: fix r15 issue for gcc4</title>
<updated>2010-05-28T14:56:03Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-05-21T03:08:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0df01fd3d71481b5cc7aeea6a741b9fc3be15178'/>
<id>urn:sha1:0df01fd3d71481b5cc7aeea6a741b9fc3be15178</id>
<content type='text'>
The "-ffixed-r15" option doesn't work well for gcc4. Since we
don't use gp for small data with option "-G0", we can use gp
as global data pointer. This allows compiler to use r15. It
is necessary for gcc4 to work properly.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
<entry>
<title>nios2: add gpio support</title>
<updated>2010-05-28T14:56:03Z</updated>
<author>
<name>Thomas Chou</name>
<email>thomas@wytron.com.tw</email>
</author>
<published>2010-04-30T03:34:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cedd341d551b6b705e97ab1953a87575b9ff9ef9'/>
<id>urn:sha1:cedd341d551b6b705e97ab1953a87575b9ff9ef9</id>
<content type='text'>
This patch adds driver for a trivial gpio core, which is described
in http://nioswiki.com/GPIO. It is used for gpio led and nand flash
interface in u-boot.

When CONFIG_SYS_GPIO_BASE is not defined, board may provide
its own driver.

Signed-off-by: Thomas Chou &lt;thomas@wytron.com.tw&gt;
Tested-by: Ian Abbott &lt;abbotti@mev.co.uk&gt;
Signed-off-by: Scott McNutt &lt;smcnutt@psyent.com&gt;
</content>
</entry>
</feed>
