Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-01-24 | vmx: fix PCI ID for virtio block devices | Michael Forney | |
The transitional PCI device ID for block devices is 0x1001, and the virtio spec says that devices must have the transitional device ID or 0x1040 + the virtio device ID (2). | |||
2021-09-25 | vmx: update openbsd kernel heuristics | Ori Bernstein | |
in OpenBSD 6.9 and up, the kernel (bsd, bsd.mp) still has the ostype symbols, but bsd.rd appears to have lost them, even when decompressed. so, as a result, we should use what we have, which isn't much. | |||
2021-07-11 | vmx: reset virtio queue state on device reset | cinap_lenrek | |
when a virtio device gets reset, we have to also reset the device shadow indices: availableidx and usedidx. for extra safetly, we also reset the buffer descriptor table addresses. this is accomplished by adding a vioqreset(VIOQueue*) function that brings the queue to its initial reset state. this fixes non functional ethernet after reboot(8). | |||
2021-07-06 | vmx: emulate ps/2 intellimouse scrolling | Sigrid Solveig Haflínudóttir | |
2021-05-12 | vmx: fix 9p debug server and make it compatible to /proc | cinap_lenrek | |
The 9p debug server was broken as it assumed the first tree file added would have a qid of 0 (it has a qid of 1 as the root directory is using 0 already). Instead, just compare File* pointers and get rid of the table (less code). When passing 64-bit unsigned addresses as 64-bit signed file offsets, we have to make sure to not pass negative offsets (filtered out by kernel and lib9p)! This is solved by clearing and sign bit in encoding and 63-bit sign extension on decoding. Make the mem file writable (needed for acid). The 9p debug server provided a single directory containing mem and regs files. This patch renames the regs file (which is in vmx specific text format) to "xregs" and adds "regs" and "kregs" file which use the same format as exported by the kernels /proc filesystem. This allows one to bind the vmx directory over a proc directory and attach acid to a running system like: mount -b /srv/vmx /proc/1 acid -k -lkernel 1 /sys/src/9/pc64/9pc64 | |||
2021-05-12 | vmx: avoid strdup() register names for register cache | cinap_lenrek | |
If we tokenize the register file contents in a static buffer, we can avoid having to duplicate the register names. All callers to rpoke() provide constant register arguments so they also do not need to be duplicated. | |||
2021-05-12 | vmx: implement long mode page table translation | cinap_lenrek | |
This allows vmx to translate virtual addresses to physical when the gues runs in long mode. | |||
2021-02-23 | vmx: reduce cpu load by eliminating nop-loop | Sigrid | |
Sacrifice some of the sub-millisecond timer precision in favor of less cpu load when the timer is about to be kicked a bit early. Result is visible *especially* when the guest idling. Timer proc *still* has to send to the channel (in order to kick PIT and RTC logic), which takes time, and compensates a bit for possibly early runs. | |||
2020-12-10 | vmx: clean up mksegment, memset only if segment existed (devsegment clears ↵ | Sigrid | |
new ones) | |||
2020-12-08 | vmx(1): build vmxgdb by default, clean it up as well | Sigrid | |
2020-12-08 | vmx: nanosec(): fix non-interruptable temporary, assign fasthz only once ↵ | cinap_lenrek | |
after xstart | |||
2020-12-08 | vmx: add fmt checking, fix fmt errors, remove duplication for vmdebug | cinap_lenrek | |
2020-12-08 | vesa: make unsupported function not an error, set return status | Sigrid | |
2020-12-08 | vmx: add -D option to enable debug messages, use vmdebug for non-fatal "errors" | Sigrid | |
2020-12-07 | vmx: add -v|-w flag to control window creation behaviour | cinap_lenrek | |
The -v flag now does not create a new rio window, while -w flag does (restores the old behaviour). This allows vmx to run under vncs and is in general mode aligned to other emulators and programs. | |||
2020-12-06 | amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable | Sigrid | |
2020-11-02 | vmx: mask out bits 0:2 and 24:30 of pci CONFIG_ADDRESS on read | cinap_lenrek | |
These bits are reserved, and by the specification, must return zero on read. This is also used by plan 9 for detecting config mode #1. | |||
2020-10-23 | vmx/vga: fix allocimage leaks | Sigrid | |
2020-10-09 | vmx: add Kmod4 | Sigrid | |
2020-08-10 | vmx: does not do well with certain fb widths, so restrict it | Sigrid | |
2020-08-07 | vmx: set xstart to either nsec or cycles depending on what is available | Sigrid | |
2020-08-01 | vmx(1): use _tos->cyclefreq (thanks cinap) | Sigrid | |
2020-07-31 | vmx(1): add missing file | Sigrid | |
2020-07-31 | vmx(1): use cycles() instead of nsec() when possible | Sigrid | |
this provides better timing and reduced number of syscalls (~2.7M old vs ~35K new in a test) | |||
2020-07-31 | vmx: use _actual_ system kbmap | Sigrid | |
2019-05-19 | vmx: handle build arch exclude in /sys/src/cmd/mkfile | cinap_lenrek | |
2019-05-01 | vmx: build vmx only for 386 or amd64 | cinap_lenrek | |
vmx uses non portable word unpacking macros, breaking the build for arm64. vmx only works on a pc anyway. this forces objtype to 386 on these machines, similar to what the kernel mkfiles do. | |||
2019-03-06 | vmx: check for draw initialization errors | mischief | |
2018-05-12 | add signed fixed size integer typedefs | qwx | |
2018-02-25 | vmx: allow setting mac address of using ea:nnnnnnnnnnnn! prefix, use ↵ | cinap_lenrek | |
genrandom() to generate mac globally unique mac address | |||
2017-12-15 | ether: allow spoofing of source mac address for bridges; used by vmx | cinap_lenrek | |
to implement layer 2 bridges in userspace, we disable to auto filling of the source mac address when bridge mode is enabled on the connection. | |||
2017-12-13 | vmx(1): fix virtio network bloomfilter | aiju | |
2017-11-27 | vmx(1): fix openbsd 6.2 amd64 !entrystate bug | aiju | |
2017-08-28 | devvmx, vmx: lilu dallas multivm | aiju | |
2017-08-28 | vmx(1): don't realloc virtio queues -- breaks pointers | aiju | |
2017-08-24 | vmx(1): VGA framebuffer should be normal memory | aiju | |
2017-08-24 | vmx(1): fixed code that assumed uintptr==uvlong | aiju | |
2017-08-24 | vmx(1): memory map improvements, x86 simulator for MMIO | aiju | |
2017-08-14 | vmx: allocate sticky instead of more expensive fixed segment | cinap_lenrek | |
2017-08-13 | vmx: pass multiboot framebuffer info to kernel | cinap_lenrek | |
2017-08-07 | vmx: fix hlt idle problem | cinap_lenrek | |
2017-06-27 | vmx(1): I/O string instructions, incomplete support for IDE disks, misc fixes | aiju | |
2017-06-26 | vmx: fix build on non-x86 architectures (switch vlong) | aiju | |
2017-06-22 | vmx(1): fix translateflat on 64-bit | aiju | |
2017-06-21 | vmx(1): add support for (so far) crude 9p debugging fs; add gdb stub; clean ↵ | aiju | |
up linux gdt code | |||
2017-06-20 | vmx(1): obsdfb: check if curmode is nil | aiju | |
2017-06-20 | vmx(1): round up frame buffer size to whole pages, ignore vga access in ↵ | aiju | |
linear framebuffer, tell openbsd about framebuffer | |||
2017-06-20 | vmx(1): clean up region handling code; changes to support amd64 | aiju | |
2017-06-19 | vmx(1): i8042: translation changes reported keyboard id | aiju | |
2017-06-18 | vmx(1): linux kernel loading; PIT fixes to support linux; support VGA 0x3D4 ↵ | aiju | |
word writes; support sending virtio ethernet packets to a file and prepending snoopy headers |