History log of /netbsd-current/sys/arch/sparc64/conf/files.sparc64
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: thorpej-i2c-spi-conf-base
# 1.166 12-May-2021 thorpej

- Define a device call for PCI bus instances to fetch a direct child's
device handle given the device's device/function #s (extracted from
a pcitag_t). Use it to associate the handle with the child device
at config_found() time.
- Implement this device call for ACPI and OpenFirmware.
- Enable the OpenFirmware variant for evbarm FDT, macppc, ofppc, sparc64.
- Obsolete acpi_device_register(); it is no longer needed.
- Obsolete setting the OpenFirmware handle in PCI devices in the
sparc64 device_register(); it is no longer needed.


Revision tags: cjep_staticlib_x-base
# 1.165 25-Apr-2021 thorpej

branches: 1.165.2;
PCI busses do not attach to "ebus", therefore there is no need for
it to carry the "pcibus" interface attribute.

Fixes kern/56124.


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.164 04-Mar-2021 palle

sun4v: add vnet driver from openbsd - compiles but probably does not work yet - still WIP


# 1.163 21-Oct-2020 christos

branches: 1.163.2;
make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.


# 1.162 20-Oct-2020 christos

harmonize process_machdep.c inclusion.


# 1.161 16-Oct-2020 jdc

Move OFW patching routines into their own file.


# 1.160 11-Oct-2020 jdc

Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.


# 1.159 11-May-2020 jdc

Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


Revision tags: thorpej-i2c-spi-conf-base
# 1.165 25-Apr-2021 thorpej

PCI busses do not attach to "ebus", therefore there is no need for
it to carry the "pcibus" interface attribute.

Fixes kern/56124.


Revision tags: thorpej-cfargs-base thorpej-futex-base
# 1.164 04-Mar-2021 palle

sun4v: add vnet driver from openbsd - compiles but probably does not work yet - still WIP


# 1.163 21-Oct-2020 christos

branches: 1.163.2;
make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.


# 1.162 20-Oct-2020 christos

harmonize process_machdep.c inclusion.


# 1.161 16-Oct-2020 jdc

Move OFW patching routines into their own file.


# 1.160 11-Oct-2020 jdc

Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.


# 1.159 11-May-2020 jdc

Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.


Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


# 1.164 04-Mar-2021 palle

sun4v: add vnet driver from openbsd - compiles but probably does not work yet - still WIP


Revision tags: thorpej-futex-base
# 1.163 21-Oct-2020 christos

make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.


# 1.162 20-Oct-2020 christos

harmonize process_machdep.c inclusion.


# 1.161 16-Oct-2020 jdc

Move OFW patching routines into their own file.


# 1.160 11-Oct-2020 jdc

Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.


# 1.159 11-May-2020 jdc

Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.


Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


# 1.163 21-Oct-2020 christos

make process_machdep.c included always since it provides register i/o used by
sys_process_getlwpstatus.c which is always included.


# 1.162 20-Oct-2020 christos

harmonize process_machdep.c inclusion.


# 1.161 16-Oct-2020 jdc

Move OFW patching routines into their own file.


# 1.160 11-Oct-2020 jdc

Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.


# 1.159 11-May-2020 jdc

Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.


Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


# 1.160 11-Oct-2020 jdc

Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.


# 1.159 11-May-2020 jdc

Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


# 1.159 11-May-2020 jdc

Add an ebus frontend for the Winbond W83l518D SD card reader as found on
Tadpole SPARCLE latops.


Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2; 1.154.4;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


Revision tags: isaki-audio2-base
# 1.158 27-Jan-2019 pgoyette

Merge the [pgoyette-compat] branch


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.157 19-Dec-2018 maxv

Remove compat_svr4 and compat_svr4_32, as discussed on tech-kern@ recently,
but also as discussed several times in the past.


Revision tags: pgoyette-compat-1126
# 1.156 20-Oct-2018 macallan

support for jbus-i2c found in US-IIIi machines
this needs help from schizo to access its registers, which is suboptimal and
should go away. So, for now this is for documentation purposes only.


Revision tags: pgoyette-compat-1020
# 1.155 13-Oct-2018 macallan

config and attachment goop for tadpmu


Revision tags: pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.154 19-Dec-2017 nakayama

branches: 1.154.2;
files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


# 1.154 19-Dec-2017 nakayama

files.ofw is now mandatory, so use its dependency.


Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


# 1.153 06-Jul-2017 martin

Remove unused "power @ ebus" device, we use the firmware to handle power/
reboot.


Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
# 1.152 19-Aug-2016 palle

sun4v: vdsk and ldc drivers - from OpenBSD, but heavily adapted to NetBSD scsipi - access to a virtual disk served from a ldom primary domain now works


Revision tags: pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
# 1.151 22-Jun-2016 palle

sun4v: add cbus driver - from OpenBSD


# 1.150 17-Jun-2016 palle

sun4v: vbus and vrtc drivers - from OpenBSD


Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
# 1.149 06-Oct-2015 martin

Split auxio at ebus and auxio at sbus properly, so we can build kernels
without sbus support.


Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
# 1.148 15-Feb-2015 nakayama

Fix up sysmon_* dependencies.


# 1.147 12-Feb-2015 palle

sun4v: vpci driver - initial (and incomplete) version of virtual PCIe host bridge driver for sun4v systems. Based on the NetBSD pyro driver and OpenBSD vpci driver. Future work will include integrating code from the OpenBSD vpci driver.


# 1.146 10-Jan-2015 palle

sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
# 1.145 01-Feb-2014 nakayama

branches: 1.145.6;
Make sljit usable on sparc64 32-bit kernels.


# 1.144 28-Dec-2013 nakayama

Add SUN4V to opt_sparc_arch.h.


# 1.143 16-Dec-2013 palle

Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@


# 1.142 27-Aug-2013 macallan

psycho needs-flag now
while there, ffb doesn't need rasops8


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.141 17-Mar-2013 christos

branches: 1.141.6;
no more duplicate copy of the memcpy code.


# 1.140 14-Mar-2013 nakayama

Use elf32 version module object relocator on sparc64 32-bit kernel.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.139 13-Oct-2012 jdc

Add pckbc at ebus.


Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base4
# 1.138 03-Mar-2012 nakayama

branches: 1.138.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.


Revision tags: jmcneill-usbmp-base5 jmcneill-usbmp-base3
# 1.137 18-Feb-2012 christos

Move the ddb registers and empty command table into a separate file, like
other archs do for the benefit of crash.


Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.136 04-Oct-2011 nakayama

branches: 1.136.2; 1.136.6; 1.136.8;
Make ffb(4) buildable without iic(4) driver.


# 1.135 01-Aug-2011 mrg

fix the zx@fhc attachment.


# 1.134 29-Jul-2011 mrg

port the openbsd central and fhc drivers, and the clock/zs attachments.
doesn't quite work yet, crashes when central_attach() calls
config_attach() (faulting address is 0xf8000000.)


# 1.133 12-Jun-2011 rmind

Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.


Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
# 1.132 06-Jun-2011 mrg

sort


# 1.131 06-Jun-2011 mrg

re-implement blast_dcache() and blast_icache() via function pointers so that
we can set these to functions that simply return on sun4us/sun4v systems.

also include some work-in-progress #if 0'ed code to do the same for the
dcache_flush*() functions.


(some of these could probably move into the cpuinfo except that sparc64
systems don't really ever work with mismatches AFAICT.)


Revision tags: cherry-xenmp-base jym-xensuspend-nbase jym-xensuspend-base
# 1.130 09-Apr-2011 jdc

branches: 1.130.2;
Add EDID and video mode setting support to FFB.

Add definitions for registers related to video modes, and to DDC. Rename
other registers to be more descriptive.
Add i2c bus routines to read the EDID data via DDC.
Add routines to calculate, and to set, the video mode.

Note, that interlaced and stereo video modes are not supported.

Thanks to Michael Lorenz and Jared McNeill for advice and encouragement,
and to Martin Husemann for testing.


# 1.129 20-Mar-2011 mrg

add pci@pryo@mainbus and ebus@mainbus support.


Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
# 1.128 21-Sep-2010 macallan

branches: 1.128.2;
defflag some flags for the ffb driver


Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
# 1.127 06-Mar-2010 mrg

branches: 1.127.2;
move the memcpy/memset implementations out into their own file, with the
block copy versions as well. move some of the definitions in locore.s
into a new locore.h.

locore.s is almost 2000 lines shorter with this change.


# 1.126 02-Mar-2010 nakayama

Make kernel buildable without device ecadc.


# 1.125 28-Feb-2010 martin

Remove the envctrl driver, it is superseeded by the more general pcfiic @
ebus. Add the SB1000/SB2000 fan controll driver (tda). From OpenBSD.
Move config files over to direct configuration of i2c devices.


# 1.124 22-Feb-2010 mrg

move {dump,print}_[id]tlb() into a separate file.


Revision tags: uebayasi-xip-base
# 1.123 12-Jan-2010 martin

branches: 1.123.2;
Import support for upa64s device (/upa on SB1000/2000) from OpenBSD.
Attach ffb both at mainbus and at upa.


# 1.122 29-Dec-2009 macallan

add gfb at mainbus


Revision tags: matt-premerge-20091211
# 1.121 02-Oct-2009 nakayama

Port lom(4) driver for LOMlite lights out management hardware monitor
and watchdog timer from OpenBSD.

It supports the LOMlite found on Sun Netra t1 and the LOMlite2 found
on Sun Netra T1/X1 and Sun Fire V100/V120.


Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
# 1.120 10-Dec-2008 mrg

checkpoint my work-in-progress port of this driver.
it boots some way but will crash attaching rtc0.

known TODO items:
- figure out why BUS_SPACE_MAP_LINEAR mappings generate data errors
(cause of the rtc issue)
- several interrupt issues


Revision tags: ad-audiomp2-base
# 1.119 19-Nov-2008 ad

Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime


Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
# 1.118 20-Feb-2008 drochner

branches: 1.118.6; 1.118.10; 1.118.16; 1.118.18; 1.118.20; 1.118.22; 1.118.24;
Since files.wscons et al. are included by ~all ports anyway, include
them in the mi "files" file, and remove include statements from md files.
These shouldn't pull in additional kernel code when not in use, so it
shouldn't do any harm except a risk of namespace collisions which
should be easy to fix.


Revision tags: mjf-devfs-base
# 1.117 03-Feb-2008 martin

Adjust assembler in_cksum code to new signature and re-enable it.


# 1.116 25-Jan-2008 joerg

Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.115 06-Jan-2008 ad

Add MODULAR option. Include kernel linker stuff if MODULAR.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.114 19-Nov-2007 macallan

branches: 1.114.6;
pull in ofw_subr.c for some convenience OpenFirmware routines


Revision tags: jmcneill-base yamt-x86pmap-base4
# 1.113 17-Oct-2007 garbled

branches: 1.113.2;
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.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base ppcoea-renovation-base vmlocking-base
# 1.112 13-Aug-2007 macallan

branches: 1.112.2; 1.112.6;
envctrl needs to pull in i2cbus


Revision tags: nick-csl-alignment-base matt-mips64-base mjf-ufs-trans-base
# 1.111 07-Jul-2007 tsutsui

branches: 1.111.4; 1.111.8;
Remove leftover netns stuff.


Revision tags: yamt-idlelwp-base8
# 1.110 14-Apr-2007 tnn

branches: 1.110.2;
Add envctrl(4): Sun Ultra Enterprise 450 environmental monitoring driver.
Also add accompanying i2c controller driver, pcf8584.
Both written by me. Some cosmetic improvements from Iain Hibbert.
ok <martin>


Revision tags: thorpej-atomic-base
# 1.109 10-Apr-2007 macallan

include files.wsfb


Revision tags: ad-audiomp-base post-newlock2-merge
# 1.108 09-Feb-2007 ad

branches: 1.108.2; 1.108.6; 1.108.8;
Merge newlock2 to head.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
# 1.107 09-Nov-2006 tsutsui

branches: 1.107.2; 1.107.8;
More cleanup of sparc64 clock stuff:
- split mkclock attachment from sparc64/clock.c into dev/mkclock.c
(now clock.s only contains clock interrupt and timecounter stuff)
- rename match/attach functions of rtc at ebus to match the device name
- update some comments around clock devices in GENERIC

No objection on port-sparc64 for a month.


Revision tags: yamt-splraiseipl-base2
# 1.106 10-Oct-2006 tsutsui

Remove eeprom and clock at mainbus stuff.
They are available only on sun4 or sun4c.


# 1.105 09-Oct-2006 mrg

avoid bringing in mc146818 routines for kernels that do not have the
'rtc'-style clock linked in. put the rtc code in it's own file and
only link it in if it is actually configured. fixes PR#23342.


# 1.104 06-Oct-2006 jnemeth

Initial support for floppy drives on sparc64. This has been tested
on an Ultra 2 and works fine, apart from formatting which is known
to be broken. It failed to work on an ebus machine. The ebus
support compiles fine, but I don't have hardware for testing. This
code is based on the sparc driver with hints from OpenBSD on how
to do the sbus and ebus attachments, along with help from martin@
and mrg@.

Initial commit approved by martin@

TODO:
- fix ebus support
- fix XXX issues
- check resource deallocation
- fix formatting
- merge remaining differences from sparc driver
- split out back end chip support
- have sparc driver use new common back end chip support
- adapt to newlock when branch is ready
- adapt to "disk-info" property dictionary


Revision tags: yamt-splraiseipl-base
# 1.103 14-Sep-2006 martin

branches: 1.103.2;
Vcons-ify the ffb driver, from macallan.
Also adds some redrawing when entering DDB.


Revision tags: yamt-pdpolicy-base9
# 1.102 10-Sep-2006 plunky

add bluetooth support to sparc64, built by default in GENERIC


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
# 1.101 10-Jul-2006 gdamore

branches: 1.101.4;
New psm driver for use on Ultrabook IIi. Right now it supports the power
button and lid switch. I will add environmentals (battery, etc.) later.


Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base
# 1.100 07-Jun-2006 kardel

branches: 1.100.2;
convert to timecounters (from branch simonb-timecounters)


Revision tags: yamt-pdpolicy-base5 yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.99 04-Apr-2006 gdamore

branches: 1.99.2;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base
# 1.98 02-Mar-2006 martin

branches: 1.98.2; 1.98.4; 1.98.6;
Add glue to make ath* usable on sparc64.


Revision tags: yamt-uio_vmspace-base5
# 1.97 11-Dec-2005 christos

branches: 1.97.4; 1.97.6;
merge ktrace-lwp.


Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
# 1.96 10-Jul-2005 christos

Re-factor syscall, and make it use syscall_{plain,fancy}.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.95 14-Sep-2004 jdolecek

branches: 1.95.12;
do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed


# 1.94 13-Sep-2004 drochner

nothing attaches to a "sabtty", so there is no need for an
interface attribute


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.93 22-Mar-2004 martin

Realy disable optimization for 32bit kernels when compiling uvm_bio.c.


# 1.92 21-Mar-2004 pk

Reach over to the sparc openfirm & openprom implementation.


# 1.91 21-Mar-2004 pk

Add sparc/sparc/promlib.c.


# 1.90 14-Mar-2004 chs

checkpoint of MP work from dennis and myself. includes cross-processor
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.


# 1.89 10-Feb-2004 jdolecek

whitespace police


# 1.88 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.87 15-Nov-2003 bouyer

Commit changes proposed on tech-kern Thu, 6 Nov 2003
- factor out disksubr.c between sun3, sparc and sparc64. Keep the sun3
groveling code to find a NetBSD disklabel in the first sector (so that it
can find a label at the old sun3 LABELOFFSET) as a fallback is not
label at LABELOFFSET, or sun label is present.
- Fix the sun3 LABELOFFSET (was 64, but the kernel wrote the NetBSD label at
128)
- Make next68k disksubr.c always write a next-compatible disklabel.
- remove #ifdef __sparc__ hack from disklabel(8), and change it to issue
a DIOCWDINFO after writing the disklabel to the raw partition in the
-r/-I case (so that the kernel can convert the label if needed).


# 1.86 02-Nov-2003 he

Make the clock device aldo depend on mc146818, to make kernels without
the 'rtc at ebus' driver configured (e.g. for sbus machines) link.


# 1.85 01-Nov-2003 tsutsui

- Adapt to MI mk48txx(4) changes.
- Switch rtc (M5819) routines to use MI mc146818(4) driver.

Tested on Ultra5 (mkclock_ebus), but mkclock_sbus and rtc_ebus are not tested.

XXX This file should be split into each device and each bus attachment,
XXX and moved into sys/arch/sparc64/dev or sys/dev/sun.


# 1.84 31-Oct-2003 petrov

Don't attach zs at mainbus.


# 1.83 26-Oct-2003 christos

Add compat_16_machdep.c


# 1.82 19-Sep-2003 martin

Remove workarounds for bugs in the old compiler.


# 1.81 27-Jul-2003 thorpej

Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.


# 1.80 17-Jul-2003 petrov

Driver for CP1500/1400 watchdog timer.


# 1.79 16-Jun-2003 heas

branches: 1.79.2;
Define option BLINK in option file opt_auxio.h and include it in auxio.c.
approved by martin@


# 1.78 23-May-2003 petrov

ffb added.


# 1.77 18-May-2003 martin

Remove reference to non-existing file


# 1.76 21-Apr-2003 martin

Connect the front panel power button on psycho based machines to sysmon's
/dev/power.

XXX - due to the way interrupt handling is structured we have no easy
way to defer clearing the button interrupt until the sysmon callback
has happened and the event is dispatched. We clear it imediately on
return from the interrupt handler. This means we get an interrupt storm
until the button is released, and then start to handle it.
This needs to be fixed! (But with the default application for the power
button does not make a user visible difference.)


# 1.75 22-Mar-2003 nakayama

PCI-CardBus bridge support for sparc64:
- add CardBus and PCMCIA devices configrations.
- add workaround for internal compiler error on dev/ic/elink3.c.


# 1.74 05-Feb-2003 nakayama

Switch to use cycle counter (%tick) based microtime().

This is derived from alpha/microtime.c and i386/tsc_microtime.c,
and will share with both ports.

This should fix PR port-sparc64/18452.
(approved by martin)


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.73 06-Jan-2003 wiz

compatibility, not compatiblity.


Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
# 1.72 08-Dec-2002 martin

Follow the sparc port and use the MI versions of setrunqueue and
remrunqueue.


# 1.71 27-Oct-2002 martin

Oops, forgot to commit this: include files.wscons instead of files.rcons.


# 1.70 26-Oct-2002 jdolecek

now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies


Revision tags: kqueue-aftermerge kqueue-beforemerge
# 1.69 15-Oct-2002 thorpej

The zstty device must have an interface attribute in order for
children to attach; it is not sufficient to have an interface
atttribute which only happens to have the same name.

Fix the same mistake with the sabtty declaration.


# 1.68 03-Oct-2002 uwe

Refactor kbd and mouse drivers so that they can use different middle
layers. Common middle layer shared by kbd_zs and sunkbd is moved into
the new file. Move shared config directives to files.sun and adjust
ports' files.* accordingly.

Need this to support console/Xsun on Mr.Coffee JavaStation.

Tested on sparc, sparc64 (by martin) and sun3 (by jdc).


Revision tags: kqueue-base
# 1.67 29-Sep-2002 chs

remove some vestigial FPU and cache code that's not need on ultrasparcs.
misc tidiness.


# 1.66 06-Sep-2002 gehenna

Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.


Revision tags: gehenna-devsw-base
# 1.65 16-Aug-2002 petrov

Enable sab.


Revision tags: netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.64 16-May-2002 thorpej

branches: 1.64.2; 1.64.4;
* Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses. For busses behind a bridge, it points to
a persistent copy of the bridge's pcitag_t. This can be very useful
for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
uses OFW device nodes to enumerate the bus. When a PCI bus that is
behind a bridge is attached, pci_attach_hook() allocates a new PCI
chipset tag for the new bus and sets it's "curnode" to the OFW node
of the bridge. This is used as a starting point when enumerating
that bus. Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.


# 1.63 06-May-2002 eeh

Add a flag for ofpci to let psycho chose between pci and ofpci.


# 1.62 06-May-2002 eeh

Add ofpci and ofppb.


# 1.61 05-May-2002 martin

Add PCMCIA support (for nell at sbus and pci cardbus bridges)


# 1.60 16-Apr-2002 thorpej

* Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
the magic "files include order" dance in N machine-dependent
configuration definitions.


Revision tags: eeh-devprop-base
# 1.59 12-Mar-2002 uwe

Rework the driver to add EBus DMA support and improve APC DMA support.
Audio-related stuff is left almost intact.

* support audiocs at ebus playback and capture
tested on krups and u5 (thanks, martin)
* make first attempt at supporting audiocs at sbus capture
* nb: full-duplex is not tested
* while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS
i.e. outputs.monitor.mute -> monitor.monitor.mute

Ok by pk, eeh.


Revision tags: newlock-base ifpoll-base
# 1.58 21-Jan-2002 jdolecek

branches: 1.58.4;
Switch to MI dev/md_root.c for archs which don't have any special
memory disk hooks (i.e. everything except atari).


# 1.57 04-Dec-2001 lukem

s/defopt/defflag/


# 1.56 04-Dec-2001 darrenr

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.


# 1.55 20-Nov-2001 lukem

cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""


# 1.54 20-Nov-2001 lukem

whitespace cleanup


Revision tags: thorpej-mips-cache-base
# 1.53 25-Oct-2001 eeh

branches: 1.53.2;
Fix bugs in previous.


# 1.52 25-Oct-2001 eeh

_LP64 -> EXEC_ELF64


Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.51 02-Sep-2001 eeh

branches: 1.51.4;
Get rid of all simba references.


# 1.50 10-Aug-2001 eeh

Use the new in4_cksum.


# 1.49 08-Aug-2001 eeh

Use the new version of in_cksum.


# 1.48 08-Jun-2001 simonb

branches: 1.48.2;
For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.


# 1.47 06-Jun-2001 mrg

extract the netbsd32, sunos, 32 bit svr4 and 64 bit svr4 sigcode out into
separate files, so that compat lkms can link with them as well.


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.46 13-Apr-2001 matt

Include USB and 1394 support (sun models now have them).


# 1.45 11-Feb-2001 eeh

branches: 1.45.2;
Add support for COMPAT_SVR4_32.


# 1.44 05-Feb-2001 mrg

use sunos32_machdep.c on 64 bit kernels.


# 1.43 02-Feb-2001 mrg

include compat/sunos32/sunos32.files


# 1.42 17-Jan-2001 fvdl

Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.


# 1.41 10-Nov-2000 eeh

Clean up config and fix things so kbd.h is generated even w/no keyboard.


# 1.40 09-Nov-2000 eeh

Switch to sunkbd for both com and zstty.


# 1.39 08-Nov-2000 ad

Pull in dev/i2o/files.i2o.


# 1.38 21-Sep-2000 eeh

Add support for the `com' driver and Sun Keyboard/Mouse line disciplines.


# 1.37 23-Aug-2000 pk

Use common fb.c from sys/dev/sun.


# 1.36 22-Aug-2000 pk

These devices will never be found on sun4u machines.


# 1.35 22-Aug-2000 pk

Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}


# 1.34 26-Jul-2000 pk

Use the mk48txx driver for time-of-day clock access.


Revision tags: netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 mrg-merge-1-5-top netbsd-1-5-base
# 1.33 18-Jun-2000 mrg

branches: 1.33.2;
duplicate "file" should only include "compile-with"


# 1.32 18-Jun-2000 mrg

use arch/sparc/fpu


# 1.31 09-Jun-2000 eeh

Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.


# 1.30 08-Jun-2000 eeh

Override optimization for files that break gcc.


Revision tags: minoura-xpg4dl-base
# 1.29 19-May-2000 eeh

branches: 1.29.2;
Fix the sparc64 console.

Unlike the other Sun machines, UltraSPARCs can have consoles run on different
chips than zs, so we need to support them. So, here we go:

Add a new PROM console driver with a major number and everything.
This is the default driver if nothing else attaches. It does not
use the keyboard driver since the PROM translates keystrokes itself.
(Unfortunately it also swallows L1-A).

Have the keyboard driver take over the console when it attaches on a
serial port. When a serial port detects a keyboard and attaches the
keyboard driver, it needs to provide a set of consdev vectors. They
keyboard driver will use those to send I/O to the keyboard and mouse.


# 1.28 22-Apr-2000 mrg

whole bunch of changes:
- merge IOMMU DVMA code from sbus/psycho into iommu.c. this code was
identical and a few minor inconsistencies had crept in. this way
keeps them all in sync.
- with this code gone from psycho, merge the psycho.c and psycho_bus.c
files. same with ebus/ebus_bus.c. delete the _bus.c files.
- add a _ds_boundary member to the dma segment structure, so that later
dma mappings can find this value.
- set _ds_boundary in machdep.c:_bus_dmamem_alloc().
- kill much dead code.


# 1.27 15-Apr-2000 mrg

- auxio cleanup and sbus support.
- make GENERIC64 include GENERIC and set the 3 optoins it needs. suggested
by hubert feyrer.
- add a comment that we maybe should use the `bpp' driver, not the lpt, on
the ebus because the `bpp' driver does DMA already.
- ebus_attach_args got a member renamed


# 1.26 05-Apr-2000 mrg

attach auxio at ebus


# 1.25 14-Mar-2000 oster

Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[]. Needed for / on RAID.
(Whoops! I missed checking these in when adding the RAID_AUTOCONFIG stuff.)


# 1.24 14-Feb-2000 thorpej

Allow arch-specific code to specify in4_cksum() like it can specify
in_cksum().


Revision tags: chs-ubc2-newbase wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.23 07-Jun-1999 thorpej

branches: 1.23.2;
Only declare block major numbers for devices which can be the root device.


# 1.22 05-Jun-1999 eeh

Add support for AOUT_COMPAT which we'll need when the sparc port cuts to ELF.


# 1.21 05-Jun-1999 mrg

fix lpt definition. add audiocs at ebus. oops, comment broken/incomplete devices.


# 1.20 05-Jun-1999 mrg

use common IOMMU code for sbus and psycho (remove old iommu
device declaration, we don't want it). pull in psycho, pci,
ata and pciide code. clock, eeprom and power attach at sbus
*and* ebus now (clock as `eeprom' works). add `lpt at ebus',
wd major number, and other misc. commented devices.


# 1.19 23-May-1999 eeh

Start putting in hooks for non-zs console devices.


# 1.18 14-May-1999 mrg

split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd. zero functional changes and mostly involves moving code around
a bit. tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.


# 1.17 17-Apr-1999 kleink

Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.


# 1.16 13-Apr-1999 ad

Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.15 25-Mar-1999 mrg

branches: 1.15.4;
move sparc32 MD bits here.


# 1.14 12-Feb-1999 mrg

include dev/mii/files.mii


Revision tags: kenh-if-detach-base chs-ubc-base
# 1.13 17-Sep-1998 thorpej

Make the signal code look a bit more like the 32-bit SPARC port's.


# 1.12 05-Sep-1998 pk

Define a few major devices.
Remove `dma' and `esp' definitions.


# 1.11 05-Sep-1998 pk

Remove unused devices.


# 1.10 02-Sep-1998 eeh

Periodic update: now starts probing devices.


# 1.9 27-Aug-1998 mrg

oops, remove old isp attachment here..


Revision tags: PMAP32
# 1.8 26-Aug-1998 mrg

- use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.


Revision tags: eeh-paddr_t-base
# 1.7 28-Jul-1998 eeh

Fixup problems caused by sys/dev/sbus addition.


# 1.6 27-Jul-1998 pk

Use <dev/sbus/files.sbus>


# 1.5 27-Jul-1998 mrg

move to sys/dev/sbus for lebuffer driver (old path never existed anyway)


# 1.4 21-Jul-1998 drochner

adapt to LANCE driver split


# 1.3 15-Jul-1998 thorpej

Remove the raw HYPERchannel kludge.


# 1.2 07-Jul-1998 eeh

General update:

Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)


# 1.1 20-Jun-1998 eeh

branches: 1.1.1;
Initial revision