[clang][test] Add regression test for invalid 'int decltype {}' (#224855)
The parser crash on `int decltype {}` was fixed by #211221, but the test
it added only covers the `= 0` forms. Add the brace-init form reported
in the issue.
Fixes #165246
news68k: add wsdisplay(9) support for NWB-225 framebuffer console
In its 27th year in the NetBSD source tree, news68k finally
gets wsdisplay(9) support for its native framebuffer console.
Character output is implemented directly by the driver and
does not rely on PROM routines.
Add fbbm(4) driver for the NWB-225 framebuffer used on NWS-1750.
The NWB-225 does not provide a CPU-accessible linear framebuffer
so we cannot use MI rasops(9) to support wscons(9). Instead,
implement wsdisplay_emulops directly with the board's ROP engine,
using VRAM-to-VRAM copy, constant fill, and host-to-VRAM write
operations for cursor handling, scrolling, erasing, and putchar.
The ROP programming sequences and function encodings were taken
from NEWS-OS binaries and the NWS-1750 PROM, and checked against
the ROP command model documented in the Sony NWS-15x0 service manual.
[14 lines not shown]
Website: Fix HTML validation errors
Ids like documentation, download, support, about, community in the
top menu collide with the same ids inside documents, breaking
validation and <label for=...>. Match footer.html and prefix them
with the section name (e.g. header-community-title).
Note: id=""name"" is left as is, so [[name]] anchors are implicitly
unavailable on the site.
Reviewed by: carlavilla
Approved by: carlavilla
Differential Revision: https://reviews.freebsd.org/D59857
PR: 297509
Pull up following revision(s) (requested by jdc in ticket #486):
distrib/sets/lists/man/mi: revision 1.1844
sys/arch/sparc64/conf/files.sparc64: revision 1.173
sys/arch/sparc64/conf/GENERIC: revision 1.256
distrib/sets/lists/manhtml/mi: revision 1.61
sys/arch/sparc64/dev/envmon_ebus.c: revision 1.1
sys/arch/sparc64/dev/envmon_ebusreg.h: revision 1.1
share/man/man4/man4.sparc64/envmon.4: revision 1.1
share/man/man4/man4.sparc64/envmon.4: revision 1.2
share/man/man4/man4.sparc64/Makefile: revision 1.13
Add a driver for the "env-monitor" sensor found on Sun U25/U45 and V215/V245.
On the Ultra machines, the sensor reports the front panel temperature.
On the Fire machines, the sensor reports the front fan tray fan speeds,
the fan fault indicator, the front panel temperature, the keyswitch indicators,
and controls the front and rear status LED's.
[13 lines not shown]
Pull up following revision(s) (requested by jdc in ticket #485):
sys/dev/i2c/pcf8574.c: revision 1.11
sys/dev/i2c/pcf8574.c: revision 1.12
sys/dev/i2c/pcagpio.c: revision 1.14
sys/dev/i2c/pcagpio.c: revision 1.15
sys/dev/i2c/pcagpio.c: revision 1.16
Add sysmon support for indicator pins (mostly taken from pcf8574).
The Sun V245 uses a PCA9555 for the disk present indications.
Set the "active high" flag on the correct pin.
Make prev_state the correct size (only used when debug defined).
Split out the logic for handling indicators, alerts and timeouts, rather
than having special values in the properties.
[3 lines not shown]
Pull up following revision(s) (requested by jdc in ticket #484):
share/man/man4/mk48txx.4: revision 1.17
sys/conf/files: revision 1.1324
sys/dev/ic/mk48txxvar.h: revision 1.8
sys/dev/ic/mk48txx.c: revision 1.30
Add mk48txx support for:
monitoring the battery low flag (via envstat)
stopping/starting the clock oscillator (via sysmon)
Pull up following revision(s) (requested by tls in ticket #1343):
sys/dev/pci/if_ixl.c: revision 1.102
sys/dev/pci/if_ixl.c: revision 1.103
sys/dev/pci/if_ixl.c: revision 1.104
sys/dev/pci/if_ixl.c: revision 1.105
Fix link state handling in ixl driver (PR 60736):
1. The admin queue ("ATQ") polling could skip completions if there was
more than one pending command. Force ixl_atq_poll() to go in order
and simplify by looping around the post_locked and done_locked functions.
This makes ixl_atq_poll_done() superfluous, so remove that.
2. Add missing "goto out" in ixl_get_link_status() so we return EBUSY
instead of falling through to cv_timedwait(). This is much
less likely with fix 1 above but worth fixing anyway.
3. Mostly undo 1.92 - don't block waiting on link in ixl_init(), instead,
[13 lines not shown]
Round out zfs.resource with list, update and the dataset parity methods
## Problem
`zfs.resource` is replacing `pool.dataset`, but it had no way to change a property, its listing method was called `query` while taking a single object rather than the `(filters, options)` that name implies everywhere else, and the choices methods, the zvol blocksize recommendation and the processes family still lived only under `pool.dataset`, so retiring that namespace would have taken those capabilities with it.
## Solution
**`query` becomes `list`.** The behaviour is unchanged - a single object describing what to walk, a flat result unless `nest_results` is set - but the name no longer promises a filterable query it never was. Its primitive is `list_impl`, so the private entry point reads as the method it serves. This is a hard rename with no compatibility shim, so 25.10.x and 26.0 clients lose `zfs.resource.query`; that needs a release note.
**`update` is new.** It takes `{path, properties, user_properties, inherit}` and returns the updated entry, rather than splitting into the `set` and `inherit` that `zfs(8)` uses. A dataset edit is one save, the underlying handle already performs the property set, the user-property set and the per-property inherit in a single pass, and splitting the API would only export sequencing and partial rollback to every caller. Its property vocabulary subclasses the create model so the public/private split is inherited rather than restated, minus what ZFS cannot change after creation. It is the one public method whose role the decorator does not force, so an integration test holds `ZFS_RESOURCE_WRITE` to granting it and `ZFS_RESOURCE_READ` to being refused.
**The write primitive lives on `zfs.resource`.** `update_impl` takes untyped keyword arguments, since internal callers legitimately write property names outside the public vocabulary, and like `create_impl` and `destroy_impl` it refuses snapshot paths and, unless the caller passes `bypass`, protected paths - a private method is still reachable over the wire, and every system dataset, apps and pool-import writer now funnels through this one call. `pool.dataset.update_impl` is a shim that unpacks its existing argument dict onto the primitive with `bypass` set, since those writers reach it that way; the dict stays intact as the HA wire format it is and its callers are untouched. `zfs.tier` calls the primitive directly through a typed call, also with `bypass`, because it is the only way to re-tier an internal dataset once tiering owns `special_small_blocks`, and moves onto the `ZFS_RESOURCE_*` roles that match its namespace - a custom privilege built on `DATASET_*` alone therefore loses `zfs.tier`, which also needs a release note. `pool.dataset.update` keeps its own policy layer and is not shimmed onto the new method; dedup licensing, the acltype-versus-SMB-share block and the LUN resync side effects belong above the raw ZFS layer, not on it.
**`rename` and `promote` become public**, typed and single-object, held by `ZFS_RESOURCE_WRITE`, with the private entry points renamed `rename_impl` and `promote_impl`. `rename` requires `force` as the same acknowledgement `pool.dataset.rename` requires and drops `recursive`, which a dataset rename can never be; the message for that moved to the `pool.dataset.rename` shim so the caller-visible error is unchanged. `pool.snapshot.rename` is re-pointed at the snapshot implementation, which is where snapshot renames actually live - it has been dead since the rename guard landed.
**The read-parity methods move** to `zfs.resource` behind one-line `pool.dataset` shims that keep their existing models and roles, with the pure parts split into modules that need no service or filesystem access.
**Fixes carried along.** Normalising sources no longer dereferences a null `properties`; the overlapping-path check now runs whenever the walk descends rather than only when `get_children` is set, and names the option that actually triggered it; `max_depth` is bounded below at zero; and nesting no longer raises when a parent's `children` is absent because the walk never descended into it.