DragonFly BSD
DragonFly kernel List (threaded) for 2012-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: GSoC 2012 - 32 bit API for 64 bit kernel


From: Ivan Sichmann Freitas <ivansichfreitas@xxxxxxxxx>
Date: Sun, 25 Mar 2012 18:19:21 -0300

--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 22, 2012 at 12:40:07AM -0300, Ivan Sichmann Freitas wrote:
> Hi,
>=20
> 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.
>=20
> 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.

--=20
Ivan Sichmann Freitas
GNU/Linux user #509059

--fUYQa+Pmc3FrFX/N
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: PGP signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJPb4vZAAoJEFM7yh3+vhFA/VgP/1GH5s4j1HOe31XIzOG4ySL+
yH7TkNDQFIh78xUBaIHpBqltQI7X35wWnVB8LQLzWgsKK5w0gddRDWQQ6DXSAtAt
8nsIs215XPmDAD4PTaclj1tRF/okSJW8ZbwguT9FcyPS4rPFUw9xjQ1QsrepQ1N1
yyTXEIu3plgrI36pCOpJighz+Ts5ZgFwugGmxPvpkPGszjemL5T32zRRNJ/TcruI
I0S598gfPhbLhGu4iV9hERD94hFYrwNjnieKv2Np5HaHmjJrBI0Gsmptf8/AXDvC
VA11Du2qBZWlGMavtHzk8gXCDkOjuMJw/e0o0mgO6Y/tOjetInoGEjOUC+cw6Uk4
ODLP3hz9J4Cm4KIRdcBiIl+LTSwbHDi0D011i7P7ztmf16HEBDMrDpFx11I5bWbs
7MF7tRo1QqPz0btFAXv0NKqv/eZQJLvPHnvQ4rM9DOdnJc9+uHcge6IEiFDGhnJX
hWU4dao6eo/g6ZybX08aeUomMNppnDxrVmkY23qolgcOMgRJSWOl2fAL7Z/Vahmg
lkulgVhjYrn9evbddoepCvsU+iBNUd5S6xnHE7VcM+PEv/7rZtSfD1z46T4eUi6U
dIF1X/JJfDTQQp5NmxCmLV1ndqgu6TnoVE9fuWH2OF228z9NcqIbSNTn35rXX1fH
xTY5SZxyRGyXhxCCZuhh
=KGde
-----END PGP SIGNATURE-----

--fUYQa+Pmc3FrFX/N--



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]