search for: hvvm_start

Displaying 4 results from an estimated 4 matches for "hvvm_start".

2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 01/13] HV VM Fix map area for HV.
...ges)) + break; + } + } while (i < pages); + + if (i < pages) + return 0; + + /* + * OK we found a location where we can map our pages + * so now we set them used, and do the mapping. + */ + bit = found_bit; + for (i=0; i < pages; i++) + set_bit(bit++, hvvm_avail_pages); + + return HVVM_START + found_bit * PAGE_SIZE; +} + +static void release_hv_pages(unsigned long addr, int pages) +{ + unsigned int bit; + int i; + + /* FIXME : ADD LOCKING!!! */ + + bit = (addr - HVVM_START) / PAGE_SIZE; + + for (i=0; i < pages; i++) { + BUG_ON(!test_bit(bit, hvvm_avail_pages)); + clear_bit(bit++,...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 01/13] HV VM Fix map area for HV.
...ges)) + break; + } + } while (i < pages); + + if (i < pages) + return 0; + + /* + * OK we found a location where we can map our pages + * so now we set them used, and do the mapping. + */ + bit = found_bit; + for (i=0; i < pages; i++) + set_bit(bit++, hvvm_avail_pages); + + return HVVM_START + found_bit * PAGE_SIZE; +} + +static void release_hv_pages(unsigned long addr, int pages) +{ + unsigned int bit; + int i; + + /* FIXME : ADD LOCKING!!! */ + + bit = (addr - HVVM_START) / PAGE_SIZE; + + for (i=0; i < pages; i++) { + BUG_ON(!test_bit(bit, hvvm_avail_pages)); + clear_bit(bit++,...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...ER_SCE | EFER_LME | EFER_LMA | EFER_NX; + lhwrite_u64(vcpu, regs->rbx, val); + break; + default: + kill_guest_dump(vcpu, "bad read of msr %llx\n", regs->rdx); + } + break; + case LHCALL_WRMSR: + switch (regs->rdx) { + case MSR_KERNEL_GS_BASE: + if ((regs->rbx >= HVVM_START) && + (regs->rbx < (HVVM_START + HV_VIRT_SIZE))) { + kill_guest_dump(vcpu, + "guest trying to set GS shadow base" + " in hypervisor"); + break; + } + vcpu->guest_gs_shadow_a = regs->rbx; + vcpu->guest_gs_shadow_d = regs->rbx...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...ER_SCE | EFER_LME | EFER_LMA | EFER_NX; + lhwrite_u64(vcpu, regs->rbx, val); + break; + default: + kill_guest_dump(vcpu, "bad read of msr %llx\n", regs->rdx); + } + break; + case LHCALL_WRMSR: + switch (regs->rdx) { + case MSR_KERNEL_GS_BASE: + if ((regs->rbx >= HVVM_START) && + (regs->rbx < (HVVM_START + HV_VIRT_SIZE))) { + kill_guest_dump(vcpu, + "guest trying to set GS shadow base" + " in hypervisor"); + break; + } + vcpu->guest_gs_shadow_a = regs->rbx; + vcpu->guest_gs_shadow_d = regs->rbx...