+(defun decode-cpuid-processor-info (vendor eax)
+ (let ((stepping (ldb (byte 4 0) eax))
+ (model (ldb (byte 4 4) eax))
+ (family (ldb (byte 4 8) eax))
+ (processor-type (ldb (byte 2 12) eax))
+ (extended-model (ldb (byte 4 16) eax))
+ (extended-family (ldb (byte 4 20) eax)))
+ (flet ((intel ()
+ (list stepping
+ (+ model (ash extended-model 4))
+ (+ family extended-family)
+ processor-type)))
+ (case vendor
+ ((:oldamd :amd)
+ (if (eql family 15)
+ (intel)
+ (list stepping model family processor-type)))
+ (T
+ (intel))))))
+
+(defun cpuid-signature (&optional (vendor-id (cpuid-vendor-id)))
+ (when (< (cpuid-highest-parameter) 1)
+ (warn "Processor info feature unsupported by CPU.")
+ (return-from cpuid-signature))