Hello,
background:
I'm Assembly programmer for both Intel's x86 and AMD64 architectures, been programming for these architecture for more than 10 years in non-UNIX-like operating systems; to be more precise: Windows NT based operating systems.
I was able to find the numeric kernel services somewhere inside /usr/src/.. a header file under ../sys directory.
however, I could not find any reference on my machine, nor the internet regarding which interrupt interface*i FreeBSD use and the calling conventions*ii when operating in long-mode*iii.
simply put, the question:
where is the AMD64 ABI documentation?
i: interrupt interface: INT n, SYSENTER, SYSCALL.
ii: calling conventions: volatile and non volatile registers, order of argument passing, stack cleaning.
iii: long-mode: 64-bit.
background:
I'm Assembly programmer for both Intel's x86 and AMD64 architectures, been programming for these architecture for more than 10 years in non-UNIX-like operating systems; to be more precise: Windows NT based operating systems.
I was able to find the numeric kernel services somewhere inside /usr/src/.. a header file under ../sys directory.
however, I could not find any reference on my machine, nor the internet regarding which interrupt interface*i FreeBSD use and the calling conventions*ii when operating in long-mode*iii.
simply put, the question:
where is the AMD64 ABI documentation?
i: interrupt interface: INT n, SYSENTER, SYSCALL.
ii: calling conventions: volatile and non volatile registers, order of argument passing, stack cleaning.
iii: long-mode: 64-bit.