#include <palacios/vmm_time.h>
#include <palacios/vmm_util.h>
#include <palacios/vmm_intr.h>
+#include <palacios/vmm_config.h>
-
-#ifndef DEBUG_PIT
+#ifndef CONFIG_DEBUG_PIT
#undef PrintDebug
#define PrintDebug(fmt, args...)
#endif
};
-static int pit_init(struct guest_info * info, void * cfg_data) {
+static int pit_init(struct guest_info * info, v3_cfg_tree_t * cfg) {
struct pit * pit_state = NULL;
struct vm_device * dev = NULL;
+ char * name = v3_cfg_val(cfg, "name");
uint_t cpu_khz = V3_CPU_KHZ();
ullong_t reload_val = (ullong_t)cpu_khz * 1000;
pit_state = (struct pit *)V3_Malloc(sizeof(struct pit));
V3_ASSERT(pit_state != NULL);
- dev = v3_allocate_device("PIT", &dev_ops, pit_state);
+ dev = v3_allocate_device(name, &dev_ops, pit_state);
if (v3_attach_device(info, dev) == -1) {
- PrintError("Could not attach device %s\n", "PIT");
+ PrintError("Could not attach device %s\n", name);
return -1;
}
v3_dev_hook_io(dev, CHANNEL2_PORT, &pit_read_channel, &pit_write_channel);
v3_dev_hook_io(dev, COMMAND_PORT, NULL, &pit_write_command);
-#ifdef DEBUG_PIT
+#ifdef CONFIG_DEBUG_PIT
PrintDebug("8254 PIT: OSC_HZ=%d, reload_val=", OSC_HZ);
PrintTraceLL(reload_val);
PrintDebug("\n");
init_channel(&(pit_state->ch_1));
init_channel(&(pit_state->ch_2));
-#ifdef DEBUG_PIT
+#ifdef CONFIG_DEBUG_PIT
PrintDebug("8254 PIT: CPU MHZ=%d -- pit count=", cpu_khz / 1000);
PrintTraceLL(pit_state->pit_counter);
PrintDebug("\n");