summaryrefslogtreecommitdiff
path: root/sys/arch/i386/pci
AgeCommit message (Collapse)Author
2011-04-22Stop printing the PCI interrupt line programmed by the BIOS for APICMark Kettenis
interrupts. It is irreleveant, confuses people and the information is available in pcidump(8) output anyway. ok oga@, jsg@, deraadt@
2011-01-12use explicit_bzero() for the session, in drivers where struct sessionTheo de Raadt
contains key material (note, that is not true in all drivers... hence not always neccessary) discussed with mikeb
2011-01-11for key material that is being being discarded, convert bzero() toTheo de Raadt
explicit_bzero() where required ok markus mikeb
2011-01-10Only use MMCFG extended PCIe config space. Gets us back the on-CPU PCI ↵Mark Kettenis
devices on AMD Family 0Fh processors.
2011-01-09Only use memory mapped extended PCIe config space access for the bussesMark Kettenis
advertised in the MCFG table, and fall back on the traditional method for other busses. Fixes issue reported by henning@.
2011-01-04Add support for Memory Mapped Configuration space access. This gives usMark Kettenis
access to PCIe extended configuration space access on modern i386 and amd64 machines.
2010-12-15Bring CBC oracle attack countermeasure from r1.32 of cryptosoft.c toMike Belopuhov
the hardware crypto accelerator land. This fixes aes-ni, via xcrypt, glxsb(4), hifn(4), safe(4) and ubsec(4) drivers. Original commit message by angelos: Don't keep the last blocksize-bytes of ciphertext for use as the next plaintext's IV, in CBC mode. Use arc4random() to acquire fresh IVs per message. with and ok deraadt, ok markus, djm
2010-12-04Introduce a new pci routine, pci_conf_size(), which returns the size of aMiod Vallat
given pcitag_t configuration address space. Currently, all pci controllers will return the usual 0x100 bytes of PCI configuration space, but this will eventually change on PCIe-capable controlers. ok kettenis@
2010-11-20__attribute__((packed)) -> __packed. The ioprbs.c chunk was commented out, andMiod Vallat
uncommenting it is intentional. ok deraadt@
2010-10-14Move glxpcib(4) to MI land unifying the two MD drivers.Paul Irofti
Specific features of the companion chip will be handled in MD land. Okay deraadt@.
2010-09-24Fix bus space mapping bugs for GPIO's and MFGPT's and while at it add properPaul Irofti
defines for the constants used while mapping. Okay miod@, deraadt@.
2010-09-22Fix ramdisks, from Vladimir Kirillov. Thanks!Paul Irofti
2010-09-21save & restore the watchdog configuration when doing suspend/resumeTheo de Raadt
ok pirofti
2010-09-20Write the start of an activate function. QUIESCE should wait for theTheo de Raadt
current crypto operation to finish but doesn't do that yet. The suspend and resume operations assume that SB_GLD_MSR_CTRL gets trashed ok pirofti
2010-09-20Need an activate function to get to sub-devices. Write it by hand sinceTheo de Raadt
we expect some specific register restoration will be needed here later too. ok pirofti
2010-09-06Make sure bus_dmamap_sync() always involves a function call, to prevent theMark Kettenis
compiler from doing stupid things like reordering stores around it. There is some debate whether this will be enough for newer versions of GCC and LLVM. If this is indeed deemed necessary, this will be addressed in a future diff. ok miod@, oga@
2010-08-31Add DVACT_QUIECE support. This is called before splhigh() and beforeTheo de Raadt
DVACT_SUSPEND, therefore DVACT_QUIECE can do standard sleeping operations to get ready. Discussed quite a while back with kettenis and jakemsr, oga suddenly needed it as well and wrote half of it, so it was time to finish it. proofread by miod.
2010-08-31pchbactivate should return result of config_activate_childrenTheo de Raadt
2010-08-07On resume, re-activate the host RNG on the host bridges that need it.Theo de Raadt
ok kettenis
2010-08-02correct header file stuff; pointed out by teduTheo de Raadt
2010-08-02needs explicit proc.h; Nathanael RensenTheo de Raadt
2010-07-08Add mapping for ACPI device to PCI bdf (match autoconf tree)Jordan Hargrave
Simplify resource parsing function to use buffer argument Convert namespace linked lists to use queue macros ok marco@, deraadt@
2010-07-08use config_activate_children to get down to the isa bus activation codeTheo de Raadt
2010-07-02remove unused pciaddr_search function.Jonathan Gray
ok kettenis@
2010-07-02m_copyback can fail to allocate memory, but is a void fucntion so gymnasticsBret Lambert
are required to detect that. Change the function to take a wait argument (used in nfs server, but M_NOWAIT everywhere else for now) and to return an error ok claudio@ henning@ krw@
2010-07-01Backout recent AML changes, breaks on R210 and othersJordan Hargrave
2010-06-29Add support for mapping ACPI to PCI devicesJordan Hargrave
ok kettenis, deraadt
2010-06-24The new AMD Opteron CPUs have up to 4 HyperTransport links instead of 3.Mark Kettenis
ok dlg@
2010-05-10Continue with the horrible habit of using agp_machdep.c for agp related MDOwain Ainsworth
things that there really isn't a decent api for elsewhere. Since on recent intel IGPs the gtt aperture is too big (256meg is not uncommon) to be mapped on a kva-constrained arch like i386, introduce an agp mapping api that does things depending on arch. On amd64 which can afford the space (and will use the direct mapping again soon)just do bus_space_map() on init, then parcels things out using bus_space_subregion(), thus avoiding map/unmap overhead on every call (this is how inteldrm does things right now). On i386, we do bus_space_map() and bus_space_unmap as appropriate. Linux has some tricks here involving ``atomic'' maps that are on only one cpu and that you may not sleep with to avoid the ipi overhead for tlb flushing. For now we don't go down that route but it is being considered. I am also considering if it is worth abstracting this a little more, improving the api and making it a general MD interface. Tested by myself on i386 and amd64 and by drahn@ (who has one of the machines with an aperture that is too big) on i386.
2010-04-20remove proc.h include from uvm_map.h. This has far reaching effects, asTed Unangst
sysctl.h was reliant on this particular include, and many drivers included sysctl.h unnecessarily. remove sysctl.h or add proc.h as needed. ok deraadt
2010-04-08Fill in the bus_dma_sync for intagp to use clflush instead of wbinvd()Owain Ainsworth
if supported. When we do memory management on intel this would lead to a LOT of wbinvd() to deal with gpu->cpu incoherency. no one wants that. Needed for sanity of inteldrm memory management which is coming up next.
2010-04-02For the VT8251 host bridge, only attach the pci bus is non-zero, otherwiseMark Kettenis
keep attaching bus 0 forever. tested by mk@
2010-02-21Read revision from the correct MSR; no functional change.Miod Vallat
2010-02-19Move auglx(4) from i386-only land to MI land.Miod Vallat
(auglx.c is not modified in this commit yet, only moved around)
2010-02-09Switching the strange VIA VT8251 PCIE host bridge into a PCI-PCI bridgeMark Kettenis
didn't quite work since the bridge seems to end up largely unconfigured, and our PCI resource configuration code isn't quite smart enough (yet) to fix things up. So instead switch it only into PCI-PCI bridge mode long enough to snoop the bus number, and attach pci(4) using that number. This is probably safer anyway, since ACPI may not like us switching things around behind its back. Fixes PR 6253 & 6304.
2010-01-10Fix two bugs in IPsec/HMAC-SHA2:Markus Friedl
(1) use correct (message) block size of 128 byte (instead of 64 bytes) for HMAC-SHA512/384 (RFC4634). (2) RFC4868 specifies that HMAC-SHA-{256,384,512} is truncated to nnn/2 bits, while we still use 96 bits. 96 bits have been specified in draft-ietf-ipsec-ciph-sha-256-00 while draft-ietf-ipsec-ciph-sha-256-01 changed it to 128 bits. WARNING: this change makes IPsec with SHA-256 (the default) incompatible with older OpenBSD versions and other IPsec-implementations that share this bug. ok+tests naddy, fries; requested by reyk/deraadt
2009-11-23pchb must walk children tooTheo de Raadt
2009-10-31s/Mhz/MHz/, MHz is a multiple of the SI unit hertz (whose symbol is Hz).Igor Sobrado
2009-10-30correct interrupt status bits; patfbsd@davenulle.orgTheo de Raadt
2009-10-06Allow MD limits for allocating PCI io and mem space and specify limits onMark Kettenis
i386 and amd64 to make avoid legacy ISA I/O registers. Fixes issues with ThinkPad T-series Dock II units as reported by sobrado@ ok miod@
2009-10-05wrap an annoying long line (like amd64)Theo de Raadt
2009-09-28Make video buffer area and BIOS areas unavailable for PCI resource allocation.Mark Kettenis
This should prevent problems on systems where these areas are not reserved in the BIOS memory map. ok miod@, oga@, marco@
2009-09-18For some dark reason there's a bit on the VLINK device of this chipsetMark Kettenis
that makes the PCIE device show up as a host bridge instead of a PCI-PCI bridge. As a result any devices sitting behind it won't be detected. Whack the device into PCI-PCI mode such that we can walk the PCI bus hierarchy the normal way and detect all devices. Fixes PR 6215. ok dlg@
2009-08-22Constify the what/name parameter of pci_intr_establish().Michael Knudsen
Tested by myself, sthen, oga, kettenis, and jasper. Input from sthen and jasper. ok kettenis (Manpage follows shortly.)
2009-08-05timeout_add -> timeout_add_msecBret Lambert
ok markus@
2009-07-20Pass a pci_chipset_tag_t to pci_intr_line(), to eventually allow theMiod Vallat
logic to be chipset dependent; no functional change yet. ok kettenis@
2009-06-14Make sure the pglist is TAILQ_INIT()'ed before invoking uvm_pglistalloc().Miod Vallat
ok deraadt@ kettenis@
2009-06-06add an interface to agp to create a bus_dma_tag over a range of theOwain Ainsworth
aperture, which will take your memory, bind it to agp, and return you the aperture address. It's essentially the same as iommu on amd64 in the way it works. This will be used by the upcoming (works but is slow and will not be enabled at first) drm memory management code for intel igp chipsets. Right now the sync function for intagp is really slow (doing a wbinvd() on every sync), this is in the process of getting fixed, but the size of the diffs in my trees was getting silly.
2009-06-06option X86EMU is how this subsystem is brought into a kernelTheo de Raadt
2009-06-06fix include pathsTheo de Raadt