On 13 Oct 2012 15:11, "Kevin O'Connor" kevin@koconnor.net wrote:
On Fri, Oct 12, 2012 at 12:43:02PM +0200, Christian Gmeiner wrote:
During my usb debug session I want to malloc ehci usb bulk tds like for control messages, but I can not compile it... here is an example:
The usb_send_bulk() function is called in both 32bit mode and 16bit mode. The ASSERT32FLAT() macro is a compile-time check that verifies the given code is only ever called in 32bit mode. So, stopping the compile is exactly what it is supposed to do.
One can't call malloc from 16bit mode (or indeed any time after the "post" phase completes). That's why the existing bulk transfer code has all the weird stack allocation stuff.
Is there a way to find out why/who the bulk transfer code is using and why its in 16 bit mode? As I see the basic USB control transfer is in 32bit... or? Is disk.c the bad guy which runs in 16bit mode? My idea would be to implement all needed parts to get MSC working in 32bit mode.
Is it possible to discuss this deeper in a irc session? I really need USB MSC working. -- Christian Gmeiner MSc