É em grande parte do kernel, no entanto, há uma boa razão para usar a convenção de chamada escolhida em x86 de 64 bits: ela corresponde à convenção de espaço do usuário escolhida. O System V x86-64 ABI, que é o que o Linux usa, especifica que as funções usam registradores %rdi
, %rsi
, %rdx
, %rcx
, %r8
e %r9
para passar argumentos. A convenção de chamada do sistema é muito próxima disso: a única diferença é que usa %r10
em vez de %rcx
, principalmente porque SYSCALL
, uma nova instrução de 64 bits usada para chamar o sistema, precisa de %rcx
para outras fins.