Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


added support for multiple interrupt controllers
[palacios.git] / palacios / src / devices / apic.c
index 7434b7d..41f4daa 100644 (file)
@@ -741,22 +741,10 @@ static int apic_get_intr_number(void * private_data) {
 }
 
 static int apic_raise_intr(void * private_data, int irq) {
-  struct vm_device * dev = (struct vm_device *)private_data;
-  struct apic_state * apic = (struct apic_state *)dev->private_data;
-
-  return activate_apic_irq(apic, irq);
+  return 0;
 }
 
 static int apic_lower_intr(void * private_data, int irq) {
-  struct vm_device * dev = (struct vm_device *)private_data;
-  struct apic_state * apic = (struct apic_state *)dev->private_data;
-  int major_offset = irq & ~0x00000007;
-  int minor_offset = irq & 0x00000007;
-  uchar_t * req_location = apic->int_req_reg + major_offset;
-  uchar_t flag = 0x01 << minor_offset;
-
-  *req_location &= ~flag;
-
   return 0;
 }
 
@@ -874,7 +862,7 @@ static int apic_init(struct vm_device * dev) {
   struct guest_info * info = dev->vm;
   struct apic_state * apic = (struct apic_state *)(dev->private_data);
 
-  v3_set_intr_controller(dev->vm, &intr_ops, dev);
+  v3_register_intr_controller(dev->vm, &intr_ops, dev);
   v3_add_timer(dev->vm, &timer_ops, dev);
 
   init_apic_state(apic);