vmm_dev.c (268935) | vmm_dev.c (268972) |
---|---|
1/*- 2 * Copyright (c) 2011 NetApp, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2011 NetApp, Inc. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: stable/10/sys/amd64/vmm/vmm_dev.c 268935 2014-07-21 02:39:17Z jhb $ | 26 * $FreeBSD: stable/10/sys/amd64/vmm/vmm_dev.c 268972 2014-07-22 03:14:37Z jhb $ |
27 */ 28 29#include <sys/cdefs.h> | 27 */ 28 29#include <sys/cdefs.h> |
30__FBSDID("$FreeBSD: stable/10/sys/amd64/vmm/vmm_dev.c 268935 2014-07-21 02:39:17Z jhb $"); | 30__FBSDID("$FreeBSD: stable/10/sys/amd64/vmm/vmm_dev.c 268972 2014-07-22 03:14:37Z jhb $"); |
31 32#include <sys/param.h> 33#include <sys/kernel.h> 34#include <sys/queue.h> 35#include <sys/lock.h> 36#include <sys/mutex.h> 37#include <sys/malloc.h> 38#include <sys/conf.h> --- 112 unchanged lines hidden (view full) --- 151 struct vm_register *vmreg; 152 struct vm_seg_desc *vmsegdesc; 153 struct vm_run *vmrun; 154 struct vm_exception *vmexc; 155 struct vm_lapic_irq *vmirq; 156 struct vm_lapic_msi *vmmsi; 157 struct vm_ioapic_irq *ioapic_irq; 158 struct vm_isa_irq *isa_irq; | 31 32#include <sys/param.h> 33#include <sys/kernel.h> 34#include <sys/queue.h> 35#include <sys/lock.h> 36#include <sys/mutex.h> 37#include <sys/malloc.h> 38#include <sys/conf.h> --- 112 unchanged lines hidden (view full) --- 151 struct vm_register *vmreg; 152 struct vm_seg_desc *vmsegdesc; 153 struct vm_run *vmrun; 154 struct vm_exception *vmexc; 155 struct vm_lapic_irq *vmirq; 156 struct vm_lapic_msi *vmmsi; 157 struct vm_ioapic_irq *ioapic_irq; 158 struct vm_isa_irq *isa_irq; |
159 struct vm_isa_irq_trigger *isa_irq_trigger; |
|
159 struct vm_capability *vmcap; 160 struct vm_pptdev *pptdev; 161 struct vm_pptdev_mmio *pptmmio; 162 struct vm_pptdev_msi *pptmsi; 163 struct vm_pptdev_msix *pptmsix; 164 struct vm_nmi *vmnmi; 165 struct vm_stats *vmstats; 166 struct vm_stat_desc *statdesc; --- 174 unchanged lines hidden (view full) --- 341 isa_irq->ioapic_irq); 342 break; 343 case VM_ISA_PULSE_IRQ: 344 isa_irq = (struct vm_isa_irq *)data; 345 error = vatpic_pulse_irq(sc->vm, isa_irq->atpic_irq); 346 if (error == 0 && isa_irq->ioapic_irq != -1) 347 error = vioapic_pulse_irq(sc->vm, isa_irq->ioapic_irq); 348 break; | 160 struct vm_capability *vmcap; 161 struct vm_pptdev *pptdev; 162 struct vm_pptdev_mmio *pptmmio; 163 struct vm_pptdev_msi *pptmsi; 164 struct vm_pptdev_msix *pptmsix; 165 struct vm_nmi *vmnmi; 166 struct vm_stats *vmstats; 167 struct vm_stat_desc *statdesc; --- 174 unchanged lines hidden (view full) --- 342 isa_irq->ioapic_irq); 343 break; 344 case VM_ISA_PULSE_IRQ: 345 isa_irq = (struct vm_isa_irq *)data; 346 error = vatpic_pulse_irq(sc->vm, isa_irq->atpic_irq); 347 if (error == 0 && isa_irq->ioapic_irq != -1) 348 error = vioapic_pulse_irq(sc->vm, isa_irq->ioapic_irq); 349 break; |
350 case VM_ISA_SET_IRQ_TRIGGER: 351 isa_irq_trigger = (struct vm_isa_irq_trigger *)data; 352 error = vatpic_set_irq_trigger(sc->vm, 353 isa_irq_trigger->atpic_irq, isa_irq_trigger->trigger); 354 break; |
|
349 case VM_MAP_MEMORY: 350 seg = (struct vm_memory_segment *)data; 351 error = vm_malloc(sc->vm, seg->gpa, seg->len); 352 break; 353 case VM_GET_MEMORY_SEG: 354 seg = (struct vm_memory_segment *)data; 355 seg->len = 0; 356 (void)vm_gpabase2memseg(sc->vm, seg->gpa, seg); --- 242 unchanged lines hidden --- | 355 case VM_MAP_MEMORY: 356 seg = (struct vm_memory_segment *)data; 357 error = vm_malloc(sc->vm, seg->gpa, seg->len); 358 break; 359 case VM_GET_MEMORY_SEG: 360 seg = (struct vm_memory_segment *)data; 361 seg->len = 0; 362 (void)vm_gpabase2memseg(sc->vm, seg->gpa, seg); --- 242 unchanged lines hidden --- |