Link [ NetBSD | NetBSD OpenGrok source search | PR fulltext-search | Summary of daily snapshot builds | history of daily build result | pkgsrc commit viewer ]


   
        usage: [branch:branch] [user:user] [path@revision] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN sys/arch/arm, if_wm.c@1.234 )




switch to index mode

recent branches: MAIN (1h)  netbsd-10 (18d)  netbsd-9 (18d)  netbsd-8 (23d) 

2024-06-03 17:45:39 UTC Now

2019-04-07 16:27:41 UTC MAIN commitmail json YAML

Exclude references to _ucas_{32,64}_mp() for _RUMPKERNEL.

(thorpej)

2019-04-07 15:50:13 UTC MAIN commitmail json YAML

Add a test to make sure an overflowing-into-kernel-space  fetch/store near
vm_max_address fails with EFAULT.

(thorpej)

2019-04-07 14:14:03 UTC MAIN commitmail json YAML

...and now I really have the list of arch versions that require the armv2
style of ufetch_16/ustore_16.  And since it's so many, just stop naming it
for the arch version, and name it for the instruction capability.

(thorpej)

2019-04-07 05:25:56 UTC MAIN commitmail json YAML

2019-04-07 04:11:56 UTC MAIN commitmail json YAML

Fix ARM_ARCH_* brain fart.

(thorpej)

2019-04-07 03:42:31 UTC MAIN commitmail json YAML

G/C some obsolete definitions (we haven't had a fixed u. for quite
some time).

(thorpej)

2019-04-06 20:25:27 UTC MAIN commitmail json YAML

Fix a think-o / paste-o in the max user address check, pointed out
by maxv@.

(thorpej)

2019-04-06 16:22:01 UTC MAIN commitmail json YAML

Fix building crash(8) on sparc after ufetch / ustore changes.

(thorpej)

2019-04-06 15:52:35 UTC MAIN commitmail json YAML

Treat _RUMPKERNEL like a __HAVE_UCAS_FULL platform.  Add a comment
explaining what's going on.  Fixes librump build on sparc.

(thorpej)

2019-04-06 03:06:29 UTC MAIN commitmail json YAML

Overhaul the API used to fetch and store individual memory cells in
userspace.  The old fetch(9) and store(9) APIs (fubyte(), fuword(),
subyte(), suword(), etc.) are retired and replaced with new ufetch(9)
and ustore(9) APIs that can return proper error codes, etc. and are
implemented consistently across all platforms.  The interrupt-safe
variants are no longer supported (and several of the existing attempts
at fuswintr(), etc. were buggy and not actually interrupt-safe).

Also augmement the ucas(9) API, making it consistently available on
all plaforms, supporting uniprocessor and multiprocessor systems, even
those that do not have CAS or LL/SC primitives.

Welcome to NetBSD 8.99.37.

(thorpej)

2019-04-06 02:59:05 UTC MAIN commitmail json YAML

Add an ipi_trigger_broadcast() call, like ipi_trigger_multi() but to the
full set of attached CPUs, with an optional "skip_self" argument to skip
the calling CPU.  Add a "skip_self" to the ipi_broadcast() call for
symmetry.

(Kernel version bump coming in a subsequent commit.)

(thorpej)

2019-04-05 14:15:33 UTC MAIN commitmail json YAML

Add (commented out) MODULAR-related options.

(thorpej)

2019-04-05 14:12:14 UTC MAIN commitmail json YAML

Prrovide a basic (i.e. empty) module_init_md().  MODULAR doesn't quite
work yet (missing support for a couple of relocations), but at last the
kernel links.

(thorpej)

2019-04-05 14:00:16 UTC MAIN commitmail json YAML

clzdi2 and ctzdi2 are needed on alpha. (counting instructions are in the
optional CIX extension, and thus not used by the default compiler configuation).

(thorpej)

2019-04-03 05:34:39 UTC MAIN commitmail json YAML

After throwing away countless hours of my life on this driver, I am not
going to let an obvious typo go uncorrected.

(thorpej)

2019-03-29 03:11:32 UTC MAIN commitmail json YAML

Fix a couple of latent MP issues in the Alpha pmap:
- In pmap_activate(), even though we manipulate the active mask
  with atomic ops, the lev1map pointer needs to stay consistent,
  so we do, in fact, have to take the pmap lock there.
- In pmap_emulate_reference(), some of the DEBUG checks done here
  are race-prone, so don't do them.  (Leave them #if 0'd out for
  documentary purposes.)

(thorpej)

2019-03-19 20:30:05 UTC MAIN commitmail json YAML

G/C a couple of lingering instances of addupc().  There is still some bit-
rotten profiling code that references it, but that code is already almost
certainly broken for other reasons.

(thorpej)

2019-03-14 23:49:38 UTC MAIN commitmail json YAML

2019-03-14 16:59:10 UTC MAIN commitmail json YAML

2019-03-13 22:30:01 UTC MAIN commitmail json YAML

In zx_cursor_color(), don't throw away the second half of the color
map data.

(thorpej)

2019-03-13 22:12:47 UTC MAIN commitmail json YAML

Fix an issue with FIOCSCURSOR FB_CUR_SETCMAP on zx described here:

    http://mail-index.netbsd.org/port-sparc/2019/02/11/msg002134.html

by replacing the fubyte() calls with copyin() into temporary buffers.

The other issue in zx_cursor_color() mentioned in that message will
be addressed separately.

(thorpej)

2019-02-18 01:12:25 UTC MAIN commitmail json YAML

Refactor the 68040 writeback() from each m68k port's trap handler into a
shared copy: m68040_writeback().  It is essentially a copy of the Atari
version, with some minor cosmetic tweaks and one small performance optimization
from the mvme68k port.

Tested by rjs@ on a Quadra 950.  (Thanks!)

(thorpej)

2019-02-05 07:14:32 UTC MAIN commitmail json YAML

In ksem_close_fop(), if we get a pshared semaphore that's not already
been marked dead, make sure we mark it so if the owner proc is the proc
closing it.  (This case can happen if a process sem_init()'s a pshared
semaphore and then exits without destroying it.)

Fixes kern/53942.

(thorpej)

2019-02-03 03:20:24 UTC MAIN commitmail json YAML

2019-01-26 14:43:46 UTC MAIN commitmail json YAML

Define constants for representing the standard interrupt types
({pos,neg,double}-edge, {high,low}-level) from the FDT "interrupts"
bindings.  Use these defined constants rather than magic numbers.

(thorpej)

2019-01-26 14:38:30 UTC MAIN commitmail json YAML

Define constants for representing the standard interrupt types
({pos,neg,double}-edge, {high,low}-level) from the FDT "interrupts"
bindings.  Use these defined constants rather than magic numbers.

(thorpej)

2019-01-23 04:23:01 UTC MAIN commitmail json YAML

Implement subroutines for parsing out some of the generic properties
specified in the pinctrl bindings, and adapt Meson, Rockchip, and
Allwinner pinctrl back-ends to use them.

Ok jmcneill@

(thorpej)

2019-01-23 04:21:55 UTC MAIN commitmail json YAML

Implement subroutines for parsing out some of the generic properties
specified in the pinctrl bindings, and adapt Meson, Rockchip, and
Allwinner pinctrl back-ends to use them.

Ok jmcneill@

(thorpej)

2019-01-12 15:44:08 UTC MAIN commitmail json YAML

Explicitly size the regmap array.

(thorpej)

2019-01-11 23:10:41 UTC MAIN commitmail json YAML

Simplify regmap initialization, and fix an regmap issue that
affected TI OMAP (LCR register would get clobbered due to
using the wrong offset for the MDR1 register) reported by Lwazi Dube
(who also found the root cause).

(thorpej)

2019-01-04 05:35:24 UTC MAIN commitmail json YAML

Fix a silly bug the "cancel thrash" test: the exit condition for the
job was never set, and so if the job actually got started before the
cancellation request came in, it would never finish and the cancellation
request would just hang forever.

Should address a spurious automated test failure reported by kre@.

(thorpej)

2018-12-29 04:59:33 UTC MAIN commitmail json YAML

2018-12-29 04:58:52 UTC MAIN commitmail json YAML

Add ReakTek RTL8189FTV SDIO 802.11 interface.

(thorpej)

2018-12-29 04:39:14 UTC MAIN commitmail json YAML

Expose the worker thread idle timeout via sysctl as "kern.threadpool.idle_ms".

(thorpej)

2018-12-28 19:54:36 UTC MAIN commitmail json YAML

Add a test case that exercises repeated sceduling and cancelling of a job,
with periodic dropping of the interlock.

(thorpej)

2018-12-28 16:01:53 UTC MAIN commitmail json YAML

kre@ notified me that the kernel/t_threadpool "rapid" test was occasionally
tripping a KASSERT() failure in the i386-qemu test rig.  It turns out this
is due to "rapid" simply being a buggy test that makes assumptions that
aren't always true, especially on slower / uniprocesor hardware.  So, the
right thing to do is just remove the test.

(thorpej)

2018-12-28 00:15:57 UTC MAIN commitmail json YAML

Fix job reference counting:
- threadpool_job_hold() no longer returns failure on overflow; it
  asserts that overflow doesn't happen.
- threadpool_job_rele() must be called with the job lock held.
- Always grab a reference count on the job in threadpool_schedule_job()
  if we're going to do any work.
- Drop that reference count directly in threadpool_job_done(); it's not
  safe to dereference the job structure after the job function has called it.
- In the overseer thread, when handing off the job to work thread, hold an
  extra reference briefly, as there's a window where we hold neither the
  pool lock or the job lock, and without this extra reference, the job could
  be snatched away.

(thorpej)

2018-12-27 04:45:29 UTC MAIN commitmail json YAML

Restore curlwp->l_name in threadpool_job_done(), rather than after the
job function has returned.  This lays the groundwork for some job object
reference counting change that will be coming in a subsequent comment.

(thorpej)

2018-12-26 22:21:10 UTC MAIN commitmail json YAML

Fix spurios whitespace (thank you substandard vi clones).

(thorpej)

2018-12-26 22:16:27 UTC MAIN commitmail json YAML

Rather than performing lazy initialization, statically initialize early
in the respective kernel startup routines.

(thorpej)

2018-12-26 21:48:55 UTC MAIN commitmail json YAML

Document the threadpool_job_fn_t type and its use.

(thorpej)

2018-12-26 21:43:39 UTC MAIN commitmail json YAML

Adjust the definition of threadpool_job_fn_t to reflect Taylor's original
intent.  (The original didn't compile, and I'm not a very good mind reader.)

(thorpej)

2018-12-26 21:36:50 UTC MAIN commitmail json YAML

Fix one de-_t'ficiation I missed.

(thorpej)

2018-12-26 21:25:52 UTC MAIN commitmail json YAML

2018-12-26 21:18:51 UTC MAIN commitmail json YAML

Stylistic tweak to previous.

(thorpej)

2018-12-26 21:15:50 UTC MAIN commitmail json YAML

Simplify thread reference counting of the thread pool object.

(thorpej)

2018-12-26 20:30:36 UTC MAIN commitmail json YAML

Make the callers of threadpool_create() and threadpool_destroy()
responsibile for managing their own storage.

(thorpej)

2018-12-26 20:08:22 UTC MAIN commitmail json YAML

Use uint64_t for the unbound and per-cpu thread pool ref counts; they're
always manipulated under a lock.  Rather than bother returning EBUSY,
just assert that the ref count never overlows (if it ever does, you have
bigger problems).

(thorpej)

2018-12-26 18:54:20 UTC MAIN commitmail json YAML

- De-opaque'ify struct threadpool_job.
- De-_t'ify all of the structure types.

No functional chage, no ABI change (verified with old rump unit test
before and after new librump.so).

Per Taylor's request.

(thorpej)

2018-12-26 14:27:23 UTC MAIN commitmail json YAML

Add -lrump after -lkernspace, because kernspace.a references symbols
from librump and hooray for static linking semantics.

Fixes sun2 build issue reported by kre@.

(XXX WTF did this only start failing after the addition of t_threadpool?)

(thorpej)

2018-12-25 21:26:31 UTC MAIN commitmail json YAML

Include some non-critical-but-still-for-correctness lines of code
in the cancellation unit test.  (I could have sworn I actually typed
these lines, no really...)

(thorpej)

2018-12-25 05:44:13 UTC MAIN commitmail json YAML

Ho ho ho!  We can suppress that warning with __diagused!  Merry Christmas!

(thorpej)

2018-12-24 21:42:05 UTC MAIN commitmail json YAML

2018-12-24 21:40:48 UTC MAIN commitmail json YAML

Don't need <sys/queue.h> here.

(thorpej)

2018-12-24 16:59:40 UTC MAIN commitmail json YAML

Note threadpool(9).

(thorpej)

2018-12-24 16:58:54 UTC MAIN commitmail json YAML

Add threadpool(9), an abstraction that provides shared pools of kernel
threads running at specific priorities, with support for unbound pools
and per-cpu pools.

Written by riastradh@, and based on the May 2014 draft, with a few changes
by me:
- Working on the assumption that a relative few priorities will actually
  be used, reduce the memory footprint by using linked lists, rather than
  2 large (and mostly empty) tables.  The performance impact is essentially
  nil, since these lists are consulted only when pools are created (and
  destroyed, for DIAGNOSTIC checks), and the lists will have at most 225
  entries.
- Make threadpool job object, which the caller must allocate storage for,
  really opaque.
- Use typedefs for the threadpool types, to reduce the verbosity of the
  API somewhat.
- Fix a bunch of pool / worker thread / job object lifecycle bugs.

Also include an ATF unit test, written by me, that exercises the basics
of the API by loading a kernel module that exposes several sysctls that
allow the ATF test script to create and destroy threadpools, schedule a
basic job, and verify that it ran.

And thus NetBSD 8.99.29 has arrived.

(thorpej)

2018-12-17 04:37:15 UTC MAIN commitmail json YAML

Add support for building overlay DT blobs specified in the kernel
config file like so:

makeoptions    DTS_OVERLAYDIR="${THISARM}/conf"
makeoptions    DTS_OVERLAYS="
        my-cool-overlay.dts
"

The result is my-cool-overlay.dtbo in the kernel compile directory.

(thorpej)

2018-12-11 06:34:00 UTC MAIN commitmail json YAML

Add a convenience function, com_init_regs_stride(), that shifts the register
offsets and size by the specified amount.  Use in front-ends as appropriate.

(thorpej)

2018-12-10 00:31:45 UTC MAIN commitmail json YAML

Make i2c_acquire_bus() / i2c_release_bus() real symbols.

(thorpej)

2018-12-09 16:00:40 UTC MAIN commitmail json YAML

sparc64 doesn't have a scalar bus_space_handle_t, so cope with this.
Also, add a comment about why we're using the dummy / nil space handle
in the first place.

(thorpej)

2018-12-08 21:14:37 UTC MAIN commitmail json YAML

2018-12-08 17:46:14 UTC MAIN commitmail json YAML

2018-11-21 09:49:39 UTC MAIN commitmail json YAML

EINVAL (22) is a valid return value for ARM mmap routines; we need to
return -1 for invalid mmap attempts.

(thorpej)

2018-06-29 04:02:10 UTC MAIN commitmail json YAML

- Unify the "rtwn" and "urtwn" register definitions and initialization
  tables into common header files shared by both drivers.
- Fix some register and bit definitions, from OpenBSD and verified against
  the vendor driver.
- Add some additional register / descriptor defnitions, from OpenBSD.

(thorpej)

2018-06-28 15:21:52 UTC MAIN commitmail json YAML

Use the "flags" config directive modifier to specify seeprom size
(a pre-existing capability in seeprom driver) now that "size" is no
longer a valid locator for i2c.

(thorpej)

2018-06-26 06:34:55 UTC MAIN commitmail json YAML

Remove the i2c "size" locator and corresponding property / attach arg.
It was a hack meant only for EEPROMs, which have another way to specify
size in the config directive ("flag" paramter), as well as a better way
to detect size based on "compatible" string.

(thorpej)

2018-06-26 06:24:52 UTC MAIN commitmail json YAML

In of_enter_i2c_devs(), we no longer need to set a "size" property
for a couple of models of Atmel EEPROMs because the driver can figure
this out on its own now (based on the same "compatible" criteria that
we're using).

(thorpej)

2018-06-26 06:21:23 UTC MAIN commitmail json YAML

Encode the size information in the compat data.

(thorpej)

2018-06-26 06:03:57 UTC MAIN commitmail json YAML

2018-06-26 04:32:35 UTC MAIN commitmail json YAML

Change device_compatible_match() and iic_compatible_match() to return
the weighted match value and take an optional compatible-entry pointer,
rather than the other way around.

(thorpej)

2018-06-20 19:11:02 UTC MAIN commitmail json YAML

2018-06-20 05:59:18 UTC MAIN commitmail json YAML

In fdtbus_print(), aprint_normal the path to the device (rather than
aprint_debug).  This info is every bit as useful as, say, PCI device
locations.

(thorpej)

2018-06-19 04:10:51 UTC MAIN commitmail json YAML

Sigh, fix another stupid mistake in previous that squeaked by because,
again, I booted the wrong test kernel.

(thorpej)

2018-06-19 02:08:12 UTC MAIN commitmail json YAML

Use the device_compatible_entry mechanism rather than of_compat_data;
all of the OF / FDT data we need is already in the i2c_attach_args.

(thorpej)

2018-06-18 17:07:07 UTC MAIN commitmail json YAML

- Rename iic_compat_match() to iic_compatible_match() and change it
  to use the new device_compatible_match() routine.  A pointer to
  the matching device_compatible_entry is returned if a match is
  found.
- Adjust iic_use_direct_match() accordingly.
- i2c drivers now provide device_compatible_entry tables when performing
  direct-config matching.
- In the dsrtc driver, take advantage of this new capability to greatly
  simplify model selection.

(I'm coming for you next, of_compat_data...)

(thorpej)

2018-06-18 16:31:42 UTC MAIN commitmail json YAML

Fix a silly mistake in device_compatible_entry_matches() that I made
while re-factoring this from a prior version.

(I booted the wrong kernel when testing, oops.)

(thorpej)

2018-06-18 15:36:54 UTC MAIN commitmail json YAML

Add device_compatible_match(), a generalized routine for weighted
matching of device_compatible_entry data to a device's "compatible"
strings.

(thorpej)

2018-06-17 15:06:27 UTC MAIN commitmail json YAML

Add slightly-more generalized version of the "of_compat_data" structure
called "device_compatible_entry".  It performs a similar function, but
instead of one "compatible" string per entry, it takes an array of
"comaptible" strings per entry.  Also included are macros for initializing
an array of these entries and accessing data embedded in them.

(thorpej)

2018-06-17 14:50:54 UTC MAIN commitmail json YAML

Fix compilation error pointed out by nishimura@.

(thorpej)

2018-06-17 01:08:15 UTC MAIN commitmail json YAML

Oops, another one.

(thorpej)

2018-06-17 01:07:06 UTC MAIN commitmail json YAML

Remove now-unused variable.

(thorpej)

2018-06-16 21:28:07 UTC MAIN commitmail json YAML

More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
  all of the logic for direct-config matching.  If it returns true,
  the driver returns the match result (which may be 0).  If it returns
  false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
  lower-indexed "compatible" device property are more-specific matches,
  and return a better match quality accordingly.

In addition to the above:
- Add support for direct-config matching this driver based on
  "compatible" properties.
- Address-only matching is now done based on the specific addresses
  the requested model supports.
- "compatible" property can specify to the driver which model is to
  be used, so that using config "flags" directives aren't required
  in the direct-config case.

XXX More changes coming that require re-factoring some other code.

(thorpej)

2018-06-16 21:24:36 UTC MAIN commitmail json YAML

More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
  all of the logic for direct-config matching.  If it returns true,
  the driver returns the match result (which may be 0).  If it returns
  false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
  lower-indexed "compatible" device property are more-specific matches,
  and return a better match quality accordingly.

XXX This driver is an odd-ball with respect to the hardware device.
See comments in the match routine.  Unclear how best to handle it.

(thorpej)

2018-06-16 21:22:14 UTC MAIN commitmail json YAML

More cleanup to i2c autoconfiguration:

- Get all of the drivers onto the new match quality constants.
- Introduce a new helper function, iic_use_direct_match(), that has
  all of the logic for direct-config matching.  If it returns true,
  the driver returns the match result (which may be 0).  If it returns
  false, the driver does indirect-config matching.
- iic_compat_match() now returns a weighted match quality; matches to
  lower-indexed "compatible" device property are more-specific matches,
  and return a better match quality accordingly.

(thorpej)

2018-06-12 13:18:48 UTC MAIN commitmail json YAML

When initiating a transfer, if a device isn't present, we won't
get an ACK after sending the address.  Check for this alternate
state and suppress the error message when it occurs.

Fixes PR kern/53356.

(thorpej)

2018-06-07 13:36:29 UTC MAIN commitmail json YAML

2018-06-07 13:35:31 UTC MAIN commitmail json YAML

In device_register(), if the device is an "iic" child of "imcsmb",
attach a I2C_PROP_INDIRECT_DEVICE_WHITELIST property that limits
the allowed devices to "spdmem" and "sdtemp".  Also set the
I2C_PROP_INDIRECT_PROBE_STRATEGY property to I2C_PROBE_STRATEGY_NONE,
since that controller can't issue any of the "quick" commands.

XXX It would be nice to be able to do this in the imcsmb driver
itself, but the way autoconfiguration works makes that infeasible.

(thorpej)

2018-06-07 13:30:49 UTC MAIN commitmail json YAML

Changes / enhancements to i2c indirect device auto-configuration:

— iic_search() chooses a “probe strategy” based on the
  "i2c-indirect-probe-strategy” property on the “iic” instance.
  Valid values are "smbus-quick-write”, "smbus-receive-byte”, and
  “none”.  If no value is specified, the default is "smbus-quick-write”.

— If the "i2c-indirect-device-whitelist” exists on the “iic” instance,
  iic_search() will first check the driver name in the cfdata_t against
  this list, and only allow the match/probe to move forward if the
  cfdata_t driver name is in the list.  This is primarily to accommodate
  the Intel integrated memory controller neutered-i2c-thing.

— If the cfdata_t specifies a wildcard address, each address of the i2c
  bus will be consulted.  If the cfdata_t contains a nailed-down address,
  then we limit the bus scan to that specific address.

— We explicitly skip reserved / special i2c addresses, such as the
  General-Call address, etc.

— We introduce the notion of a “match quality” for i2c drivers.  From
  lowest-quality to highest-quality: matched by plausible address only,
  matched by plausible address and poking at the bus to see if the
  device looks reasonable, matched by direct-config “compatible” string,
  matched by direct-config “driver name” string.

— If the “match quality” is merely “plausible address only”, then
  iic_search() will use the probe strategy selected above to see if
  a device responds to that address.

(thorpej)

2018-06-07 05:56:18 UTC MAIN commitmail json YAML

2018-06-07 05:54:24 UTC MAIN commitmail json YAML

Adjust come defaults:
- Initial gain -> 16x
- auto_gain -> true

(thorpej)

2018-06-07 05:07:28 UTC MAIN commitmail json YAML

A minimal change to prevent the Raspberry Pi i2c driver from
looping forever if the command buffer and data buffer are both
NULL.  XXX This driver needs an overhaul.

Also, preemptively return an error if we get a 10-bit address,
because we don't yet handle them correctly.

(thorpej)

2018-06-01 13:42:14 UTC MAIN commitmail json YAML

Fix a paste-o that prevented the 2-pin interrupt messages from being
printed correctly (but no other harmful effects).  Pointed out by
Brad Spencer.

(thorpej)

2018-05-27 14:03:56 UTC MAIN commitmail json YAML

Update the compat strings to match what Linux uses, per jmcneill@.

(thorpej)

2018-05-27 05:31:20 UTC MAIN commitmail json YAML

2018-05-27 01:39:00 UTC MAIN commitmail json YAML

2018-05-26 21:15:46 UTC MAIN commitmail json YAML

Avoid dereferencing NULL if we attempt to look up an known unit type.

(thorpej)

2018-05-20 15:15:41 UTC MAIN commitmail json YAML

Add a 1PPS-over-GPIO driver, originally by Brad Spencer, with changes by
me to adapt to the new GPIO interrupt interface and support a wider variety
of GPIO pin configuations.

PR kern/51676

(Oops, forgot to "cvs add" these items previously.)

(thorpej)

2018-05-20 14:08:33 UTC MAIN commitmail json YAML

2018-05-19 22:57:54 UTC MAIN commitmail json YAML

Note GPIO interrupt support overhaul.

(thorpej)

2018-05-19 20:04:41 UTC MAIN commitmail json YAML

Implement PMAP_DIRECT / pmap_direct_process() in support of experimental
UBC optimizations.

(thorpej)

2018-05-19 14:15:40 UTC MAIN commitmail json YAML

Add an example "gpioirq" driver that demonstrates interrupts on GPIO
pins.  Will be enhanced in the future to support sending events to
user space on edge-triggered interrupt events.

Based on initial work by Brad Spencer.
PR kern/51676

(thorpej)

2018-05-19 14:02:10 UTC MAIN commitmail json YAML

Add support for interrupts on GPIO pins.  We support both FDT-driven
interrupt registration as well as the new GPIO interrupt interface.

Based on initial work by Brad Spencer.
PR kern/51676

(thorpej)

2018-05-19 13:59:07 UTC MAIN commitmail json YAML

Overhaul of GPIO interrupt support (that wasn't even used by anything).
- Remove the old, not-expressive-enough interrupt flags, and replace them
  with a new set of interrupt-specific flags that can express a wide
  variety of interrupt configurations (pos, neg, and double-edge, high
  and low level).
- Remove old, unused gpio_pin_ctl_intr() and gpio_pin_irqen(), and
  replace them with gpio_intr_establish(), gpio_intr_disestablish(),
  and gpio_intr_str().  Corresponding fields in the gpio_chipset_tag
  are also added for back-end controllers, which now handle the actual
  dispatch of GPIO interrupts in order to properly support level-triggered
  interrupts as well as interoperate properly with FDT-registered
  interrupts.

Piggy-back on the 8.99.18 version bump.

Inspired by initial work from Brad Spencer.
PR kern/51676

(thorpej)

2018-05-17 02:34:32 UTC MAIN commitmail json YAML

2018-05-15 02:02:18 UTC MAIN commitmail json YAML

Fix a problem reported by jmcneill@ where by a system with multuple i2c
busses would end up with "ghost" device instances on the second bus.  This
issue was previously masked on ARM systems by the empty-child-devices
array issue fixed recently (that effectively blocked all indirect config
of i2c busses on those systems).

To fix this problem, we require that indirectly-configured devices have
to fully specify their parent spec and address, e.g.:

foo* at iic0 addr 0x55

NOT

foo* at iic? addr ?

or even:

foo* at iic? addr 0x55

This is needed because of how indirect configuration works... attach
directives in the kernel config file are enumerated, calling the bus's
search routine, which in the case of i2c, enumerates all i2c addresses
and calls the match routine for each address.  Because we can't always
reliably probe for i2c devices, we ended up with erroneous matches.

Direct configuration of i2c is still allowed to use wildcarded parent specs
and locators.

(thorpej)

2018-05-15 01:53:27 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

N.B. The x86 platforms are sort of a mess, here... legacy indirect
config and ACPI direct config sort of smashed together with the
same config file directives.

(thorpej)

2018-05-15 01:24:23 UTC MAIN commitmail json YAML

2018-05-15 01:07:06 UTC MAIN commitmail json YAML

Revert previous; we actually use direct-configuration of I2C in this
kernel config.

(thorpej)

2018-05-15 00:57:15 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-15 00:44:56 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-15 00:42:35 UTC MAIN commitmail json YAML

Actully, we can STAR the iic instances (the configuration code can
handle pinned pspecs to STAR'd potential parents).

(thorpej)

2018-05-14 22:01:57 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-14 21:58:15 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-14 21:50:02 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-14 21:11:39 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-14 21:05:17 UTC MAIN commitmail json YAML

Fully specifiy the location of indirectly-configured I2C devices. In
particular, the parent spec must not be wild-carded, as doing so doesn't
work well on systems where more than one I2C bus is present.

(thorpej)

2018-05-09 02:53:00 UTC MAIN commitmail json YAML

If we don't get informed (via device properties) of child I2C devices,
don't assign an empty array to iba.iba_child_devices, as it will prevent
indirect configuration of the I2C bus from occurring.

Tested on Raspberry Pi (bcm2835), identical logical fix replicated
(and compile-tested) elsewhere.

PR port-arm/53171

(thorpej)

2018-05-09 02:46:22 UTC MAIN commitmail json YAML

The probe this driver uses is potentially destructive; at the very
least, filter on the I2C address the device is expected at before we
unleash its fury.

(thorpej)

2009-12-29 17:32:18 UTC MAIN commitmail json YAML

Include nbtool_config.h as needed.  Should fix missing defn of __unused in
some host tool environments.

(thorpej)

2009-12-29 17:05:59 UTC MAIN commitmail json YAML

2009-12-29 16:58:10 UTC MAIN commitmail json YAML

2009-12-29 16:56:26 UTC MAIN commitmail json YAML

We don't really need __RCSID() tags in these files, so just get rid of them.

(thorpej)

2009-12-21 18:27:48 UTC MAIN commitmail json YAML

Note when this appeared in NetBSD.

(thorpej)

2009-12-21 18:21:18 UTC MAIN commitmail json YAML

Add support for building libelf in a host-tool environment.

XXX Makefile.disklabel is really mis-named, but I'm not going to tackle
that problem right now.

(thorpej)

2009-12-20 23:23:46 UTC MAIN commitmail json YAML

- _libelf_globals::libelf_arch and _libelf_globals::libelf_class are
  completely unused.  Remove them.
- _libelf_globals::libelf_byteorder is really all about the byte order of
  the host running libelf, so replace it with a _libelf_host_byteorder()
  internal function that computes the host byte order in a very portable
  way (doesn't rely on BSD-specific header files).

(thorpej)

2009-12-20 05:53:35 UTC MAIN commitmail json YAML

2009-12-20 05:52:41 UTC MAIN commitmail json YAML

2009-12-20 05:52:15 UTC MAIN commitmail json YAML

Enable __LIBELF_HAVE_ELF_SYMINFO.

(thorpej)

2009-12-20 05:50:20 UTC MAIN commitmail json YAML

Add defns for Elf{32,64}_Syminfo.

(thorpej)

2009-12-19 09:02:46 UTC MAIN commitmail json YAML

Add some definitions, from FreeBSD.

(thorpej)

2009-12-19 09:01:32 UTC MAIN commitmail json YAML

2009-12-19 09:00:56 UTC MAIN commitmail json YAML

Add some range checks to quiet warnings.

(thorpej)

2009-12-19 08:47:46 UTC MAIN commitmail json YAML

We don't have an Elf_Note typedef, but Elf32_Nhdr and Elf64_Nhdr are
equivalent; use Elf32_Nhdr instead.

(thorpej)

2009-12-19 08:40:58 UTC MAIN commitmail json YAML

Fix all sorts of problems with lint and compiler warnings.

(thorpej)

2009-12-19 07:59:24 UTC MAIN commitmail json YAML

Squash a signed-vs-unsigned char * warning.

(thorpej)

2009-12-19 07:58:24 UTC MAIN commitmail json YAML

Change elf_hash() to take a const void *, rather than a const char *.

(thorpej)

2009-12-19 07:54:32 UTC MAIN commitmail json YAML

Provide definitions of MALIGN() and MALIGN64() for the __lint__ case.

(thorpej)

2009-12-19 07:52:59 UTC MAIN commitmail json YAML

ELF_ARCH, ELF_TARG_DATA, and ELF_TARG_CLASS are macros defined in a FreeBSD
header file.  For NetBSD, map to equivalent defines.

(thorpej)

2009-12-19 07:47:23 UTC MAIN commitmail json YAML

LIBELF_COPY_U32(), LIBELF_COPY_S32(): Make sure that the SRC values are
being compared as the maximum width and appropriate signed-ness.

(thorpej)

2009-12-19 07:44:27 UTC MAIN commitmail json YAML

- _libelf_load_scn(): If shoff is larger than SSIZE_MAX, bail out with
  a HEADER error.  Pass lint.

(thorpej)

2009-12-19 07:37:35 UTC MAIN commitmail json YAML

<machine/elf.h> is a FreeBSD-specific header.

(thorpej)

2009-12-19 07:33:06 UTC MAIN commitmail json YAML

<libelf.h> is responsible for including <sys/elf32.h> and <sys/elf64.h> on
FreeBSD; no need to do it here.

(thorpej)

2009-12-19 07:31:44 UTC MAIN commitmail json YAML

2009-12-19 07:31:04 UTC MAIN commitmail json YAML

2009-12-19 06:39:29 UTC MAIN commitmail json YAML

2009-12-19 06:22:25 UTC MAIN commitmail json YAML

2009-12-19 05:55:37 UTC MAIN commitmail json YAML

2009-12-19 05:52:01 UTC MAIN commitmail json YAML

2009-12-19 05:45:28 UTC MAIN commitmail json YAML

Add a script to prepare libelf for import.

(thorpej)

2009-12-19 05:43:41 UTC MAIN commitmail json YAML

Import the libelf from FreeBSD 8.0-RC3.

Status:

Vendor Tag: FreeBSD
Release Tags: FreeBSD-8-0-RC3

(thorpej)

2009-11-05 04:19:48 UTC MAIN commitmail json YAML

Fix error in previous that could cause us to refer to the wrong cpu_info
after handling an AST.

(thorpej)

2009-11-03 16:08:00 UTC MAIN commitmail json YAML

Restructure exception_return() a bit in preparation for some upcoming
changes.

(thorpej)

2009-10-26 03:51:43 UTC MAIN commitmail json YAML

Garbage-collect pmap_do_reactivate() and the associated IPI -- nothing has
used them for a long time.

(thorpej)

2009-10-26 03:21:20 UTC MAIN commitmail json YAML

Garbage-collect PMAP_LEV1MAP_SHOOTDOWN() -- it hasn't been used for a long
time.

(thorpej)

2009-10-24 04:56:42 UTC MAIN commitmail json YAML

Ensure coherency between the L1 PT cache and pmap_growkernel() -- protect
allocations from pmap_growkernel() with a r/w lock.

(thorpej)

2009-10-15 20:50:13 UTC MAIN commitmail json YAML

- pool_cache_invalidate(): broadcast a cross-call to drain the per-CPU
  caches before draining the global cache.
- pool_cache_invalidate_local(): remove.

(thorpej)

2009-10-15 20:35:19 UTC MAIN commitmail json YAML

Regenerate for:

Compute the size of off_t and bypass the checks for fopen64() and stat64()
if off_t is 64-bit.  Otherwise, we get fatal (due to -Werror) warnings on
Mac OS X 10.6 because stat64() is deprecated on that host.

(thorpej)

2009-10-15 20:35:01 UTC MAIN commitmail json YAML

Compute the size of off_t and bypass the checks for fopen64() and stat64()
if off_t is 64-bit.  Otherwise, we get fatal (due to -Werror) warnings on
Mac OS X 10.6 because stat64() is deprecated on that host.

(thorpej)

2009-08-26 00:30:03 UTC MAIN commitmail json YAML

Minor tweak to the pv_table management in the Hibler-derived m68k pmaps:
The head of the list is now a pv_header, which contains the first pv_entry
as well as a 16-bit attributes field (replaces the pmap_attributes array
plus the pv_entry::pv_flags field) as a 16-bit count of caller-specified
cache-inhibited mappings.

Tested on hp300 (shared pmap_motorola.c), changes to atari and amiga copies
are purely mechanical.

(thorpej)

2009-08-26 00:20:20 UTC MAIN commitmail json YAML

Make this compile again (64-bit dev_t printf format).

(thorpej)

2009-08-21 04:12:27 UTC MAIN commitmail json YAML

2009-08-21 04:10:33 UTC MAIN commitmail json YAML

2009-08-21 04:05:20 UTC MAIN commitmail json YAML

2009-08-21 04:03:28 UTC MAIN commitmail json YAML

2009-08-21 04:03:01 UTC MAIN commitmail json YAML

2009-08-21 04:00:57 UTC MAIN commitmail json YAML

2009-08-21 03:56:58 UTC MAIN commitmail json YAML

2009-08-21 03:53:18 UTC MAIN commitmail json YAML

2009-08-21 03:50:01 UTC MAIN commitmail json YAML

2009-08-21 03:45:10 UTC MAIN commitmail json YAML

2009-08-21 03:39:42 UTC MAIN commitmail json YAML

2009-08-21 03:33:17 UTC MAIN commitmail json YAML

Add some common bus_dmamem routines to be shared by multiple platforms.

(thorpej)

2009-08-19 23:54:34 UTC MAIN commitmail json YAML

Use PMAP_ENABLE_PMAP_KMPAGE to enable PMAP_KMPAGE.  We still want the bit
defined in the MI space, not in an MD header.

(thorpej)

2009-08-19 14:58:48 UTC MAIN commitmail json YAML

Rationalize the definition of PMAP_KMPAGE.

(thorpej)

2009-08-18 19:16:09 UTC MAIN commitmail json YAML

Move uvm_object-related DDB hooks into uvm_object.c.  Put all of the
uvm_map-related DDB stuff in one spot in the file.

(thorpej)

2009-08-18 19:09:18 UTC MAIN commitmail json YAML

Back-out accidental check-in.

(thorpej)

2009-08-18 19:08:39 UTC MAIN commitmail json YAML

2009-08-18 18:06:54 UTC MAIN commitmail json YAML

2009-08-18 17:52:30 UTC MAIN commitmail json YAML

Delete some vanity configs, esp. now that the machines no longer exist.

(thorpej)

2009-08-17 19:33:08 UTC MAIN commitmail json YAML

pmap_page_remove(), pmap_test_attrs(), pmap_clear_attrs(): We're passed in
a vm_page, so there is little point in the DIAGNOSTIC test to see that we
have been passed a managed page.

(thorpej)

2008-12-19 21:51:48 UTC MAIN commitmail json YAML

Pull in <sys/types.h> so that e.g. bool is in scope.

XXX The circular dependency with <sys/device.h> and <sys/pmf.h> needs to
be cleaned up.

(thorpej)

2008-12-19 07:57:28 UTC MAIN commitmail json YAML

Make condvars really opaque -- hide the wait message member from consumers
of the API.

(thorpej)

2008-11-12 22:50:22 UTC MAIN commitmail json YAML

Don't use sizeof(struct gpt_hdr).  It will pad the structure on x86-64,
which causes some systems to reject the GPT.

kern/38997

(thorpej)

2008-07-29 16:13:39 UTC MAIN commitmail json YAML

rw_vector_exit(): When doing direct hand-off to a writer, only set
RW_WRITE_WANTED if there are additional writers waiting.

(thorpej)