Home | History | Annotate | only in /src/sys/arch/evbppc/explora
History log of /src/sys/arch/evbppc/explora
RevisionDateAuthorComments
 1.15 05-Mar-2021  rin For very MD codes for Explora, reorder things, and use more common codes for
ibm4xx and ibm40x for clarity as well as better comparison with other boards.

No functional changes intended.
 1.14 02-Mar-2021  rin Switch to genppc_cpu_configure().
 1.13 29-Jul-2012  mlelstv branches: 1.13.52;
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().

Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().

Make cpu_rootconf(9) describe the calling order.
 1.12 12-Dec-2011  kiyohara branches: 1.12.2;
Fix hangs-up. Remove "wrteei 1" in board's cpu_configure(). Interrupt
is enabled in powerpc-layer.
 1.11 18-Jun-2011  matt branches: 1.11.2; 1.11.6;
split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.10 28-Apr-2008  martin branches: 1.10.32;
Remove clause 3 and 4 from TNF licenses
 1.9 17-Oct-2007  garbled branches: 1.9.16; 1.9.18; 1.9.20;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.8 20-Jul-2007  hannken branches: 1.8.6;
Move intr_init() from cpu_configure() to cpu_startup() so softintrs
pool_get() works again.
 1.7 07-Oct-2006  tsutsui branches: 1.7.8; 1.7.16; 1.7.20; 1.7.22;
Remove unneeded cast which eliminates part of valid interrupt mask bits.
Closes PR powerpc/33108.
 1.6 24-Dec-2005  perry branches: 1.6.20; 1.6.22;
bare asm -> __asm
 1.5 11-Dec-2005  christos merge ktrace-lwp.
 1.4 23-Oct-2004  thorpej branches: 1.4.12;
Centralize the declaration of booted_device and booted_partition.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 04-Jul-2003  thorpej Add device_register().
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.4 02-Nov-2004  skrll Sync with HEAD.
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.12.3 03-Sep-2007  yamt sync with head.
 1.4.12.2 30-Dec-2006  yamt sync with head.
 1.4.12.1 21-Jun-2006  yamt sync with head.
 1.6.22.1 22-Oct-2006  yamt sync with head
 1.6.20.1 18-Nov-2006  ad Sync with head.
 1.7.22.1 15-Aug-2007  skrll Sync with HEAD.
 1.7.20.1 07-Aug-2007  matt Sync with HEAD.
 1.7.16.1 03-Oct-2007  garbled Sync with HEAD
 1.7.8.1 20-Aug-2007  ad Sync with HEAD.
 1.8.6.1 06-Nov-2007  matt sync with HEAD
 1.9.20.1 16-May-2008  yamt sync with head.
 1.9.18.1 18-May-2008  yamt sync with head.
 1.9.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.10.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.11.6.1 18-Feb-2012  mrg merge to -current.
 1.11.2.2 30-Oct-2012  yamt sync with head
 1.11.2.1 17-Apr-2012  yamt sync with head
 1.12.2.1 08-Aug-2012  martin Pull up following revision(s) (requested by mlelstv in ticket #466):
sys/arch/amiga/amiga/autoconf.c: revision 1.113
sys/arch/rs6000/rs6000/autoconf.c: revision 1.4
sys/arch/emips/emips/autoconf.c: revision 1.6
sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27
sys/arch/evbmips/alchemy/autoconf.c: revision 1.18
sys/arch/sgimips/sgimips/autoconf.c: revision 1.43
sys/arch/atari/atari/autoconf.c: revision 1.63
sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17
sys/arch/mmeye/mmeye/autoconf.c: revision 1.9
distrib/sets/lists/comp/mi: revision 1.1771
sys/arch/mipsco/mipsco/autoconf.c: revision 1.25
sys/arch/iyonix/iyonix/autoconf.c: revision 1.14
sys/arch/hp300/hp300/autoconf.c: revision 1.100
sys/kern/init_main.c: revision 1.445
sys/arch/pmax/pmax/autoconf.c: revision 1.79
sys/arch/netwinder/netwinder/autoconf.c: revision 1.11
sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10
sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12
sys/arch/evbppc/ev64260/autoconf.c: revision 1.17
sys/arch/evbmips/gdium/autoconf.c: revision 1.5
sys/arch/algor/algor/autoconf.c: revision 1.21
share/man/man9/Makefile: revision 1.367
sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9
sys/arch/amigappc/amigappc/autoconf.c: revision 1.5
sys/arch/x86/x86/x86_autoconf.c: revision 1.65
sys/arch/acorn26/acorn26/autoconf.c: revision 1.9
sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13
sys/arch/vax/vax/autoconf.c: revision 1.94
sys/arch/usermode/dev/cpu.c: revision 1.72
sys/arch/evbppc/virtex/autoconf.c: revision 1.5
sys/arch/next68k/next68k/autoconf.c: revision 1.26
sys/arch/mac68k/mac68k/autoconf.c: revision 1.73
sys/arch/ia64/ia64/autoconf.c: revision 1.6
sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6
share/man/man9/cpu_rootconf.9: revision 1.7
sys/arch/landisk/landisk/autoconf.c: revision 1.6
sys/arch/evbmips/malta/autoconf.c: revision 1.16
sys/arch/sun3/sun3/autoconf.c: revision 1.76
sys/arch/evbppc/explora/autoconf.c: revision 1.13
sys/arch/sun3/sun3/autoconf.c: revision 1.77
sys/arch/evbmips/loongson/autoconf.c: revision 1.3
sys/arch/evbmips/atheros/autoconf.c: revision 1.11
sys/arch/sparc64/sparc64/autoconf.c: revision 1.188
sys/arch/acorn32/acorn32/autoconf.c: revision 1.18
sys/arch/evbarm/evbarm/autoconf.c: revision 1.13
sys/arch/cobalt/cobalt/autoconf.c: revision 1.30
sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46
sys/arch/hp700/hp700/autoconf.c: revision 1.48
sys/arch/evbmips/adm5120/autoconf.c: revision 1.5
sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25
sys/arch/alpha/alpha/autoconf.c: revision 1.52
sys/arch/sparc/sparc/autoconf.c: revision 1.244
sys/arch/evbppc/pmppc/autoconf.c: revision 1.7
sys/arch/bebox/bebox/autoconf.c: revision 1.25
sys/arch/luna68k/luna68k/autoconf.c: revision 1.13
sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20
sys/arch/evbppc/walnut/autoconf.c: revision 1.21
sys/arch/cesfic/cesfic/autoconf.c: revision 1.26
sys/arch/cats/cats/autoconf.c: revision 1.17
sys/arch/x68k/x68k/autoconf.c: revision 1.67
sys/arch/news68k/news68k/autoconf.c: revision 1.21
sys/arch/arc/arc/autoconf.c: revision 1.34
sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11
sys/sys/conf.h: revision 1.143
sys/arch/evbmips/rasoc/autoconf.c: revision 1.3
sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26
sys/arch/sun68k/sun68k/autoconf.c: revision 1.29
sys/arch/evbmips/rmixl/autoconf.c: revision 1.6
sys/arch/zaurus/zaurus/autoconf.c: revision 1.12
sys/arch/xen/x86/autoconf.c: revision 1.15
sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6
sys/arch/shark/shark/autoconf.c: revision 1.18
sys/arch/prep/prep/autoconf.c: revision 1.25
sys/arch/newsmips/newsmips/autoconf.c: revision 1.36
sys/arch/sbmips/sbmips/autoconf.c: revision 1.8
Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
add rootconf(9) as a link to cpu_rootconf(9)
make this compile again
 1.13.52.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12 07-Mar-2021  rin No need to clear framebuffer here; rasops(4) takes care of it.
 1.11 07-Mar-2021  rin Reduce ifdef. No functional changes.
 1.10 05-Mar-2021  rin For Explora 451, call calc_delayconst() before pckbc_cnattach(), which
depends on delay() and DELAY().

Unfortunately, proplib(9) API is not available for MD codes, that are
called before consinit() (since pool(9) is not initialized yet).

Therefore, hard-code CPU frequency to calc_delayconst() in case
"processor-frequency" is not initialized.
 1.9 13-Oct-2012  jdc branches: 1.9.50;
Adapt to the changed signature of pckbc_cnattach().
 1.8 01-Jul-2011  dyoung branches: 1.8.2; 1.8.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.6 27-Nov-2007  hannken branches: 1.6.14; 1.6.16; 1.6.18;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.5 11-Dec-2005  christos branches: 1.5.30; 1.5.48; 1.5.50; 1.5.56;
merge ktrace-lwp.
 1.4 25-Jul-2003  scw branches: 1.4.16;
Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 14-Jun-2003  thorpej branches: 1.2.2;
Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.4.16.1 07-Dec-2007  yamt sync with head
 1.5.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.5.50.1 09-Jan-2008  matt sync with HEAD
 1.5.48.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.5.30.1 03-Dec-2007  ad Sync with HEAD.
 1.6.18.1 16-May-2008  yamt sync with head.
 1.6.16.1 18-May-2008  yamt sync with head.
 1.6.14.1 02-Jun-2008  mjf Sync with HEAD.
 1.8.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.8.2.1 30-Oct-2012  yamt sync with head
 1.9.50.1 03-Apr-2021  thorpej Sync with HEAD.
 1.13 04-Jun-2022  rin - Use register prefix (%r).
- Remove workaround for old gas(1) bug.

No binary changes.
 1.12 02-Mar-2021  rin Establish kernel MMU context before turning on MMU.
 1.11 03-Oct-2013  matt branches: 1.11.42;
Binutils 2.23.2 doesn't do the right thing HI16/LO16 reloc using .
So do it manually to appease gas.
 1.10 20-Jun-2011  matt branches: 1.10.2; 1.10.12; 1.10.16;
Don't include *pmap.h in assembly files. Get the needed definitions
from "assym.h".
 1.9 20-Jun-2011  matt Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.8 17-Jan-2011  matt branches: 1.8.4;
Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
 1.7 25-Feb-2010  matt branches: 1.7.2; 1.7.4;
Adapt to <spr.h> breakup.
 1.6 26-Nov-2009  matt branches: 1.6.2;
Kill proc0paddr. Use lwp0.l_addr instead.
 1.5 28-Apr-2008  martin branches: 1.5.22;
Remove clause 3 and 4 from TNF licenses
 1.4 30-Jun-2006  freza branches: 1.4.58; 1.4.60; 1.4.62;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8; 1.3.16;
merge ktrace-lwp.
 1.2 11-Aug-2003  chs branches: 1.2.16;
catch up with changes elsewhere.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.16.1 13-Jul-2006  gdamore Merge from HEAD.
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.62.2 11-Mar-2010  yamt sync with head
 1.4.62.1 16-May-2008  yamt sync with head.
 1.4.60.1 18-May-2008  yamt sync with head.
 1.4.58.1 02-Jun-2008  mjf Sync with HEAD.
 1.5.22.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.6.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.7.4.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.2.1 05-Mar-2011  rmind sync with head
 1.8.4.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.10.16.1 18-May-2014  rmind sync with head
 1.10.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.10.2.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.11.42.1 03-Apr-2021  thorpej Sync with HEAD.
 1.52 03-Aug-2021  rin Switch evbppc/ibm4xx to generic evbppc (same as oea) kernel modules.

I've confirmed that kernels similar to amd64/conf/MODULAR work fine
both on 403 and 405.

XXX
Unfortunately, we cannot immediately switch evbppc/booke to generic
kernel modules yet; it has its own intr.h implementation.
 1.51 30-Mar-2021  rin Sort headers. Fix style. No binary changes.
 1.50 30-Mar-2021  rin G/C misleading <evbppc/tlb.h>. Use <powerpc/ibm4xx/tlb.h> directly.
 1.49 30-Mar-2021  rin G/C unused. No binary changes (except for __LINE__ for KASSERT).
 1.48 30-Mar-2021  rin Move common global variables, i.e., phys_map, machine, and machine_arch to
evbppc/evbppc_machdep.c (bad naming; used only for 4xx boards).
 1.47 30-Mar-2021  rin Centralize cpu_reboot().
 1.46 07-Mar-2021  rin branches: 1.46.2;
Revert this commit:

http://www.nerv.org/netbsd/?q=id:20210305T064016Z.410b0e33273c3a62110d09e8bb27939f6a8bab38

> Map framebuffer to virtual space when fb(4) is present,
> even if it is not console.

Direct mapping for framebuffer is required only if fb(4) is console.

XXX
It would be nice if we can remove reserved TLB entries after
fb(4) is properly attached.
 1.45 05-Mar-2021  rin Identify oneself as ``Explora 450'' instead of 451.

There are models numbered 450 to 454. The differences b/w them are
shapes of ethernet and audio connectors. Base model number 450 is
displayed for (probably) all models by firmware.
 1.44 05-Mar-2021  rin Map framebuffer to virtual space when fb(4) is present,
even if it is not console.
 1.43 05-Mar-2021  rin Call bus_space_mallocok() appropriately.
 1.42 05-Mar-2021  rin For very MD codes for Explora, reorder things, and use more common codes for
ibm4xx and ibm40x for clarity as well as better comparison with other boards.

No functional changes intended.
 1.41 02-Mar-2021  rin Establish kernel MMU context before turning on MMU.
 1.40 11-Jun-2020  ad branches: 1.40.2;
uvm_availmem(): give it a boolean argument to specify whether a recent
cached value will do, or if the very latest total must be fetched. It can
be called thousands of times a second and fetching the totals impacts not
only the calling LWP but other CPUs doing unrelated activity in the VM
system.
 1.39 31-Dec-2019  ad Rename uvm_free() -> uvm_availmem().
 1.38 21-Dec-2019  ad uvmexp.free -> uvm_free()
 1.37 27-Jul-2012  matt branches: 1.37.40;
Fix some -fno-common fallout
 1.36 20-Jun-2011  matt branches: 1.36.2;
Change IBM4xx to use the common powerpc PIC framework.
Consolidate most ibm4xx initppc function into ibm4xx_init
and Make all IBM4xx use it.
Change explora to use initppc instead of bootstrap.
 1.35 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.34 15-Jun-2011  matt lcsplx is dead. remove last vestiges of it.
 1.33 12-Jun-2011  mrg for booke and ibm4xx evbppc systems, set module_machine to to either
"powerpc-ibm4xx" or "powerpc-booke".
 1.32 14-Jan-2011  rmind branches: 1.32.6;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.31 25-Feb-2010  matt branches: 1.31.2;
Adapt to <spr.h> breakup.
 1.30 08-Feb-2010  joerg Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.29 27-Nov-2009  rmind branches: 1.29.2;
- Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
 1.28 26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.27 13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.26 30-Nov-2008  martin branches: 1.26.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.25 12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.24 11-Nov-2008  dyoung It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled. So I have made two changes:

1 Do not call pmf_system_shutdown() from doshutdownhooks(). Instead,
change every call to doshutdownhooks() to a call to doshutdownhooks()
followed by a call to pmf_system_shutdown(). No functional change
is intended by this change.

2 Make i386 re-enable interrupts briefly while it calls
pmf_system_shutdown(). I leave it to others either to fix the
other ports, or to factor out some MI shutdown code, as joerg@
suggests, and fix that. Note that a functional change *is* intended
by this change.

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.23 08-Aug-2008  hannken branches: 1.23.2; 1.23.12;
Remove an unneeded include to make it compile again.
 1.22 02-Jul-2008  ad branches: 1.22.2;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.21 28-Apr-2008  martin branches: 1.21.2; 1.21.4;
Remove clause 3 and 4 from TNF licenses
 1.20 17-Oct-2007  garbled branches: 1.20.16; 1.20.18; 1.20.20;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.19 20-Jul-2007  hannken branches: 1.19.6;
Move intr_init() from cpu_configure() to cpu_startup() so softintrs
pool_get() works again.
 1.18 04-Mar-2007  christos branches: 1.18.2; 1.18.10; 1.18.12; 1.18.14;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.17 22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.16 29-Nov-2006  freza branches: 1.16.4;
Instead of mapping whole RAM with reserved TLB entries, map just enough
to ensure trap code will work (that is 0 upto ${endkernel}) and leave the
rest to pmap_tlbmiss(). Mapping whole physmem into the kernel wired way
too many TLB entries, see

http://mail-index.netbsd.org/port-powerpc/2006/10/27/0000.html

for performance analysis. While there, be a bit more descriptive in
pmap_tlbmiss() comment and use macro instead of numeric constant.

OK by Simon Burge
 1.15 23-Oct-2006  kiyohara Define BASE_ISA macro for ISA window base address (where pckbc, com, lpt live)
instead of hardcoding the constant or (even before) using BASE_COM.
 1.14 16-Oct-2006  kiyohara * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
segment, giving us the possibility of multiple VA matches in the TLB. This
is considered "programming error" by 405 core and results in "undefined
behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
passed in by boot firmware.
* TLB_NRESERVED is (finally) gone.
 1.13 18-Sep-2006  gdamore Conversion of evbppc to generic TODR. ok freza@
 1.12 30-Jun-2006  freza branches: 1.12.4; 1.12.6;
Bring ibm4xx interrupt code up to date:

- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
 1.11 05-May-2006  thorpej branches: 1.11.4;
Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
 1.10 31-Dec-2005  hannken branches: 1.10.2; 1.10.4; 1.10.6; 1.10.8; 1.10.10;
Use our own function to copy traps. We cannot use memcpy() anymore
because the destination may be zero.
 1.9 24-Dec-2005  perry branches: 1.9.2;
bare asm -> __asm
 1.8 11-Dec-2005  christos merge ktrace-lwp.
 1.7 25-Apr-2005  lukem branches: 1.7.2;
Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.6 05-Jan-2004  hannken branches: 1.6.8;
Mapping of console device goes into the reserved tlb's.
Max. memory is 32M for console at fb and 48M for console on com.

If this becomes a problem TLB_NRESERVED needs to become variable.
 1.5 30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms. Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.4 12-Aug-2003  matt Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist. for few uses that need CURPM, use CURPCB/PCB_PM
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 26-Apr-2003  ragge branches: 1.2.2;
Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2.2.4 10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6.8.1 29-Apr-2005  kent sync with -current
 1.7.2.4 03-Sep-2007  yamt sync with head.
 1.7.2.3 26-Feb-2007  yamt sync with head.
 1.7.2.2 30-Dec-2006  yamt sync with head.
 1.7.2.1 21-Jun-2006  yamt sync with head.
 1.9.2.1 15-Jan-2006  yamt sync with head.
 1.10.10.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.10.8.1 11-May-2006  elad sync with head
 1.10.6.2 11-Aug-2006  yamt sync with head
 1.10.6.1 24-May-2006  yamt sync with head.
 1.10.4.1 01-Jun-2006  kardel Sync with head.
 1.10.2.1 09-Sep-2006  rpaulo sync with head
 1.11.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.12.6.2 10-Dec-2006  yamt sync with head.
 1.12.6.1 22-Oct-2006  yamt sync with head
 1.12.4.2 12-Jan-2007  ad Sync with head.
 1.12.4.1 18-Nov-2006  ad Sync with head.
 1.16.4.2 12-Mar-2007  rmind Sync with HEAD.
 1.16.4.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.18.14.1 15-Aug-2007  skrll Sync with HEAD.
 1.18.12.1 07-Aug-2007  matt Sync with HEAD.
 1.18.10.1 03-Oct-2007  garbled Sync with HEAD
 1.18.2.1 20-Aug-2007  ad Sync with HEAD.
 1.19.6.1 06-Nov-2007  matt sync with HEAD
 1.20.20.3 11-Mar-2010  yamt sync with head
 1.20.20.2 04-May-2009  yamt sync with head.
 1.20.20.1 16-May-2008  yamt sync with head.
 1.20.18.1 18-May-2008  yamt sync with head.
 1.20.16.4 17-Jan-2009  mjf Sync with HEAD.
 1.20.16.3 28-Sep-2008  mjf Sync with HEAD.
 1.20.16.2 02-Jul-2008  mjf Sync with HEAD.
 1.20.16.1 02-Jun-2008  mjf Sync with HEAD.
 1.21.4.1 03-Jul-2008  simonb Sync with head.
 1.21.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.22.2.2 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.22.2.1 19-Oct-2008  haad Sync with HEAD.
 1.23.12.1 07-Jan-2011  matt Deal with the splitting of <spr.h>
 1.23.2.2 03-Mar-2009  skrll Sync with HEAD.
 1.23.2.1 19-Jan-2009  skrll Sync with HEAD.
 1.26.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.29.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.31.2.1 05-Mar-2011  rmind sync with head
 1.32.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.36.2.1 30-Oct-2012  yamt sync with head
 1.37.40.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.40.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.46.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12 16-Mar-2021  rin Style. No binary changes.
 1.11 02-Mar-2021  rin Convert to intr_establish_xname().
 1.10 08-Dec-2018  thorpej branches: 1.10.12;
Clean up initialization of com_regs structure, in preparation for
some additional changers.
 1.9 01-Jul-2011  dyoung branches: 1.9.52; 1.9.54;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 08-Aug-2008  hannken Make the console on com0 detection work again.
 1.7 28-Apr-2008  martin branches: 1.7.2; 1.7.6;
Remove clause 3 and 4 from TNF licenses
 1.6 14-Mar-2008  cube branches: 1.6.2; 1.6.4;
Split device_t and softc for all com(4) devices (well, everything that
uses a com_softc backend). Use proper types and ansify where appropriate.
 1.5 27-Nov-2007  hannken branches: 1.5.10; 1.5.14;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.4 13-Jul-2006  gdamore branches: 1.4.14; 1.4.32; 1.4.34; 1.4.40;
Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@. Fixes PR port-evbmips/32362.
 1.3 11-Dec-2005  christos branches: 1.3.4; 1.3.8; 1.3.16;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.3 17-Mar-2008  yamt sync with head.
 1.2.16.2 07-Dec-2007  yamt sync with head
 1.2.16.1 30-Dec-2006  yamt sync with head.
 1.3.16.1 15-Jun-2006  gdamore Initial work for PowerPC-specific com(4) rewhack. Compile tested, but I
lack hardware to test. If someone wants to validate, would be appreciated.
(Compile tested for WALNUT, EXPLORA451, and EV64260 kernels.)
 1.3.8.1 11-Aug-2006  yamt sync with head
 1.3.4.1 09-Sep-2006  rpaulo sync with head
 1.4.40.1 08-Dec-2007  mjf Sync with HEAD.
 1.4.34.2 23-Mar-2008  matt sync with HEAD
 1.4.34.1 09-Jan-2008  matt sync with HEAD
 1.4.32.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.4.14.1 03-Dec-2007  ad Sync with HEAD.
 1.5.14.3 28-Sep-2008  mjf Sync with HEAD.
 1.5.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.5.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.5.10.1 24-Mar-2008  keiichi sync with head.
 1.6.4.2 04-May-2009  yamt sync with head.
 1.6.4.1 16-May-2008  yamt sync with head.
 1.6.2.1 18-May-2008  yamt sync with head.
 1.7.6.1 19-Oct-2008  haad Sync with HEAD.
 1.7.2.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.9.54.1 10-Jun-2019  christos Sync with HEAD
 1.9.52.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.10.12.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.10 24-Apr-2021  thorpej branches: 1.10.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.9 01-Jul-2011  dyoung branches: 1.9.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 06-Jun-2011  matt CFATTACH_DECL(..., sizeof(struct device), -> CFATTACH_DECL_NEW(..., 0
struct device * -> device_t
struct cfdata * -> cfdata_t
use bool when appropriate
some constification
 1.7 06-Jun-2011  matt More device_t, cfdata, CFATTACH_DECL_NEW cleanup.
 1.6 28-Apr-2008  martin branches: 1.6.22; 1.6.32;
Remove clause 3 and 4 from TNF licenses
 1.5 11-Dec-2005  christos branches: 1.5.74; 1.5.76; 1.5.78;
merge ktrace-lwp.
 1.4 13-Sep-2004  drochner use config_found() instead of config_found_sm() if no submatch
function is used
 1.3 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.78.1 16-May-2008  yamt sync with head.
 1.5.76.1 18-May-2008  yamt sync with head.
 1.5.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.6.32.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.22.1 12-Jun-2011  rmind sync with head
 1.9.68.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.10.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.4 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.3 11-Dec-2005  christos branches: 1.3.74; 1.3.76; 1.3.78;
merge ktrace-lwp.
 1.2 25-Jul-2003  scw Switch ibm4xx ports to common powerpc bus_space/bus_dma code.
XXX: Walnut PCI support is broken. This will be addressed shortly.
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.78.1 16-May-2008  yamt sync with head.
 1.3.76.1 18-May-2008  yamt sync with head.
 1.3.74.1 02-Jun-2008  mjf Sync with HEAD.
 1.20 07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.19 24-Apr-2021  thorpej branches: 1.19.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.18 07-Mar-2021  rin branches: 1.18.2;
Add initial support for Xorg server for wsfb(4):

- Fix WSDISPLAYIO_GTYPE ioctl.

- Support WSDISPLAYIO_LINEBYTES, _{GET,PUT}CMAP, and _SMODE ioctl.

As well as tiny improvements related to it:

- Use actual size of framebuffer for bus_space_mmap(9), as well as upper
bound for mmap(2).

- Use base address obtained from autoconf(9) layer for mmap(2), instead of
hard-coded one.

- Use rasops_cmap as default color map, instead of our own ANSI color map.

- Show monitor resolution and color depth instead of size as tty.

I've confirmed that mlterm-fb from pkgsrc/x11/mlterm also works fine.
 1.17 07-Mar-2021  rin Misc cleanup for clarity. No functional changes.

- Group function declarations, and reorder function bodies accordingly.
- Misc KNF.
 1.16 05-Mar-2021  rin Fix color map.

Almost all colors except *green* were wrong for the apparent reason ;).
 1.15 05-Mar-2021  rin Configure fb(4) appropriately also when it is not console.

Now, wsdisplay(4) can be used with serial console.
 1.14 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.13 01-Jul-2011  dyoung branches: 1.13.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.12 18-Jun-2011  matt split device/softc (CFATTACH_DECL_NEW)
struct device * -> device_t
struct cfdata * -> cfdata_t
Use <sys/foo.h> instead of <machine/foo.h> if <sys/foo.h> exists
Explicitly include <powerpc/ibm4xx/cpu.h> when needed.
 1.11 15-May-2010  tsutsui branches: 1.11.6;
Clear RI_NO_AUTO in actual attach functions during autoconf(9)
for console devices that set the flag during consinit().
 1.10 15-May-2010  tsutsui Set RI_NO_AUTO in ri_flg if fb_init() is invoked from cnattach.
Tested on Explora451.
 1.9 28-Apr-2008  martin branches: 1.9.20; 1.9.22;
Remove clause 3 and 4 from TNF licenses
 1.8 04-Mar-2007  christos branches: 1.8.40; 1.8.42; 1.8.44;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.7 13-Apr-2006  hannken branches: 1.7.14;
Make it compile again by adding a second cookie to ioctl and mmap
wsdisplay accessops.
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.6; 1.6.8; 1.6.10; 1.6.12;
merge ktrace-lwp.
 1.5 13-Sep-2004  drochner branches: 1.5.12;
use config_found() instead of config_found_sm() if no submatch
function is used
 1.4 05-Jan-2004  hannken Implement fb_mmap(). From David P. Reese Jr. with PR #23985.
 1.3 15-Jul-2003  lukem __KERNEL_RCSID()
 1.2 17-Mar-2003  hannken branches: 1.2.2;
Add hardware accelerated copy/erase ops.
 1.1 11-Mar-2003  hannken Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.2.2.4 17-Jan-2005  skrll Adapt to branch.
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.12.2 03-Sep-2007  yamt sync with head.
 1.5.12.1 21-Jun-2006  yamt sync with head.
 1.6.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.6.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.6.8.1 24-May-2006  yamt sync with head.
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.14.1 12-Mar-2007  rmind Sync with HEAD.
 1.8.44.2 11-Aug-2010  yamt sync with head.
 1.8.44.1 16-May-2008  yamt sync with head.
 1.8.42.1 18-May-2008  yamt sync with head.
 1.8.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.9.22.1 30-May-2010  rmind sync with head
 1.9.20.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.11.6.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.13.66.2 03-Apr-2021  thorpej Sync with HEAD.
 1.13.66.1 14-Dec-2020  thorpej Sync w/ HEAD.
 1.18.2.1 21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.19.8.1 04-Aug-2021  thorpej Adapt to CFARGS().
 1.12 29-May-2022  rin le(4): Fix resource leaks for error paths.

XXX
Compile test only (at least one arch per driver).
 1.11 08-Dec-2021  andvar fix various typos in comments and log messages.
 1.10 02-Mar-2021  rin Convert to intr_establish_xname().
 1.9 01-Jul-2011  dyoung branches: 1.9.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.7 04-Apr-2008  tsutsui branches: 1.7.2; 1.7.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.6 07-Mar-2007  he branches: 1.6.40;
Add a required __UNVOLATILE() around argument to memcpy() / memset().
 1.5 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4 11-Dec-2005  christos branches: 1.4.26;
merge ktrace-lwp.
 1.3 16-Aug-2003  hannken branches: 1.3.16;
Add bus_dmamap_sync as dma regions are no longer uncached.
 1.2 15-Jul-2003  lukem __KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.3.16.1 03-Sep-2007  yamt sync with head.
 1.4.26.1 12-Mar-2007  rmind Sync with HEAD.
 1.6.40.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.4.1 16-May-2008  yamt sync with head.
 1.7.2.1 18-May-2008  yamt sync with head.
 1.9.66.1 03-Apr-2021  thorpej Sync with HEAD.
 1.7 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 07-Mar-2008  cube branches: 1.5.2; 1.5.4;
Split the softc from the device_t for all lpt(4) variants and attachments
except the ppbus stuff (which doesn't compile) and ulpt(4) which is
unrelated and can be dealt with separately.

As usual, it comes with related cosmetic changes.
 1.4 27-Nov-2007  hannken branches: 1.4.10; 1.4.14;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.2 17-Mar-2008  yamt sync with head.
 1.2.16.1 07-Dec-2007  yamt sync with head
 1.3.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.50.2 23-Mar-2008  matt sync with HEAD
 1.3.50.1 09-Jan-2008  matt sync with HEAD
 1.3.48.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.3.30.1 03-Dec-2007  ad Sync with HEAD.
 1.4.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.10.1 24-Mar-2008  keiichi sync with head.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.12 05-Mar-2021  rin Avoid doubly bus_space_map(9) when pckbc(4) is already attached as console.
 1.11 05-Mar-2021  rin pckbcintr() must be running with IPL_TTY, not IPL_SERIAL. Otherwise,
tty(4) routines are unexpectedly interrupted, which results in
"locking against myself" errors for tty_lock.
 1.10 02-Mar-2021  rin Convert to intr_establish_xname().
 1.9 02-Mar-2021  rin Stop registering same function twice, i.e., for pckbd(4) and pms(4),
via intr_establish().
 1.8 21-Nov-2020  thorpej malloc(9) -> kmem(9)
 1.7 01-Jul-2011  dyoung branches: 1.7.66;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.6 28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.5 15-Mar-2008  cube branches: 1.5.2; 1.5.4;
Split device_t and softc for pckbc(4) and its attachments.
 1.4 27-Nov-2007  hannken branches: 1.4.10; 1.4.14;
When using bus_space_map() on the ISA bus unstride the address. Since
Rev. 1.13 of sys/arch/powerpc/powerpc/bus_space.c the address will be
strided by memio_map().
 1.3 11-Dec-2005  christos branches: 1.3.30; 1.3.48; 1.3.50; 1.3.56;
merge ktrace-lwp.
 1.2 15-Jul-2003  lukem branches: 1.2.16;
__KERNEL_RCSID()
 1.1 11-Mar-2003  hannken branches: 1.1.2;
Add a port to the NCD Explora451 ThinClient.

- Supported devices: le, com, lpt, pckbd, frame buffer.
- Support missing: phy, audio, pcmcia.
- Boots from network or md.

Approved by: Eduardo Horvath <eeh@netbsd.org>
 1.1.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.2.1 03-Aug-2004  skrll Sync with HEAD
 1.2.16.2 17-Mar-2008  yamt sync with head.
 1.2.16.1 07-Dec-2007  yamt sync with head
 1.3.56.1 08-Dec-2007  mjf Sync with HEAD.
 1.3.50.2 23-Mar-2008  matt sync with HEAD
 1.3.50.1 09-Jan-2008  matt sync with HEAD
 1.3.48.1 27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.3.30.1 03-Dec-2007  ad Sync with HEAD.
 1.4.14.2 02-Jun-2008  mjf Sync with HEAD.
 1.4.14.1 03-Apr-2008  mjf Sync with HEAD.
 1.4.10.1 24-Mar-2008  keiichi sync with head.
 1.5.4.1 16-May-2008  yamt sync with head.
 1.5.2.1 18-May-2008  yamt sync with head.
 1.7.66.2 03-Apr-2021  thorpej Sync with HEAD.
 1.7.66.1 14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed