aboutsummaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Add a method to get the PCI RID for a device.Ryan Stone2014-04-019-0/+115
| | | | | | | | | Reviewed by: kib MFC after: 2 months Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=264007
* Revert PCI RID changes.Ryan Stone2014-04-0120-428/+95
| | | | | | | | | | | My PCI RID changes somehow got intermixed with my PCI ARI patch when I committed it. I may have accidentally applied a patch to a non-clean working tree. Revert everything while I figure out what went wrong. Pointy hat to: rstone Notes: svn path=/head/; revision=264006
* Re-write bhyve's I/O MMU handling in terms of PCI RIDsRyan Stone2014-04-015-33/+30
| | | | | | | | Reviewed by: neel Sponsored by: Sandvine Inc Notes: svn path=/head/; revision=264003
* Re-implement the DMAR I/O MMU code in terms of PCI RIDsRyan Stone2014-04-016-47/+64
| | | | | | | | | | | | | | | Under the hood the VT-d spec is really implemented in terms of PCI RIDs instead of bus/slot/function, even though the spec makes pains to convert back to bus/slot/function in examples. However working with bus/slot/function is not correct when PCI ARI is in use, so convert to using RIDs in most cases. bus/slot/function will only be used when reporting errors to a user. Reviewed by: kib Sponsored by: Sandvine Inc. Notes: svn path=/head/; revision=264002
* Add a method to get the PCI Routing ID for a deviceRyan Stone2014-04-019-15/+334
| | | | | | | | Reviewed by: kib Sponsored by: Sandvine, Inc Notes: svn path=/head/; revision=264001
* Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4Tijl Coosemans2014-04-017-8/+8
| | | | | | | | | -fms-extensions. MFC after: 2 weeks Notes: svn path=/head/; revision=263998
* Remove check for clang and expand the comment. Newer versions of gccWarner Losh2014-04-011-4/+6
| | | | | | | | | generate dwarf4 by default as well, so always force dwarf2 when generating debugging data. It is harmless on older versions of both clang and gcc, but required on newer ones. Notes: svn path=/head/; revision=263995
* Test MK_ARM_ABI rather than if WITHOUT_ARM_ABI is defined.Warner Losh2014-04-011-2/+2
| | | | Notes: svn path=/head/; revision=263992
* Add new USB ID.Hans Petter Selasky2014-04-012-0/+2
| | | | | | | | | Submitted by: Tuomo Latto <djv+fbpr@iki.fi> PR: usb/188046 MFC after: 1 week Notes: svn path=/head/; revision=263985
* Add Cortex-A15 cpu id revisions.Ruslan Bukin2014-04-013-3/+15
| | | | Notes: svn path=/head/; revision=263982
* Release i2c bus on detach.Ruslan Bukin2014-04-011-0/+13
| | | | Notes: svn path=/head/; revision=263981
* Hide CTL messages about SCSI error responses. Too many users takeEdward Tomasz Napierala2014-03-311-3/+10
| | | | | | | | | | them for actual target errors. They can be enabled back by setting kern.cam.ctl.verbose=1, or booting with bootverbose. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263979
* Make it possible to have multiple CTL worker threads. Leave the defaultEdward Tomasz Napierala2014-03-311-29/+40
| | | | | | | | | of 1 for now. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263978
* Turns out name was used here when ACPI_DEBUG was defined, so refine myWarner Losh2014-03-311-0/+15
| | | | | | | previous patch. Notes: svn path=/head/; revision=263975
* ddb: Minor style cleanups.Pedro F. Giffuni2014-03-314-16/+16
| | | | | | | | | #define should be followed by tab. MFC after: 1 week Notes: svn path=/head/; revision=263973
* Remove unused label.Andrey V. Elsukov2014-03-311-1/+0
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=263971
* Don't generate an ICMPv6 error message if packet was consumed by filter.Andrey V. Elsukov2014-03-311-4/+2
| | | | | | | | MFC after: 1 week Sponsored by: Yandex LLC Notes: svn path=/head/; revision=263969
* Merge r246607 by benno from projects/uefiEd Maste2014-03-311-3/+3
| | | | | | | | | | | Use EFI types for EFI values (silences warnings). EFI UINTN is actually a 64-bit type on 64-bit processors. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263968
* Don't copy the MF flag from original IP header to ICMP error message.Andrey V. Elsukov2014-03-311-0/+1
| | | | | | | | | PR: 188092 MFC after: 1 week Sponsored by: Yandex LLC Notes: svn path=/head/; revision=263966
* Increase the number of TX DMA segments from 32 to 35. It turnedPyun YongHyeon2014-03-3111-12/+12
| | | | | | | | | | | | | out 32 is not enough to support a full sized TSO packet. While I'm here fix a long standing bug introduced in r169632 in bce(4) where it didn't include L2 header length of TSO packet in the maximum DMA segment size calculation. In collaboration with: rmacklem MFC after: 2 weeks Notes: svn path=/head/; revision=263957
* Remove instances of variables that were set, but never used. gcc 4.9Warner Losh2014-03-3014-63/+22
| | | | | | | warns about these by default. Notes: svn path=/head/; revision=263954
* Add support for keyboard used in Samsung Chromebook (ARM machine)Ruslan Bukin2014-03-3016-31/+2909
| | | | | | | | | | | | | | | | Support covers device drivers for: - Interrupt Combiner - gpio/pad, External Interrupts Controller (pad) - I2C Interface - Chrome Embedded Controller - Chrome Keyboard Also: - Use new gpio dev class in EHCI driver - Expand device tree information Notes: svn path=/head/; revision=263936
* Add lowercase postfix, so SoC-common file will be ignored by tinderbox.Ruslan Bukin2014-03-303-2/+2
| | | | Notes: svn path=/head/; revision=263935
* Directly call kmem_alloc_contig to allocate framebuffer memoryRuslan Bukin2014-03-301-2/+6
| | | | | | | | | | and pass VM_MEMATTR_UNCACHEABLE (no-cache, no-buffer). This fixes screen refreshing problem when data is updated too slowly. Discussed with: ian Notes: svn path=/head/; revision=263934
* - Merge SoC-common partsRuslan Bukin2014-03-303-228/+134
| | | | | | | - Enable iicbus device Notes: svn path=/head/; revision=263933
* Fix sizeof modifier for sizeof() in printfEitan Adler2014-03-301-1/+1
| | | | Notes: svn path=/head/; revision=263927
* Handle an edge case of address management similar to TCP.Michael Tuexen2014-03-291-1/+8
| | | | | | | | | | | This needs to be reconsidered when the address handling will be reimplemented. The patch is from rrs@. MFC after: 3 days Notes: svn path=/head/; revision=263922
* Use SCTP_OVER_UDP_TUNNELING_PORT more consistently.Michael Tuexen2014-03-292-10/+4
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=263921
* Add support to export the contents of the notification updates from the ↵Adrian Chadd2014-03-294-2/+138
| | | | | | | | | | firmware. Right now the NIC isn't actually exporting useful data. I'm not quite sure why this is. :( Notes: svn path=/head/; revision=263920
* Fix ah_powerMode setting.Adrian Chadd2014-03-291-1/+3
| | | | | | | Reported by: sbruno Notes: svn path=/head/; revision=263917
* VFP fixes/cleanups for ARM11:Andrew Turner2014-03-292-21/+62
| | | | | | | | | | | | | | * Save the required VFP registers on context switch. If the exception bit is set we need to save and restore the FPINST register, and if the fp2v bit is also set we need to save and restore FPINST2. * Move saving and restoring the floating point control registers to C. * Clear the fpexc exception and fp2v flags on a floating-point exception. * Signal a SIGFPE if the fpexc exception flag is set on an undefined instruction. This is how the ARM core signals to software there is a floating-point exception. Notes: svn path=/head/; revision=263914
* Initialise fpscr to a sane value when we create the pcb. This sets NaNs toAndrew Turner2014-03-292-0/+4
| | | | | | | be the default NaN and for denormalised numbers to be flushed to zero. Notes: svn path=/head/; revision=263913
* Clear the kernel grab of the FPU state on fork. The pcb_save pointerKonstantin Belousov2014-03-292-2/+4
| | | | | | | | | | | | | | | | | is already correctly reset to the FPU user save area, only PCB_KERNFPU flag might leak from old thread state into the new state. For creation of the user-mode thread, the change is nop since corresponding syscall code does not use FPU. On the other hand, creation of a kernel thread forks from a thread selected arbitrary from proc0, which might use FPU. Reported and tested by: Chris Torek <torek@torek.net> Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=263912
* Add more flags for the fpexc register from the ARM1176JZF-S ManualAndrew Turner2014-03-291-0/+5
| | | | Notes: svn path=/head/; revision=263910
* o Add new vd_driver method to do bitblt with mask, named vd_maskbitbltchr.Aleksandr Rybalko2014-03-283-1/+37
| | | | | | | | | | | | o Move vd_bitbltchr vga's driver method to vd_maskbitbltchr. o Implement new vd_bitbltchr method for vga driver. (It do single write for 8 pixels, have to be a bit faster). MFC after: 7 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263885
* Several fixes for the PCID implementation:Konstantin Belousov2014-03-282-21/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | - When clearing a bit for a cpuid in pmap->pm_save, ensure that the cpuid is not set in pm_active. The pm_save indicates which CPUs may have cached translations for given PCID, which implies that a CPU executing with the given pmap active have the translations cached. [1] - In smp_masked_invltlb(), pass pmap to smp_targeted_tlb_shootdown(). [1] - In invlrng_handler(), check for the special values of pcid (0 and -1) and do corresponding global or total invalidations before checking for performing PCID-specific range invalidation with INVPCID_ADDR. [2] - In invltlb_pcid_handler(), do not read %cr3 unless needed. [2] - Do minor style tweaks. [2] Submitted by: Henrik Gulbrandsen <henrik@gulbra.net> [1] Other parts sponsored by: The FreeBSD Foundation [2] Tested by: Henrik Gulbrandsen, pho MFC after: 1 week Notes: svn path=/head/; revision=263878
* Enable to build UEFI framebuffer driver for vt(4).Aleksandr Rybalko2014-03-281-0/+1
| | | | | | | | | | It can be enabled by "device vt_efifb" in kernel config. Requested by: emaste Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263873
* Fix missed efi.h header change in r263815Ed Maste2014-03-281-1/+1
| | | | | | | Pointy hat to: emaste Notes: svn path=/head/; revision=263872
* Change default logic to CONFORM because this routine is sharedTakanori Watanabe2014-03-281-10/+8
| | | | | | | | | with SCI polarity setting. Reviewed by: jhb Notes: svn path=/head/; revision=263859
* Update EFI framebuffer handoff from loaderEd Maste2014-03-272-4/+16
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263826
* amd64: Parse the EFI memory map if presentEd Maste2014-03-272-4/+113
| | | | | | | | | | | | | With this change (and loader.efi from the projects/uefi branch) we can now boot under qemu using the OVMF UEFI firmware image with the limitation that a serial console is required. (This is largely r246337 from the projects/uefi branch.) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263822
* Revert r263321.Aleksandr Rybalko2014-03-271-1/+1
| | | | | | | | | | | vt(9) crash on resume fixed, but Xorg still have damaged screen on resume (at least with i915kms), so better to switch to VT0 before suspend and back on resume. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263816
* Move ia64 efi.h to sys in preparation for amd64 UEFI supportEd Maste2014-03-2711-15/+15
| | | | | | | | | | | | | Prototypes specific to ia64 have been left in this file for now, under __ia64__, rather than moving them to a new header under sys/ia64. I anticipate that (some of) the corresponding functions will be shared by the amd64, arm64, i386, and ia64 architectures, and we can adjust this as EFI support on other than ia64 continues to develop. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263815
* Remove ctl_mem_pool.{c,h}.Edward Tomasz Napierala2014-03-277-432/+19
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263811
* Rework cfiscsi_datamove_in() to obey expected data transfer lengthEdward Tomasz Napierala2014-03-271-39/+81
| | | | | | | | | received from the initiator. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263810
* Fix crash on resume in vt(9).Aleksandr Rybalko2014-03-271-0/+3
| | | | | | | | | | | | | Statically allocated terminal window have not initialized callout handler, so we have to initialize it even for existing window if it is console window. Reported by: gjb and many Tested by: gjb MFC after: 7 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=263809
* Strict value checking will cause problem.Takanori Watanabe2014-03-271-4/+8
| | | | | | | | | | | | | | Bay trail DN2820FYKH is supported on Linux but does not work on FreeBSD. This behaviour is bug-compatible with Linux-3.13.5. References: http://d.hatena.ne.jp/syuu1228/20140326 http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094 Submitted by: syuu Notes: svn path=/head/; revision=263795
* To check polarity, check ACPI_MADT_POLARITY_CONFORMS, instead of ↵Takanori Watanabe2014-03-271-1/+1
| | | | | | | | | | ACPI_MADT_TRIGGER_CONFORMS. PR:amd64/188010 Submitted by: syuu Notes: svn path=/head/; revision=263794
* Add an ioctl to suspend a virtual machine (VM_SUSPEND). The ioctl can be calledNeel Natu2014-03-266-9/+117
| | | | | | | | | | | | | | | from any context i.e., it is not required to be called from a vcpu thread. The ioctl simply sets a state variable 'vm->suspend' to '1' and returns. The vcpus inspect 'vm->suspend' in the run loop and if it is set to '1' the vcpu breaks out of the loop with a reason of 'VM_EXITCODE_SUSPENDED'. The suspend handler waits until all 'vm->active_cpus' have transitioned to 'vm->suspended_cpus' before returning to userspace. Discussed with: grehan Notes: svn path=/head/; revision=263780
* Correct ARP update handling when the routes for network interfaces areAlan Somers2014-03-262-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | restricted to a single FIB in a multifib system. Restricting an interface's routes to the FIB to which it is assigned (by setting net.add_addr_allfibs=0) causes ARP updates to fail with "arpresolve: can't allocate llinfo for x.x.x.x". This is due to the ARP update code hard coding it's lookup for existing routing entries to FIB 0. sys/netinet/in.c: When dealing with RTM_ADD (add route) requests for an interface, use the interface's assigned FIB instead of the default (FIB 0). sys/netinet/if_ether.c: In arpresolve(), enhance error message generated when an lla_lookup() fails so that the interface causing the error is visible in logs. tests/sys/netinet/fibs_test.sh Clear ATF expected error. PR: kern/167947 Submitted by: Nikolay Denev <ndenev@gmail.com> (previous version) Reviewed by: melifaro MFC after: 3 weeks Sponsored by: Spectra Logic Corporation Notes: svn path=/head/; revision=263779