Hey guys, this is my first time in this mailing list so I’m not fully aware of 
all the procedures…

I was looking through the developer handbook and noticed that the Developer’s 
Handbook section on Assembly for x86 doesn’t make any mention of the change in 
the syscall calling convention from i386 to x86-64 and I can’t seem to find 
this documented anywhere.  The documentation does mention “FreeBSD kernel uses 
the C calling convention” (11.3.1) but doesn’t 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).  

Thoughts?  Some ideas I had are:
(1). Change “x86 Assembly Language Programming” to “i386 Assembly” - This would 
clear up the disambiguity of the 32bit architecture and 64bit architecture.
(2). Add a footnote to (11.3.1) with “If 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”
(3). I would not mind eventually adding a section for “x86-64 assembly” for 
(11.3.2) if I could get someone to help mentor me.

Thanks
seotownsend
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-doc
To unsubscribe, send any mail to "[email protected]"

Reply via email to