Home | History | Annotate | only in /src/sys/arch/evbppc/explora/dev
History log of /src/sys/arch/evbppc/explora/dev
RevisionDateAuthorComments
 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