<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rockbox/utils/hwstub/stub/main.c, branch master</title>
<subtitle>My Rockbox tree</subtitle>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/'/>
<entry>
<title>hwstub: rewrite exception catching</title>
<updated>2017-01-24T14:34:19+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2017-01-18T13:36:27+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=9bb6050d40b9936beda5cb1cd15040f6c1b07179'/>
<id>9bb6050d40b9936beda5cb1cd15040f6c1b07179</id>
<content type='text'>
Since we can catch exceptions like data aborts on read/write, it takes very
little to also catch exceptions in calls. When extending this with the catching
of illegal instructions, the call instruction now becomes much more robust and
also for address and instruction probing. Since we can catch several types of
exception, rename set_data_abort_jmp to set_exception_jmp. At the same time,
simplify the logic in read/write request handlers. Also fix a bug in ARM
jump code: it was using
  stmia r1, {..., pc}
as if pc would get current pc + 8 but this is actually implementation defined
on older ARMs (typically pc + 12) and deprecated on newer ARMs, so rewrite the
code avoid that. The set_exception_jmp() function now also reports the exception
type.

Change-Id: Icd0dd52d2456b361b27c4776be09c3d13528ed93
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we can catch exceptions like data aborts on read/write, it takes very
little to also catch exceptions in calls. When extending this with the catching
of illegal instructions, the call instruction now becomes much more robust and
also for address and instruction probing. Since we can catch several types of
exception, rename set_data_abort_jmp to set_exception_jmp. At the same time,
simplify the logic in read/write request handlers. Also fix a bug in ARM
jump code: it was using
  stmia r1, {..., pc}
as if pc would get current pc + 8 but this is actually implementation defined
on older ARMs (typically pc + 12) and deprecated on newer ARMs, so rewrite the
code avoid that. The set_exception_jmp() function now also reports the exception
type.

Change-Id: Icd0dd52d2456b361b27c4776be09c3d13528ed93
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: add support for coprocessor operations</title>
<updated>2017-01-24T14:25:14+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2016-08-04T16:06:11+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=8fabbb008c1a31c809a3d97f22351f141a2bd02d'/>
<id>8fabbb008c1a31c809a3d97f22351f141a2bd02d</id>
<content type='text'>
At the moment the stub only implement them for MIPS.

Change-Id: Ica835a0e9c70fa5675c3d655eae986e812a47de8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the moment the stub only implement them for MIPS.

Change-Id: Ica835a0e9c70fa5675c3d655eae986e812a47de8
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: add the possibility to flush caches before exec</title>
<updated>2017-01-24T14:25:14+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2016-08-02T14:18:41+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=56340f4cd0a6ab318a52d2a62ded36aad2946e1d'/>
<id>56340f4cd0a6ab318a52d2a62ded36aad2946e1d</id>
<content type='text'>
This is needed on the jz4760b because if some data is loaded to DRAM, then it
is cached and a disaster lurks if dcaches/icache are not flushed. Targets that
needs this must define CONFIG_FLUSH_CACHES in target-config.h and implement
target_flush_caches(). Currently MIPS has some generic code for mips32r1 that
requires to define {D,I}CACHE_SIZE and {D,I}CACHE_LINE_SIZE in target-config.h

Change-Id: I5a3fc085de9445d8c8a2eb61ae4e2dc9bb6b4e8e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is needed on the jz4760b because if some data is loaded to DRAM, then it
is cached and a disaster lurks if dcaches/icache are not flushed. Targets that
needs this must define CONFIG_FLUSH_CACHES in target-config.h and implement
target_flush_caches(). Currently MIPS has some generic code for mips32r1 that
requires to define {D,I}CACHE_SIZE and {D,I}CACHE_LINE_SIZE in target-config.h

Change-Id: I5a3fc085de9445d8c8a2eb61ae4e2dc9bb6b4e8e
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: implement read/write data abort recovery</title>
<updated>2015-01-13T22:35:33+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2014-09-20T12:29:12+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=2cdfc43f10e3d755018ea508b64b209608d71864'/>
<id>2cdfc43f10e3d755018ea508b64b209608d71864</id>
<content type='text'>
Change-Id: I1625873b6864584c40984723d82548ad242ee08e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I1625873b6864584c40984723d82548ad242ee08e
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub/qeditor: add support for atomic read/writes</title>
<updated>2014-11-18T22:30:44+00:00</updated>
<author>
<name>Marcin Bukat</name>
<email>marcin.bukat@gmail.com</email>
</author>
<published>2014-11-18T22:27:26+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=cd04a5f1aadc8e2ec4e787f5ba4cc8c38a579314'/>
<id>cd04a5f1aadc8e2ec4e787f5ba4cc8c38a579314</id>
<content type='text'>
The current code assumed that READ/WRITE would produce atomic read/writes for
8/16/32-bit words, which in turned put assumption on the memcpy function.
Since some memcpy implementation do not always guarantee such strong assumption,
introduce two new operation READ/WRITE_ATOMIC which provide the necessary
tools to do correct read and write to register in a single memory access.

Change-Id: I37451bd5057bb0dcaf5a800d8aef8791c792a090
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current code assumed that READ/WRITE would produce atomic read/writes for
8/16/32-bit words, which in turned put assumption on the memcpy function.
Since some memcpy implementation do not always guarantee such strong assumption,
introduce two new operation READ/WRITE_ATOMIC which provide the necessary
tools to do correct read and write to register in a single memory access.

Change-Id: I37451bd5057bb0dcaf5a800d8aef8791c792a090
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: Add atj213x support</title>
<updated>2014-11-05T07:18:59+00:00</updated>
<author>
<name>Marcin Bukat</name>
<email>marcin.bukat@gmail.com</email>
</author>
<published>2014-09-23T11:30:17+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=d11704fed5fd218b2ed26182de877bc6e5b513a4'/>
<id>d11704fed5fd218b2ed26182de877bc6e5b513a4</id>
<content type='text'>
Change-Id: Ic32200f9ab2c6977e503307a9cbe43a1328d0341
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ic32200f9ab2c6977e503307a9cbe43a1328d0341
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: implement jump/call in stub</title>
<updated>2014-09-08T09:07:42+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2014-09-08T09:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=d815c26e8fad1562e7c4d175bc4dec2567f0fe88'/>
<id>d815c26e8fad1562e7c4d175bc4dec2567f0fe88</id>
<content type='text'>
Change-Id: I876fa012c5ae1509e57f5816a8ed31dc69d62ca0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I876fa012c5ae1509e57f5816a8ed31dc69d62ca0
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: fix horrible bug</title>
<updated>2014-09-07T15:45:35+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2014-08-05T16:18:46+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=d3df564486d7c935bdcf01723b4e04a5af28e1c7'/>
<id>d3df564486d7c935bdcf01723b4e04a5af28e1c7</id>
<content type='text'>
Change-Id: I8042f692045a23dbb545d840e5169ce4b99fe5d2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I8042f692045a23dbb545d840e5169ce4b99fe5d2
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: remove protocol to make it use its own interface</title>
<updated>2014-09-07T15:45:10+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2014-05-25T14:06:31+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=12ce7fc2cce5531723ea7d141df80142891989d7'/>
<id>12ce7fc2cce5531723ea7d141df80142891989d7</id>
<content type='text'>
This way, hwstub can be implemented along with other usb features/interfaces.

Change-Id: I7148cab845049cc0a8b8e740fa0d52d3a385eaed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way, hwstub can be implemented along with other usb features/interfaces.

Change-Id: I7148cab845049cc0a8b8e740fa0d52d3a385eaed
</pre>
</div>
</content>
</entry>
<entry>
<title>hwstub: fix error in config descriptor, cleanup some code</title>
<updated>2014-04-11T22:11:13+00:00</updated>
<author>
<name>Amaury Pouly</name>
<email>amaury.pouly@gmail.com</email>
</author>
<published>2014-04-11T22:06:31+00:00</published>
<link rel='alternate' type='text/html' href='https://www.franklinwei.com/cgit/rockbox/commit/?id=910235b49a754fcd18157dbd22e125a32b482c9d'/>
<id>910235b49a754fcd18157dbd22e125a32b482c9d</id>
<content type='text'>
Change-Id: I853340ed2c187a044726ca03ec52aed655707e27
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I853340ed2c187a044726ca03ec52aed655707e27
</pre>
</div>
</content>
</entry>
</feed>
