[SeaBIOS] ohci bulk?
Kevin O'Connor
kevin at koconnor.net
Sat Nov 20 19:28:51 CET 2010
On Sat, Nov 20, 2010 at 01:18:18PM -0500, Stefan Berger wrote:
> On 11/20/2010 01:05 PM, Kevin O'Connor wrote:
> >Is it something like stacks.c:call32() or is it via SMM?
> >
> The way it works is that there is a jumptable with entries to the
> function in the 'high bios'. That jumptable along with all the other
> 32 bit code gets relocated to upper memory and in the 'lower BIOS' I
> keep a pointer to the jumptable in the 'high bios' for the upcall
> code to see. It's basically similar to what I have previously
> contributed to Bochs BIOS in Xen, just that the upcall code can deal
> with parameter passed via registers or a limited number on the
> stack.
>
> http://xenbits.xensource.com/xen-4.0-testing.hg?file/e9156d9d996b/tools/firmware/rombios/32bitgateway.c
That looks to be doing the same thing that stacks.c:call32() does.
> >BTW, are you reserving the relocated code or are you only doing this
> >during the init phase?
> The 'high bios' functions should be accessible all the time
> basically. So, the relocated code needs to be marked as
> e820-reserved memory -- I suppose that should do the trick then?
Yes, but of course that means the OS can't use the memory then. Why
does the code need to be in high memory - why not just have it in the
f-segment?
-Kevin
More information about the SeaBIOS
mailing list