X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fnvram.c;h=5d433bbacc5b0730a43b8fc6a236811b3998c4da;hb=746934f539c53c6fc687890c02ebf886c6873342;hp=15c8dfa885e37b87c96f64113d5515beb78476e6;hpb=0899a5c74318e582f3d6ebec52cc744cdb727734;p=palacios.git diff --git a/palacios/src/devices/nvram.c b/palacios/src/devices/nvram.c index 15c8dfa..5d433bb 100644 --- a/palacios/src/devices/nvram.c +++ b/palacios/src/devices/nvram.c @@ -428,7 +428,15 @@ static int handle_timer_event(struct guest_info * info, } static int set_nvram_defaults(struct vm_device * dev) { + struct guest_info * info = dev->vm; struct nvram_internal * nvram_state = (struct nvram_internal *)dev->private_data; + + /* TODO: + * The amount of ram in the system is stored in info->mem_size + * We need to reflect that value correctly here + */ + PrintError("TODO: Set the nvram memory register to reflect info->mem_size (%p)\n", (void *)(info->mem_size)); + // // 2 1.44 MB floppy drives @@ -593,7 +601,7 @@ static int nvram_write_data_port(ushort_t port, static int nvram_init_device(struct vm_device * dev) { - + struct nvram_internal * data = (struct nvram_internal *)dev->private_data; PrintDebug("nvram: init_device\n"); @@ -602,6 +610,8 @@ static int nvram_init_device(struct vm_device * dev) { // Would read state here set_nvram_defaults(dev); + + nvram_reset_device(dev); @@ -642,7 +652,7 @@ struct vm_device * v3_create_nvram() { nvram_state = (struct nvram_internal *)V3_Malloc(sizeof(struct nvram_internal) + 1000); - PrintDebug("nvram: internal at %x\n", nvram_state); + PrintDebug("nvram: internal at %p\n", (void *)nvram_state); struct vm_device * device = v3_create_device("NVRAM", &dev_ops, nvram_state);