[SeaBIOS] ohci bulk?

Kevin O'Connor kevin at koconnor.net
Tue Nov 23 01:28:59 CET 2010


On Mon, Nov 22, 2010 at 10:12:38AM -0500, Stefan Berger wrote:
> On 11/20/2010 01:28 PM, Kevin O'Connor wrote:
> >That looks to be doing the same thing that stacks.c:call32() does.
> As it looks, this function allows no parameters to be passed. What I
> would be adding is a function allowing transitioning from 16 bit to
> 32 bit with >3 parameters (6 currently). There's some nastiness
> involved due to the 'ret + n' of functions being called with stack
> parameters, which starts with 4 parameters, and which does need
> explicit code in the transitioning function to fix up the stack as
> the caller expects it. As said, I am using a call table for
> transitioning that but calls are rather invisible from the C code
> perspective due to some tricks with #defines.

It wont be a big deal to pass one or two parameters through call32() -
SeaBIOS has gcc use register passing by default so it just requires
setting %eax/%ecx.  If more than a couple parameters are needed, then
the caller should populate a struct on the stack and then pass a
pointer to the struct.

-Kevin



More information about the SeaBIOS mailing list