[SeaBIOS] [RFC][PATCH] 0/2: Call 32 bit functions from 16 bit code with parameters

Stefan Berger stefanb at linux.vnet.ibm.com
Mon Nov 22 18:18:41 CET 2010


I am posting the following patches as an RFC. I would want to use them 
later on for BIOS extensions where work in 32 bit space seems easier to 
handle due to device addresses and ACPI tables that need to be written 
into for example being >1M and several function calls invoking functions 
in 32 bit space from 16 bit space. Parameters to function can be easily 
passed from 16bit. Also, it doesn't add much code, but provides 
convenience that others may be able to use as well.

It currently uses the fact that 32 bit code is being relocated into 
higher memory.

The intention of the patches is to allow a transition from 16 bit to 32 
bit as transparent as possible from the C-programming point of view. 
This means that one should be able to call 32 bit code from 16 bit and 
be able to pass parameters to the function in 32 bit space and be able 
to get the result from that function call. The assumption currently is 
that integers are passed.

Existing code in stack.c seems not to support the passing of parameters, 
so this would an extension to existing functionality.

All patches should apply cleanly to the tip.

Regards,
    Stefan





More information about the SeaBIOS mailing list