summaryrefslogtreecommitdiffstats
path: root/sys/arch (follow)
Commit message (Collapse)AuthorAgeFilesLines
* glxpcib(4) invokes pcibattach assuming pcib doesn't need more than amiod2012-08-181-15/+38
| | | | | | | | | | `struct device' as its softc. This is not the case on loongson, and the glxpcib softc gets subtly corrupted, causing a kernel panic when attempting to select the glxpcib timecounter as the current timecounter. Skirt this by not using the pcib softc fields if we are invoked from glxpcib - it is not really worth putting pcib_softc in a header for the sake of MI glxpcib code.
* Properly initialize the IOMMU control and status register for pyro(4).kettenis2012-08-172-3/+14
| | | | Fixes DMA problems spotted on the v445.
* Turns out interrupts for Ebus devices are wired to the *other* PCI Expres leafkettenis2012-08-172-35/+34
| | | | | on the v445 (compared to the v215/v245). Generalize the code to allow for arbitrary wirings. Makes the serial console on the v445 work.
* we are past the point where timecounters may disappeartedu2012-08-163-27/+3
| | | | ok miod
* use Lk for links;jmc2012-08-158-24/+32
|
* add oce and mfii; ok deraadt dlgmikeb2012-08-151-1/+3
|
* enable mfii(4).dlg2012-08-142-2/+4
| | | | ok deraadt@
* ';;', even with a newline between the semicolons, doesn't make muchkrw2012-08-102-4/+4
| | | | sense as a for() body. One semicolon is enough. From llvm via Brad.
* simplify pckbc_xt_translation()shadchin2012-08-103-11/+10
| | | | | | | | * call only for set translation on (once in /sys/dev/pckbd.c) therefore we can delete unused code. * change behavior (more standard) - return zero on success ok miod@
* Do not depend upon an initialized variable in the common case; gives init(8)miod2012-08-081-3/+2
| | | | a chance to run...
* Make this compile again.miod2012-08-082-5/+4
|
* Handle __syscall as syscall, since these are identical on 64-bit platforms,miod2012-08-071-28/+2
| | | | | fixing an old n32-inherited bug in the process. Spotted during guenther@'s syscall factorization work.
* <sys/ktrace.h> is now pulled in via <sys/syscall_mi.h>, so drop it from hereguenther2012-08-074-8/+4
|
* Don't include <sys/ktrace.h>; makes this file compile again.kettenis2012-08-071-2/+1
|
* Move the common bits of syscall invocation and return handling intoguenther2012-08-0717-907/+219
| | | | | | | | | | an MI file, <sys/syscall_mi.h>, correcting inconsistencies and the handling when copyin() of arguments fails. Tested on i386, amd64, sparc64, and alpha (thanks naddy@) Any issues with other platforms will be fixed in tree. header name from millert@; ok miod@
* enable oce(4)mikeb2012-08-032-2/+4
|
* remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.okan2012-08-021-2/+1
| | | | ok guenther@
* Use mtrrmask instead of hardcoded values to accommodate newer CPUsmikeb2012-08-012-14/+14
| | | | | | | | | | | | | with a large physical address size (greater than 36 bit). Fixes a major performance hit seen on newer servers where an incorrectly programmed memory region length affects the PCI device mappings. While here, make sure to invalidate the TLB after programming MSRs and fix an incorrect behavior found by deraadt@ where MTRRdefType was updated outside of the protected region. The fix was partly obtained from FreeBSD, tested by many. With and OK deraadt
* Revert previous change, and don't set IFM_AVALID | IFM_ACTIVE in ifm_statusmiod2012-07-301-4/+1
| | | | | to appease dhcpd, as dhcpd has now been fixed to not require this. repeated prodding and special ok deraadt@
* zap a misleading commentguenther2012-07-281-2/+1
|
* When reporting media state, be sure to set IFM_AVALID and IFM_ACTIVE inmiod2012-07-251-1/+4
| | | | | | | | ifm_status, for dhclient's sake. Current dhclient interface_status() considers interfaces able to report media information but not returning IFM_AVALID as down. Note that these interfaces usually have mii(4) or have specific code reporting correct values; sparc le(4) is an exception. Found the hard way by sebastia@; joint work with krw@, ok deraadt@
* remove a few things to make this fit again; with miodderaadt2012-07-221-3/+3
|
* Attach non-frame buffer GIO devices with ga_product being the id gathered bymiod2012-07-181-3/+4
| | | | | gio_id(), not the whole 32 bit first word. Some boards with a 8-bit only ID register use the other 24 bits, sadly.
* Hopefully correctly recognize GIO boards with a 8-bit only ID register, whichmiod2012-07-181-4/+13
| | | | are not frame buffers. Thanks to Martin Boehme for donating such boards!
* regenmiod2012-07-182-8/+12
|
* A couple more device IDs, thanks to Martin Boehme for donating boards!miod2012-07-181-4/+6
|
* According to Linux, and just verified the hard way, the 8254 timer does notmiod2012-07-184-5/+17
| | | | | | | | | interrupt on Indy; do not use it on such systems. Then, bring back a clock0 at mainbus attachment to IP22 kernels, and attach it late in the autoconf process if no other device has claimed the clock yet. This means R4000 and R4400 based Indy may experience the lost clock interrupt processor errata again, until a better way to skirt it is found.
* Forgot these files during the recent clock churning.miod2012-07-162-4/+4
|
* A known errata of R4000 and R4400 processors, is that reading the internalmiod2012-07-146-20/+85
| | | | | | | | | | | | counter register close to a trigger of the counter interrupt, may cause the interrupt not to be generated. This makes it a bad idea to use the internal counter both for the scheduling clock and for delay(). Therefore, on IP22 systems (and IP28 because it makes my life easier), use one of the two 8254 timers connected to the onboard interrupt controller as the scheduling clock source. Adapted from NetBSD.
* Split the existing mips64 clock code into time-of-day and generic duties inmiod2012-07-143-294/+311
| | | | | | machdep.c, and internal clock interrupting on level 5, still in clock.c; this will allow other clock sources to be used in the near future. (delay() will remain tied to the internal clock)
* extraneous comment (corresponding code was removed a while back)mlarkin2012-07-131-3/+1
|
* Make hppa64 kernel compile again.jsing2012-07-132-3/+8
|
* Improve diffability with amd64mlarkin2012-07-131-2/+2
|
* Make amd64 look like i386 for hibernate resumemlarkin2012-07-131-1/+6
|
* typoderaadt2012-07-131-2/+2
|
* Make amd64 like i386 for hibernate support in acpi_sleep_machdepmlarkin2012-07-131-1/+9
| | | | ok deraadt@
* More foundation goo for amd64 hibernatemlarkin2012-07-131-1/+2
|
* Starting point for amd64 hibernate ... some goo copied from i386.mlarkin2012-07-133-0/+403
| | | | | This does not yet work for amd64 - getting the structure into the tree so others can help.
* Enable hibernate (suspend-to-disk) support for i386.mlarkin2012-07-121-1/+2
| | | | | | Presently only working on pciide/wd disks. ok deraadt@
* Remove apic_intrcount counting in the interrupt handlers. Not that usefulderaadt2012-07-092-4/+2
| | | | | anymore as a debugging tool, and it is in a rather critical path. ok kettenis
* Remove a useless macroderaadt2012-07-091-4/+2
|
* After a resume, re-initialize the MTRR registers on the AP processorsderaadt2012-07-092-2/+12
| | | | | | | as well. This fixes very slow performance due to lots of uncached memory on buggy machines, for instance on very large memory thinkpad W500 and such. ok mlarkin kettenis sthen
* Do not re-initialize ci_randseed on the primary cpuderaadt2012-07-094-15/+16
| | | | ok kettenis
* unify com at cardbus attachmentsderaadt2012-07-092-4/+4
|
* The comment above amd64_mrinit_cpu() was way too specific and wrong.deraadt2012-07-081-3/+2
|
* Move the hibernate utility pages up to account for the MP tramp page.mlarkin2012-07-081-4/+4
| | | | ok deraadt@
* apm_kqfilter() is goneguenther2012-07-082-4/+2
| | | | ok nicm@
* Don't need to worry about the ATI driver here anymore.kettenis2012-07-081-9/+1
|
* Concatenating strings doesn't require __CONCAT() (and must not in standard C)guenther2012-07-052-4/+4
| | | | ok miod@
* Does not need to pull in "the world" eitherderaadt2012-07-021-1/+3
| | | | ok jsing