| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It used to be required that a device be a child of gpiobus(4) to manipulate
gpio pins. That requirement didn't work well for FDT-based systems with many
cross-hierarchy users of gpio, so a more modern framework was created that
removed the old hierarchy requirement.
These changes adapt the owc_gpiobus driver to use the newer gpio_pin_*
functions to acquire, release, and manipulate gpio pins. This allows a
single driver to work for both hinted-attachment and fdt-based systems, and
removes the requirement that any one-wire fdt nodes must appear at the root
of the devicetree.
Differential Revision: https://reviews.freebsd.org/D22710
Notes:
svn path=/head/; revision=355858
|
|
|
|
|
|
|
|
| |
This allows them to do basic type casting internally, effectively relieving
consumers from having to cast on their own.
Notes:
svn path=/head/; revision=355855
|
|
|
|
| |
Notes:
svn path=/head/; revision=355854
|
|
|
|
|
|
|
|
|
|
|
| |
The maxpin counter starts at 0, fix one by one error.
This is still not totally correct for some banks in some SoC that have
fewer pins but this will be dealt with in another commit.
MFC after: 3 days
Notes:
svn path=/head/; revision=355853
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r351187 change the SYSCON_WRITE to SYSCON_MODIFY but didn't changed the
mask variable that used to hold the bitmask in the upper 16 bits of the
register that control which bits are changed. So we ended up clearing
bit from the upper 16bits half which are always 0 after a read.
Use the correct bit mask for bits that we want to clear.
MFC after: 3 days
Notes:
svn path=/head/; revision=355852
|
|
|
|
|
|
|
| |
Use existing strtoimax instead of reinventing it
Notes:
svn path=/head/; revision=355847
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
status
From UEFI specification 2.8, page 434:
"It should also be noted that certain input devices may not be able to produce
shift or toggle state information, and in those cases the high order bit in
the respective Toggle and Shift state fields should not be active."
But we still need to check for ScanCode and UnicodeChar.
PR: 242660
Reported by: Trond Endrestol
MFC after: 1 week
Notes:
svn path=/head/; revision=355844
|
|
|
|
|
|
|
|
| |
It wasn't supposed to change the defaults, but actually does. Back this out
until that can be sorted out.
Notes:
svn path=/head/; revision=355843
|
|
|
|
|
|
|
|
|
|
| |
Nothing modifies these things, but const'ify out of an abundance of caution.
If we could const'ify the definition in each keyboard driver, I likely
would- improper mutations here can lead to misbehavior or slightly more
annoying to debug state.
Notes:
svn path=/head/; revision=355842
|
|
|
|
|
|
|
|
|
| |
(1) Don't define load/store 64 atomics for o32. They aren't atomic
there.
(2) Add comment about why we need 64 atomic define on n32 only.
Notes:
svn path=/head/; revision=355841
|
|
|
|
|
|
|
|
|
| |
Submitted by: ocochard
Reviewed by: melifaro, glebius
Differential Revision: https://reviews.freebsd.org/D22834
Notes:
svn path=/head/; revision=355840
|
|
|
|
|
|
|
|
| |
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D19400
Notes:
svn path=/head/; revision=355839
|
|
|
|
|
|
|
|
|
|
|
|
| |
wrapper in libvmmapi.
Submitted by: Rob Fairbanks <rob.fx907_gmail.com>
Reviewed by: jhb
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D19400
Notes:
svn path=/head/; revision=355838
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
React to the BIO_SPEED command in the cam io scheduler by completing
as successful BIO_DELETE commands that are pending, up to the length
passed down in the BIO_SPEEDUP cmomand. The length passed down is a
hint for how much space on the drive needs to be recovered. By
completing the BIO_DELETE comomands, this allows the upper layers to
allocate and write to the blocks that were about to be trimmed. Since
FreeBSD implements TRIMSs as advisory, we can eliminliminate them and
go directly to writing.
The biggest benefit from TRIMS coomes ffrom the drive being able t
ooptimize its free block pool inthe log run. There's little nto no
bene3efit in the shoort term. , sepeciall whn the trim is followed by
a write. Speedup lets us make this tradeoff.
Reviewed by: kirk, kib
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D18351
Notes:
svn path=/head/; revision=355837
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we have a resource shortage in UFS, send down a BIO_SPEEDUP to
give the CAM I/O scheduler a heads up that we have a resource shortage
and that it should bias its decisions knowing that.
Reviewed by: kirk, kib
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D18351
Notes:
svn path=/head/; revision=355836
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add BIO_SPEEDUP bio command and g_io_speedup wrapper. It tells the
lower layers that the upper layers are dealing with some shortage
(dirty pages and/or disk blocks). The lower layers should do what they
can to speed up anything that's been delayed.
The first use will be to tell the CAM I/O scheduler that any TRIM
shaping should be short-circuited because the system needs
blocks. We'll also call it when there's too many resources used by
UFS.
Reviewed by: kirk, kib
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D18351
Notes:
svn path=/head/; revision=355835
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than a trim active flag, have a counter that can be used to
have a absolute limit on the number of trims in flight independent of
any I/O limiting factors.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=355834
|
|
|
|
|
|
|
|
|
|
|
| |
For each of the different queue types, list the name of the
queue. While it can be worked out from context, this makes it more
useful and clearer.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=355833
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add rate limiters to trims. Trims are a bit different than reads or
writes in that they can be combined, so some care needs to be taken
where we rate limit them. Additional work will be needed to push the
working rate limit below the I/O quanta rate for things like IOPS.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=355832
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two sysctls to control pacing of nvme
trims. kern.cam.nda.X.goal_trim is the number of upper layer
BIO_DEELETE requests to try to collecet before sending TRIM down too
the nvme drive. trim_ticks is the number of ticks, at mosot, to wait
for at least goal_trim BIOS_DELEETE requests to come in.
Trim pacing is useful when a large number off disjoint trims are
comoing in from the upper layers. Since we have no way to chain
toogether trims from the upper layers that are sent down, this acts as
a hueristic to group trims into reasonable sized chunks. What's
reasonable varies from drive to drive.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=355831
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This looks like a bit of debugging code that sliped into the initial
import of the new ATA framework. This changes the behavior to omit a
line of output that appears to have been intended for omission.
Reviewed by: mav
MFC after: 3 days
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D22845
Notes:
svn path=/head/; revision=355830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So it turns out that sometime in the past I removed the GPIO bits here
and was going to move it into a module in order to save a little space.
However, it turns out that was a mistake on this particular AP - it
uses a pair of GPIO lines to control the two receive LNAs on the 2GHz
radio and without them enabled the radio is a LOT DEAF.
With this re-introduced (and some replacement userland tools to save
space, *cough* cpio/libarchive) I can actually use these chipsets
again as a 2G station. Without the LNA the AP was seeing a per-radio
RSSI upstairs here of around 3-5dB, with the LNA on it's around 15dB,
more than enough to actually use wifi upstairs and also in line with
the other Atheros / Intel devices I have up here.
Big oopsie to Adrian. Big, big oopsie.
Notes:
svn path=/head/; revision=355829
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As modern software keeps growing in size, we get requests to update the
value of ARG_MAX in order to link the resulting object files. Other OSs
have much higher values but Increasiong ARG_MAX has a multiplied effect on
KVA, so just bumping this value is dangerous in some archs like ARM32 that
can exhaust KVA rather easily.
While it would be better to have a unique value for all archs, other OSs
(Illumos in partidular) can have different ARG_MAX limits depending on the
platform, For now we want to be really conservative so we are avoidng
the change on ILP32 and in the alternative case we only double it since that
seems to work well enough for recent Code Aster.
I was planning to bump the _FreeBSD_version but it was bumped recently
(r355798) so we can reuse the 1300068 value for this change.
PR: 241710
MFC after: 5 days
Notes:
svn path=/head/; revision=355828
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- PCI_MASK_CONFIG(sc->dev, CBBR_BRIDGECTRL,
- & ~CBBM_BRIDGECTRL_INTR_IREQ_ISA_EN, 2);
was accidentally dropped from r355822 in the refactor. Restore it since 16-bit
cards may fail without it (some bridges autodetect this properly, so my laptop
worked when I tested it).
Noticed by: rpokala@
Notes:
svn path=/head/; revision=355827
|
|
|
|
|
|
|
|
|
|
| |
- Move libxo.a build to subdirectory (lib/libxo/libxo/Makefile)
- Add .WAIT target to delay encoder build til after libxo
- Use FILES to install encoder library as csv.enc
- Update import script to put xo_config.h in new location
Notes:
svn path=/head/; revision=355826
|
|
|
|
|
|
|
|
|
| |
For all the INT13 calls, use symbolic names instead of magic numbers. This makes
it easier to understand what the code is doing w/o a trip to google to find what
these numbers mean.
Notes:
svn path=/head/; revision=355825
|
|
|
|
|
|
|
|
| |
cardbus and pccard children before the sysctls are added rather than
after.
Notes:
svn path=/head/; revision=355824
|
|
|
|
|
|
|
|
| |
This will always be 0 for pccbb, but may be non-zero for other kinds of bridges,
should they show up in the tree. Make querying it generic.
Notes:
svn path=/head/; revision=355823
|
|
|
|
|
|
|
|
|
|
|
| |
array with a singleton.
Also, pccbb isa attachment is never going to happen, do disconnect it from the
build (will delete this in future commit). It would need to be updated as well,
but since this code is effectively dead code, remove it from the build instead.
Notes:
svn path=/head/; revision=355822
|
|
|
|
|
|
|
|
| |
RELEASE_CRUNCH has been broken for a very long time. Remove the
last remants from the tree.
Notes:
svn path=/head/; revision=355821
|
|
|
|
|
|
|
|
|
|
|
| |
'compat.linux.preserve_vstatus=1' sysctl.
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21967
Notes:
svn path=/head/; revision=355820
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix an assert violation introduced in r355784. Without this spinlock_exit()
may see owepreempt and switch before reducing the spinlock count. amd64
had been optimized to do a single critical enter/exit regardless of the
number of spinlocks which avoided the problem and this optimization had
not been applied elsewhere.
Reported by: emaste
Suggested by: rlibby
Discussed with: jhb, rlibby
Tested by: manu (arm64)
Notes:
svn path=/head/; revision=355819
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
than "/compat/linux". Useful when you have several compat directories
with different Linux versions and you don't want to clash with files
installed by linux-c7 packages.
Reviewed by: bcr (manpages)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D22574
Notes:
svn path=/head/; revision=355818
|
|
|
|
|
|
|
|
| |
It was extracted from a larger tree and is incomplete. Will resubmit after
reworking.
Notes:
svn path=/head/; revision=355817
|
|
|
|
|
|
|
|
|
| |
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D22836
Notes:
svn path=/head/; revision=355816
|
|
|
|
|
|
|
|
|
|
|
| |
Excesively large TRIMs can result in timeouts, which cause big
problems. Limit trims to 1GB to mititgate these issues.
Reviewed by: scottl
Differential Revision: https://reviews.freebsd.org/D22809
Notes:
svn path=/head/; revision=355813
|
|
|
|
|
|
|
|
|
| |
Reported by: kib
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=355807
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keyboard drivers are generally registered via linker set. In these cases,
they're also available as kmods which use KPI for registering/unregistering
keyboard drivers outside of the linker set.
For built-in modules, we still fire off MOD_LOAD and maybe even MOD_UNLOAD
if an error occurs, leading to registration via linker set and at MOD_LOAD
time.
This is a minor optimization at best, but it keeps the internal kbd driver
tidy as a future change will merge the linker set driver list into its
internal keyboard_drivers list via SYSINIT and simplify driver lookup by
removing the need to consult the linker set.
Notes:
svn path=/head/; revision=355806
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In original GNU libgcc, _Unwind_Backtrace is published with GCC_3.3 version
for all architectures but ARM. For ARM should be publishes with GCC_4.3.0
version. This was originally omitted in r255095, fixed in r318024 and omitted
aging in LLVM libunwind implementation in r354347.
For ARM _Unwind_Backtrace should be published as default with GCC_4.3.0
version , (because this is right original version) and again as
normal(not-default) with GCC_3.3 version (to maintain ABI compatibility
compiled/linked with wrong pre r318024 libgcc)
PR: 233664
Notes:
svn path=/head/; revision=355803
|
|
|
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=355802
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On PowerPC, this is needed in order for the debugger to find out
the memory offset where the kernel image was loaded on the remote
target.
This fixes symbol resolution when remote debugging a PowerPC kernel.
Reviewed by: cem
Differential Revision: https://reviews.freebsd.org/D22767
Notes:
svn path=/head/; revision=355801
|
|
|
|
|
|
|
|
|
|
|
|
| |
section substitutions.
Submitted by: Martin Beran <martin@mber.cz>
PR: 237893
MFC after: 1 week
Sponsored by: Mellanox Technologies
Notes:
svn path=/head/; revision=355800
|
|
|
|
|
|
|
|
|
|
| |
This is needed after r355796. Some double-registration of kbd drivers needs
to be sorted out, then this sysinit will simply add these drivers into the
normal list and kill off any other bits in the driver that are aware of the
linker set, for simplicity.
Notes:
svn path=/head/; revision=355799
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous implementation relied on a kbdsw array that mirrored the global
keyboards array. This is fine, but also requires extra locking consideration
when accessing to ensure that it's not being resized as new keyboards are
added.
The extra pointer costs little in a struct that there are relatively few of
on any given system, and simplifies locking requirements ever-so-slightly as
we only need to consider the locking requirements of whichever method is
being invoked.
__FreeBSD_version is bumped as any kbd modules will need rebuilt following
this change.
Notes:
svn path=/head/; revision=355798
|
|
|
|
|
|
|
| |
This file was missed in r355796, but no harm would have come from this.
Notes:
svn path=/head/; revision=355797
|
|
|
|
|
|
|
|
|
| |
Most keyboard drivers are using the genkbd implementations as it is;
formally use them for any that aren't set and make
genkbd_get_fkeystr/genkbd_diag private.
Notes:
svn path=/head/; revision=355796
|
|
|
|
|
|
|
|
|
| |
A future change will provide default implementations for some of these where
it makes sense and most of them are already using the genkbd
implementation (e.g. get_fkeystr, diag).
Notes:
svn path=/head/; revision=355794
|
|
|
|
|
|
|
|
|
|
|
| |
These invocations were directly calling enkbd_diag(), rather than
indirection back through kbdd_diag/kbdsw. While they're functionally
equivent, invoking kbdd_diag where feasible (i.e. not in a diag
implementation) makes it easier to visually identify locking needs in these
other drivers.
Notes:
svn path=/head/; revision=355793
|
|
|
|
| |
Notes:
svn path=/head/; revision=355792
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most frequently used vops boil down to checking SDT probes, doing the call and
checking again. There is no vop_post/pre in their case but the check after the
call prevents tail call optimisation from taking place. Instead, check once
upfront. Kernels with debug or vops with non-empty vop_post still don't short
circuit.
Reviewed by: kib
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D22739
Notes:
svn path=/head/; revision=355791
|