Age | Commit message (Collapse) | Author |
|
to begin with anyways.
|
|
previous version was allowing an output rate that is "too fast", and linux
guests would give up after 512 characters TXed ("too much work for irq4").
This diff calculates the approximate rate we can sustain at the current
programmed baud rate and limits the output to that rate by inserting a
HZ delay after a specified number of characters have been transmitted.
This fixes the linux guest console issue.
Note that the console now outputs at more or less the selected baud rate,
instead of nearly instantaneously as before - if you selected 9600 in
your guest VMs before, you might want to change that to 115200 now for a
better console experience.
krw@ "seems like a good idea to me"
|
|
from before we had seabios support (to fake a hole where the EBDA would
be), and seabios always assumes 640k low memory is available. Fixes a
problem where FreeDOS guests whose seabios placed the virtio ring too
close to 640k would crash vmd. tested on a variety of guest OS, with
and without seabios. no regressions seen.
|
|
async io operations. ok mlarkin
|
|
copypaste bug that didn't hurt us as long as all the queue sizes were
the same, which was the case up to now.
suggested by sf@, ok krw@
|
|
|
|
"vmctl stop" that doesn't exist.
Diff from Pratik Vyas, thanks!
|
|
Also, fix a comment that wasn't applicable anymore, and change a format
from decimal to hex
|
|
|
|
ok reyk@
|
|
This is required for implementing vmctl send and vmctl receive. vmctl
send / receive are two new options that will support snapshotting VMs
and migrating VMs from one host to another. The atomicio files are
copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State
University along with his three teammates, Ashwin, Harshada and Siri
with mlarkin@ as the advisor.
OK mlarkin@
|
|
imsg_compose() on the "vmm_pipe" directly. This fixes the
communication channel from VMs back to vmm.
|
|
Usermode part of previous vmm(4) diff.
Posted to tech by Pratik Vyas
|
|
OK mlarkin@
|
|
specifically: vmctl (load|reload|reset|log)
Reported by Christian Barthel
|
|
This allows to configure VM interfaces and switches in individual rdomains.
OK mlarkin@
|
|
|
|
(vmd part)
This feature is for OpenBSD guests only.
ok reyk, kettenis
|
|
|
|
ok kettenis
|
|
emulating
|
|
OK deraadt@
|
|
|
|
When copying the DHCP/BOOTP response into the allocated buffer, use
the calculated response length instead of the maximum size of a DHCP
packet. The response length was verified correctly but the very last
step missed to use it.
Found by Caspar Schutijser and malloc.conf(5) "S"
OK deraadt@
|
|
This fixes 'vmd -nf /etv/vm.conf' if the file is not readable.
|
|
The default prefix is 100.64.0.0/10 from RFC6598.
Requested by sthen@ chris@
OK mlarkin@
|
|
This will be used in the future to support an sgabios option rom, to
do VGA text mode console redirection.
ok reyk
|
|
When a local interface is configured, vmd configures a /31 address on
the tap(4) interface of the host and provides another IP in the same
subnet via DHCP (BOOTP) to the VM. vmd runs an internal BOOTP server
that replies with IP, gateway, and DNS addresses to the VM. The
built-in server only ever responds to the VM on the inside and cannot
leak its DHCP responses to the outside.
Thanks to Uwe Werler, Josh Grosse, and some others for testing!
OK deraadt@
|
|
reporting is not actually a warning.
|
|
ok deraadt
|
|
ok otto, deraadt
|
|
Found by Pontus Lundkvist
OK deraadt
|
|
Each VM has two IDs: one from the kernel (vmm) and a different one
from userland (vmd). The vmm ID is not consistent and incremented on
every boot during runtimg of the host system. The vmd ID remains the
same during the lifetime of a configured VM, even after reboots.
Configured VMs will even get and keep their IDs when the configuration
is loaded. This is more what users expect.
Pointed out and tested by otto@
OK deraadt@
|
|
|
|
This diff (with the others previously committed) allows ubuntu 14.04
amd64 guests to work.
|
|
This avoids jumping into vmboot in some edge conditions.
OK mlarkin@
|
|
the stack variable that we use to store the data otherwise the bytes that
aren't touched by get_input_data() may contain garbage.
ok mlarkin@
|
|
This allows to use the non-BIOS on-disk bootloader for testing. It
might go away after release when we feel more confident about BIOS.
OK mlarkin@
|
|
to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
|
guest VM. We probably need to do this same fix for vionet later.
|
|
Instead of using the internal "vmboot", VMs will now be booted using
the external BIOS firmware in /etc/firmware/vmm-bios (which is subject
to a LGPLv3 license). Direct booting of OpenBSD kernels or
non-default BIOS images is still supported for now using the -b/boot
option that is replacing the -k/kernel option.
As requested by Theo, vmd(8) fails if neither the default BIOS is
found nor a kernel has been specified in the VM configuration. The
"vmm" BIOS has to be installed using fw_update(1), which will be done
automatically in most cases where the OpenBSD can fetch it after
install/upgrade.
OK mlarkin@
|
|
we were not doing. That confused the virtio subsystem in linux.
|
|
implemented vionet one
|
|
pci emulation.
ok kettenis
|
|
i8253/i8259/mc146818 emulation to use this.
|
|
The newly-used function get_input_data() is missing and broke the tree.
|
|
code.
|
|
instruction. Matches previous commit to kernel vmm.c
|
|
mc146818. This is needed for seabios to boot properly (and construct
a sensible e820 map to send to the guest OS).
|
|
the wrong i/o latch index on reads (resulting in erratic counter values
possibly being read). Also do proper return size setting (don't clobber
%eax high bits).
This diff also implements counter readback mode, which is used in seabios.
|