diff --git a/README.md b/README.md index a2f0a11..1ec81ba 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,22 @@ Requirements * OS X 10.10.3 Yosemite or later * a 2010 or later Mac (i.e. a CPU that supports EPT) +Installation +------------ + +If you have homebrew, then simply: + + $ brew update + $ brew install --HEAD xhyve + +The `--HEAD` in the brew command ensures that you always get the latest changes, even if the homebrew database is not yet updated. If for any reason you don't want that simply do `brew install xhyve` . + +if not then: + Building -------- - + $ git clone https://github.com/mist64/xhyve + $ cd xhyve $ make The resulting binary will be in build/xhyve @@ -57,7 +70,7 @@ It exposes the following peripherals to virtual machines: Notably absent are sound, USB, HID and any kind of graphics support. With a focus on server virtualization this is not strictly a requirement. bhyve may gain desktop virtualization capabilities in the future but this doesn't seem to be a priority. -Unlike QEMU, byhve also currently lacks any kind of guest-side firmware (QEMU uses the GPL3 [SeaBIOS](http://www.seabios.org)), but aims to provide a compatible [OVMF EFI](http://www.linux-kvm.org/page/OVMF) in the near future. It does however provide ACPI, SMBIOS and MP Tables. +Unlike QEMU, bhyve also currently lacks any kind of guest-side firmware (QEMU uses the GPL3 [SeaBIOS](http://www.seabios.org)), but aims to provide a compatible [OVMF EFI](http://www.linux-kvm.org/page/OVMF) in the near future. It does however provide ACPI, SMBIOS and MP Tables. bhyve architecture ------------------ diff --git a/src/vmm/io/vhpet.c b/src/vmm/io/vhpet.c index 1d81861..3e13bda 100644 --- a/src/vmm/io/vhpet.c +++ b/src/vmm/io/vhpet.c @@ -221,7 +221,7 @@ vhpet_timer_interrupt(struct vhpet *vhpet, int n) lapic_intr_msi(vhpet->vm, vhpet->timer[n].msireg >> 32, vhpet->timer[n].msireg & 0xffffffff); return; - } + } pin = vhpet_timer_ioapic_pin(vhpet, n); if (pin == 0) { @@ -291,7 +291,7 @@ vhpet_handler(void *a) callout_deactivate(callout); if (!vhpet_counter_enabled(vhpet)) - xhyve_abort("vhpet(%p) callout with counter disabled\n", vhpet); + xhyve_abort("vhpet(%p) callout with counter disabled\n", (void*)vhpet); counter = vhpet_counter(vhpet, &now); vhpet_start_timer(vhpet, n, counter, now); @@ -483,7 +483,7 @@ vhpet_mmio_write(void *vm, UNUSED int vcpuid, uint64_t gpa, uint64_t val, int si if ((offset & 0x4) != 0) { mask <<= 32; data <<= 32; - } + } break; default: VM_CTR2(vhpet->vm, "hpet invalid mmio write: " @@ -638,7 +638,7 @@ vhpet_mmio_read(void *vm, UNUSED int vcpuid, uint64_t gpa, uint64_t *rval, int s if (offset == HPET_CAPABILITIES || offset == HPET_CAPABILITIES + 4) { data = vhpet_capabilities(); - goto done; + goto done; } if (offset == HPET_CONFIG || offset == HPET_CONFIG + 4) { diff --git a/src/xhyve.c b/src/xhyve.c index 224a74b..7617f71 100644 --- a/src/xhyve.c +++ b/src/xhyve.c @@ -136,7 +136,7 @@ usage(int code) " -h: help\n" " -H: vmexit from the guest on hlt\n" " -l: LPC device configuration\n" - " -m: memory size in MB\n" + " -m: memory size in MB, may be suffixed with one of K, M, G or T\n" " -M: print MAC address and exit if using vmnet\n" " -p: pin 'vcpu' to 'hostcpu'\n" " -P: vmexit from the guest on pause\n"