summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2015-12-22Find OpenBSD disklabel on GPT partitioned softraid volumes. Now you canKenneth R Westerback
boot from such volumes to match being able to install to them. Problem spotted by jcs@, fix tested by rpe@, ok jsing@
2015-12-21add virtio-console driverStefan Fritsch
This patch adds a new driver for use of virtio-console devices as ttys. It's still in an early state and not compiled by default, yet. Currently it is only wired into amd64. i386 is still missing. Discussed with uebayasi@, deraadt@
2015-12-17add a size to free. from MathieuTed Unangst
2015-12-17Move vcpu register state init to vmd. Allows vmd bootloader to make theMike Larkin
decision as to how the vcpu should be set up for initial start and reset. Also removes some hardcoded register constants from vmm(4). ok jsing@, mpi@
2015-12-15remove some not interesting debug printfsMike Larkin
2015-12-15support reset vcpu by triple fault (kernel part, userland fix will comeMike Larkin
later). discussed with deraadt@ and reyk@ at length.
2015-12-14Support only one vcpu for now, until we implement SMP support.Mike Larkin
2015-12-14track used memory in each VM. This is passed back to vmctl status.Mike Larkin
ok reyk@, beck@, mpi@
2015-12-12Identify hypervisors before configuring other children of the mainbusReyk Floeter
(bios, CPU, interrupt handlers, pvbus). This splits the pvbus attach function into two parts: pvbus_identify() to scan the CPUID registers for supported hypervisors and pvbus_attach() to attach the bus, print information, and configure the children. This will be needed for Xen and KVM, as discussed with mikeb@ and sf@ OK mlarkin@
2015-12-11comment typommcc
2015-12-09successful vmm enter/leave does not need to be reportedTheo de Raadt
ok mlarkin
2015-12-08Disable xspd(4) until the man page is written; noticed by reyk@Mike Belopuhov
2015-12-08Driver for the XenSource Platform DeviceMike Belopuhov
This is a simple driver for the virtual PCI device with only one purpose: to allocate the interrupt vector and communicate that to the Hypervisor in case the IDT callback method was not available. With input from and OK deraadt, mlarkin, reyk, mpi
2015-12-08Set up an IDT vector for Xen callbacksMike Belopuhov
This adds support for delivering the combined Xen interrupt that later fans out into event port specific (device specific) interrupts via an IDT of a guest system. The Xen IDT vector is set to be the first of the IPL_NET group and is implemented the same way LAPIC timer and IPIs are done. The additional machinery is there to be able to mask it via standard mechanisms (e.g. splnet). Discussed with kettenis@, OK mlarkin, reyk
2015-12-08Setup a hypercall page in the kernel .text segmentMike Belopuhov
Its location will be communicated with the Xen hypervisor that will fill it in with instructions resulting in VMEXIT events. Discussed with kettenis@ and deraadt@, with input from and OK mpi, mlarkin, reyk
2015-12-08Xen basic infrastructure files and pvbus(4) attachment.Mike Belopuhov
With input from and OK mpi, mlarkin, reyk
2015-12-07Add cpuid bits documented in the August 2015 revision ofJonathan Gray
"Intel Architecture Instruction Set Extensions Programming Reference"
2015-12-06child_return() is already declared in <sys/proc.h>Philip Guenther
2015-12-06add function prototypeMike Larkin
2015-12-06move around some deck chairs in preparation for supporting VM reboot. thisMike Larkin
diff moves the cpu register init code into its own function which will soon be called from vmd to reset processor state. no functional change with this diff.
2015-12-06Don't bother printing out the count of what type of cpu we have. InsteadMike Larkin
just print the feature being used (eg, VMX/EPT). suggested by and ok deraadt@
2015-12-06don't allow opening of /dev/vmm if we are in an unsupported configurationMike Larkin
or if vmm0 didn't attach, prevents later panics if we try to use vmm in such a state. reported by many on tech/misc
2015-12-06unbreak kernel link if vmm isnt being built as part of the kernel.David Gwynne
2015-12-06restore VMM mode after resume from suspend/hibernateMike Larkin
2015-12-05AMD Family 12h and later processors keep their APIC clock running in deeperMark Kettenis
C-states. Set the TMP_ARAT flag for these (which is Intel-specific) such that acpicpu(4) enables the deeper C-states on these CPUs. ok deraadt@
2015-12-02Add a padding in EFI_MEMORY_DESCRIPTOR to align fields properly on ia32.YASUOKA Masahiko
2015-12-02Add missing start_i386.S for ia32. Also start.S is renamed toYASUOKA Masahiko
start_amd64.S.
2015-12-01Change a lot of "else if" lines to single switch block.YASUOKA Masahiko
input by tobias
2015-12-01Pass M_NOWAIT when allocating a temporary page in vm_writepage() to beMartin Pieuchot
coherent with the rest of the allocations. While here report the correct errno if an allocation fails. ok mlarkin@
2015-12-01Instead of using a supplementary variable to check if we found a VCPUMartin Pieuchot
or a VM in an iteration, check against NULL. ok mlarkin@
2015-12-01Do not wait when allocating a page in vcpu_init().Martin Pieuchot
Should help with the possible hang when trying to create a VM when the host is out of memory. It also improves coherency as all the allocations in vmm(4) are done without sleeping. ok mlarkin@
2015-12-01KNFMartin Pieuchot
ok mlarkin@
2015-12-01Prettify dmesg output.Martin Pieuchot
ok reyk@, mlarkin@
2015-12-01Properly disable SVM until its support is added back.Martin Pieuchot
Should prevent a NULL dereference when initializing VM. ok mlarkin@
2015-11-29Disk size in blocks is LastBlock+1. Fix whitespace nit.Kenneth R Westerback
ok yasuoka@
2015-11-28Use the same function as kern/subr_disk.c and fdisk/mbr.c to checkKenneth R Westerback
for a GPT protective MBR. Better than mangling findopenbsd() to do the check. Tested & ok yasuoka@
2015-11-28Check the protective MBR stricter not to choose a broken GPT.YASUOKA Masahiko
test and ok gonzalo
2015-11-26Avoid setting mode to GOP if the mode is unchanged. Also don't panicYASUOKA Masahiko
if the setting mode is failed. reported and tested by Joe Gidi
2015-11-26Fix a typo in comment.YASUOKA Masahiko
2015-11-26init pat_default to 0 as it may potentially be used uninitialisedJonathan Gray
ok mlarkin@
2015-11-26Automatically start vmm(4) when the first VM is created and after theReyk Floeter
last VM is terminated. This allows to remove the explicit "vmm enable" / "vmm disable" (VMM_IOC_START / VMM_IOC_STOP) ioctls. You'll have to update kernel and userland for this change, as the kernel ABI changes. OK mpi@ mlarkin@
2015-11-24Don't loop forever trying to handle NP faults in certain failure cases.Mike Larkin
reported by Stefan Kempf with supplied patch, thanks.
2015-11-23No longer need 'option VMM', declaring the vmm0 device is sufficient.Theo de Raadt
ok mlarkin
2015-11-23downfalls -> pitfallsmmcc
2015-11-21Prevent disabling vmm mode if a VM is still running.Martin Pieuchot
Return EAGAIN in this case: # vmmctl -d vmmctl: disable VMM command failed (35) - Resource temporarily unavailable ok mlarkin@
2015-11-21Do not create a VM if vmm mode hasn't been enable.Martin Pieuchot
Currently one MUST do "vmmctl -e" before creating a vm with "vmm -S ...". Lately this could be done automagically by vmd(8) but the kernel should not allow things that wont fly. While here, disable vmm mode in error path if at least one of the CPUs failed to enable it. ok mlarkin@
2015-11-21Do not use boolean_t outside of /sys/uvmMartin Pieuchot
ok mlarkin@
2015-11-16Replace unbounded gets() in libsa with getln() which takes a buffer size,Miod Vallat
and convert all gets() users. ok deraadt@
2015-11-16Some minor tweaks:Martin Pieuchot
- Add $OpenBSD$ tag, - constify "struct cfattach", - Use <uvm/uvm_extern.h> rather than <uvm/uvm.h>, it's enough. - Keep the "struct vm" private. This allows us to not pull <uvm/uvm_extern.h> in <macine/vmmvar.h> - Prefer DPRINTF() for debug macro as dprintf(3) is a standard function name. - Add vmm_debug and fix VMM_DEBUG build - Remove unneeded <sys/rwlock.h> from <machine/vmmvar.h> - Kill whitespaces ok mlarkin@
2015-11-14mutli -> multiMiod Vallat