- 01 Jun, 2015 40 commits
-
-
Pekka Enberg authored
User input is buffered anyway, so it's pointless to set the UART_LSR_OE bit. Instead, wait for the guest kernel to consume the current input and send a new character when the guest is ready. This fixes the following warnings in guest kernels: [ 207.485000] ttyS0: 1 input overrun(s) Reported-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch changes the userspace hypervisor to exit gracefully upon KVM_EXIT_SHUTDOWN which is triggered when guest userspace is shut down. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Asias He authored
The size of the virtqueue(16) was smaller than scatter-gather(128) which hypervisor tells the guest. Under some circumstances, if the guest uses scatter-gather which larger than 16 - 2, kernel panics. That is why the scatter-gather support v1 breaks Cyrill's kernel boot. Two descriptors are used as the header and status descriptors. The remaining descriptors can be used as the real disk data descriptors. So DISK_SEG_MAX should be VIRTIO_BLK_QUEUE_SIZE - 2. VIRTIO_BLK_QUEUE_SIZE is 128 and DISK_SEG_MAX is 126 in this patch. Tested-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch introduces some virtqueue handling helper functions and converts the blk virtio device to use them. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch fixes 8250 device initial state for registers and IRQ based on what Qemu does. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch cleans up the confused termios handling to do what Lguest does. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
We're in the kernel source tree now so remove duplicate headers. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This reverts commit 87a53e99dad8b70decbc4d9744c3d272e51c3ceb. It breaks Cyrill's kernel boot.
-
Cyrill Gorcunov authored
Since that is its only purpose, not the whole virtio stuff. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Asias He authored
Publish VIRTIO_BLK_F_SEG_MAX feature to guest. In disk I/O request, guest can use multiple buffers which are not physicall contiguousy as the I/O request buffer. [ penberg@kernel.org: cleanups ] Signed-off-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch moves the interrupt timer logic to kvm.c and cleans it up. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch implements 16550A FIFO support to the serial console emulation layer. There's still a bug lurking somewhere which the hypervisor in some busy loop taking up 100% of CPU. However, this patch is a definite improvement over the previous hacks. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch implements missing register emulation as per "UART register to port conversion table" here: http://www.lammertbies.nl/comm/info/serial-uart.html Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch cleans up receive emulation by separating the stdin polling and reading logic from the interrupt logic. The patch also fixes the interrupt injection code to inject one type of interrupt at a time. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
We need to reset the counter to zero before we inject an interrupt to the guest. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch fixes the "too much work for irq4" problems caused by the fact that we never set the UART_IIR_NO_INT flag in the emulation layer. This makes the interrupt handler in the guest kernel process as much as possible which triggers a warning. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch fixes the 8250 serial emulation to not have undefined ioports but rather make them explicitly disabled. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Use disk name for kernel "root=" parameter rather than the dynamic major and minor numbers that vary from system to system. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Cyrill Gorcunov authored
Otherwise it causes kernel to do additional timeout waiting for THR being empty. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-
Pekka Enberg authored
As suggested by Ingo Molnar, put terminal in canonical mode. This makes poll() on stdin to react to keystrokes insted of return key and fixes the double echo'd character problem for input. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch fixes 8250 emulation to inject interrupts to guest so we actually see what's sent to the serial console. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
The 8250 emulation is no longer there to just support early_printk() so rename the source file to reflect that. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch implement support for injecting interrupts from the userspace hypervisor to the guest. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Asias He authored
As reported by Asias He, guest kernels mount filesystems as readonly under our hypervisor: without rw: [ 0.909000] EXT3-fs: mounted filesystem with writeback data mode. [ 0.909000] VFS: Mounted root (ext3 filesystem) readonly on device 253:1. /dev/root on / type ext3 (ro,relatime,errors=continue,data=writeback) by passing the "rw" kernel parameter, guest kernels are able to mount as read-write: [ 0.891000] EXT3 FS on vda1, internal journal [ 0.891000] EXT3-fs: recovery complete. [ 0.892000] EXT3-fs: mounted filesystem with writeback data mode. [ 0.892000] VFS: Mounted root (ext3 filesystem) on device 253:1. /dev/root on / type ext3 (rw,relatime,errors=continue,data=writeback) There's some real problem hiding here but as we've done with other parts of the kernel (PCI, SMP), just bypass the problem for now. Signed-off-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Asias He authored
We support write operations now. Signed-off-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Asias He authored
Suggested-by:
Pekka Enberg <penberg@kernel.org> Signed-off-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch enables the THRI ("transmission holding register empty") bit in the IIR register to make sure the guest doesn't think we have data waiting for it. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-
Pekka Enberg authored
This patch implement virtio block device write support. The writes are not persistent because we map the disk image with MAP_PRIVATE. Signed-off-by:
Pekka Enberg <penberg@kernel.org>
-