def cpuinfo():
    """
    Return the CPU information of the machine as a list of dictionaries.

    Only Linux is supported.
    """
    cpuinfo = []
    try:
        current = {}
        for l in open('/proc/cpuinfo'):
            try:
                k, v = list(map(str.strip, l.split(':', 1)))
                if k == 'processor':
                    current = {k: v}
                    cpuinfo.append(current)
                elif k == 'flags':
                    current[k] = v.split()
                else:
                    current[k] = v
            except ValueError:
                pass
    except IOError:
        pass
    return cpuinfo
