Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 Sep 2014 14:40:33 -0400
From:      Seo Townsend <seotownsend@icloud.com>
To:        freebsd-doc@freebsd.org
Subject:   Syscall x86 convention in Devlopers' Handbook
Message-ID:  <396A5D5F-AED3-4D79-8CD4-356A7FECCF9F@icloud.com>

next in thread | raw e-mail | index | archive | help
Hey guys, this is my first time in this mailing list so I=92m not fully =
aware of all the procedures=85

I was looking through the developer handbook and noticed that the =
Developer=92s Handbook section on Assembly for x86 doesn=92t make any =
mention of the change in the syscall calling convention from i386 to =
x86-64 and I can=92t seem to find this documented anywhere.  The =
documentation does mention =93FreeBSD kernel uses the C calling =
convention=94 (11.3.1) but doesn=92t point out that the C calling =
convention changed from i386 to x86-64; and the architecture listed for =
11 is generically (x86 Assembly Language Programming). =20

Thoughts?  Some ideas I had are:
(1). Change =93x86 Assembly Language Programming=94 to =93i386 Assembly=94=
 - This would clear up the disambiguity of the 32bit architecture and =
64bit architecture.
(2). Add a footnote to (11.3.1) with =93If you are using x86-64, please =
note that the calling convention for both C and syscall changed from =
pushing arguments on the stack to using a list of ordered registered as =
outlined in the System V AMD64 ABI specification=94
(3). I would not mind eventually adding a section for =93x86-64 =
assembly=94 for (11.3.2) if I could get someone to help mentor me.

Thanks
seotownsend=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?396A5D5F-AED3-4D79-8CD4-356A7FECCF9F>