176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/* ----------------------------------------------------------------------- * 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Copyright 2011 Erwan Velu - All Rights Reserved 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * Permission is hereby granted, free of charge, to any person 676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * obtaining a copy of this software and associated documentation 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * files (the "Software"), to deal in the Software without 876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * restriction, including without limitation the rights to use, 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * copy, modify, merge, publish, distribute, sublicense, and/or 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * sell copies of the Software, and to permit persons to whom 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * the Software is furnished to do so, subject to the following 1276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * conditions: 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * The above copyright notice and this permission notice shall 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * be included in all copies or substantial portions of the Software. 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 1876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * OTHER DEALINGS IN THE SOFTWARE. 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman * ----------------------------------------------------------------------- 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman */ 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include "hdt-common.h" 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#include "hdt-dump.h" 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanvoid dump_cpu(struct s_hardware *hardware, ZZJSON_CONFIG *config, ZZJSON **item) { 3376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman CREATE_NEW_OBJECT; 3576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hs(cpu.vendor); 3676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hs(cpu.model); 3776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.vendor_id); 3876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.family); 3976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.model_id); 4076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.stepping); 4176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.num_cores); 4276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.l1_data_cache_size); 4376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.l1_instruction_cache_size); 4476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_hi(cpu.l2_cache_size); 4576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman size_t i; 4676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman for (i = 0; i < cpu_flags_count; i++) { 4776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman char temp[128]={0}; 4876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman snprintf(temp,sizeof(temp),"cpu.flags.%s",cpu_flags_names[i]); 4976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman add_b(temp,get_cpu_flag_value_from_name(&hardware->cpu,cpu_flags_names[i])); 5076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman } 5176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman FLUSH_OBJECT; 5276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman to_cpio("cpu"); 5376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman} 54