Files
OpenCellular/chip/stm32
Anton Staaf 8c0cef2607 USB: Fix memcpy routines
The memcpy like routines for moving to and from usb packet
RAM couldn't deal with all unaligned uses, this fixes their
behavior.  In particular, a previous caller might assume
that the packet RAM addresses were contiguous and attempt
to break up a call into two separate chunks (as the queue
insertion/removal code does).  But this can lead to invalid
pointers passed to these memcpy routines.  A much cleaner
solution is to make the packet RAM address space contiguous.
To do so the memcpy routines take packet RAM addresses
instead of AHB address space mapped addresses and
__usb_ram_start needed to change to be of type usb_uint so
that pointer arithmatic on it worked correctly on all platforms,
this also allowed the usb_sram_addr macro to be simplified.

Signed-off-by: Anton Staaf <robotboy@chromium.org>

BRANCH=None
BUG=None
TEST=make buildall -j
     Verify that USB still works on Ryu and discovery-stm32f072

Change-Id: I479461f07a3203f1e6e0cf9705f512a5a43c4646
Reviewed-on: https://chromium-review.googlesource.com/264764
Trybot-Ready: Anton Staaf <robotboy@chromium.org>
Tested-by: Anton Staaf <robotboy@chromium.org>
Reviewed-by: Anton Staaf <robotboy@chromium.org>
Commit-Queue: Anton Staaf <robotboy@chromium.org>
2015-04-13 20:00:58 +00:00
..
2014-10-07 20:58:52 +00:00
2015-01-08 00:37:46 +00:00
2015-02-28 03:46:35 +00:00
2014-10-07 20:58:52 +00:00
2014-10-07 20:58:52 +00:00
2014-10-07 20:58:52 +00:00
2014-08-29 03:00:20 +00:00
2014-10-07 20:58:52 +00:00
2013-07-01 10:19:49 -07:00
2013-07-08 13:53:58 -07:00
2013-12-16 20:28:32 +00:00
2014-09-24 08:56:21 +00:00
2014-10-07 20:58:52 +00:00
2015-01-08 22:36:31 +00:00
2014-10-08 02:50:48 +00:00
2014-10-08 02:50:48 +00:00
2015-04-13 20:00:58 +00:00
2015-04-13 20:00:58 +00:00
2015-04-13 20:00:58 +00:00