On Thu, Mar 22, 2012 at 12:40:07AM -0300, Ivan Sichmann Freitas wrote: > Hi, > > I'm a computer engineering student at Unicamp (brazilian university), > interested in compilers and computer architecture (and most low level > stuff), and the idea of implementing the ABI for running 32 bit > applications on a 64 bit kernel seems interesting and challenging. > > I have moderated knowledge of C, OS principles and Linux systems, some > experience with FreeBSD, I've already cloned dragonfly's git repository > and I'm studying the code to come with a planned roadmap of what would > be my work in gsoc. You can find me with the username ISF in github and > IRC networks (efnet, freenode and oftc).
So, as far as I understood the idea and dragonfly's code: - since the current code was created to be of only one architecture, I would need to create a set of *_32 syscalls (will they maintain the same numeric value in syscalls.master in relation of its 64 bits counterparts?). - it's not clear to me how I will implement the control bits to indicate 32 bit execution. - I'm thinking in a way to implement this without breaking the current 64 bit abi for existing applications, any thoughts on that? As a draft of my planned roadmap: - completely understand the syscalls' handling in the kernel - analyze the difference of 32 and 64 elf formats and how it affects the loader - plan the implementation (try to avoid abi breakage and pitfalls) - do it (not sure how much time for each step, but the 2 firsts should be quick) I would appreciate any feedback on this. -- Ivan Sichmann Freitas GNU/Linux user #509059
signature.asc
Description: PGP signature