Bochs/bochs/param_names.h
Stanislav Shwartsman 8d1e3b2ac1 Added statistics collection infrastructure in Bochs and
implemented important CPU statistics which were used for Bochs CPU model performance analysis.
old statistics code from paging.cc and cpu.cc is replaced with new infrastructure.

In order to enale statitics collection in Bochs CPU:

- Enable statistics @ compilation time in cpu/cpustats.h
- Dump statistics periodically by adding -dumpstats N into Bochs command line
2014-10-14 15:59:10 +00:00

194 lines
11 KiB
C

/////////////////////////////////////////////////////////////////////////
// $Id$
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2009-2013 The Bochs Project
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
/////////////////////////////////////////////////////////////////////////
#ifndef BX_PARAM_NAMES
#define BX_PARAM_NAMES
// define parameter path names. These names give the location in the
// parameter tree where each can be found. The names correspond to
// the old BXP_* enum values, which have been eliminated.
#define BXPN_SEL_CONFIG_INTERFACE "general.config_interface"
#define BXPN_BOCHS_START "general.start_mode"
#define BXPN_BOCHS_BENCHMARK "general.benchmark"
#define BXPN_DUMP_STATS "general.dumpstats"
#define BXPN_RESTORE_FLAG "general.restore"
#define BXPN_RESTORE_PATH "general.restore_path"
#define BXPN_DEBUG_RUNNING "general.debug_running"
#define BXPN_PLUGIN_CTRL "general.plugin_ctrl"
#define BXPN_CPU_NPROCESSORS "cpu.n_processors"
#define BXPN_CPU_NCORES "cpu.n_cores"
#define BXPN_CPU_NTHREADS "cpu.n_threads"
#define BXPN_CPU_MODEL "cpu.model"
#define BXPN_IPS "cpu.ips"
#define BXPN_SMP_QUANTUM "cpu.quantum"
#define BXPN_RESET_ON_TRIPLE_FAULT "cpu.reset_on_triple_fault"
#define BXPN_IGNORE_BAD_MSRS "cpu.ignore_bad_msrs"
#define BXPN_CONFIGURABLE_MSRS_PATH "cpu.msrs"
#define BXPN_CPUID_LIMIT_WINNT "cpu.cpuid_limit_winnt"
#define BXPN_MWAIT_IS_NOP "cpu.mwait_is_nop"
#define BXPN_VENDOR_STRING "cpuid.vendor_string"
#define BXPN_BRAND_STRING "cpuid.brand_string"
#define BXPN_CPUID_LEVEL "cpuid.level"
#define BXPN_CPUID_FAMILY "cpuid.family"
#define BXPN_CPUID_MODEL "cpuid.model"
#define BXPN_CPUID_STEPPING "cpuid.stepping"
#define BXPN_CPUID_MMX "cpuid.mmx"
#define BXPN_CPUID_SIMD "cpuid.simd"
#define BXPN_CPUID_SSE4A "cpuid.sse4a"
#define BXPN_CPUID_MISALIGNED_SSE "cpuid.misaligned_sse"
#define BXPN_CPUID_AES "cpuid.aes"
#define BXPN_CPUID_SHA "cpuid.sha"
#define BXPN_CPUID_MOVBE "cpuid.movbe"
#define BXPN_CPUID_ADX "cpuid.adx"
#define BXPN_CPUID_SEP "cpuid.sep"
#define BXPN_CPUID_XSAVE "cpuid.xsave"
#define BXPN_CPUID_XSAVEOPT "cpuid.xsaveopt"
#define BXPN_CPUID_SVM "cpuid.svm"
#define BXPN_CPUID_VMX "cpuid.vmx"
#define BXPN_CPUID_AVX_F16CVT "cpuid.avx_f16c"
#define BXPN_CPUID_AVX_FMA "cpuid.avx_fma"
#define BXPN_CPUID_BMI "cpuid.bmi"
#define BXPN_CPUID_XOP "cpuid.xop"
#define BXPN_CPUID_TBM "cpuid.tbm"
#define BXPN_CPUID_FMA4 "cpuid.fma4"
#define BXPN_CPUID_APIC "cpuid.apic"
#define BXPN_CPUID_MWAIT "cpuid.mwait"
#define BXPN_CPUID_X86_64 "cpuid.x86_64"
#define BXPN_CPUID_1G_PAGES "cpuid.1g_pages"
#define BXPN_CPUID_PCID "cpuid.pcid"
#define BXPN_CPUID_FSGSBASE "cpuid.fsgsbase"
#define BXPN_CPUID_SMEP "cpuid.smep"
#define BXPN_CPUID_SMAP "cpuid.smap"
#define BXPN_MEM_SIZE "memory.standard.ram.size"
#define BXPN_HOST_MEM_SIZE "memory.standard.ram.host_size"
#define BXPN_ROM_PATH "memory.standard.rom.path"
#define BXPN_ROM_ADDRESS "memory.standard.rom.addr"
#define BXPN_VGA_ROM_PATH "memory.standard.vgarom.path"
#define BXPN_OPTROM1_PATH "memory.optrom.1.path"
#define BXPN_OPTROM1_ADDRESS "memory.optrom.1.addr"
#define BXPN_OPTROM2_PATH "memory.optrom.2.path"
#define BXPN_OPTROM2_ADDRESS "memory.optrom.2.addr"
#define BXPN_OPTROM3_PATH "memory.optrom.3.path"
#define BXPN_OPTROM3_ADDRESS "memory.optrom.3.addr"
#define BXPN_OPTROM4_PATH "memory.optrom.4.path"
#define BXPN_OPTROM4_ADDRESS "memory.optrom.4.addr"
#define BXPN_OPTRAM1_PATH "memory.optram.1.path"
#define BXPN_OPTRAM1_ADDRESS "memory.optram.1.addr"
#define BXPN_OPTRAM2_PATH "memory.optram.2.path"
#define BXPN_OPTRAM2_ADDRESS "memory.optram.2.addr"
#define BXPN_OPTRAM3_PATH "memory.optram.3.path"
#define BXPN_OPTRAM3_ADDRESS "memory.optram.3.addr"
#define BXPN_OPTRAM4_PATH "memory.optram.4.path"
#define BXPN_OPTRAM4_ADDRESS "memory.optram.4.addr"
#define BXPN_CLOCK_SYNC "clock_cmos.clock_sync"
#define BXPN_CLOCK_TIME0 "clock_cmos.time0"
#define BXPN_CLOCK_RTC_SYNC "clock_cmos.rtc_sync"
#define BXPN_CMOSIMAGE_ENABLED "clock_cmos.cmosimage.enabled"
#define BXPN_CMOSIMAGE_PATH "clock_cmos.cmosimage.path"
#define BXPN_CMOSIMAGE_RTC_INIT "clock_cmos.cmosimage.rtc_init"
#define BXPN_PCI_ENABLED "pci.enabled"
#define BXPN_PCI_CHIPSET "pci.chipset"
#define BXPN_PCIDEV_VENDOR "pci.pcidev.vendor"
#define BXPN_PCIDEV_DEVICE "pci.pcidev.device"
#define BXPN_SEL_DISPLAY_LIBRARY "display.display_library"
#define BXPN_DISPLAYLIB_OPTIONS "display.displaylib_options"
#define BXPN_PRIVATE_COLORMAP "display.private_colormap"
#define BXPN_FULLSCREEN "display.fullscreen"
#define BXPN_SCREENMODE "display.screenmode"
#define BXPN_VGA_EXTENSION "display.vga_extension"
#define BXPN_VGA_UPDATE_FREQUENCY "display.vga_update_frequency"
#define BXPN_VOODOO "display.voodoo"
#define BXPN_KEYBOARD "keyboard_mouse.keyboard"
#define BXPN_KBD_TYPE "keyboard_mouse.keyboard.type"
#define BXPN_KBD_SERIAL_DELAY "keyboard_mouse.keyboard.serial_delay"
#define BXPN_KBD_PASTE_DELAY "keyboard_mouse.keyboard.paste_delay"
#define BXPN_KBD_USEMAPPING "keyboard_mouse.keyboard.use_mapping"
#define BXPN_KBD_KEYMAP "keyboard_mouse.keyboard.keymap"
#define BXPN_USER_SHORTCUT "keyboard_mouse.keyboard.user_shortcut"
#define BXPN_MOUSE "keyboard_mouse.mouse"
#define BXPN_MOUSE_TYPE "keyboard_mouse.mouse.type"
#define BXPN_MOUSE_ENABLED "keyboard_mouse.mouse.enabled"
#define BXPN_MOUSE_TOGGLE "keyboard_mouse.mouse.toggle"
#define BXPN_BOOTDRIVE1 "boot_params.boot_drive1"
#define BXPN_BOOTDRIVE2 "boot_params.boot_drive2"
#define BXPN_BOOTDRIVE3 "boot_params.boot_drive3"
#define BXPN_FLOPPYSIGCHECK "boot_params.floppy_sig_check"
#define BXPN_LOAD32BITOS_WHICH "boot_params.load32bitos.which"
#define BXPN_LOAD32BITOS_PATH "boot_params.load32bitos.path"
#define BXPN_LOAD32BITOS_IOLOG "boot_params.load32bitos.iolog"
#define BXPN_LOAD32BITOS_INITRD "boot_params.load32bitos.initrd"
#define BXPN_FLOPPYA "floppy.0"
#define BXPN_FLOPPYA_DEVTYPE "floppy.0.devtype"
#define BXPN_FLOPPYA_PATH "floppy.0.path"
#define BXPN_FLOPPYA_TYPE "floppy.0.type"
#define BXPN_FLOPPYA_STATUS "floppy.0.status"
#define BXPN_FLOPPYB "floppy.1"
#define BXPN_FLOPPYB_DEVTYPE "floppy.1.devtype"
#define BXPN_FLOPPYB_PATH "floppy.1.path"
#define BXPN_FLOPPYB_TYPE "floppy.1.type"
#define BXPN_FLOPPYB_STATUS "floppy.1.status"
#define BXPN_ATA0_RES "ata.0.resources"
#define BXPN_ATA1_RES "ata.1.resources"
#define BXPN_ATA2_RES "ata.2.resources"
#define BXPN_ATA3_RES "ata.3.resources"
#define BXPN_ATA0_ENABLED "ata.0.resources.enabled"
#define BXPN_ATA1_ENABLED "ata.1.resources.enabled"
#define BXPN_ATA0_MASTER "ata.0.master"
#define BXPN_ATA1_MASTER "ata.1.master"
#define BXPN_ATA2_MASTER "ata.2.master"
#define BXPN_ATA3_MASTER "ata.3.master"
#define BXPN_ATA0_SLAVE "ata.0.slave"
#define BXPN_ATA1_SLAVE "ata.1.slave"
#define BXPN_ATA2_SLAVE "ata.2.slave"
#define BXPN_ATA3_SLAVE "ata.3.slave"
#define BXPN_USB_UHCI "ports.usb.uhci"
#define BXPN_UHCI_ENABLED "ports.usb.uhci.enabled"
#define BXPN_USB_OHCI "ports.usb.ohci"
#define BXPN_OHCI_ENABLED "ports.usb.ohci.enabled"
#define BXPN_USB_XHCI "ports.usb.xhci"
#define BXPN_XHCI_ENABLED "ports.usb.xhci.enabled"
#define BXPN_NE2K "network.ne2k"
#define BXPN_NE2K_ENABLED "network.ne2k.enabled"
#define BXPN_PNIC "network.pcipnic"
#define BXPN_PNIC_ENABLED "network.pcipnic.enabled"
#define BXPN_E1000 "network.e1000"
#define BXPN_E1000_ENABLED "network.e1000.enabled"
#define BXPN_SOUNDLOW "sound.lowlevel"
#define BXPN_SOUND_DRIVER "sound.lowlevel.driver"
#define BXPN_SOUND_WAVEOUT "sound.lowlevel.waveout"
#define BXPN_SOUND_WAVEIN "sound.lowlevel.wavein"
#define BXPN_SOUND_SPEAKER "sound.speaker"
#define BXPN_SOUND_SB16 "sound.sb16"
#define BXPN_SOUND_ES1370 "sound.es1370"
#define BXPN_PORT_E9_HACK "misc.port_e9_hack"
#define BXPN_GDBSTUB "misc.gdbstub"
#define BXPN_LOG_FILENAME "log.filename"
#define BXPN_LOG_PREFIX "log.prefix"
#define BXPN_DEBUGGER_LOG_FILENAME "log.debugger_filename"
#define BXPN_MENU_DISK "menu.disk"
#define BXPN_MENU_DISK_WIN32 "menu.disk_win32"
#define BXPN_MENU_RUNTIME_CDROM "menu.runtime.cdrom"
#define BXPN_MENU_RUNTIME_USB "menu.runtime.usb"
#define BXPN_MENU_RUNTIME_MISC "menu.runtime.misc"
#endif