module Main(main) where import Text.Printf import System.Cpuid main :: IO () main = do (a, b, c, d) <- cpuid 0 printf "basic CPUID usage: EAX=0: %8x %8x %8x %8x\n\n" a b c d vs <- vendorString printf "Vendor string: %s\n\n" vs vs <- brandString printf "Brand string: %s\n\n" vs printf "Cache information:\n" infos <- cacheInfo mapM_ (\ v -> putStrLn $ " " ++ show v) infos putStrLn "" ProcessorInfo{piFamily = fam, piModel = mod, piStepping = step, piType = typ} <- processorInfo printf "processor info: family: %d, model: %d, stepping: %d, processor type: %d\n" fam mod step typ