History log of /freebsd-12.1/sys/dev/ipmi/ipmi.c (Results 1 – 25 of 29)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0
# 3991dbf3 16-Aug-2018 Doug Ambrisko <[email protected]>

Fix a module Makefile error on amd64 so the IPMI HW interfaces are built.
When the module is being unloaded and no HW interfaces were created don't
clean up. This was exposed by the amd64 module bui

Fix a module Makefile error on amd64 so the IPMI HW interfaces are built.
When the module is being unloaded and no HW interfaces were created don't
clean up. This was exposed by the amd64 module build issue.

show more ...


Revision tags: release/11.2.0
# 718cf2cc 27-Nov-2017 Pedro F. Giffuni <[email protected]>

sys/dev: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error

sys/dev: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

show more ...


# 9ee3ea71 05-Nov-2017 Peter Wemm <[email protected]>

As a follow-on to r325378, make the shutdown timer default to 0 as well.

Otherwise an orderly shutdown will initiate a watchdog that will cause
a 7 minute delayed reboot *by default*, In the freebs

As a follow-on to r325378, make the shutdown timer default to 0 as well.

Otherwise an orderly shutdown will initiate a watchdog that will cause
a 7 minute delayed reboot *by default*, In the freebsd.org cluster's case
this often worked out be a surprise reboot a minute or two after the
machine came back up.

show more ...


# c154763d 04-Nov-2017 Warner Losh <[email protected]>

Make the startup timeout 0 seconds by default rathern than 420s. This
makes the default fail safe when watchdogd is disabled (which is also
the default).

Sponsored by


# 16f0063e 26-Oct-2017 Warner Losh <[email protected]>

Make time we wait for a power cycle tunable.

hw.ipmi.cycle_time is the time to wait for the power down phase of the
ipmi power cycle before falling back to either reboot or halt.

Sponsored by: Netf

Make time we wait for a power cycle tunable.

hw.ipmi.cycle_time is the time to wait for the power down phase of the
ipmi power cycle before falling back to either reboot or halt.

Sponsored by: Netflix

show more ...


# 14d00450 26-Oct-2017 Warner Losh <[email protected]>

Various IPMI watchdog timer improvements

o Make hw.ipmi.on a tuneable
o Changes to keep shutdown from hanging indefinitately after the wd
would normally have been disabled.
o Add support for setti

Various IPMI watchdog timer improvements

o Make hw.ipmi.on a tuneable
o Changes to keep shutdown from hanging indefinitately after the wd
would normally have been disabled.
o Add support for setting pretimeout (which fires an interrupt
some time before the actual watchdog expires)
o Allow refinement of the actions to take when the watchdog expires
o Allow special startup timeout to keep us from hanging in boot
before watchdogd is started, but after we've loaded the kernel.

Obtained From: Netflix OCA Firmware

show more ...


# 1170c2fe 25-Oct-2017 Warner Losh <[email protected]>

Implement IPMI support for RB_POWRECYCLE

Some BMCs support power cycling the chassis via the chassis control
command 2 subcommand 2 (ipmitool called it 'chassis power cycle'). If
the BMC supports t

Implement IPMI support for RB_POWRECYCLE

Some BMCs support power cycling the chassis via the chassis control
command 2 subcommand 2 (ipmitool called it 'chassis power cycle'). If
the BMC supports the chassis device, register a shutdown_final handler
that sends the power cycle command if request and waits up to 10s for
it to take effect. To minimize stack strain, we preallocate a ipmi
request in the softc. At the moment, we're verbose about what we're
doing.

Sponsored by: Netflix

show more ...


Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0
# ea2ef993 22-Mar-2016 Alexander Motin <[email protected]>

Optimize IPMI watchdog patting.

Set watchdog timer parameters only when they really need to be changed.
In other cases just restart the timer with single Reset command instead
of two (Set and Reset)

Optimize IPMI watchdog patting.

Set watchdog timer parameters only when they really need to be changed.
In other cases just restart the timer with single Reset command instead
of two (Set and Reset).

From one side this visually reduces amount of CPU time burned in tight
loop waiting while some slow BMC configures its watchdog hardware, that
seems to be much more complicated task then just resetting the timer.

From another side on some BMCs those slow Set commands sometimes tend to
timeout, that leads to noisy log messages and even more CPU time burned,
so avoiding them can provide even bigger bonuses.

MFC after: 2 weeks

show more ...


Revision tags: release/10.2.0
# 9662eef5 24-Apr-2015 John Baldwin <[email protected]>

Watchdog drivers need to support rearming the watchdog in contexts which
are not permitted to sleep. Only use the IPMI watchdog with backends
which poll driver-initiated requests to meet this requir

Watchdog drivers need to support rearming the watchdog in contexts which
are not permitted to sleep. Only use the IPMI watchdog with backends
which poll driver-initiated requests to meet this requirement.

In practice this means that watchdogs will no longer be used on systems
that use the SSIF backend.

Differential Revision: https://reviews.freebsd.org/D2062
MFC after: 2 weeks

show more ...


# c869aa71 06-Feb-2015 John Baldwin <[email protected]>

Use direct hardware access for internal requests for KCS and SMIC. In
particular, updates to the watchdog should no longer sleep.
- Add a new IPMI_IO_LOCK for low-level I/O access. Use this for
k

Use direct hardware access for internal requests for KCS and SMIC. In
particular, updates to the watchdog should no longer sleep.
- Add a new IPMI_IO_LOCK for low-level I/O access. Use this for
kcs_polled_request() and smic_polled_request().
- Add a new backend callback "ipmi_driver_request" to handle a driver
request. The new callback performs the request sychronously for KCS
and SMIC. SSIF still defers the work to the worker thread since the
worker thread sleeps during request processing anyway.
- Allocate driver requests on the stack rather than using malloc().

Differential Revision: https://reviews.freebsd.org/D1723
Tested by: scottl
MFC after: 2 weeks

show more ...


Revision tags: release/10.1.0, release/9.3.0, release/10.0.0
# a9b3c1bf 31-Oct-2013 Gleb Smirnoff <[email protected]>

Provide a crutch that prevents watchdog to interrupt dumping
on a box with IPMI enabled.

Okay from: jhb
Sponsored by: Netflix
Sponsored by: Nginx, Inc.


Revision tags: release/9.2.0, release/8.4.0, release/9.1.0
# 1710852e 07-Aug-2012 John Baldwin <[email protected]>

Don't try to stop the IPMI watchdog timer if it is not running.
Starting or stopping the IPMI watchdog is rather expensive with the
current implementation as all IPMI requests are bounced via thread.

Don't try to stop the IPMI watchdog timer if it is not running.
Starting or stopping the IPMI watchdog is rather expensive with the
current implementation as all IPMI requests are bounced via thread.
This is not viable during shutdown or dumps, and this avoids headache
in the common case that the watchdog is not enabled. The IPMI watchdog
should probably be reworked to not use a separate thread to fix this
in the case when the watchdog timer is enabled.

MFC after: 2 weeks

show more ...


Revision tags: release/8.3.0, release/7.4.0, release/8.2.0, release/8.1.0, release/7.3.0
# 3135744c 21-Dec-2009 Ruslan Ermilov <[email protected]>

MFC r200666: Fixed incorrect watchdog timeout setting.

PR: kern/130512


# 6472ac3d 07-Nov-2011 Ed Schouten <[email protected]>

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else,

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.

show more ...


# d745c852 07-Nov-2011 Ed Schouten <[email protected]>

Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.

This means that their use is restricted to a single C file.


# 14689886 14-Apr-2011 Ruslan Ermilov <[email protected]>

Fixed firmware revision decoding:
- the major is 7-bit binary encoded
- the minor is BCD encoded

PR: kern/151586
MFC after: 3 days


# a46a1e76 18-Dec-2009 Ruslan Ermilov <[email protected]>

- Fixed incorrect watchdog timeout setting: MSB of a 2-byte
value is obtained by dividing it by 256, not by 2550; also,
one second is 10^9 nanoseconds, not 1800000000 nanoseconds.

- Due to round

- Fixed incorrect watchdog timeout setting: MSB of a 2-byte
value is obtained by dividing it by 256, not by 2550; also,
one second is 10^9 nanoseconds, not 1800000000 nanoseconds.

- Due to rounding error, setting watchdog to a really small
timeout (<1 sec) was turning the watchdog off. It should
set the watchdog to a small timeout instead.

- Implemented error checking in ipmi_wd_event(), as required
by watchdog(9).

PR: kern/130512
Submitted by: Dmitrij Tejblum

- Additionally, check that the timeout value is within the
supported range, and if it's too large, act as required by
watchdog(9).

MFC after: 3 days

show more ...


Revision tags: release/8.0.0, release/7.2.0, release/7.1.0, release/6.4.0
# c12dbd1d 14-Nov-2008 David E. O'Brien <[email protected]>

Fix typo where the code was missing the "IPMICTL_RECEIVE_MSG_32" condition
test.


# 943bebd2 28-Aug-2008 John Baldwin <[email protected]>

Remove hack attempt at using devfs cloning for per-file descriptor storage.
Use the much simpler cdevpriv for per-fd state and enable it. This allows
multiple opens of /dev/ipmi0 (e.g. using ipmitoo

Remove hack attempt at using devfs cloning for per-file descriptor storage.
Use the much simpler cdevpriv for per-fd state and enable it. This allows
multiple opens of /dev/ipmi0 (e.g. using ipmitool while ipmievd is running
in the background).

MFC after: 1 week

show more ...


Revision tags: release/7.0.0, release/6.3.0
# f29fa1df 27-Mar-2007 Nick Hibma <[email protected]>

Revisit the watchdogs: Resetting the error to EINVAL after failing to set the
watchdog might hide the succesful arming of an earlier one. Accept that on
failing to arm any watchdog (because of non-su

Revisit the watchdogs: Resetting the error to EINVAL after failing to set the
watchdog might hide the succesful arming of an earlier one. Accept that on
failing to arm any watchdog (because of non-supported timeouts) EOPNOTSUPP is
returned instead of the more appropriate EINVAL.

MFC after: 3 days

show more ...


# ef544f63 23-Feb-2007 Paolo Pisati <[email protected]>

o break newbus api: add a new argument of type driver_filter_t to
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

o break newbus api: add a new argument of type driver_filter_t to
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@

show more ...


Revision tags: release/6.2.0
# 9079fff5 15-Dec-2006 Nick Hibma <[email protected]>

Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
WD_ACTIVE is implemented at the mo

Align the interfaces for the various watchdogs and make the interface
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.

show more ...


# d78cd1ad 06-Dec-2006 John Baldwin <[email protected]>

Fix some edge cases in detach() as well as a memory leak if we fail to
talk to the BMC.

Reported by: Alexander Logvinov : ports at logvinov_com
MFC after: 1 week


# 5283d39b 12-Oct-2006 John Baldwin <[email protected]>

ipmi_polled_enqueue_request() is already called with the lock held, just
assert it rather than recursing.

Reported by: mjacob
Pointy hat: jhb
MFC after: 3 days


# bec0c98e 26-Sep-2006 John Baldwin <[email protected]>

Fix a memory leak in ipmi_unload().

CID: 1542
Found by: Coverity Prevent


12