X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fsimple_pic.c;h=70031116b6cdbf55b418d0fc6b2a76712f2b27c6;hb=7cdedeb7a01b51c5242cce94924f2ea246008e7d;hp=a4e25f56fc8e4ac0ad4b808033eb20d979b6fcd5;hpb=a9ba0182142340a2dd7b6a0b7c63727e87b08c89;p=palacios-OLD.git diff --git a/palacios/src/devices/simple_pic.c b/palacios/src/devices/simple_pic.c index a4e25f5..7003111 100644 --- a/palacios/src/devices/simple_pic.c +++ b/palacios/src/devices/simple_pic.c @@ -1,3 +1,22 @@ +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2008, Jack Lange + * Copyright (c) 2008, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ + #include #include #include @@ -5,27 +24,27 @@ struct pic_internal { int pending_irq; - int error_code; + }; -int pic_intr_pending(void * private_data) { +static int pic_intr_pending(void * private_data) { struct pic_internal * data = (struct pic_internal *)private_data; return (data->pending_irq > 0); } -int pic_raise_intr(void * private_data, int irq, int error_code) { +static int pic_raise_intr(void * private_data, int irq) { struct pic_internal * data = (struct pic_internal *)private_data; data->pending_irq = irq; - data->error_code = error_code; + return 0; } -int pic_get_intr_number(void * private_data) { +static int pic_get_intr_number(void * private_data) { struct pic_internal * data = (struct pic_internal *)private_data; return data->pending_irq; @@ -41,16 +60,16 @@ static struct intr_ctrl_ops intr_ops = { -int pic_init_device(struct vm_device * dev) { +static int pic_init_device(struct vm_device * dev) { struct pic_internal * data = (struct pic_internal *)dev->private_data; - set_intr_controller(dev->vm, &intr_ops, data); + v3_set_intr_controller(dev->vm, &intr_ops, data); data->pending_irq = 0; return 0; } -int pic_deinit_device(struct vm_device * dev) { +static int pic_deinit_device(struct vm_device * dev) { return 0; } @@ -67,11 +86,12 @@ static struct vm_device_ops dev_ops = { }; -struct vm_device * create_pic() { +struct vm_device * v3_create_simple_pic() { struct pic_internal * state = NULL; - VMMMalloc(struct pic_internal *, state, sizeof(struct pic_internal)); + state = (struct pic_internal *)V3_Malloc(sizeof(struct pic_internal)); + V3_ASSERT(state != NULL); - struct vm_device * pic_dev = create_device("Simple Pic", &dev_ops, state); + struct vm_device * pic_dev = v3_create_device("Simple Pic", &dev_ops, state); return pic_dev;