Home | History | Annotate | only in /src/sys/dev/ppbus
History log of /src/sys/dev/ppbus
RevisionDateAuthorComments
 1.8 29-Apr-2008  cegger gpio(4): Extend with open/close to request/release the ppbus(4) on open/close.
ppbus(4): Extend to attach on gpiobus.
From Hans Rosenfeld from tech-kern:
http://mail-index.netbsd.org/tech-kern/2008/04/28/msg001168.html
Hint: Hans sent me this diff which differs in the one from tech-kern in:
- 2-clause license
- sprinkled some consts
 1.7 11-Dec-2005  christos branches: 1.7.70; 1.7.72; 1.7.74;
merge ktrace-lwp.
 1.6 27-Feb-2005  perry nuke trailing whitespace
 1.5 28-Jan-2004  jdolecek branches: 1.5.4; 1.5.10; 1.5.12;
whitespace police
 1.4 28-Jan-2004  drochner add a "pps" device to get pulse-per-second signals into ntpd
 1.3 21-Jan-2004  bjh21 Add RCSID comments.
 1.2 20-Jan-2004  jdolecek cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
is included there too; dev/ic/lpt.c is not included if ppbus is
configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
glue moved to conf/files and dev/pci/files.pci respectively; remove
device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
glue
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.5.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.10.1 29-Apr-2005  kent sync with -current
 1.5.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.4.2 03-Aug-2004  skrll Sync with HEAD
 1.5.4.1 28-Jan-2004  skrll file files.ppbus was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.7.74.1 16-May-2008  yamt sync with head.
 1.7.72.1 18-May-2008  yamt sync with head.
 1.7.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.38 04-Sep-2022  rjs branches: 1.38.8;
Add standard inet headers.
 1.37 02-Sep-2022  thorpej Remove unnecessary inclusion of <net/netisr.h>.
 1.36 04-Feb-2020  jdolecek finish adoption of <net/if_stats.h>
 1.35 04-Feb-2020  skrll Adopt <net/if_stats.h>
 1.34 10-Nov-2019  chs branches: 1.34.2;
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
 1.33 15-Nov-2018  maxv Remove the 'copy' argument from m_devget(), unused. While here rename
off0->off.
 1.32 05-Nov-2018  mlelstv When refactoring interface drivers after netbsd-4, the SIOCINITIFADDR
ioctl was passed through ifioctl_common, because the case falls through
to the SIOCSIFFLAGS case. The common handler however doesn't implement
SIOCINITIFADDR, so an attempt to configure plip always failed with ENOTTY.
 1.31 25-Jul-2018  msaitoh Initialize some members in a mbuf which is on stack.
 1.30 26-Jun-2018  msaitoh branches: 1.30.2;
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward
compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same
as FreeBSD.

This change also fixes a bug that the direction is misunderstand on some
environment by passing the direction to bpf_mtap*() instead of checking
m->m_pkthdr.rcvif.
 1.29 25-Jun-2018  msaitoh KNF & fix typo. No functional change.
 1.28 25-Jun-2017  maxv branches: 1.28.4;
spl leak, found by Mootja
 1.27 08-May-2016  christos branches: 1.27.10;
Catch up with other networking changes (John D. Baker)
 1.26 20-Apr-2016  knakahara IFQ_ENQUEUE refactor (3/3) : eliminate pktattr argument from IFQ_ENQUEUE caller
 1.25 05-Jun-2014  rmind branches: 1.25.2; 1.25.4; 1.25.6; 1.25.10;
- Implement pktqueue interface for lockless IP input queue.
- Replace ipintrq and ip6intrq with the pktqueue mechanism.
- Eliminate kernel-lock from ipintr() and ip6intr().
- Some preparation work to push softnet_lock out of ipintr().

Discussed on tech-net.
 1.24 05-Apr-2010  joerg branches: 1.24.14; 1.24.18; 1.24.32;
Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf
check into the inline functions as well the fourth argument for
bpf_attach.
 1.23 19-Jan-2010  pooka branches: 1.23.2; 1.23.4;
Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.22 07-Nov-2008  dyoung *** Summary ***

When a link-layer address changes (e.g., ifconfig ex0 link
02:de:ad:be:ef:02 active), send a gratuitous ARP and/or a Neighbor
Advertisement to update the network-/link-layer address bindings
on our LAN peers.

Refuse a change of ethernet address to the address 00:00:00:00:00:00
or to any multicast/broadcast address. (Thanks matt@.)

Reorder ifnet ioctl operations so that driver ioctls may inherit
the functions of their "class"---ether_ioctl(), fddi_ioctl(), et
cetera---and the class ioctls may inherit from the generic ioctl,
ifioctl_common(), but both driver- and class-ioctls may override
the generic behavior. Make network drivers share more code.

Distinguish a "factory" link-layer address from others for the
purposes of both protecting that address from deletion and computing
EUI64.

Return consistent, appropriate error codes from network drivers.

Improve readability. KNF.

*** Details ***

In if_attach(), always initialize the interface ioctl routine,
ifnet->if_ioctl, if the driver has not already initialized it.
Delete if_ioctl == NULL tests everywhere else, because it cannot
happen.

In the ioctl routines of network interfaces, inherit common ioctl
behaviors by calling either ifioctl_common() or whichever ioctl
routine is appropriate for the class of interface---e.g., ether_ioctl()
for ethernets.

Stop (ab)using SIOCSIFADDR and start to use SIOCINITIFADDR. In
the user->kernel interface, SIOCSIFADDR's argument was an ifreq,
but on the protocol->ifnet interface, SIOCSIFADDR's argument was
an ifaddr. That was confusing, and it would work against me as I
make it possible for a network interface to overload most ioctls.
On the protocol->ifnet interface, replace SIOCSIFADDR with
SIOCINITIFADDR. In ifioctl(), return EPERM if userland tries to
invoke SIOCINITIFADDR.

In ifioctl(), give the interface the first shot at handling most
interface ioctls, and give the protocol the second shot, instead
of the other way around. Finally, let compatibility code (COMPAT_OSOCK)
take a shot.

Pull device initialization out of switch statements under
SIOCINITIFADDR. For example, pull ..._init() out of any switch
statement that looks like this:

switch (...->sa_family) {
case ...:
..._init();
...
break;
...
default:
..._init();
...
break;
}

Rewrite many if-else clauses that handle all permutations of IFF_UP
and IFF_RUNNING to use a switch statement,

switch (x & (IFF_UP|IFF_RUNNING)) {
case 0:
...
break;
case IFF_RUNNING:
...
break;
case IFF_UP:
...
break;
case IFF_UP|IFF_RUNNING:
...
break;
}

unifdef lots of code containing #ifdef FreeBSD, #ifdef NetBSD, and
#ifdef SIOCSIFMTU, especially in fwip(4) and in ndis(4).

In ipw(4), remove an if_set_sadl() call that is out of place.

In nfe(4), reuse the jumbo MTU logic in ether_ioctl().

Let ethernets register a callback for setting h/w state such as
promiscuous mode and the multicast filter in accord with a change
in the if_flags: ether_set_ifflags_cb() registers a callback that
returns ENETRESET if the caller should reset the ethernet by calling
if_init(), 0 on success, != 0 on failure. Pull common code from
ex(4), gem(4), nfe(4), sip(4), tlp(4), vge(4) into ether_ioctl(),
and register if_flags callbacks for those drivers.

Return ENOTTY instead of EINVAL for inappropriate ioctls. In
zyd(4), use ENXIO instead of ENOTTY to indicate that the device is
not any longer attached.

Add to if_set_sadl() a boolean 'factory' argument that indicates
whether a link-layer address was assigned by the factory or some
other source. In a comment, recommend using the factory address
for generating an EUI64, and update in6_get_hw_ifid() to prefer a
factory address to any other link-layer address.

Add a routing message, RTM_LLINFO_UPD, that tells protocols to
update the binding of network-layer addresses to link-layer addresses.
Implement this message in IPv4 and IPv6 by sending a gratuitous
ARP or a neighbor advertisement, respectively. Generate RTM_LLINFO_UPD
messages on a change of an interface's link-layer address.

In ether_ioctl(), do not let SIOCALIFADDR set a link-layer address
that is broadcast/multicast or equal to 00:00:00:00:00:00.

Make ether_ioctl() call ifioctl_common() to handle ioctls that it
does not understand.

In gif(4), initialize if_softc and use it, instead of assuming that
the gif_softc and ifp overlap.

Let ifioctl_common() handle SIOCGIFADDR.

Sprinkle rtcache_invariants(), which checks on DIAGNOSTIC kernels
that certain invariants on a struct route are satisfied.

In agr(4), rewrite agr_ioctl_filter() to be a bit more explicit
about the ioctls that we do not allow on an agr(4) member interface.

bzero -> memset. Delete unnecessary casts to void *. Use
sockaddr_in_init() and sockaddr_in6_init(). Compare pointers with
NULL instead of "testing truth". Replace some instances of (type
*)0 with NULL. Change some K&R prototypes to ANSI C, and join
lines.
 1.21 18-Apr-2008  cegger branches: 1.21.4; 1.21.10; 1.21.12;
Fix panics at boot and some other misc bugs. From Hans Rosenfeld.
 1.20 16-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld.
 1.19 15-Apr-2008  cegger Make this build. From Hans Rosenfeld.
 1.18 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.17 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.16 07-Feb-2008  dyoung branches: 1.16.6;
Start patching up the kernel so that a network driver always has
the opportunity to handle an ioctl before generic ifioctl handling
occurs. This will ease extending the kernel and sharing of code
between drivers.

First steps: Make the signature of ifioctl_common() match struct
ifinet->if_ioctl. Convert SIOCSIFCAP and SIOCSIFMTU to the new
ifioctl() regime, throughout the kernel.
 1.15 19-Oct-2007  ad branches: 1.15.2;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.14 01-Sep-2007  dyoung branches: 1.14.4;
Use ifreq_setaddr(), ifreq_getaddr(), sockaddr_in_init(), and
sockaddr_copy(). Constify. Compare pointers with NULL, not 0.
Don't "test truth" of pointers, but compare with NULL.
 1.13 04-Apr-2007  drochner branches: 1.13.4; 1.13.8; 1.13.10;
catch up with recent constification in struct ifnet
 1.12 04-Mar-2007  christos branches: 1.12.2; 1.12.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.11 29-Mar-2006  thorpej branches: 1.11.14;
Use device_pprivate().
 1.10 25-Mar-2006  thorpej Use device_parent().
 1.9 24-Dec-2005  perry branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12;
bare asm -> __asm
 1.8 24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.7 11-Dec-2005  christos merge ktrace-lwp.
 1.6 27-Feb-2005  perry branches: 1.6.4;
nuke trailing whitespace
 1.5 10-Feb-2004  jdolecek branches: 1.5.4; 1.5.10; 1.5.12;
add Gary Thorpe copyright notice
 1.4 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.3 21-Jan-2004  bjh21 Add RCSID comments.
 1.2 20-Jan-2004  jdolecek attach this as 'plip', rather than 'lp'
fix label placement warning
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.5.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.10.1 29-Apr-2005  kent sync with -current
 1.5.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.4.2 03-Aug-2004  skrll Sync with HEAD
 1.5.4.1 10-Feb-2004  skrll file if_plip.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.6.4.4 11-Feb-2008  yamt sync with head.
 1.6.4.3 27-Oct-2007  yamt sync with head.
 1.6.4.2 03-Sep-2007  yamt sync with head.
 1.6.4.1 21-Jun-2006  yamt sync with head.
 1.9.12.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.9.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 19-Apr-2006  elad sync with head.
 1.9.8.1 01-Apr-2006  yamt sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.11.14.2 15-Apr-2007  yamt sync with head.
 1.11.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.12.4.1 11-Jul-2007  mjf Sync with head.
 1.12.2.3 23-Oct-2007  ad Sync with head.
 1.12.2.2 09-Oct-2007  ad Sync with head.
 1.12.2.1 10-Apr-2007  ad Sync with head.
 1.13.10.2 23-Mar-2008  matt sync with HEAD
 1.13.10.1 06-Nov-2007  matt sync with HEAD
 1.13.8.2 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.13.8.1 03-Sep-2007  jmcneill Sync with HEAD.
 1.13.4.1 03-Sep-2007  skrll Sync with HEAD.
 1.14.4.1 25-Oct-2007  bouyer Sync with HEAD.
 1.15.2.1 18-Feb-2008  mjf Sync with HEAD.
 1.16.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.16.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.21.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.21.4.3 11-Aug-2010  yamt sync with head.
 1.21.4.2 11-Mar-2010  yamt sync with head
 1.21.4.1 04-May-2009  yamt sync with head.
 1.23.4.1 30-May-2010  rmind sync with head
 1.23.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.24.32.1 10-Aug-2014  tls Rebase.
 1.24.18.2 03-Dec-2017  jdolecek update from HEAD
 1.24.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.24.14.1 13-Mar-2018  snj Pull up following revision(s) (requested by msaitoh in ticket #1537):
sys/dev/ppbus/if_plip.c: 1.28
spl leak, found by Mootja
 1.25.10.1 20-Mar-2018  martin Pull up following revision(s) (requested by msaitoh in ticket #1579):
sys/dev/ppbus/if_plip.c: revision 1.28
spl leak, found by Mootja
 1.25.6.1 21-Mar-2018  martin Pull up following revision(s) (requested by msaitoh in ticket #1579):
sys/dev/ppbus/if_plip.c: revision 1.28
spl leak, found by Mootja
 1.25.4.3 28-Aug-2017  skrll Sync with HEAD
 1.25.4.2 29-May-2016  skrll Sync with HEAD
 1.25.4.1 22-Apr-2016  skrll Sync with HEAD
 1.25.2.1 20-Mar-2018  martin Pull up following revision(s) (requested by msaitoh in ticket #1579):
sys/dev/ppbus/if_plip.c: revision 1.28
spl leak, found by Mootja
 1.27.10.2 31-Jul-2018  martin Pull up following revision(s) (requested by msaitoh in ticket #955):

sys/dev/ppbus/if_plip.c: revision 1.29

KNF & fix typo. No functional change.
 1.27.10.1 08-Mar-2018  martin Pull up following revision(s) (requested by msaitoh in ticket #617):
sys/dev/ppbus/if_plip.c: revision 1.28
spl leak, found by Mootja
 1.28.4.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.28.4.1 28-Jul-2018  pgoyette Sync with HEAD
 1.30.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.30.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.30.2.1 10-Jun-2019  christos Sync with HEAD
 1.34.2.1 29-Feb-2020  ad Sync with head.
 1.38.8.1 16-Nov-2023  thorpej IFQ_CLASSIFY() -> ifq_classify_packet().
 1.32 27-Dec-2019  msaitoh s/manaul/manual/ in comment.
 1.31 03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.30 25-Jul-2014  dholland branches: 1.30.26; 1.30.28;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.29 16-Mar-2014  dholland branches: 1.29.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.28 16-Dec-2008  christos branches: 1.28.14; 1.28.24; 1.28.28;
replace bitmask_snprintf(9) with snprintb(3)
 1.27 16-Apr-2008  cegger branches: 1.27.4; 1.27.12;
device_t / softc split. From Hans Rosenfeld.
 1.26 15-Apr-2008  cegger Use %zu format specifier for size_t. Fixes build error on shark.
 1.25 15-Apr-2008  cegger Make this build without options LPT_VERBOSE and LPT_DEBUG. From Hans Rosenfeld.
 1.24 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.23 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.22 27-Feb-2008  tsutsui struct lpt_softc doesn't have sc_dev in it. Use ppbus_dev.sc_dev.
 1.21 22-Feb-2008  dyoung Use device_t and accessors. Use &sc->sc_dev instead of cast to
device_t. Remove superfluous detach warning.
 1.20 19-Oct-2007  ad branches: 1.20.12; 1.20.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.19 04-Mar-2007  christos branches: 1.19.2; 1.19.14; 1.19.16; 1.19.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.18 24-Oct-2006  drochner branches: 1.18.4;
add zero initializers to make that compile again
 1.17 29-Mar-2006  thorpej branches: 1.17.8; 1.17.10;
Use device_pprivate().
 1.16 25-Mar-2006  thorpej Use device_parent().
 1.15 25-Dec-2005  rpaulo branches: 1.15.4; 1.15.6; 1.15.8; 1.15.10; 1.15.12;
PR/32381: Paul Shupak. Convert to ktrace-lwp.
 1.14 11-Dec-2005  christos merge ktrace-lwp.
 1.13 27-Feb-2005  perry branches: 1.13.4;
nuke trailing whitespace
 1.12 03-Feb-2004  jdolecek branches: 1.12.4; 1.12.10; 1.12.12;
allow setting of interrupt usage, priming and auto LF behaviour
via ioctl; drop the traditional device minor mapping for those in favour
of setting via lptctl(8)

introduce notion of 'control' device (minor bit 0x100 set); ATM this
device always skips the priming, which allows device open even with
disconnected printer

this also changes the default for interrupt use - polling is used
by default now
 1.11 03-Feb-2004  jdolecek overhaul the ioctl interface to be better suited for extensions and to
reduce number of separate ioctls - have only 'get mode', 'set mode',
'get flags', 'set flags'
 1.10 03-Feb-2004  jdolecek g/c some unused/write-only/redundant lpt_softc stuff
some style changes in lptwrite() + some printfs adjusted
 1.9 30-Jan-2004  jdolecek whitespace fixes, make LPTIO_DISABLE_DMA 'succeed' if DMA is not supported
 1.8 28-Jan-2004  jdolecek make testbyte[] in lpt_detect() static const
 1.7 28-Jan-2004  jdolecek do not use enums in ioctl structure, use fixed width integers instead
g/c boolean_t enum, explicitly assign numbers for lpt_mode_t enum

Note: lptctl needs to be recompiled to print status properly withh new kernel
 1.6 25-Jan-2004  jdolecek say 'port mode = <foo>' in autoconf message, so that it would be more
clear it's port attribute, not driver attribute
 1.5 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.4 22-Jan-2004  bjh21 Don't use "int" when we mean "size_t". Fixes compile on ARM.
 1.3 21-Jan-2004  bjh21 Add RCSID comments.
 1.2 20-Jan-2004  jdolecek attach this with lpt_ppbus, just to make co-existence with dev/ic/lpt.c
easier
fix a printf() format string
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.12.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.12.10.1 29-Apr-2005  kent sync with -current
 1.12.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.12.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.12.4.2 03-Aug-2004  skrll Sync with HEAD
 1.12.4.1 03-Feb-2004  skrll file lpt.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.13.4.6 17-Mar-2008  yamt sync with head.
 1.13.4.5 27-Feb-2008  yamt sync with head.
 1.13.4.4 27-Oct-2007  yamt sync with head.
 1.13.4.3 03-Sep-2007  yamt sync with head.
 1.13.4.2 30-Dec-2006  yamt sync with head.
 1.13.4.1 21-Jun-2006  yamt sync with head.
 1.15.12.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.15.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.15.10.1 19-Apr-2006  elad sync with head.
 1.15.8.1 01-Apr-2006  yamt sync with head.
 1.15.6.1 22-Apr-2006  simonb Sync with head.
 1.15.4.1 09-Sep-2006  rpaulo sync with head
 1.17.10.1 10-Dec-2006  yamt sync with head.
 1.17.8.1 18-Nov-2006  ad Sync with head.
 1.18.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.19.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.19.16.2 23-Mar-2008  matt sync with HEAD
 1.19.16.1 06-Nov-2007  matt sync with HEAD
 1.19.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.19.2.1 23-Oct-2007  ad Sync with head.
 1.20.16.4 17-Jan-2009  mjf Sync with HEAD.
 1.20.16.3 02-Jun-2008  mjf Sync with HEAD.
 1.20.16.2 05-Apr-2008  mjf - add "file-system DEVFS" and "pseudo-device devfsctl" to conf/std seeing
as these are always needed.

- convert many, many drivers over to the New Devfs World Order. For a
list of device drivers yet to be converted see,
http://www.netbsd.org/~mjf/devfs-todo.html.

- add a new device_unregister_all(device_t) function to remove all device
names associated with a device_t, which saves us having to construct
device names when the driver is detached.

- add a DEV_AUDIO type for devices.
 1.20.16.1 03-Apr-2008  mjf Sync with HEAD.
 1.20.12.1 24-Mar-2008  keiichi sync with head.
 1.27.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.27.4.1 04-May-2009  yamt sync with head.
 1.28.28.1 18-May-2014  rmind sync with head
 1.28.24.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.28.14.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.2.1 10-Aug-2014  tls Rebase.
 1.30.28.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.30.28.1 10-Jun-2019  christos Sync with HEAD
 1.30.26.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.9 06-Sep-2015  dholland More on PR 41200: headers that declare ioctls should include sys/ioccom.h.
This covers (I think) all the MI headers outside of external/ (and dist/).
 1.8 28-Apr-2008  martin branches: 1.8.44; 1.8.64;
Remove clause 3 and 4 from TNF licenses
 1.7 11-Dec-2005  christos branches: 1.7.70; 1.7.72; 1.7.74;
merge ktrace-lwp.
 1.6 03-Feb-2004  jdolecek branches: 1.6.4;
allow setting of interrupt usage, priming and auto LF behaviour
via ioctl; drop the traditional device minor mapping for those in favour
of setting via lptctl(8)

introduce notion of 'control' device (minor bit 0x100 set); ATM this
device always skips the priming, which allows device open even with
disconnected printer

this also changes the default for interrupt use - polling is used
by default now
 1.5 03-Feb-2004  jdolecek overhaul the ioctl interface to be better suited for extensions and to
reduce number of separate ioctls - have only 'get mode', 'set mode',
'get flags', 'set flags'
 1.4 28-Jan-2004  jdolecek copyright police
 1.3 28-Jan-2004  jdolecek do not use enums in ioctl structure, use fixed width integers instead
g/c boolean_t enum, explicitly assign numbers for lpt_mode_t enum

Note: lptctl needs to be recompiled to print status properly withh new kernel
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.6.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.6.4.2 03-Aug-2004  skrll Sync with HEAD
 1.6.4.1 03-Feb-2004  skrll file lptio.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.7.74.1 16-May-2008  yamt sync with head.
 1.7.72.1 18-May-2008  yamt sync with head.
 1.7.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.64.1 22-Sep-2015  skrll Sync with HEAD
 1.8.44.1 03-Dec-2017  jdolecek update from HEAD
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 27-Feb-2005  perry nuke trailing whitespace
 1.4 28-Jan-2004  jdolecek branches: 1.4.4; 1.4.10; 1.4.12;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.3 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.4.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.10.1 29-Apr-2005  kent sync with -current
 1.4.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 28-Jan-2004  skrll file lptreg.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.10 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9 08-Mar-2007  he branches: 1.9.36; 1.9.38; 1.9.40;
Convert sc_inbuf and sc_outbuf from char* to void* to avoid introducing
casts in lpt.c.
 1.8 11-Dec-2005  christos branches: 1.8.26;
merge ktrace-lwp.
 1.7 27-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 03-Feb-2004  jdolecek branches: 1.6.4; 1.6.10; 1.6.12;
allow setting of interrupt usage, priming and auto LF behaviour
via ioctl; drop the traditional device minor mapping for those in favour
of setting via lptctl(8)

introduce notion of 'control' device (minor bit 0x100 set); ATM this
device always skips the priming, which allows device open even with
disconnected printer

this also changes the default for interrupt use - polling is used
by default now
 1.5 03-Feb-2004  jdolecek g/c some unused/write-only/redundant lpt_softc stuff
some style changes in lptwrite() + some printfs adjusted
 1.4 28-Jan-2004  jdolecek copyright police
 1.3 28-Jan-2004  jdolecek drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.6.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.10.1 29-Apr-2005  kent sync with -current
 1.6.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.6.4.2 03-Aug-2004  skrll Sync with HEAD
 1.6.4.1 03-Feb-2004  skrll file lptvar.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.7.4.1 03-Sep-2007  yamt sync with head.
 1.8.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.40.1 16-May-2008  yamt sync with head.
 1.9.38.1 18-May-2008  yamt sync with head.
 1.9.36.1 02-Jun-2008  mjf Sync with HEAD.
 1.14 14-Nov-2021  andvar fix few typos in comments and log message.
 1.13 13-Jul-2014  dholland "peripheral", not "peripherial".
 1.12 18-Apr-2008  cegger branches: 1.12.48; 1.12.64;
Fix panics at boot and some other misc bugs. From Hans Rosenfeld.
 1.11 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.10 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.9 15-Dec-2007  perry branches: 1.9.6;
__FUNCTION__ -> __func__
 1.8 11-Dec-2005  christos branches: 1.8.46; 1.8.56; 1.8.60;
merge ktrace-lwp.
 1.7 27-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 24-Feb-2004  wiz branches: 1.6.4; 1.6.10; 1.6.12;
occured -> occurred. From Peter Postma.
 1.5 25-Jan-2004  bjh21 According to the OED, the variant spelling "negociate" died out in the
mid-19th century. Use "negotiate", which is the current spelling, has
always been more common, and is closer to the Latin to boot.
 1.4 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.3 22-Jan-2004  bjh21 Kernel code should include <sys/types.h> or <sys/param.h> first.
(fixes compile on acorn32)
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.6.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.10.1 29-Apr-2005  kent sync with -current
 1.6.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.6.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.6.4.2 03-Aug-2004  skrll Sync with HEAD
 1.6.4.1 24-Feb-2004  skrll file ppbus_1284.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.7.4.1 21-Jan-2008  yamt sync with head
 1.8.60.1 02-Jan-2008  bouyer Sync with HEAD
 1.8.56.1 26-Dec-2007  ad Sync with head.
 1.8.46.1 09-Jan-2008  matt sync with HEAD
 1.9.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.64.1 10-Aug-2014  tls Rebase.
 1.12.48.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8 05-Apr-2009  cegger buildfix: include <sys/device.h> for device_t
 1.7 15-Apr-2008  cegger branches: 1.7.4; 1.7.12; 1.7.18;
device_t / softc split. From Hans Rosenfeld
 1.6 11-Dec-2005  christos branches: 1.6.70;
merge ktrace-lwp.
 1.5 28-Jan-2004  jdolecek branches: 1.5.4;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.4 25-Jan-2004  bjh21 According to the OED, the variant spelling "negociate" died out in the
mid-19th century. Use "negotiate", which is the current spelling, has
always been more common, and is closer to the Latin to boot.
 1.3 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.5.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.4.2 03-Aug-2004  skrll Sync with HEAD
 1.5.4.1 28-Jan-2004  skrll file ppbus_1284.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.6.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.18.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7.12.1 28-Apr-2009  skrll Sync with HEAD.
 1.7.4.1 04-May-2009  yamt sync with head.
 1.23 13-Feb-2023  andvar s/charater/character/ in one more comment.
 1.22 17-Jan-2023  msaitoh s/charater/character/ in comment.
 1.21 29-Sep-2020  msaitoh s/occurence/occurrence/
 1.20 14-Oct-2014  christos PR/49281: John D. Baker: fix debugging format
XXX: pullup 7
 1.19 13-Jul-2014  dholland branches: 1.19.2;
"peripheral", not "peripherial".
 1.18 13-May-2011  rmind branches: 1.18.10; 1.18.14; 1.18.16; 1.18.24; 1.18.28;
Replace some ltsleep() uses with kpause() and tsleep().
 1.17 15-Apr-2008  cegger branches: 1.17.26; 1.17.32;
device_t / softc split. From Hans Rosenfeld
 1.16 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.15 04-Jan-2008  ad branches: 1.15.6;
Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
 1.14 05-Dec-2007  ad branches: 1.14.4;
lockmgr -> mutex
 1.13 04-Mar-2007  christos branches: 1.13.14; 1.13.16; 1.13.22; 1.13.24;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.12 25-Mar-2006  thorpej branches: 1.12.14;
Use device_parent().
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 01-Jun-2005  drochner branches: 1.10.2;
more cast-qual and shadow fallout
 1.9 27-Feb-2005  perry nuke trailing whitespace
 1.8 11-Feb-2005  simonb White space nit- don't put a space before/after increment/decrement
operators.
 1.7 10-Feb-2004  jdolecek branches: 1.7.4; 1.7.10; 1.7.12;
inform better of what exactly is printed in ppbus_scan_bus(), and only
print anything with PPBUS_VERBOSE || PPBUS_DEBUG
 1.6 01-Feb-2004  jdolecek make compilable with option DONTPROBE_1284
 1.5 25-Jan-2004  bjh21 According to the OED, the variant spelling "negociate" died out in the
mid-19th century. Use "negotiate", which is the current spelling, has
always been more common, and is closer to the Latin to boot.
 1.4 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.3 22-Jan-2004  bjh21 Kernel code should include <sys/types.h> or <sys/param.h> first.
(fixes compiling on acorn32)
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.7.12.2 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.7.12.1 12-Feb-2005  yamt sync with head.
 1.7.10.1 29-Apr-2005  kent sync with -current
 1.7.4.7 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.4.6 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.7.4.5 15-Feb-2005  skrll Sync with HEAD.
 1.7.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.7.4.2 03-Aug-2004  skrll Sync with HEAD
 1.7.4.1 10-Feb-2004  skrll file ppbus_base.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.10.2.4 21-Jan-2008  yamt sync with head
 1.10.2.3 07-Dec-2007  yamt sync with head
 1.10.2.2 03-Sep-2007  yamt sync with head.
 1.10.2.1 21-Jun-2006  yamt sync with head.
 1.11.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.11.10.1 19-Apr-2006  elad sync with head.
 1.11.8.1 01-Apr-2006  yamt sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.12.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.13.24.1 08-Dec-2007  ad Sync with head.
 1.13.22.2 18-Feb-2008  mjf Sync with HEAD.
 1.13.22.1 08-Dec-2007  mjf Sync with HEAD.
 1.13.16.1 09-Jan-2008  matt sync with HEAD
 1.13.14.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.14.4.1 08-Jan-2008  bouyer Sync with HEAD
 1.15.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.17.32.1 06-Jun-2011  jruoho Sync with HEAD.
 1.17.26.1 31-May-2011  rmind sync with head
 1.18.28.1 10-Aug-2014  tls Rebase.
 1.18.24.1 03-Dec-2014  msaitoh Pull up following revision(s) (requested by snj in ticket #1190):
sys/dev/ppbus/ppbus_base.c: revision 1.20
PR/49281: John D. Baker: fix debugging format
XXX: pullup 7
 1.18.16.1 03-Dec-2014  msaitoh Pull up following revision(s) (requested by snj in ticket #1190):
sys/dev/ppbus/ppbus_base.c: revision 1.20
PR/49281: John D. Baker: fix debugging format
XXX: pullup 7
 1.18.14.2 03-Dec-2017  jdolecek update from HEAD
 1.18.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.10.1 03-Dec-2014  msaitoh Pull up following revision(s) (requested by snj in ticket #1190):
sys/dev/ppbus/ppbus_base.c: revision 1.20
PR/49281: John D. Baker: fix debugging format
XXX: pullup 7
 1.19.2.1 10-Nov-2014  martin Pull up following revision(s) (requested by snj in ticket #206):
sys/dev/ppbus/ppbus_base.c: revision 1.20
PR/49281: John D. Baker: fix debugging format
XXX: pullup 7
 1.8 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.7 19-Oct-2007  ad branches: 1.7.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.6 04-Mar-2007  christos branches: 1.6.2; 1.6.14; 1.6.16; 1.6.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.5 11-Dec-2005  christos branches: 1.5.26;
merge ktrace-lwp.
 1.4 27-Feb-2005  perry branches: 1.4.4;
nuke trailing whitespace
 1.3 28-Jan-2004  jdolecek branches: 1.3.4; 1.3.10; 1.3.12;
drop #ifdef _KERNEL, this is kernel-only header
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 28-Jan-2004  skrll file ppbus_base.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.4.4.2 27-Oct-2007  yamt sync with head.
 1.4.4.1 03-Sep-2007  yamt sync with head.
 1.5.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.6.16.1 06-Nov-2007  matt sync with HEAD
 1.6.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.6.2.1 23-Oct-2007  ad Sync with head.
 1.7.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.23 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.22 24-Apr-2021  thorpej branches: 1.22.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.21 27-Dec-2019  msaitoh branches: 1.21.10;
s/sucess/success/ in comment.
 1.20 27-Oct-2012  chs branches: 1.20.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.19 13-May-2011  rmind branches: 1.19.4; 1.19.14;
Eliminate few references to ltsleep.
 1.18 11-Nov-2009  he branches: 1.18.4; 1.18.6;
Make this actually build, as part of the sgimips GENERIC32_IP2x kernel.
 1.17 07-Nov-2009  dyoung Don't deactivate a child before detaching it, that's not necessary.

Don't take a device off of the ppbus(4)'s list of children in the
detach routine, but add a child-detachment hook that does it for
us. As a nice side-effect, we can probably detach ppbus(4) children
with drvctl(8), now.

Compile-tested, only.

XXX Does anybody even use ppbus(4)? It's not even in the ALL
XXX configuration for i386!
 1.16 29-Apr-2008  cegger gpio(4): Extend with open/close to request/release the ppbus(4) on open/close.
ppbus(4): Extend to attach on gpiobus.
From Hans Rosenfeld from tech-kern:
http://mail-index.netbsd.org/tech-kern/2008/04/28/msg001168.html
Hint: Hans sent me this diff which differs in the one from tech-kern in:
- 2-clause license
- sprinkled some consts
 1.15 18-Apr-2008  cegger branches: 1.15.2; 1.15.4;
Fix panics at boot and some other misc bugs. From Hans Rosenfeld.
 1.14 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.13 08-Apr-2008  cegger use aprint_*_dev and device_xname
 1.12 05-Dec-2007  ad branches: 1.12.12;
lockmgr -> mutex
 1.11 29-Mar-2006  thorpej branches: 1.11.32; 1.11.34; 1.11.40; 1.11.44;
Use device_pprivate().
 1.10 25-Mar-2006  thorpej Use device_parent().
 1.9 11-Dec-2005  christos branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12;
merge ktrace-lwp.
 1.8 26-Aug-2005  drochner s/locdesc_t/int/g
 1.7 27-Feb-2005  perry branches: 1.7.4;
nuke trailing whitespace
 1.6 13-Sep-2004  drochner branches: 1.6.4; 1.6.6;
remove the ppbus_print_child() function which is pointless as used here
 1.5 08-Sep-2004  drochner use interface attribute / locator passing versions
of config_search(),
and some KNF/whitespace cleanup
no functional changes
 1.4 01-Feb-2004  jdolecek branches: 1.4.4;
make compilable with option DONTPROBE_1284
 1.3 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.4.4.6 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 01-Feb-2004  skrll file ppbus_conf.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.6.6.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.6.4.1 29-Apr-2005  kent sync with -current
 1.7.4.2 07-Dec-2007  yamt sync with head
 1.7.4.1 21-Jun-2006  yamt sync with head.
 1.9.12.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.9.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.9.10.1 19-Apr-2006  elad sync with head.
 1.9.8.1 01-Apr-2006  yamt sync with head.
 1.9.6.1 22-Apr-2006  simonb Sync with head.
 1.9.4.1 09-Sep-2006  rpaulo sync with head
 1.11.44.1 08-Dec-2007  ad Sync with head.
 1.11.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.11.34.1 09-Jan-2008  matt sync with HEAD
 1.11.32.1 09-Dec-2007  jmcneill Sync with HEAD.
 1.12.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.15.4.2 11-Mar-2010  yamt sync with head
 1.15.4.1 16-May-2008  yamt sync with head.
 1.15.2.1 18-May-2008  yamt sync with head.
 1.18.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.18.4.1 31-May-2011  rmind sync with head
 1.19.14.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.19.4.1 30-Oct-2012  yamt sync with head
 1.20.38.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.21.10.5 05-Apr-2021  thorpej Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.
 1.21.10.4 05-Apr-2021  thorpej config_match() -> config_probe() for the straight-forward indirect config
cases. There are still a few odd balls using config_match() which should
be sorted out later.
 1.21.10.3 04-Apr-2021  thorpej CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.
 1.21.10.2 03-Apr-2021  thorpej Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.
 1.21.10.1 20-Mar-2021  thorpej The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
tag-value variadic arguments that can be passed to the various
config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
Noticed several incorrect usages along the way, which will be
audited in a future commit.
 1.22.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.12 18-Feb-2011  phx Include <sys/gpio.h> for GPIOMAXNAME to make it compile again when a gpio(4)
device is attached.
 1.11 29-Apr-2008  cegger branches: 1.11.22; 1.11.28; 1.11.30;
gpio(4): Extend with open/close to request/release the ppbus(4) on open/close.
ppbus(4): Extend to attach on gpiobus.
From Hans Rosenfeld from tech-kern:
http://mail-index.netbsd.org/tech-kern/2008/04/28/msg001168.html
Hint: Hans sent me this diff which differs in the one from tech-kern in:
- 2-clause license
- sprinkled some consts
 1.10 15-Apr-2008  cegger branches: 1.10.2; 1.10.4;
device_t / softc split. From Hans Rosenfeld
 1.9 05-Dec-2007  ad branches: 1.9.12;
lockmgr -> mutex
 1.8 19-Oct-2007  ad branches: 1.8.2; 1.8.4;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.7 04-Mar-2007  christos branches: 1.7.2; 1.7.14; 1.7.16; 1.7.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.6 11-Dec-2005  christos branches: 1.6.26;
merge ktrace-lwp.
 1.5 27-Feb-2005  perry branches: 1.5.4;
nuke trailing whitespace
 1.4 28-Jan-2004  jdolecek branches: 1.4.4; 1.4.10; 1.4.12;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.3 25-Jan-2004  bjh21 According to the OED, the variant spelling "negociate" died out in the
mid-19th century. Use "negotiate", which is the current spelling, has
always been more common, and is closer to the Latin to boot.
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.4.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.10.1 29-Apr-2005  kent sync with -current
 1.4.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 28-Jan-2004  skrll file ppbus_conf.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.5.4.3 07-Dec-2007  yamt sync with head
 1.5.4.2 27-Oct-2007  yamt sync with head.
 1.5.4.1 03-Sep-2007  yamt sync with head.
 1.6.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.7.20.1 25-Oct-2007  bouyer Sync with HEAD.
 1.7.16.2 09-Jan-2008  matt sync with HEAD
 1.7.16.1 06-Nov-2007  matt sync with HEAD
 1.7.14.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.7.14.1 26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.7.2.1 23-Oct-2007  ad Sync with head.
 1.8.4.1 08-Dec-2007  ad Sync with head.
 1.8.2.1 08-Dec-2007  mjf Sync with HEAD.
 1.9.12.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.4.1 16-May-2008  yamt sync with head.
 1.10.2.1 18-May-2008  yamt sync with head.
 1.11.30.1 05-Mar-2011  bouyer Sync with HEAD
 1.11.28.1 06-Jun-2011  jruoho Sync with HEAD.
 1.11.22.1 05-Mar-2011  rmind sync with head
 1.6 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.5 11-Dec-2005  christos branches: 1.5.70;
merge ktrace-lwp.
 1.4 27-Feb-2005  perry nuke trailing whitespace
 1.3 28-Jan-2004  jdolecek branches: 1.3.4; 1.3.10; 1.3.12;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 28-Jan-2004  skrll file ppbus_device.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.5.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.3 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.2 24-Apr-2021  thorpej branches: 1.2.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.1 29-Apr-2008  cegger branches: 1.1.4; 1.1.6; 1.1.8; 1.1.110;
gpio(4): Extend with open/close to request/release the ppbus(4) on open/close.
ppbus(4): Extend to attach on gpiobus.
From Hans Rosenfeld from tech-kern:
http://mail-index.netbsd.org/tech-kern/2008/04/28/msg001168.html
Hint: Hans sent me this diff which differs in the one from tech-kern in:
- 2-clause license
- sprinkled some consts
 1.1.110.1 02-Apr-2021  thorpej config_found_ia() -> config_found() w/ CFARG_IATTR.
 1.1.8.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.8.1 29-Apr-2008  mjf file ppbus_gpio.c was added on branch mjf-devfs2 on 2008-06-02 13:23:48 +0000
 1.1.6.2 18-May-2008  yamt sync with head.
 1.1.6.1 29-Apr-2008  yamt file ppbus_gpio.c was added on branch yamt-pf42 on 2008-05-18 12:34:40 +0000
 1.1.4.2 16-May-2008  yamt sync with head.
 1.1.4.1 29-Apr-2008  yamt file ppbus_gpio.c was added on branch yamt-nfs-mp on 2008-05-16 02:25:01 +0000
 1.2.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.6 11-Dec-2005  christos merge ktrace-lwp.
 1.5 27-Feb-2005  perry nuke trailing whitespace
 1.4 28-Jan-2004  jdolecek branches: 1.4.4; 1.4.10; 1.4.12;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.3 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.4.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.10.1 29-Apr-2005  kent sync with -current
 1.4.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 28-Jan-2004  skrll file ppbus_io.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.12 31-May-2022  andvar fix various typos in comments, documentation and messages.
 1.11 14-Feb-2016  dholland Add missing va_end, from David Binderman in PR 50797.
 1.10 17-Jul-2011  joerg branches: 1.10.12; 1.10.30;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.9 18-Apr-2008  cegger Fix panics at boot and some other misc bugs. From Hans Rosenfeld.
 1.8 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.7 11-Dec-2005  christos branches: 1.7.70;
merge ktrace-lwp.
 1.6 27-Feb-2005  perry nuke trailing whitespace
 1.5 25-Jan-2004  bjh21 branches: 1.5.4; 1.5.10; 1.5.12;
Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.4 22-Jan-2004  bjh21 Don't use "int" when we mean "size_t". Fixes compilation on ARM.
 1.3 21-Jan-2004  bjh21 Add RCSID comments.
 1.2 20-Jan-2004  jdolecek fix va_arg() warning, and label placement warning

XXX perhaps MS_TYP_CHA should go completely, it's equal to MS_TYP_INT
XXX effectively
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.5.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.5.10.1 29-Apr-2005  kent sync with -current
 1.5.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.5.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.5.4.2 03-Aug-2004  skrll Sync with HEAD
 1.5.4.1 25-Jan-2004  skrll file ppbus_msq.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.7.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.30.1 19-Mar-2016  skrll Sync with HEAD
 1.10.12.1 03-Dec-2017  jdolecek update from HEAD
 1.7 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.6 11-Dec-2005  christos branches: 1.6.70;
merge ktrace-lwp.
 1.5 27-Feb-2005  perry nuke trailing whitespace
 1.4 28-Jan-2004  jdolecek branches: 1.4.4; 1.4.10; 1.4.12;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.3 25-Jan-2004  bjh21 Remove dollar signs from foreign RCSIDs per doc/3RDPARTY.
Add __KERNEL_RCSID() to .c files.
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.4.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.4.10.1 29-Apr-2005  kent sync with -current
 1.4.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.4.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.4.4.2 03-Aug-2004  skrll Sync with HEAD
 1.4.4.1 28-Jan-2004  skrll file ppbus_msq.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.6.70.1 02-Jun-2008  mjf Sync with HEAD.
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 27-Feb-2005  perry nuke trailing whitespace
 1.3 28-Jan-2004  jdolecek branches: 1.3.4; 1.3.10; 1.3.12;
drop #ifdef _KERNEL (these are kernel-only headers)
add some comments for the multiple inclusion protection #endif's
 1.2 21-Jan-2004  bjh21 Add RCSID comments.
 1.1 19-Jan-2004  jdolecek branches: 1.1.1;
Initial revision
 1.1.1.1 19-Jan-2004  jdolecek Import Gary Thorpe's netbsd-ppbus 1.3. This is NetBSD port
of FreeBSD Parallel Port Bus framework. Work in progress.
 1.3.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.10.1 29-Apr-2005  kent sync with -current
 1.3.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.3.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2 03-Aug-2004  skrll Sync with HEAD
 1.3.4.1 28-Jan-2004  skrll file ppbus_var.h was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.1 04-Feb-2020  jdolecek branches: 1.1.2; 1.1.6;
add a config fragment to include all ppbus devices to make it simpler
to compile test; right now assumes attachment of atppc(4) via acpi
 1.1.6.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1.6.1 04-Feb-2020  martin file ppbusdevices.config was added on branch phil-wifi on 2020-04-08 14:08:11 +0000
 1.1.2.2 29-Feb-2020  ad Sync with head.
 1.1.2.1 04-Feb-2020  ad file ppbusdevices.config was added on branch ad-namecache on 2020-02-29 20:19:15 +0000
 1.16 25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.15 16-Mar-2014  dholland branches: 1.15.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.14 11-Jun-2008  cegger branches: 1.14.30; 1.14.40; 1.14.46;
use device_lookup_private to get softc
 1.13 21-Apr-2008  ad branches: 1.13.2; 1.13.4; 1.13.6;
Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE.
 1.12 16-Apr-2008  cegger branches: 1.12.2;
device_t / softc split. From Hans Rosenfeld.
 1.11 15-Apr-2008  cegger device_t / softc split. From Hans Rosenfeld
 1.10 20-Jan-2008  joerg branches: 1.10.6;
Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.9 04-Mar-2007  christos branches: 1.9.16; 1.9.22; 1.9.28;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8 24-Oct-2006  drochner branches: 1.8.4;
add zero initializers to make that compile again
 1.7 07-Jun-2006  kardel branches: 1.7.6; 1.7.8;
merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
time.tv_sec -> time_second
- struct timeval mono_time is gone
mono_time.tv_sec -> time_uptime
- access to time via
{get,}{micro,nano,bin}time()
get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
 1.6 10-May-2006  drochner branches: 1.6.2;
Disable "1284" device recognition early to work around
a misfeature in the mode switching / 1284 code.
(It refuses to switch the port mode to eg "PS2"
sometimes if no device speaking the PnP protocol
is connected. Should be fixed elsewhere, but this
is a can of worms.)
 1.5 29-Mar-2006  thorpej Use device_pprivate().
 1.4 25-Dec-2005  rpaulo branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
PR/32381: Paul Shupak. Convert to ktrace-lwp.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 27-Feb-2005  perry branches: 1.2.4;
nuke trailing whitespace
 1.1 28-Jan-2004  drochner branches: 1.1.4; 1.1.10; 1.1.12;
add a "pps" device to get pulse-per-second signals into ntpd
 1.1.12.1 19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.10.1 29-Apr-2005  kent sync with -current
 1.1.4.5 04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.1.4.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.3 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.2 03-Aug-2004  skrll Sync with HEAD
 1.1.4.1 28-Jan-2004  skrll file pps_ppbus.c was added on branch ktrace-lwp on 2004-08-03 10:50:27 +0000
 1.2.4.4 21-Jan-2008  yamt sync with head
 1.2.4.3 03-Sep-2007  yamt sync with head.
 1.2.4.2 30-Dec-2006  yamt sync with head.
 1.2.4.1 21-Jun-2006  yamt sync with head.
 1.4.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.4.10.2 11-May-2006  elad sync with head
 1.4.10.1 19-Apr-2006  elad sync with head.
 1.4.8.3 26-Jun-2006  yamt sync with head.
 1.4.8.2 24-May-2006  yamt sync with head.
 1.4.8.1 01-Apr-2006  yamt sync with head.
 1.4.6.4 02-Jun-2006  drochner -don't advertise PPS_CAPTURECLEAR, the hardware doesn't do it
-fix handling of the "busy" flag in the HAVE_TIMECOUNTER case
 1.4.6.3 01-Jun-2006  kardel Sync with head.
 1.4.6.2 02-May-2006  kardel - support timecounters
also adds ECHOASSERT functionality for calibration
by external measurements
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.6.2.1 19-Jun-2006  chap Sync with head.
 1.7.8.1 10-Dec-2006  yamt sync with head.
 1.7.6.1 18-Nov-2006  ad Sync with head.
 1.8.4.1 12-Mar-2007  rmind Sync with HEAD.
 1.9.28.1 23-Jan-2008  bouyer Sync with HEAD.
 1.9.22.1 18-Feb-2008  mjf Sync with HEAD.
 1.9.16.1 23-Mar-2008  matt sync with HEAD
 1.10.6.2 29-Jun-2008  mjf Sync with HEAD.
 1.10.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.12.2.2 17-Jun-2008  yamt sync with head.
 1.12.2.1 18-May-2008  yamt sync with head.
 1.13.6.1 18-Jun-2008  simonb Sync with head.
 1.13.4.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.13.2.1 04-May-2009  yamt sync with head.
 1.14.46.1 18-May-2014  rmind sync with head
 1.14.40.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.30.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.15.2.1 10-Aug-2014  tls Rebase.

RSS XML Feed