K 10 svn:author V 5 danfe K 8 svn:date V 27 2015-09-17T14:10:12.136112Z K 7 svn:log V 484 Improve cpuid() implementation: - Correctly denote register use: for CPUID, %eax and %ecx are input/output and %ebx and %edx are output only - Do not insist on using %esi and %edi, let the compiler choose a register - Always preserve %ebx/%rbx because ABI defines them as callee-saved - Use xchg[lq] instead of mov[lq] to restore %ebx/%rbx - Use separate implementation for x86-64 to preserve %rbx because 32-bit operations would set the upper 32 bits to zero Submitted by: tijl END