summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Preserve the errno value of an ioctl before calling free(3). Previously,markj2014-08-043-11/+14
| | | | | | | errno was very occasionally being clobbered, resulting in a bogus error from dt_consume() and thus an error from dtrace(1). MFC after: 2 weeks
* set EXT2_LINK_MAX to LINK_MAXpfg2014-08-041-1/+1
| | | | | | | | | | | In linux EXT4_LINK_MAX is now 64000. We can't really do that since i_nlink and va_nlink are signed so setting higher values is likely to cause trouble. This is a system limitation so set the EXT_LINK_MAX to what the system can handle. MFC after: 3 days
* Added support for extra ifconfig args to jail ip4.addr & ip6.addr paramssmh2014-08-043-17/+80
| | | | | | | | | | | | | | | | This allows for CARP interfaces to be used in jails e.g. ip4.addr = "em0|10.10.1.20/32 vhid 1 pass MyPass advskew 100" Before this change using exec.prestart to configure a CARP address would result in the wrong MAC being broadcast on startup as jail creates IP aliases to support ip[4|6].addr before exec.prestart is executed. PR: 191832 Reviewed by: jamie MFC after: 1 week X-MFC-With: r269340 Phabric: D528 Sponsored by: Multiplay
* xen: add ACPI bus to xen_nexus when running as Dom0royger2014-08-045-6/+52
| | | | | | | | | | | | | | | | | | | | | | | Also disable a couple of ACPI devices that are not usable under Dom0. To this end a couple of booleans are added that allow disabling ACPI specific devices. Sponsored by: Citrix Systems R&D Reviewed by: jhb x86/xen/xen_nexus.c: - Return BUS_PROBE_SPECIFIC in the Xen Nexus attachement routine to force the usage of the Xen Nexus. - Attach the ACPI bus when running as Dom0. dev/acpica/acpi_cpu.c: dev/acpica/acpi_hpet.c: dev/acpica/acpi_timer.c - Add a variable that gates the addition of the devices. x86/include/init.h: - Declare variables that control the attachment of ACPI cpu, hpet and timer devices.
* xen: Dom0 console fixesroyger2014-08-041-0/+26
| | | | | | | | | | | | | | Minor fixes to make the Xen Dom0 console work. This includes always returning there's pending input in xencons_has_input, because on Dom0 there's no shared ring and we cannot test the indexes. The second fix is to use the CONSOLEIO_read hypercall in order to read input data from the Xen console. Sponsored by: Citrix Systems R&D dev/xen/console/xencons_ring.c: - Always return true in xencons_has_input for Dom0. - Implement Dom0 console support for xencons_handle_input.
* xen: implement support for mapping IO APIC interrupts on Xenroyger2014-08-042-0/+117
| | | | | | | | | | | | | | | | | | | | | | Allow a privileged Xen guest (Dom0) to parse the MADT ACPI interrupt overrides and register them with the interrupt subsystem. Also add a Xen specific implementation for bus_config_intr that registers interrupts on demand for all the vectors less than FIRST_MSI_INT. Sponsored by: Citrix Systems R&D x86/xen/pvcpu_enum.c: - Use helper functions from x86/acpica/madt.c in order to parse interrupt overrides from the MADT. - Walk the MADT and register any interrupt override with the interrupt subsystem. x86/xen/xen_nexus.c: - Add a custom bus_config_intr method for Xen that intercepts calls to configure unset interrupts and registers them on the fly (if the vector is < FIRST_MSI_INT).
* x86/madt: make the interrupt override parser a public functionroyger2014-08-042-30/+50
| | | | | | | | | | | | | | | | | | | | | | | | Split a portion of the code in madt_parse_interrupt_override to a separate function, that is public and can be used from other code. This will be needed by the Xen port, since FreeBSD needs to parse the interrupt overrides and notify Xen about them. This commit should not introduce any functional change. Sponsored by: Citrix Systems R&D Reviewed by: jhb, gibbs x86/acpica/madt.c: - Introduce madt_parse_interrupt_values() that parses the intr information from ACPI and returns the triggering and the polarity. This is a subset of the functionality that used to be part of madt_parse_interrupt_override(). - Make madt_found_sci_override a global variable that can be used from other files. x86/include/acpica_machdep.h: - Prototype of madt_parse_interrupt_values. - Extern declaration of madt_found_sci_override.
* xen: change quality of the MADT ACPI enumeratorroyger2014-08-042-2/+2
| | | | | | | | | | | | | | | | | | | Lower the quality of the MADT ACPI enumerator, so on Xen Dom0 we can force the usage of the Xen mptable enumerator even when ACPI is detected. This is needed because Xen might restrict the number of vCPUs available to Dom0, but the MADT ACPI table parsed in FreeBSD is the native one (which enumerates all the CPUs available in the system). Sponsored by: Citrix Systems R&D Reviewed by: gibbs x86/acpica/madt.c: - Lower MADT enumerator quality to -50. x86/xen/pvcpu_enum.c: - Rise Xen PV enumerator to 0.
* xen: change order of Xen intr init and IO APIC registrationroyger2014-08-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This change inserts the Xen interrupt subsystem (event channels) initialization between the system interrupt initialization and the IO APIC source registration. This is needed when running on Dom0, that routes physical interrupts on top of event channels, so that the interrupt sources found during IO APIC initialization can be registered using the Xen interrupt subsystem. The resulting order in the SI_SUB_INTR stage is the following: - System intr initialization - Xen intr initalization - IO APIC source registration Sponsored by: Citrix Systems R&D x86/x86/local_apic.c: - Change order of apic_setup_io to be called after xen interrupt subsystem is setup. x86/xen/xen_intr.c: - Init Xen event channels before apic_setup_io.
* xen: add a DDB command to print event channel informationroyger2014-08-041-0/+77
| | | | | | | | | | Add a new DDB command to dump all registered event channels. Sponsored by: Citrix Systems R&D x86/xen/xen_intr.c: - Add a new xen_evtchn command to DDB in order to dump all information related to event channels.
* xen: mask all event channels on initroyger2014-08-041-0/+4
| | | | | | | | | | | | Mask all event channels during initialization. This is done so that we don't receive spurious interrupts while dynamically registering new event channels. There's a small window during registration where an event channel can fire before we have attached a handler to it. Sponsored by: Citrix Systems R&D x86/xen/xen_intr.c: - Mask all event channels on init.
* xen: implement event channel PIRQ supportroyger2014-08-042-18/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows Dom0 to manage physical hardware, redirecting the physical interrupts to event channels. Sponsored by: Citrix Systems R&D x86/xen/xen_intr.c: - Expand struct xenisrc to hold the level and triggering of PIRQ event channels. - Implement missing methods in xen_intr_pirq_pic. - Allow xen_intr_alloc_isrc to take a vector parameter that globally identifies the interrupt. This is only used for PIRQs that are bound to a specific hardware IRQ. - Introduce xen_register_pirq used to register IO APIC legacy PIRQ interrupts. - Add support for the dynamic PIRQ EOI map, this shared memory is modified by Xen (if it suppoorts that feature), and notifies the guest if an EOI is needed or not. If it's not available fall back to the old implementation using PHYSDEVOP_irq_status_query. - Rename xen_intr_isrc_count to xen_intr_auto_vector_count and replace it's usages. - Align static variables by name. xen/xen_intr.h: - Add prototype for xen_register_pirq.
* Fix BINDIR to not duplicate "${TESTSDIR}ngie2014-08-041-1/+1
| | | | | | | | | This should fix 'make release' with MK_TESTS != no Phabric: D525 (part of a larger patch) Reviewed by: jmmv Approved by: jmmv (co-mentor)
* Move a -L argument from LDADD to LDFLAGSngie2014-08-041-1/+3
| | | | | | | Phabric: D525 (part of a larger patch) Reviewed by: jmmv Approved by: jmmv (co-mentor)
* Fix a -Wsecurity warning with clangngie2014-08-041-1/+1
| | | | | | | Phabric: D525 (part of a larger patch) Reviewed by: jmmv Approved by: jmmv (co-mentor)
* Remove hardcoded path to TESTSDIR (Makefile, ld_library_pathfds.c) atngie2014-08-042-12/+11
| | | | | | | | | | | | | build time by using atf_tc_get_config_var(tc, "srcdir")) This will allow end-users to move the binaries to different locations after they've been built without having to rebuild the binaries with the new paths Phabric: D525 (part of a larger patch) Reviewed by: jmmv Approved by: jmmv (co-mentor)
* Fix an overflow in getsockopt(). optval isn't big enough to holddavide2014-08-041-6/+6
| | | | | | | | | | | sbintime_t. Re-introduce r255030 behaviour capping socket timeouts to INT_32 if they're too large. CR: https://phabric.freebsd.org/D433 Reported by: demon Reviewed by: bde [1], jhb [2] MFC after: 2 weeks
* Make igb(4) build outside of the kernel build.adrian2014-08-041-1/+5
| | | | Ths defaults to RSS being disabled.
* Make the ixgbe(4) module buildable outside of the tree.adrian2014-08-041-1/+5
| | | | It defaults to RSS not being enabled.
* Add support for Windows dialect of EXTENDED COPY command, aka Microsoft ODX.mav2014-08-047-55/+1090
| | | | | | | | | This allows to avoid extra network traffic when copying files on NTFS iSCSI disks within one storage host by drag'n'dropping them in Windows Explorer of Windows 8/2012. It should also accelerate Hyper-V VM operations, etc. MFC after: 2 weeks Sponsored by: iXsystems, Inc.
* Improve locking of multicast addresses in VLAN and LAGG interfaces.mav2014-08-043-27/+37
| | | | | | | This fixes several scenarios of reproducible panics, cause by races between multicast address changes and interface destruction. MFC after: 2 weeks
* Partial revert of r262867.peter2014-08-031-1/+1
| | | | | | | r262867 was described as fixing socket buffer checks for SOCK_SEQPACKET, but also changed one of the SOCK_DGRAM code paths to use the new sbappendaddr_nospacecheck_locked() function. This lead to SOCK_DGRAM bypassing socket buffer limits.
* For reasons which are not clear, r254263 broke some PCMCIA and CardBusgavin2014-08-031-0/+2
| | | | | | | | | | | | | | | | | bridges in strange ways, either rendering them unable to detect insertion and removal events, or possibly unable to read from the device behind the bridge. This fixes at least one laptop, a Toshiba Tecra M5 with a Texas Instruments PCxx12 (d=0x8039 v=0c104c) bridge. The very similar Tecra M9 has the same bridge, but worked fine without this change. The bridge chip has no I/O port BAR, and there is nothing in the spec to suggest I/O decoding should be enabled; however enabling it fixes the issue. Add an XXX comment to this effect. Discussed with: jhb, imp MFC after: 2 weeks
* Add generic list, status, load and unload docs to gpart(8)issyl02014-08-031-1/+21
| | | | | | | - In the style of gmirror(8). PR: docs/191534 Reviewed by: gavin
* Retire pmap_change_wiring(). We have never used it to wire virtual pages.alc2014-08-0317-472/+3
| | | | | | | | We continue to use pmap_enter() for that. For unwiring virtual pages, we now use pmap_unwire(), which unwires a range of virtual addresses instead of a single virtual page. Sponsored by: EMC / Isilon Storage Division
* Add support for the SCTP_PKTDROP_SUPPORTED socket option andtuexen2014-08-0312-11/+90
| | | | | | | the corresponding sysctl variable. The default is off, since the specification is not an RFC yet. MFC after: 1 week
* Fix multicast, broken by the conversion of the nfe(4) driver to themarcel2014-08-031-9/+8
| | | | | | driver API. Submitted by: Mikhail <mp@lenta.ru>
* Use consistent names for SCTP sysctls. Renametuexen2014-08-031-1/+1
| | | | | | nr_sack_on_off to nrsack_enable. Please note that this extension is off by default since it is not specified in an RFC (yet).
* Add SCTP socket option SCTP_NRSACK_SUPPORTED to control thetuexen2014-08-0312-29/+89
| | | | | | | | NRSACK extension. The default will still be off, since it it not an RFC (yet). Changing the sysctl name will be in a separate commit. MFC after: 1 week
* Allow to disable some special key combinations handled by vt(4), like debugray2014-08-033-5/+32
| | | | | | | | request, reboot request. Requested by: Claude Buisson Sponsored by: The FreeBSD Foundation
* Do not retry on set of non-transient XCOPY errors.mav2014-08-031-8/+8
| | | | MFC after: 1 week
* Fix vt_vga driver to draw not-8-bit-aligned fonts correctly.ray2014-08-031-66/+61
| | | | | | | Still one bug here: mouse left some gaps on track when moving left. MFC after: 1 week Sponsored by: The FreeBSD Foundation
* Avoid a divide-by-zero panic when setting the baudrate to 0.joerg2014-08-031-1/+4
| | | | MFC after: 2 weeks
* Do not retry token errors. They are not going to disappear by themselves.mav2014-08-031-11/+11
| | | | MFC after: 1 week
* Revert r269404 and use cpu_ticks() for dbuf allocation.delphij2014-08-032-11/+5
| | | | | | | | Encode CPU's number by XOR'ing the CPU ID against the 64-bit cpu_ticks(). Reviewed by: mav, gibbs Differential Revision: https://phabric.freebsd.org/D521 MFC after: 2 weeks
* vn_path_to_global_path: update comment.pluknet2014-08-031-1/+1
|
* Add required `exec' before Xdialog(1) invocation for the case where wedteske2014-08-031-1/+11
| | | | | | | | expect (require) data on stdin. The effect of this is that, when backgrounded, $! returns the pid of an Xdialog(1) instance instead of an sh(1) instance -- the difference being a later kill of $! will reach the Xdialog(1) instance whereas without the exec the kill succeeds on the sh(1) instance leaving Xdialog(1) open.
* Make the witness lock limit an option.imp2014-08-032-0/+3
|
* Do the iwn(4) panic reinitialisation under IWN_LOCK().adrian2014-08-031-3/+9
| | | | | I've checked each of the functions being called and there's either a _locked version or it's supposed to be called with IWN_LOCK() held.
* Remove Giant acquisition from the mount and unmount pathes.kib2014-08-034-65/+93
| | | | | | | | | | | | | | | It could be claimed that two things were reasonable protected by Giant. One is vfsconf list links, which is converted to the new dedicated sx vfsconf_sx. Another is vfsconf.vfc_refcount, which is now updated with atomics. Note that vfc_refcount still has the same races now as it has under the Giant, the unload of filesystem modules can happen while the module is still in use. Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
* Add myself to committers-src.dot.hiren2014-08-031-0/+2
| | | | Better late than never :-)
* Rework r269444 to work also for lists without IDs.mav2014-08-021-2/+2
| | | | MFC after: 3 days
* Add support for the SCTP_PR_SUPPORTED socket option as specified intuexen2014-08-0214-38/+125
| | | | | | | http://tools.ietf.org/html/draft-ietf-tsvwg-sctp-prpolicies Add also a sysctl controlling the default of the end-points. MFC after: 1 week
* Fix a copy and paste error.tuexen2014-08-021-1/+1
| | | | X-MFC with: 269436
* Plug EXTENDED COPY request data memory leak.mav2014-08-021-0/+2
| | | | MFC after: 3 days
* Fix some bugs in RECEIVE COPY STATUS data.mav2014-08-021-9/+7
| | | | MFC after: 3 days
* Add missing comparisons to make list IDs in EXTENDED COPY per-initiator,mav2014-08-021-33/+26
| | | | | | as they should be. Wrap it into a function to not duplicate the code. MFC after: 3 days
* cxgbe(4): Remove an unused version of t4_enable_vi.np2014-08-022-15/+0
| | | | MFC after: 2 weeks
* - Spelling correctionshselasky2014-08-021-6/+6
| | | | | Suggested by: Garrett Cooper <yaneurabeya@gmail.com> PR: 192101
* Rewrite a loop in vm_map_wire() so that gcc doesn't think that the variablealc2014-08-021-3/+3
| | | | | | "rv" is uninitialized. Reported by: bz
OpenPOWER on IntegriCloud