diff options
author | cem <cem@FreeBSD.org> | 2015-11-24 18:51:17 +0000 |
---|---|---|
committer | cem <cem@FreeBSD.org> | 2015-11-24 18:51:17 +0000 |
commit | 4ab80ee6ff1454f9397ee214821a1b74c724a724 (patch) | |
tree | e1d13ebaa4c82b44b742fdbdd200a7e514a7103f /lib/libc/stdlib/system.c | |
parent | 745b5bcad49247c234953ff587296084cefbe3c8 (diff) | |
download | FreeBSD-src-4ab80ee6ff1454f9397ee214821a1b74c724a724.zip FreeBSD-src-4ab80ee6ff1454f9397ee214821a1b74c724a724.tar.gz |
ntb: Add MW tunable for MMR Xeon errata workaround
Adds a new tunable, ntb.hw.b2b_mw_idx, which specifies the offset (from the
total number of memory windows) to use for register access on hardware with
the SDOORBELL_LOCKUP errata. The default is -1, i.e., the last memory
window.
We map BARs before the b2b_mw_idx is selected, so map them all as memory
windows initially. The register memory window should not be write-combined,
so we explicitly disable WC on the selected MW later.
This introduces a layer of abstraction between consumer memory window
indices, which exclude any exclusive errata-workaround BARs, and internal
memory window indices, which include such BARs. An internal routine,
ntb_user_mw_to_idx(), converts the former to the latter. Public APIs have
been updated to use this instead of assuming the exclusive workaround BAR is
the last available MW.
Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'lib/libc/stdlib/system.c')
0 files changed, 0 insertions, 0 deletions