summaryrefslogtreecommitdiffstats
path: root/usr.sbin
Commit message (Collapse)AuthorAgeFilesLines
* MFC r268457 (by pluknet):mav2014-07-241-2/+2
| | | | Fix typos.
* MFC r268289:mav2014-07-241-1/+1
| | | | Fix minor copy-paste bug in r268284.
* MFC r267612 (by trasz):mav2014-07-241-5/+8
| | | | Get rid of unneccessary argument.
* MFC r267609 (by trasz):mav2014-07-241-9/+21
| | | | Improve code a little; no functional changes.
* MFC r267608 (by trasz):mav2014-07-241-5/+5
| | | | Use proper term in debug messages.
* MFC r266169 (by trasz):mav2014-07-241-4/+0
| | | | Remove unused variable.
* MFC r267613 (by trasz):mav2014-07-242-2/+62
| | | | Implement redirection handling in initiator.
* MFC r265157: kldxref: Clean up error reportingemaste2014-07-231-8/+9
| | | | | | | | | | | | | Omit "too many sections" warnings if the ELF file is not dynamically linked (and is therefore skipped anyway), and otherwise output it only once. An errant core file would previously cause kldxref to output a number of warnings. Also introduce a MAXSEGS #define and replace literal 2 with it, to make comparisons clear. Reviewed by: kib Sponsored by: The FreeBSD Foundation
* MFC 266424,266476,266524,266573,266595,266626,266627,266633,266641,266642,jhb2014-07-225-50/+144
| | | | | | | | 266708,266724,266934,266935,268521: Emulation of the "ins" and "outs" instructions. Various fixes for translating guest linear addresses to guest physical addresses.
* MFC 266125:jhb2014-07-2212-61/+609
| | | | | Implement a PCI interrupt router to route PCI legacy INTx interrupts to the legacy 8259A PICs.
* MFC 264353,264509,264768,264770,264825,264846,264988,265114,265165,265365,jhb2014-07-2113-64/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | 265941,265951,266390,266550,266910: Various bhyve fixes: - Don't save host's return address in 'struct vmxctx'. - Permit non-32-bit accesses to local APIC registers. - Factor out common ioport handler code. - Use calloc() in favor of malloc + memset. - Change the vlapic timer frequency to be in the ballpark of contemporary hardware. - Allow the guest to read the TSC via MSR 0x10. - A VMCS is always inactive when it exits the vmx_run() loop. Remove redundant code and the misleading comment that suggest otherwise. - Ignore writes to microcode update MSR. This MSR is accessed by RHEL7 guest. Add KTR tracepoints to annotate wrmsr and rdmsr VM exits. - Provide an alias for the userboot console and name it 'comconsole'. - Use EV_ADD to create an mevent and EV_ENABLE to enable it. - abort(3) the process in response to a VMEXIT_ABORT. - Don't include the guest memory segments in the bhyve(8) process core dump. - Make the vmx asm code dtrace-fbt-friendly. - Allow vmx_getdesc() and vmx_setdesc() to be called for a vcpu that is in the VCPU_RUNNING state. - Enable VMX in the IA32_FEATURE_CONTROL MSR if it not enabled and the MSR isn't locked.
* MFC 264275:jhb2014-07-211-0/+1
| | | | Explicitly initialize 'vmname' to NULL.
* MFC 263780,264516,265062,265101,265203,265364:jhb2014-07-212-21/+65
| | | | | | | | | | | | Add an ioctl to suspend a virtual machine (VM_SUSPEND). Add logic in the HLT exit handler to detect if the guest has put all vcpus to sleep permanently by executing a HLT with interrupts disabled. When this condition is detected the guest with be suspended with a reason of VM_SUSPEND_HALT and the bhyve(8) process will exit. This logic can be disabled via the tunable 'hw.vmm.halt_detection'.
* MFC 264916,267611:jhb2014-07-213-4/+86
| | | | Provide a very basic stub for the 8042 PS/2 keyboard controller.
* MFC 260847,264055,264867:jhb2014-07-214-1/+194
| | | | | | | - Add a very simple virtio_random(4) driver for FreeBSD guests to harvest entropy from hypervisors. - Add support to bhyve for the virtio RNG entropy-source device to provide entry to bhyve guests.
* MFC 262331,262487,262495,262523:jhb2014-07-201-13/+33
| | | | ZFS boot support for bhyveload.
* MFC: r263650, r263686bapt2014-07-201-2/+2
| | | | Add missing dependency on libm
* MFC r268795:mav2014-07-201-2/+5
| | | | Fix ctld crash on startup if target alias is not set.
* MFC: r263648, r264789, r266636bapt2014-07-192-6/+6
| | | | | | | | This brings: - schema validation - xpath-like interface for ucl objects Adapt pkg(7) to the new libucl API
* MFC 263432,265366,265376:jhb2014-07-194-39/+67
| | | | | | | Fixes for vcpu management in bhyve: - Use 'cpuset_t' to represent the vcpus active in a virtual machine. - Modify the "-p" option to be more flexible when associating a 'vcpu' with a 'hostcpu'.
* MFC 262884,263236,265407:jhb2014-07-192-55/+102
| | | | | | | | Various uart fixes: - Open the uart emulation's backing tty in non-blocking mode. - Support 16-bit register access. - Disable the 'uart_drain()' callback when the emulated receive FIFO is full.
* MFC 259942,262274,263035,263054,263211,263744,264179,264324,264468,264631,jhb2014-07-198-502/+64
| | | | | 264648,264650,264651,266572,267558: Flesh out the AT PIC and 8254 PIT emulations and move them into the kernel.
* MFC 261904,261905,262143,262184,264921,265211,267169,267292,267294:jhb2014-07-198-198/+426
| | | | | | | | | | | Various PCI fixes: - Allow PCI devices to be configured on all valid bus numbers from 0 to 255. - Tweak the handling of PCI capabilities in emulated devices to remove the non-standard zero capability list terminator. - Add a check to validate that memory BARs of passthru devices are 4KB aligned. - Respect and track the enable bit in the PCI configuration address word. - Handle quad-word access to 32-bit register pairs.
* MFC r268238:delphij2014-07-172-5/+13
| | | | | Add an option, -p, which makes gstat(8) to only display physical providers (those with rank of 1).
* Merge r268298,r268299 from head:gavin2014-07-161-1/+1
| | | | | | | Correct format string to fix build of uhsoctl when DEBUG is defined PR: 185007 Submitted by: saper saper.info
* MFC r268326:mav2014-07-153-24/+10
| | | | | | | | Make iSCSI initiator keep Initiator Session ID (ISID) across reconnects. Previously ISID was changed every time, that made impossible correct persistent reservation, because reconnected session was identified as completely new one.
* MFC r268447:mav2014-07-151-1/+5
| | | | Add LUN options to specify 64-bit EUI and NAA identifiers.
* MFC r268363:mav2014-07-151-0/+4
| | | | Add support for READ FULL STATUS action of PERSISTENT RESERVE IN command.
* MFC r268328:mav2014-07-151-0/+8
| | | | | | | | Close race in r268291 between port destruction, delayed by sessions teardown, and new port creation during `service ctld restart`. Close it by returning iSCSI port internal state, that allows to identify dying ports, which should not be counted as existing, from really alive.
* MFC r268302:mav2014-07-153-0/+6
| | | | | | | Pass through iSCSI session ISID from LOGIN request to the CTL frontend. ISID is an important part of initiator transport ID for iSCSI. It is not used now, but should be to properly implement persistent reservation.
* MFC r268293:mav2014-07-152-15/+15
| | | | | | | | | | | | | Burry devid port method, which was a gross hack. Instead make ports provide wanted port and target IDs, and LUNs provide wanted LUN IDs. After that core Device ID VPD code only had to link all of them together and add relative port and port group numbers. LUN ID for iSCSI LUNs no longer created by CTL, but by ctld, and passed to CTL as "scsiname" LUN option. This makes LUNs to report the same set of IDs, independently from the port through which it is accessed, as required by SCSI specifications.
* MFC r268291:mav2014-07-153-52/+288
| | | | | | | | | | | | | | | | | Create separate CTL port for every iSCSI target (and maybe portal group). Having single port for all iSCSI connections makes problematic implementing some more advanced SCSI functionality in CTL, that require proper ports enumeration and identification. This change extends CTL iSCSI API, making ctld daemon to control list of iSCSI ports in CTL. When new target is defined in config fine, ctld will create respective port in CTL. When target is removed -- port will be also removed after all active commands through that port properly aborted. This change require ctld to be rebuilt to match the kernel. As a minor side effect, this allows to have iSCSI targets without LUNs. While that may look odd and not very useful, that is not incorrect.
* MFC r268284:mav2014-07-151-1/+270
| | | | | | Introduce new IOCTL CTL_PORT_LIST reporting in more flexible XML format. Leave old CTL_GET_PORT_LIST in place so far. Garbage-collect it later.
* 267622 Log:ray2014-07-072-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename vt(4) vga module to dismiss interference with syscons(4) vga module. 267623 Log: Remove stale link to deleted vt(4) xboxfb driver. 267624 Log: syscons(4) and vt(4) can be built together now. 267625 Log: Allow to disable syscons(4) if "hw.syscons.disable" kenv is set. 267626 Log: Suspend vt(4) initialization if "kern.vt.disable" kenv is set. 267965 by emaste@ Log: Use a common tunable to choose between vt(4)/sc(4) With this change and previous work from ray@ it will be possible to put both in GENERIC, and have one enabled by default, but allow the other to be selected via the loader. (The previous implementation had separate kern.vt.disable and hw.syscons.disable tunables, and would panic if both drivers were compiled in and neither was explicitly disabled.) 268175 by emaste@ Log: Fix vt(4) detection in kbdcontrol and vidcontrol As sc(4) and vt(4) coexist and are both enabled in GENERIC, the existence of a vt(4) sysctl is not sufficient to determine that vt(4) is in use. Reported by: Trond Endrestøl 268045 by emaste@ Log: Add vt(4) to GENERIC and retire the separate VT config vt(4) and sc(4) can now coexist in the same kernel. To choose the vt driver, set the loader tunable kern.vty=vt . Sponsored by: The FreeBSD Foundation
* MFH: r264781, r267669, r267670bapt2014-07-063-38/+15
| | | | | | | | | | | | Simplify reading pw.conf(5) by using getline(3) Removed compatibility with pre FreeBSD 2.2 pw_mkdb command [1] Fix some broken indentattion [1] Fix changing the username [2] PR: 189172 [1], 189173 [2] Submitted by: fullermd@over-yonder.net [1][2]
* MFC r267648:mav2014-07-041-2/+2
| | | | | | | serial_num and device_id fields are not necessarily null-terminated. Before this it was impossible to use all 16 bytes of serial number, and client always got serial number NULL-terminated, that is not required.
* MFC r267680:dteske2014-07-021-1/+1
| | | | | | Fix a code typo that prevented mkdir from firing (unnoticed usually because another part of the code succeeded in making the same directory).
* MFC r267651 (by attilio):kib2014-07-022-2/+66
| | | | | | | | | | Add the possibility to specify ecx when performing cpuid calls. MFC r267673: Restore the ABI of the cpuctl(4) ioctl request CPUCTL_CPUID. MFC r267814: Make cpuctl_do_cpuid() and cpuctl_do_cpuid_count() return void.
* MFC r267516i (by joel):mav2014-07-021-2/+2
| | | | mdoc: add missing width to Bl -tag.
* MFC r267506:mav2014-07-021-1/+24
| | | | Document additional LUN/backend options.
* MFC r267606:mav2014-07-021-4/+47
| | | | | On discovery stage add set of TargetAddress keys to reply, reporting to the client all the portal groups addresses and ports.
* MFC r267493:delphij2014-07-011-1/+1
| | | | | | | | | | | Fix two issues: - Check for rc.d directory's existence before traversing it; - Don't output * when rc.d directory is empty. PR: bin/190665 Submitted by: Oleg Ginzburg <olevole olevole ru> (with changes)
* MFC: 267833jpaetzel2014-06-272-2/+16
| | | | | | | | | | Fix issues in config parser relating to lun serial numbers. Without this fix some serial numbers needed to be quoted to avoid the config parser bailing out. Submitted by: delphij Sponsored by: iXsystems
* MFC 264277:jhb2014-06-261-0/+9
| | | | | | | Handle single-byte reads from the bvmcons port (0x220) by returning 0xff. Some guests may attempt to read from this port to identify psuedo-PNP ISA devices. (The ie(4) driver in FreeBSD/i386 is one example.)
* MFC: 266836, 266839ray2014-06-164-14/+162
| | | | | | | | | | | | | vt(4) support for vidcontrol(1). o Teach vidcontrol(1) how to load vt(4) font. o Teach vidcontrol(1) to distinct which virtual terminal system is running now. o Load vt(4) fonts from different location. o Add $FreeBSD$ tag for path.h. vt(4) support for kbdcontrol(1). Enable kbdcontrol(1) to use maps from vt(4) keymaps dir /usr/share/vt/keymaps if vt(4) is present. Sponsored by: The FreeBSD Foundation
* MFC 262744:jhb2014-06-136-11/+890
| | | | | | | Add SMBIOS support. A new option, -U, can be used to set the UUID in the System Information (Type 1) structure.
* MFC 262139,262140,262236,262281,262532:jhb2014-06-132-17/+19
| | | | | | | | | | | Various x2APIC fixes and enhancements: - Use spinlocks for the vioapic. - Handle the SELF_IPI MSR. - Simplify the APIC mode switching between MMIO and x2APIC. The guest is no longer allowed to switch modes at runtime. Instead, the desired mode is set when the virtual machine is created. - Disallow MMIO access in x2APIC mode and MSR access in xAPIC mode. - Add support for x2APIC virtualization assist in Intel VT-x.
* MFC 261638,262144,262506,266765:jhb2014-06-121-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and XSAVE-enabled features like AVX. - Store a per-cpu guest xcr0 register and handle xsetbv VM exits by emulating the instruction. - Only expose XSAVE to guests if XSAVE is enabled in the host. Only expose a subset of XSAVE features currently supported by the guest and for which the proper emulation of xsetbv is known. Currently this includes X87, SSE, AVX, AVX-512, and Intel MPX. - Add support for injecting hardware exceptions into the guest and use this to trigger exceptions in the guest for invalid xsetbv operations instead of potentially faulting in the host. - Queue pending exceptions in the 'struct vcpu' instead of directly updating the processor-specific VMCS or VMCB. The pending exception will be delivered right before entering the guest. - Rename the unused ioctl VM_INJECT_EVENT to VM_INJECT_EXCEPTION and restrict it to only deliver x86 hardware exceptions. This new ioctl is now used to inject a protection fault when the guest accesses an unimplemented MSR. - Expose a subset of known-safe features from leaf 0 of the structured extended features to guests if they are supported on the host including RDFSBASE/RDGSBASE, BMI1/2, AVX2, AVX-512, HLE, ERMS, and RTM. Aside from AVX-512, these features are all new instructions available for use in ring 3 with no additional hypervisor changes needed.
* MFC 262311: Fix virtio spec URL.jhb2014-06-121-1/+1
|
* MFC 261504:jhb2014-06-121-1/+6
| | | | Add support for FreeBSD/i386 guests under bhyve.
OpenPOWER on IntegriCloud