code: def get_processor_cpuid_leaf(self, cpu_id, leaf, sub_leaf):
          
          if not isinstance(cpu_id, baseinteger):
              raise TypeError("cpu_id can only be an instance of type baseinteger")
          if not isinstance(leaf, baseinteger):
              raise TypeError("leaf can only be an instance of type baseinteger")
          if not isinstance(sub_leaf, baseinteger):
              raise TypeError("sub_leaf can only be an instance of type baseinteger")
          (val_eax, val_ebx, val_ecx, val_edx) = self._call("getProcessorCPUIDLeaf",
                       in_p=[cpu_id, leaf, sub_leaf])
          return (val_eax, val_ebx, val_ecx, val_edx)
docs: Returns the CPU cpuid information for the specified leaf.
  
          in cpu_id of type int
              Identifier of the CPU. The CPU most be online.
              
              The current implementation might not necessarily return the
              description for this exact CPU.
  
          in leaf of type int
              CPUID leaf index (eax).
  
          in sub_leaf of type int
              CPUID leaf sub index (ecx). This currently only applies to cache
              information on Intel CPUs. Use 0 if retrieving values for
              :py:func:`IMachine.set_cpuid_leaf` .
  
          out val_eax of type int
              CPUID leaf value for register eax.
  
          out val_ebx of type int
              CPUID leaf value for register ebx.
  
          out val_ecx of type int
              CPUID leaf value for register ecx.
  
          out val_edx of type int
              CPUID leaf value for register edx.