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>