aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ipmi
Commit message (Collapse)AuthorAgeFilesLines
...
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-231-1/+1
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* Align the interfaces for the various watchdogs and make the interfaceNick Hibma2006-12-151-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | behave as expected. Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define. Specific changes: i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle. ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h. kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181. Notes: svn path=/head/; revision=165260
* Fix some edge cases in detach() as well as a memory leak if we fail toJohn Baldwin2006-12-061-2/+8
| | | | | | | | | | talk to the BMC. Reported by: Alexander Logvinov : ports at logvinov_com MFC after: 1 week Notes: svn path=/head/; revision=164947
* ipmi_polled_enqueue_request() is already called with the lock held, justJohn Baldwin2006-10-121-2/+2
| | | | | | | | | | | assert it rather than recursing. Reported by: mjacob Pointy hat: jhb MFC after: 3 days Notes: svn path=/head/; revision=163278
* The IPMI spec is ambiguous (or rather, it contradicts itself) about whetherJohn Baldwin2006-10-051-4/+4
| | | | | | | | | | | | | | or not the OS has to wait for RX_RDY or TX_RDY to be set before the OS sets the control code in the control/status register. Looking at the interface design, it seems that RX_RDY and TX_RDY are probably there to protect access to the data register and have nothing to do with the control/status register. Nevertheless, try to take what I think is the more conservative approach and always wait for the appropriate [TR]X_RDY flag to be set before writing any of the WR_NEXT, WR_END, RD_START, or RD_NEXT control codes to the control/status register. Notes: svn path=/head/; revision=163035
* Add detailed debugging printf's for SMIC under SMIC_DEBUG.John Baldwin2006-10-051-2/+50
| | | | Notes: svn path=/head/; revision=163034
* Oops, don't toss the last character read during an SMIC transaction withJohn Baldwin2006-10-051-2/+0
| | | | | | | | | at least 1 data byte beyond the completion code. Tested by: Terry Kennedy <terry at tmk dot com> Notes: svn path=/head/; revision=163033
* Fix a memory leak in ipmi_unload().John Baldwin2006-09-261-1/+3
| | | | | | | | CID: 1542 Found by: Coverity Prevent Notes: svn path=/head/; revision=162664
* Map pmap_{un,}mapbios() to pmap_{un,}mapdev() on 6.x and earlier.John Baldwin2006-09-221-0/+5
| | | | Notes: svn path=/head/; revision=162564
* Update the ipmi(4) driver:John Baldwin2006-09-2210-1381/+3060
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Split out the communication protocols into their own files and use a couple of function pointers in the softc that the commuication protocols setup in their own attach routine. - Add support for the SSIF interface (talking to IPMI over SMBus). - Add an ACPI attachment. - Add a PCI attachment that attaches to devices with the IPMI interface subclass. - Split the ISA attachment out into its own file: ipmi_isa.c. - Change the code to probe the SMBIOS table for an IPMI entry to just use pmap_mapbios() to map the table in rather than trying to setup a fake resource on an isa device and then activating the resource to map in the table. - Make bus attachments leaner by adding attach functions for each communication interface (ipmi_kcs_attach(), ipmi_smic_attach(), etc.) that setup per-interface data. - Formalize the model used by the driver to handle requests by adding an explicit struct ipmi_request object that holds the state of a given request and reply for the entire lifetime of the request. By bundling the request into an object, it is easier to add retry logic to the various communication backends (as well as eventually support BT mode which uses a slightly different message format than KCS, SMIC, and SSIF). - Add a per-softc lock and remove D_NEEDGIANT as the driver is now MPSAFE. - Add 32-bit compatibility ioctl shims so you can use a 32-bit ipmitool on FreeBSD/amd64. - Add ipmi(4) to i386 and amd64 NOTES. Submitted by: ambrisko (large portions of 2 and 3) Sponsored by: IronPort Systems, Yahoo! MFC after: 6 days Notes: svn path=/head/; revision=162562
* Since DELAY() was moved, most <machine/clock.h> #includes have beenPoul-Henning Kamp2006-05-161-1/+0
| | | | | | | unnecessary. Notes: svn path=/head/; revision=158651
* Don't conflict with the DEBUG define.Doug Ambrisko2006-02-131-1/+1
| | | | Notes: svn path=/head/; revision=155605
* Add an OpenIPMI mostly compatible driver. This driver was developedDoug Ambrisko2006-02-104-0/+2081
to work with ipmitools. It works with other tools that have an OpenIPMI driver interface. The port will need to get updated to used this. I have not implemented the IPMB mode yet so ioctl's for that don't really do much otherwise it should work like the OpenIPMI version. The ipmi.h definitions was derived from the ipmitool header file. The bus attachments are done for smbios and pci/smbios. Differences in bus probe order for modules/static are delt with. ACPI attachment should be done. This drivers registers with the watchdod(4) interface Work to do: - BT interface - IPMB mode This has been tested on Dell PE2850, PE2650 & PE850 with i386 & amd64 kernel. I will link this into the build on next week. Tom Rhodes, helped me with the man page. Sponsored by: IronPort Systems Inc. Inspired from: ipmitool & Linux Notes: svn path=/head/; revision=155517